Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehErlin Tanuwidjaja Telah diubah "6 tahun yang lalu
1
Oleh : SGO Aplikasi Mikrokontroler (DTG2K3)
TIMER/COUNTER Oleh : SGO Aplikasi Mikrokontroler (DTG2K3)
2
Timer Berhubungan dengan tunda atau delay namun dilakukan secara manual, tidak menggunakan pustaka delay.
3
Timer ATMEGA8535/328 Timer/Counter 0 Timer/Counter 1 Timer/Counter 2
4
Fitur Timer ATMEGA8535/328 Timer/Counter 0 dan 2
a. 8 bit timer/counter b. Auto Reload c. Membangkitkan interupsi saat timer overflow
5
Timer/Counter 1 a. 16 bit timer/counter b. Auto Reload c. Membangkitkan interupsi saat timer overflow d. Memiliki input capture unit
6
Contoh Penggunaan Timer
BLINK LED Pada PORT C menggunakan Timer 1 // Timer1 overflow interrupt service routine interrupt [TIM1_OVF] void timer1_ovf_isr(void) { // Reinitialize Timer1 value TCNT1H=00; TCNT1L=00; // Place your code here if(PINC==0) PORTC=0xFF; } else { PORTC=0x00;
7
Implementasi Rangkaian
8
Timer Pada Arduino
9
Program ISR(TIMER1_OVF_vect) { TCNT1 = 34286; if(dataLed == 0) { dataLed = 1; } else dataLed = 0; digitalWrite(13, dataLed); overflowCount++; void loop() Serial.print("Overflow count = "); Serial.println(overflowCount,DEC); delay(100); boolean dataLed = 0; unsigned int overflowCount = 0; void setup() { Serial.begin(9600); pinMode(13, OUTPUT); TCCR1A = 0; TCCR1B = 0; TCNT1 = 34286; TCCR1B |= (1 << CS12); TIMSK1 |= (1 << TOIE1); sei(); }
10
Counter
11
Program // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Reinitialize Timer 0 value TCNT0=0xFB; // Place your code here if (PINC==0) PORTC=0xFF; } else PORTC=0x00;
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.