Translate

Membuat Tundaan / Delay 1 Detik Tepat Menggunakan Timer dan Bascom AVR

Membuat Tundaan / Delay 1 Detik Tepat Menggunakan Timer dan Bascom AVR


        Pada kesempatan kali ini saya akan menjelaskan mengenai bagimana cara membuat sebuah alat dengan tundaan / delay 1 detik menggunakan timer dan bahasa bascom avr. kenapa hal ini dilakukan ? dikarenakan jika menggunakan perintah "wait 1" atau "waitms 1000" seringkali tidak 1 detik dan juga selalu melebihi dari 1 detik, jika dibandingkan dengan counter up stopwatch atau jam maka akan terlihat tingkat akurasi penggunaan perintah tersebut. maka dari itu dipakailah Timer sebagai acuan untuk mendeteksi overflow yang terjadi sehingga tundaan atau delay akan sama dengan 1 detik tepat. untuk lebih jelasnya berikut adalah skema dan programnya.



a. Minimum System + LCD





b. Program Bascom AVR

' program timer1_01.bas
' membuat gelombang kotak frekuensi 50 Hz
'Link Sumber:
'http://agfi.staff.ugm.ac.id/blog/index.php/2012/06/menggunakan-timer1-untuk-tundaan-1-detik-avr/
 
$regfile = "m16def.dat"
$crystal = 11059200 
 
Config Lcdpin = Pin , Rs = Portc.7 , E = Portc.6 , Db4 = Portc.5
Config Lcdpin = Pin , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2
Config Lcd = 16 * 2
 
Config Timer1 = Timer , Prescale = 256
Const Inisial = &H5740 
 
dim x as integer
x = 0
 
On Timer1 Timer1_isr    ' timer0 overflow interrupt

Config Portb = Output

Tcnt1l = Low(inisial)
Tcnt1h = High(inisial)

Enable Timer1           ' enable Ovf0
Enable Interrupts

Do 
upperline
lcd x
 
Loop

End

Timer1_isr:               
   Tcnt1l = Low(inisial)  
   Tcnt1h = High(inisial) 
   Toggle Portb.0          
   incr x
Return






c. Cara Set Parameter Menggunakan KAVRCALC






d. Cara Penggunaan Alat

       Untuk menggunakan alat ini yang pertama yaitu hidupkan minimum system dengan memberikan power supply 12v, kemudian pasang led di PORTB.0, bisa aktif low atau aktif high. jangan lupa kasih resistor 220 ohm terlebih dahulu sebelum menuju ke led. jika berhasil maka led akan berkedip selama satu detik dan akan mati selama satu detik. pada tampilan LCD terlihat nilai up-counter dari variabel X dengan tundaan / delay tepat satu detik, jika ingin diuji maka ambillah stopwatch dan bandingkan keduanya, maka hasilnya akan sama, dan juga bandingkan pula dengan perintah "wait 1" dan "waitms 1000". jika sudah mendapatkan hasilnya jangan lupa koment dibawah blog ini terima kasih. 












No comments:

Post a Comment