untuk membuat pewaktuan yang akurat memakai mikrokontroler telah disediakan Timer/Counter. jumlah Timer/counter dalam mikrokontroler Atmega16 ada tiga, yaitu:Timer/Counter0 (8bit), Timer/Counter1(16bit),Timer2(8bit). untuk timer2 tidak memiliki input Counter. Timer/Counter tersebut dapat kita atur untuk fungsi-fungsi yang berbeda. dengan TImer/Counter ini kita bisa membangun alat ukur Frequenci Counter, membangun Frequency Generator, dan Timer itu sendiri.
untuk membuat sebuah Time base 1 detik kita harus mengatur beberapa register yang terdapat dalam Timer/Counter. tentunya karena kita menggunakan pemrograman HLL maka pengaturan register menjadi sangat mudah, tidak harus langsung ke registernya, cukup menggunakan perintah-perintah yang mudah di pahami. sebagai contoh kali ini kita akan memakai Timer/counter0 untuk membuat Time base 1 detik. berikut printah-perintahnya dalam BascomAVR.
silahkan gambar skema diatas di proteus. dilanjutkan dengan copas kode dibawah ini, masukan ke lembar kerja Bascom-AVR, kompilasi lalu simulasikan. lihat Led.
config portc=output
config timer0=timer, prescale=1
on ovf0 tim0_isr
enable timer0
enable interrupts
dim ctr as word
do
loop
end
'layanan interupsi timer0
tim0_isr:
incr ctr 'naikan nilai ctr jika timer0 overflow
if ctr=31250 then 'jika telah mencapai 31250 nolkan ctr untuk perhitungan dari 'awal lagi
ctr=0 'ctr dinolkan
toggle portc.0 'untuk melihat hasil hubungkan Led ke Portc.0, led akan 'berkedip selama 1 detik
end if
return
algoritmanya sebagai berikut:
membuat hitungan di variabel ctr, ctr akan dinaikan 1 setiap Timer0 Overflow, jika hitungan telah mencapai 31250 menunjukan waktu 1 detik telah tercapai, sehingga ctr harus dinolkan lagi.
dari mana 31250 di dapat?
Xtal 8 MHz, prescale=1. berarti Timer0 mendapat Clock 8000000 setiap detiknya
lebar data Timer1 hanya 8 bit, sehingga total angka yang dapat dihitung=256. sehingga untuk membuat Tundaan 1 detik tinggal membagi 8000000/256=31250.
demikian ulasan saya mengenai CARA MEMBUAT TIME BASE 1 DETIK ini. selamat berkreasi.
Baca juga : Cara membuat Timer Digital
untuk membuat sebuah Time base 1 detik kita harus mengatur beberapa register yang terdapat dalam Timer/Counter. tentunya karena kita menggunakan pemrograman HLL maka pengaturan register menjadi sangat mudah, tidak harus langsung ke registernya, cukup menggunakan perintah-perintah yang mudah di pahami. sebagai contoh kali ini kita akan memakai Timer/counter0 untuk membuat Time base 1 detik. berikut printah-perintahnya dalam BascomAVR.
silahkan gambar skema diatas di proteus. dilanjutkan dengan copas kode dibawah ini, masukan ke lembar kerja Bascom-AVR, kompilasi lalu simulasikan. lihat Led.
config portc=output
config timer0=timer, prescale=1
on ovf0 tim0_isr
enable timer0
enable interrupts
dim ctr as word
do
loop
end
'layanan interupsi timer0
tim0_isr:
incr ctr 'naikan nilai ctr jika timer0 overflow
if ctr=31250 then 'jika telah mencapai 31250 nolkan ctr untuk perhitungan dari 'awal lagi
ctr=0 'ctr dinolkan
toggle portc.0 'untuk melihat hasil hubungkan Led ke Portc.0, led akan 'berkedip selama 1 detik
end if
return
algoritmanya sebagai berikut:
membuat hitungan di variabel ctr, ctr akan dinaikan 1 setiap Timer0 Overflow, jika hitungan telah mencapai 31250 menunjukan waktu 1 detik telah tercapai, sehingga ctr harus dinolkan lagi.
dari mana 31250 di dapat?
Xtal 8 MHz, prescale=1. berarti Timer0 mendapat Clock 8000000 setiap detiknya
lebar data Timer1 hanya 8 bit, sehingga total angka yang dapat dihitung=256. sehingga untuk membuat Tundaan 1 detik tinggal membagi 8000000/256=31250.
demikian ulasan saya mengenai CARA MEMBUAT TIME BASE 1 DETIK ini. selamat berkreasi.
Baca juga : Cara membuat Timer Digital
Artikel Terkait
CARA MEMBUAT TIME BASE 1 DETIK
4/
5
Unknown