1. TAJUK: Pengetahuan Dasar penggunaan Timer
dan Counter Microcontroller AVR
DIPLOMA TEKNOLOGI
ELEKTRONIK
SEMESTER 5
2. APA MAKSUD AVR ?
•Automatic Voltage Regulator, AVR
•Pengatur Voltan Automatik, AVR
3. PENGENALAN TIMER & COUNTER
• Timer & Counter merupakan salah satu iaitu pengawal mikro AVR
yang memiliki fungsi terhadap waktu. Fungsi pewaktu yang dimaksud
disini adalah penentuan program tersebut dijalankan, tidak hanya itu
saja fungsi timer yang lainnya adalah PWM, ADC, dan Oscillator. Prinsip
kerja timer dengan cara membagi frekuensi (prescaler) pada clock
yang terdapat pada pengawal mikro sehingga timer dapat berjalan
sesuai dengan frekuensi yang di kehendaki.
• 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 iaitu pada jam digital yang sumber
clocknya boleh menggunakan crystal oscillator dan contoh penggunaan
counter pada penghitung barang pada sumber clocknya berasal dari
sensor tersebut.
4. APA MAKSUD PWM ?
• PULSE WIDE MODULATION,PWM
-PULSE WIDE MODULATION BERFUNGSI UNTUK
KECEPATAN PUTARAN MOTOR DC.
5. • Pada pengawal mikro ATMEGA 16 memiliki 3
buah timer iaitu timer 0 (8bit), timer1 (16bit),
dan timer 2 (8bit). Untuk mengenai register
lengkapnya boleh dibaca pada data sheet.
Namun yang akan menunjukkan pada tulisan
kali ini hanya timer 0(8bit) dan timer1 (16 bit)
sahaja.
6. PIC16F877A mempunyai 3 buah Timers
Timer 0 - 8 bit
boleh digunakan sebagai Timer/counter
Timer 1 – 16 bit
boleh digunakan sebagai Timer/counter
Timer 2 – 8 bit Timer
boleh digunakan sebagai PWM time-base untuk
memasuki PWM mode daripada CCP module.
Timers
13. TUJUAN PEMBAHASAN TIMER DAN COUNTER AVR
:
• 1. Melaksanakan tugas tertentu secara berulang (mode
normal).
• 2. Menghitung panjang pulsa (input capture)
• 3. Menghitung banyaknya sebagai counter (event).
• 4. Mengendalikan kecepatan motor DC (pulse wide modulation
/PWM).
• 5. Membuat penundaan waktu/masa (delay).
• 6. Penjana isyarat (Signal generator) .
• Komponen utama Timer/Counter adalah sebuah register yang
tugasnya hanya berhitung dari 0 sampai batas maximumnya,
register ini pada AVR disebut register TCNT . Misalnya sebuah
14. REGISTER YANG DIGUNAKAN UNTUK MENDUKUNG
OPERASI TIMER COUNTER PADA AVR :
• 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.
15.
16. TMOD REGISTER:
• Gate : When set, timer only runs while INT(0,1) is
high.
• C/T : Counter/Timer select bit.
• M1 : Mode bit 1.
• M0 : Mode bit 0.
17. 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.
18. APA BERFUNGSI SEBAGAI TIMER DAN APA
BERFUNGSI SEBAGAI COUNTER?
• Ketika sumber clock dari system clock (kristal) maka ialah berfungsi
sebagai timer.
• Ketika sumber clock dari external clock maka ialah berfungsi sebagai
counter.
• Pemilihan sumber clock ada pada bit CS pada register TCCR.
20. MODE TIMER O
UNTUK MENENTUKAN MODE TIMER O DI
LAKUKAN PADA BIT WGM-OO DAN WGM-OI
PADA REGISTER CONTROL (TCCRO) SEPERTI
PADA JADUAL DIBAWAH INI.
21. 1. MODE NORMAL
MEMILIH MODE INI DENGAN CARA DIPROGRAM
SEMUA BIT WGM OI =O DAN WGMOO=O, PADA
REGISTER TCCR
22. • Digunakan untuk melaksanakan pekerjaan yang berulang dgn
interval tertentu juga boleh digunakan untuk membuat delay. Nilai
TCNT akan terus menerus mengalami kenaikan tiap di clock oleh
simber clok yg sudah dipilih. Jika sudah mencapai maksimumnya
nilai TCNT akan kembali 0 dan mengeset bit Flag TOV0 di register
TIFR. Waktu interval dapat dirubah rubah dengan merubah nilai
maximum TCNT. Makin kecil nilai maximum TCNT makin kecil pula
waktu intervalnya. Contoh sebagai gambaran saja , jika periode
clock yg di berikan ke timer 1 detik, maka dgn nilai max TCNT diset
255 , interval timer 1 x255 = 255 detik. untuk nilai max TCNT di
set 10 . Maka periode interval 1×10 = 10 detik.
Untuk mode normal penggunaanya cukup mudah, contohnya anda
boleh baca disini.
• Pada mode normal selain boleh diprogram sebagai timer juga
sebagai counter, dgn cara merubah sumber clocknya menggunakan
triger di pin TO . Pengantian sumber clock melalui set bit
CSO2:CSOl:CSOO pada register TCCRO seperti tampak pada gambar
25. PILIHAN SCALA CLOCK CS02:CSO1:CSOO UNTUK XTAL
11.059.200HZ PD CODEVISION SUDAH BERUPA
PILIHAN FREKWENSI CLOCK TIMER:
26. 2. MODE INPUT CAPTURE PADA TIMER 1 .
• Input capture digunakan untuk menghitung periode pulsa yang
pencetus pin ICP1. Setiap kali Pin ICP1 di mencetuskan oleh
perubahan isyarat (rising ) akan penyalinan nilai register 16 bit
TCNT ke register 16 bit ICR1 (ICR1H dan ICR1L). perbedaan
dengan timer 0 adalah nilai TCNT sambungan bergulir tanpa
ada mula dan berhenti timer tetapi timer0 ada mula dan
berhenti timer.
• oleh kerana itu nilai register ICR1 harus segera dibaca sebelum
di overwrite oleh data TCNT yg baru ketika terjadi perubahan
isyarat berikutnya.
27.
28. 3. MODE NORMAL SEBAGAI COUNTER
Digunakan untuk menghitung jumlah event yang mentriger pin T0 (portB.0) jika kita
menggunakan timer0 atau T1 (portB.1) pada timer1.
29. 4. Mode PWM , Pulse Wide Modulation.
• Mode PWM ada dua iaitu PWM phase correct dan Fast PWM. perbedananya
iaitu pada PWM phase corect counter (TCNT) bergulir/mencacah naik dan
turun . sedangkan pada Fast PWM counter (TCNT) hanya bergulir naik saja .
• Untuk menjadikan Timer counter mode PWM phase correct iaitu dengan
Cara diprogram bit WGM01=1 dan bit WGM0 =0 , pada register TCCR.
30. • Salah satu kegunaan isyarat PWM antara lain
untuk mengendalikan Kecepatan putaran Motor DC. Gambar
berikut ini menunjukan berbagai bentuk PWM dan efek
terhadap kecepatan Motor DC yang berbeda sesuai bentuk
pulsa PWM.
31. • Cara pembentukan isyarat Fast (kelajuan) PWM
• Nilai pada register Counter TCNT akan terus menerus naik sampai nilai
maximum, lalu kembali ke 0. begitu seterusnya selama isyarat clock
diberikan kepada timer. Nilai OCR diprogram untuk mengatur pembentukan
PWM.
• saat nilai TCNT > nilai OCR maka pin OC mengeluarkan isyarat HIGH ,
• saat nilai TCNT < nilai OCR maka pin OC mengeluarkan isyarat LOW.
• Gambar berikut menunjukan tiga buah nilai OCR yang berbeda
,yang menghasilkan isyarat output PWM berbeda pula pada pin OC.
32. CARA MEMBUAT PWM PADA CODEWIZARD DI
CODEVISION SEPERTI PADA GAMBAR BERIKUT: