TIMER AVR
Timer dan Counter
Mikrokontroler AVR ATMega8535
(juga seri lainnya) memiliki tiga macam timer/counter(pewaktu/pencacah), yaitu Timer0, Timer1 dan Timer2:
Timer0 dan Timer2 merupakan timer 8-bit (bisa mencacah dari 0 sampai dengan 255)
Timer1 merupakan timer 16-bit (bisa mencacah dari 0 sampai dengna 65535). Sifat dasar dari timer/counter ini sama seperti RAM yang bisa dibaca dan diulisi, namun menawarkan
Timer1 merupakan timer 16-bit (bisa mencacah dari 0 sampai dengna 65535). Sifat dasar dari timer/counter ini sama seperti RAM yang bisa dibaca dan diulisi, namun menawarkan
fasilitas yang lebih dari sekedar baca/tulis:
Timer melakukan pencacahan bisa secara otomatis (makanya disebut sebagai pewaktu).
Cukup Anda berikan perintah untuk mengaktifkan (START TIMERn) atau menghentikan
(STOP TIMERn), jika melibatkan interupsi bisa digunakan instruksi ENABLE TIMERn atau
DISABLE TIMERn (n diganti angka 0, 1 atau 2) /timer yang akan digunakan
Falling (1 ke 0)
Rising (0 ke 1)
Mari kita bahas timer 0 (16 bit)
Mari kita bahas timer 0 (16 bit)
Timer/counter1 (16bit)
Timer/counter
1 adalah sebuah timer/counter yang mempunyai kapasitas cacahan 16 bit (65535)
baik pulsa internal maupun eksternal yang dilengkapi prescaler sumber clock
hingga 10 bit (1024). Timer/counter 1 mempunyai 2 kelompok register :
1. Register Kerja
1. Register Kerja
- TCNT1 = register pencacah/penghitung
- OCR1A = register pembanding A
- OCR1B = register pembanding B
- ICR1 = register penangkap isi TCNT1
2. Register Kontrol
Kombinasi TCCR1A dan TCCR1B untuk
mengendalikan berbagai mode timertimer
Register-register timer/counter 1
Timer/Counter 1 Control Register A –
TCCR1A
Timer/Counter 1 Control Register B –
TCCR1B
Output Compare Register 1 A – OCR1A
(OCR1AH dan OCR1AL)
Output Compare Register 1 B – OCR1B
(OCR1BH dan OCR1BL)
Input Capture Register 1 – ICR1
(ICR1H dan ICR1L)
Timer/counter Interrupt Mask
Register – TIMSK
Timer/Counter Interrupt Flag
Register – TIFR
Prescaler
Pada dasarnya timer hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang digunakan atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.
Perhitungan waktu Timer/Counter 16 bit
Contoh :
Diinginkan sebuah timer 16 bit bekerja selama 0,5 detik, dengan frekuensi clock sebesar 11,0592 Mhz dan presecaller 1024. Tentukan nilai TCNT?
Jawab :
Jadi, TCNT1H = EAh dan TCNT1L = E8h
Pada dasarnya timer hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang digunakan atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.
Perhitungan waktu Timer/Counter 16 bit
Contoh :
Diinginkan sebuah timer 16 bit bekerja selama 0,5 detik, dengan frekuensi clock sebesar 11,0592 Mhz dan presecaller 1024. Tentukan nilai TCNT?
Jawab :
Jadi, TCNT1H = EAh dan TCNT1L = E8h
0 comments:
Posting Komentar