Categories
Mikrokontroler

Trik Tampilan Seven Segmen – si POLOS vs. si PENERJEMAH

Untuk menampilkan data-data melalui 7-segmen menggunakan mikrokontroler AT89 bisa dilakukan dalam 2 cara alternatif yang akan saya terangkan berikut ini, jika Anda pemula dalam mikrokontroler, ada baiknya Anda mengunduh ebook gratis saya mengenai pengenalan PLC dan mikrokontroler dan (sangat) disarankan untuk membaca (dengan cara membeli terlebih dahulu, he he he…) buku saya, informasinya ada disini!

Kita akan gunakan 7-segmen CA (Common Anode), dengan demikian untuk menyalakan perlu diberi logika 0, sedangkan konfigurasi 7-segmen sebagai berikut…

Baiklah rangkaian pertama si POLOS sebagai berikut…

sedangkan program dalam bahasa BASIC menggunakan BASCOM51 saya tampilkan berikut…

$regfile = "89c55wd.dat"
$crystal = 12000000
' urutan g,f,e,d,c,b,a masing-masing ke 6,5,4,3,2,1,0
' angka 1 = b,c         = &b11111001 = &h79
' angka 0 = a,b,c,d,e,f = &b11000000 = &hC0

Do
  P0 = &H79
  P2 = &HC0
  Wait 1
  P0 = &HC0
  P2 = &H79
  Wait 1
Loop
End

Keterangan:

  • $regfile digunakan untuk memberitahukan berkas uC yang digunakan, disini kita pake AT89C55 dengan fasilitas watchdog (at89c55wd.dat);
  • $crystal = 12000000, adalah pernyataan kristal yang kita gunakan adalah 12 MHz;
  • Karena urutan port sebagaimana ditulis dalam keterangan program, maka agar ditampilkan angka ‘1’ digunakan data &h79, sedangkan untuk angka ‘0’ digunakan data &hC0;
  • wait 1, artinya tunggu 1 detik, jika terlalu lama, Anda bisa gunakan waitms <angka>, dengan <angka> bisa Anda isi angka dalam satuan milidetik paling besar 255.

Hasilnya…

setelah 1 detik

Mudah khan… gampang kok belajar Mikrokontroler AT89, apalagi pake buku saya he he he….

Baiklah rangkaian yang kedua si PENERJEMAH

sedangkan contoh programnya…

$regfile = "89c55wd.dat"
$crystal = 12000000

Do
   P2 = &H10
   Wait 1
   P2 = &H01
   Wait 1
Loop
End

Hasilnya…

setelah 1 detik

Lo… kok data yang dikirim berbeda ya dengan yang pertama? Iya ya lah… lha wong sekarang antara uC dengan 7-segmen digunakan penerjemah BCD to 7-segmen kok (74LS47 yang cocok dengan 7-segmen CA, sedangkan 74LS48 cocok dengan 7-segmen CC (Common Cathode))… artinya jika kita kirim angka ‘0’ ke 74LS47, maka IC tersebut akan menerjemahkan data ‘0’ sebagai tampilan ‘0’ di 7-segmen, begitu seterusnya sampe angka ‘9’. Dan untungnya untuk 2×7-segmen hanya dibutuhkan 1 port aja… iya toh…

Mmm enak ya pake 74LS47 tinggal kirim angka-nya, gak pake penerjemahan manual kayak rangkaian yang pertama…. Enak apaan?! Lha wong harus dibayar mahal dengan beli IC 74LS47 dua biji loch…. he he he…

Anda bisa mengembangkan menjadi maksimal 4x2x7-segmen atau 8×7-segmen jika menggunakan 74LS47 (atau 74LS48), tapi tidak ada sisa satu port-pun, karena semua dipake untuk tampilan, kecuali Anda gunakan trik-trik khusus, misalnya, untuk pake 1 port bisa jadi 6x7segmen, gimana caranya? Ehm lain kali aja yach saya terangkan… Insya Alloh….

Hikmah:
“Semakin mudah implementasi pemrograman uC semakin mahal biaya-nya, karena rangkaiannya semakin rumit dan kompleks, demikian juga dengan kehidupan, semakin mudah implementasi hidup, semakin mahal biaya-nya” (AEP)

Ada komentar/pertanyaan, silahkan…