19
2.4.5.4. Counter0
Aplikasi counter pada sistem mikro lebih mudah dibandingkan dengan timer, karena tidak perlu menghitung nilai dari register TCNT. Register TCNT akan secara
otomatis mencacah jika ada input yang masuk. Setting pada program AVR hanya dilakukan untuk pemilihan jenis counter yang ingin digunakan.
Counter0 adalah counter paling dasar pada AVR. Counter0 adalah counter 8 bit sehingga hanya mampu mencacah sampai dengan nilai 256. Ia mendapat input dari pin T0
melewati sinyal ke Edge Detection, bila terpicu akan mengirimkan pulsa ke Control Logic. Control Logic menerima sinyal dan akan menambahkan pada register TCNT0. Ketika
register TCNT0 melewati nilai atas 0xFF atau 255 maka akan kembali ke 0, pada saat yang sama Flag TOV0 di-set. Gambar 2.11 menunjukkan diagram blok counter0.
2.4.5.5. Counter1
Counter1 sedikit mewah dibanding counter0, tetapi secara prinsip hampir sama. Counter1 adalah counter 16 bit sehingga mampu mencacah sampai dengan nilai 65536.
Input dari pin T1 melewati sinyal ke Edge Detection, yang bila dipicu akan mengirimkan pulsa ke Control Logic. Perbedaannya adalah register TCNT1 merupakan register 16 bit.
Selain itu, unit Control Logic di counter1 memiliki kemampuan untuk kenaikan, penurunan atau reset pada register TCNT1. Ada 16 mode operasi yang mengatur Control
Logic yang sebagian besar dari mereka hanya berguna untuk operasi PWM.
Dua mode yang berlaku untuk menghitung input eksternal, yaitu : Mode Normal dan CTC Clear Timer On Comparer. Pada Mode Normal, counter akan menghitung
sampai mencapai nilai atas 0xFFFF atau 65535 pada register TCNT1 dan akan kembali ke 0, pada saat yang sama Flag TOV1 akan di-set. Dalam CTC Clear Timer on Compare,
mode counter akan menghitung sampai nilai yang ditentukan dalam register OCR1. Ketika
GambarB2.11BDiagramBBlokBCounter0B[11]B
20
TCNT1 melewati nilai yang ditentukan oleh OCR1, maka akan kembali ke 0 dan pada saat yang sama Flag TOV1 akan di-set. Gambar 2.12 menunjukkan diagram blok counter1.
2.4.5.6. SettingBTimerCounter
Penjelasan TimerCounter1 control Register A TCCR1A ditunjukkan pada gambar 2.13.
Dengan : Bit 7:6 – COM1A1:0
: compare output mode for channel A Bit 5:4 – COM1B1:0
: compare output mode for channel B Bit 3 – FOC1A
: force output compare for channel A Bit 2 – FOC1B
: force output compare for channel B Bit 1:0 – WGM11:0
: waveform generation mode Tabel 2.1 menunjukkan perbandingan mode output, non-PWM.
TabelB2.1BCompare Output Mode, non-PWMB[11]B GambarB2.12BDiagramBBlokBCounter1B[11]B
GambarB2.13BTimerCounter1 control RegisterBABTCCR1AB[11]B