Membuat Up Down Counter menggunakkan Atmega8 menggunakan display seven segment dengan bahasa pemrograman Bascom-AVR tidaklah sulit untuk kita buat. Lalu apa manfaat kita membuat Up Down Counter? alasan utamanya adalah untuk pembelajaran sehingga pada suatu saat bisa dikembangkan dan diaplikasikan.
Aplikasi Down Counter yang dapat kita lihat langsung adalah Down Counter lampu lalu lintas, dengan adanya Counter tersebut pengguna jalan akan mempunyai pengalaman baru dalam berlalu lintas. Dan pengendara tidak asal terobos karena ada hitungan kapan lampu merah akan menyala.
Up Down Counter ini menggunakan 2x Display Seven Segment, sehingga mampu menghitung 0-99. untuk menentukan hitungan Up atau Down kita gunakan sebuah tombol. Ada juga tombol Reset untuk menghitung dari nol lagi.
Software:
Sediakan sebuah variabel, kita beri nama variabel ini dengan "angka" misalnya. Variabel ini otomatis akan terisi 0 saat pertama kali. Dengan instruksi "incr" variabel angka tadi akan naik satu sehingga yang sebelumnya 0 akan berisi 1. Jika kita incr lagi maka akan naik menjadi 2, demikian seterusnya.
Aplikasi Down Counter yang dapat kita lihat langsung adalah Down Counter lampu lalu lintas, dengan adanya Counter tersebut pengguna jalan akan mempunyai pengalaman baru dalam berlalu lintas. Dan pengendara tidak asal terobos karena ada hitungan kapan lampu merah akan menyala.
Up Down Counter ini menggunakan 2x Display Seven Segment, sehingga mampu menghitung 0-99. untuk menentukan hitungan Up atau Down kita gunakan sebuah tombol. Ada juga tombol Reset untuk menghitung dari nol lagi.
Software:
Sediakan sebuah variabel, kita beri nama variabel ini dengan "angka" misalnya. Variabel ini otomatis akan terisi 0 saat pertama kali. Dengan instruksi "incr" variabel angka tadi akan naik satu sehingga yang sebelumnya 0 akan berisi 1. Jika kita incr lagi maka akan naik menjadi 2, demikian seterusnya.
Dim angka as byte
Do
Incr angka
Loop
End
Do
Incr angka
Loop
End
Perhatikan pada kode diatas, variabel angka mendapat instruksi incr diantara do dan loop. Ini akan membuat nilai dari variabel angka naik terus menerus sampai 255 kemudian ke 0 lagi dan naik lagi sampai 255 lagi demikian seterusnya.
Loh kok sampai 255, bukankah kita akan membuat counter hanya sampai 99. Tenang dulu....mikrokontroler itu canggih, bisa kita suruh apa saja, termasuk kita suruh menghitung sampai batas yang kita inginkan. Variabel angka diatas type datanya byte, type data byte memiliki hitungan maksimal 255 jika kita tidak membatasi hitungannya.
Untuk memebatasi hitungan cukup kita isi variabel tersebut dengan 0 lagi. misalnya perhatikan kode berikut
Loh kok sampai 255, bukankah kita akan membuat counter hanya sampai 99. Tenang dulu....mikrokontroler itu canggih, bisa kita suruh apa saja, termasuk kita suruh menghitung sampai batas yang kita inginkan. Variabel angka diatas type datanya byte, type data byte memiliki hitungan maksimal 255 jika kita tidak membatasi hitungannya.
Untuk memebatasi hitungan cukup kita isi variabel tersebut dengan 0 lagi. misalnya perhatikan kode berikut
Dim angka as byte
Do
Incr angka
If angka=100 then
Angka=0
End if
Loop
End
Do
Incr angka
If angka=100 then
Angka=0
End if
Loop
End
Perhatikan ada tambahan if...then di akhiri end if. Instruksi if..then digunakan untuk memantau nilai angka, dalam program diatas di pantau hanya sampai 100 saja. Setelah itu menjumpai perintah angka=0, disinilah variabel angka kembali ke 0 disaat hitungan telah mencapai 100. Sehingga hanya dapat menghitung maksimal 99
semoga bermanfaat artikel mengenai CARA MEMBUAT UP DOWN COUNTER . nantikan kode-kode dasar lain.
dibawah ini kode Up Counter sampai 99, kemudian kembali lagi ke 0.....akan tetapi belum ada fungsi Down Counter, tombol juga belum difungsikan. silahkan modifikasi sendiri
Config Portd = Output
Config Portc = Output
Config Portb = Input
Portb = &B11
Dim Angka As Byte
Dim Digit As Byte
Dim Satuan As Byte
Dim Puluhan As Byte
Dim A As Byte
Dim Tunda As Long
Do
Incr Tunda
If Tunda = 2048 Then
Tunda = 0
Incr Angka
If Angka = 100 Then
Angka = 0
End If
End If
A = Makebcd(angka)
Satuan = A And &B00001111
Rotate A , Right , 4
Puluhan = A And &B00001111
Reset Portc.0
Reset Portc.1
Select Case Digit
Case 0:
Portd = Lookup(puluhan , 7seg)
Set Portc.0
Case 1:
Portd = Lookup(satuan , 7seg)
Set Portc.1
End Select
Incr Digit
If Digit = 2 Then
Digit = 0
End If
Loop
End
7seg:
Data &B11000000 'angka 0
Data &B11111001 'angka 1
Data &B10100100 'angka 2
Data &B10110000 'angka 3
Data &B10011001 'angka 4
Data &B10010010 'angka 5
Data &B10000010 'angka 6
Data &B11111000 'angka 7
Data &B10000000 'angka 8
Data &B10010000 'angka 9
semoga bermanfaat artikel mengenai CARA MEMBUAT UP DOWN COUNTER . nantikan kode-kode dasar lain.
Artikel Terkait
CARA MEMBUAT UP DOWN COUNTER
4/
5
Fauzi hp
1 komentar:
GOOD
Reply