CARA MEMBUAT UP DOWN COUNTER

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.
CARA MEMBUAT UP DOWN COUNTER

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

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

Dim angka as byte
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

CARA MEMBUAT UP DOWN COUNTER

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

1 komentar: