Nah untuk kali ini saya akan membagi sedikit trik dan cara untuk membuat timer counter dengan waktu pas 1 detik.
sedikit teori kontrolnya begini
Ttimer0 = Tosc*(256-TCNT0)*N → (8 bit = 256)
Ttimer1 = Tosc*(65536-TCNT1)*N → (16 bit = 65536)
untuk perhitungan timer simak penjelasan di bawah ini
Tosc = 1/Fosc crystal yang saya gunakan adalah 12Mhz
Tosc = 1/12Mhz = 0,0000000833 detik sehingga yang di dapat adalah perhitungan di bawah ini
Dimana:
Ttimer0 = lamanya periode Timer0
Ttimer1 = lamanya periode Timer1
TCNT0 = Register Timer0
TCNT1 = Register Timer1
N = Skala clock (mempunyai nilai 1, 8, 64, 256 dan 1024)
Tosc = periode clock
Fosc = frekuensi clock kristal
TIMER 1 sebagai counter :
Ttimer1 = Tosc*(65536-TCNT1)*N
lamanya timer yang ingin saya buat adalah 1 detik jadi timer 1 adalah bernilai 1 detik dan ketika saya menggunakan crystal 12Mhz dan skala clok yang saya gunakan adalah 1024 , maka yang saya dapat adalah
1 = 0,0000000833*(65536-TCNT1)*1024
TCNT1= 53818 = D23A (dalam hexa)
Dari perhitungan diatas didapat nilai 53818 atau dalam hexa D23A, nilai tersebut harus diisikan pada register TCNT1 agar Timer 1 bernilai 1 detik.
Nah tidak usah bingung- bingung berikut adalah setingan yang akan kita gunakan ketika kita menggunakan codevision AVR.
Nah untuk lebih lengkapnya download dibawah ini saja
rangkaiannya mana ??
ReplyDeletekirim ke JCahya14@gmail.com