Timer/Counter
Disusun Oleh :
Ilham Dhani
17315018
•
PENGENALAN TIMER & COUNTER
• Timer/counter adalah fasilitas dari ATMega16 yang digunakan untuk perhitungan pewaktuan.
Beberapa fasilitas channel dari timer counter antara lain: counter channel tunggal, pengosongan
data timer sesuai dengan data pembanding, bebas -glitch, tahap yang tepat Pulse Width
• Modulation (PWM), pembangkit frekuensi, event counter external.
Timer merupakan fungsi waktu yang sumber clocknya berasal dari clock internal.
Sedangkan counter merupakan fungsi perhitungan yang sumber clocknya berasal dari external
pengawal mikro. Salah satu contoh penggunaan fungsi timer yaitu pada jam digital yang sumber
clocknya boleh menggunakan crystal oscillator dan contoh penggunaan counter pada
penghitung barang pada sumber clocknya berasal dari sensor tersebut.
Timers
CPU
Bus Serial
OSC 4 I/O Ports Port
Control
P0 P1 P2 P3 TxD RxD
Address/Data
Counter Unit
• The main part of the 16-bit Timer/Counter is the programmable 16-bit bi-
directionalcounter unit. Figure 41 shows a block diagram of the counter and its
surroundings.
Deskripsi sinyal (sinyal internal):
1. Count : Menambah atau mengurangi TCNT1 sebanyak 1.
2. Direction : Pilih antara kenaikan dan penurunan.
3. Clear : Hapus TCNT1 (setel semua bit ke nol).
4. clkT1 : Timer/Counter clock.
5. TOP : Menandakan bahwa TCNT1 telah mencapai nilai maksimum.
6. BOTTOM : Menandakan bahwa TCNT1 telah mencapai nilai minimum (nol).
Register Timer/Counter Interrupt Mask
• Bit 1-OCIE0: output timer counter menyesuaikan dengan kesesuaian interrupt yang aktif.
Ketika bit OCIE0 ditulis satu, dan 1-bit pada register status dalam kondisi set (satu), membandingkan
timer/counter pada interrupt yang sesuai diaktifkan. Mencocokkan interrupt yang dijalankan kesesuaian
pembanding pada timer/counter0 terjadi, ketika bit OCF0 diset pada register penanda timer/counter-TIFR.
Ketika bit TOIE0 ditulis satu, dan 1-bit pada register status dalam kondisi set (satu), timer/counter melebihi
interrupt diaktifkan. Mencocokkan interrupt dijalankan jika kelebihan pada timer/counter0 terjadi, ketika bit
TOV0 diset pada register penanda timer/counter-TIFR.
REGISTERYANG DIGUNAKAN UNTUK MENDUKUNG OPERASI TIMER COUNTER PADAAVR :
• Register TCNT = register pencacah dari 0 sampai nilai maximum yang kita tentukan.
• Register TCCR =Untuk pengaturan mode operasi Timer/Counter
• Register TIMSK =Untuk memilih Timer / Counter mana yang aktif.
• Register TIFR = Untuk mengetahui adanya interupsi akibat operasi Counter dan Timer .
• Register OC (output compare) = untuk menyimpan nilai pembanding dengan nilai pada
register TCNT.
• TCNT 0 = Register Timer 1
• TCNT 1 = Register Timer 0
• Ttimer 0 = Periode Timer 0
• Ttimer 1 =Periode Timer 1
• Tosc = Periode Clock
• Fosc = Frekuensi Crystall Clock
• N = Prescaler (1, 8, 64, 256, 1024)
• Jadi kalau kita ingin melakukan pengaturan (men set up ) Timer/Counter kita fokuskan ke register TCCRn .
n adalah nomer timer , misal jika kita ingin menggunakan Timer 0 maka yg kita atur adalah TCCR0,timer 1
TCCR1A dan TCCR1B.
TCON REGISTER:
• TF1: Timer 1 overflow flag.
• TR1: Timer 1 run control bit.
• TF0: Timer 0 overflag.
• TR0: Timer 0 run control bit.
• IE1: External interrupt 1 edge flag.
• IT1: External interrupt 1 type flag.
• IE0: External interrupt 0 edge flag.
• IT0: External interrupt 0 type flag.
KAPAN BERFUNGSI SEBAGAI TIMER
DAN KAPAN BERFUNGSI
SEBAGAI COUNTER?
• Ketika sumber clock dari system clock (kristal) maka berfungsi sebagai
timer.
• Ketika sumber clock dari external clock maka berfungsi sebagai counter.