Anda di halaman 1dari 23

DE 2234 / PERC.

SISTEM
BERBASIS MIKROKONTROLER [13]
HANDOKO RUSIANA ISKANDAR, ST
e-mail : handoko.rusiana@yahoo.com
telp : (+62) 8111 2 555 1

Timer /Counter Pada AVR

Pin Timer / Counter Pada Atmega8535

Timer /Counter Pada AVR


Fungsi timer dan counter AVR :
1. Melaksanakan tugas tertentu secara ber ulang (mode
normal).
2. Menghitung panjang pulsa (input capture)
3. Menghitung banyaknya event ( sebagai counter).
4. Mengendalikan kecepatan motor DC (pulsa wide
modulation /PWM).
5. Membuat penundaan waktu (delay).
6. Sinyal generator gelombang kotak.

Timer /Counter Pada AVR


Komponen utama :
Komponen utama Timer/Counter adalah sebuah
registeryang tugasnya hanya berhitung dari 0 sampai
batas maximumnya, register ini pada AVR disebut
register TCNT .
Misalnya sebuah register TCNT pada AVR adalah 8
bit, maka nilai maksimunya adalah 255.

Timer /Counter Pada AVR


Register yang digunakan untuk mendukung operasi Timer
Counter pada AVR :
1. Register TCNT = register pencacah dari 0 sampai nilai
maximum yg kita tentukan.
2. Register TCCR =Untuk pengaturan mode operasi
Timer/Counter
3. Register TIMSK =Untuk memilih Timer Counter mana yg
aktif.
4. Register TIFR = Untuk mengetahui adanya interupsi akibat
operasi Counter Timer .
5. Register OC (output compare) = untuk menyimpan nilai
pembanding dgn nilai pd register TCNT.

Timer /Counter Pada AVR

REGISTER : TIMER 0

Timer /Counter Pada AVR


Kapan dia berfungsi sbg timer dan kapan dia
berfungsi sbg counter ?

Timer /Counter Pada AVR


Penjelasan :
Ketika sumber clock dari system clock
(kristal) maka ia berfungsi sbg timer.
Ketika sumber clock dari external / pin T
maka ia berlaku sebagai counter.
Pemilihan sumber clock ada pada bit CS pada
register TCCR.

Timer /Counter Pada AVR


MODE TIMER O
Untuk menentukan mode timer O di lakukan pd bit WGM-OO dan WGMOI pada register control (TCCRO) seperti pada tabel dibawah ini.

Timer /Counter Pada AVR


Mode Normal sebagai Timer
Memilih mode ini dgn cara menset semua bit WGM OI =O dan
WGMOO=O , pada register TCCR

Timer /Counter Pada AVR


1. Digunakan untuk melaksanakan pekerjaan yang berulang dgn
interval tertentu juga bisa digunakan utuk membuat delay.
2. 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.
3. Waktu interval dapat dirubah rubah dengan merubah nilai
maximum TCNT.
4. 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 110 = 10 detik.

Timer /Counter Pada AVR


Pada mode normal selain bisa diset sebagai timer juga sebagai
counter, dgn cara merubah sumber clocknya menggunakan triger di pin
TO .

Timer /Counter Pada AVR


Cara seting pilihan
sebagai Timer atau
counter pada
codewizard di
codevision :

Timer /Counter Pada AVR


Pilihan scala clock
CS02:CSo1:CSoo
untuk xtal
11.059.200hz pd
codevision sudah
berupa pilihan
frekwensi clock
timer:

Timer /Counter Pada AVR


Mode Normal sebagai Counter:

Timer /Counter Pada AVR


Mode PWM, Pulsa Wide Modulation.

Timer /Counter Pada AVR


Salah satu kegunaan sinyal PWM antara lain untuk
mengendalikan Kecepatan putaran Motor DC.

Timer /Counter Pada AVR


Cara pembentukan sinyal Fast PWM
Nilai pada register Counter TCNT akan terus
menerus naik sampai nilai maximum, lalu kembali ke 0.
begitu seterusnya selama sinyal clock diberikan
kepada timer. Nilai OCR diset untuk mengatur
pembentukan PWM.
saat nilai TCNT > nilai OCR maka pin OC
mengeluarkan sinyal HIGH ,
saat nilai TCNT < nilai OCR maka pin OC
mengeluarkan sinyal LOW.

Timer /Counter Pada AVR


Gambar berikut menunjukan tiga buah nilai OCR yang berbeda yang
menghasilkan sinyal output PWM berbeda pula pada pin OC.

Timer /Counter Pada AVR


Cara Membuat
PWM pada
CodeWizard di
Codevision spt
pada gambar
berikut :

Timer /Counter Pada AVR


Timer Mode CTC (clear timer on compare match)

Pada mode ini counter TCNT akan


bergulir/mencacah naikkemudian
akan kembali 0 saat nilai TCNT =
OCR0. Untuk menghasilkan
gelombang kotak
pada pin OC kita set OC0 toggle
yaitu dgn memberi nilai COM1 =0
dan COM0 =1 di register TCCR.

Timer /Counter Pada AVR


Kesimpulan cara Pengesetan
register TCCR

Tugas mandiri
1. Pelajarilah contoh program menggunakan
timer/counter yang sudah kita bahas pada
pertemuan hari ini:
2. Carilah fungsi tosc PIN 29 & Pin 28 Port C

Anda mungkin juga menyukai