Jam sangat penting manfaatnya bagi kita. Karena dengan jam kita
dapat mengetahui waktu. Salah satunya adalah jam digital. Berikut contoh
penerapan jam digital pada mikrokontroler AT89S51.
Gambar diatas merupakan contoh konfigurasi kaki-kaki pada
rangkaian jam digital. Perbedaan mungkin terjadi, karena kita bisa mengatur
sesuai dengan konfigurasi yang kita mau untuk kita rancang.
Pada gambar diatas terdapat komponen-komponen:
a) Mikrokontroler
Mikrokontroler digunakan sebagai pemroses perintah-perintah yang
diberikan. Mikrokontroler yang sering digunakan adalah AT89s51, AT89s52,
AT89s53 dan masih banyak lagi. IC tersebut termasuk kedalam keluarga mcs51.
Selain tipe-tipe tersebut ada AVR yang mulai sering digunakan.
Rangkaian minimum modul mikrokontroler adalah:
· Rangkaian osilasi terletak di
kaki 18 dan 19.
· Power on reset terletak di
kaki 9.
· Rangkaian supply 5 volt yang
dihasilkan oleh regulator 7805. Untuk vcc di kaki 40 dan 31. Untuk ground di
kaki 20.
b) 7-segment
Digunakan sebagai display/penampil angka pada jam digital.
Terdapat dua tipe 7-segment. Yaitu: common anoda dan common katoda. Common
anoda maksudnya adalah kaki-kaki anoda pada led didalam 7-segment
disatukan(terletak di tengah-tengah atas/bawah) untuk kemudian disambungkan
dengan vcc(pin ditengah diberi vcc. Salah satu kaki saja atas atau bawah).
Agar angka tampil dengan konfigurasi ini, maka pin-pin kaki 7-segment yang
lain harus diberi ground/low. Untuk common katoda merupakan kebalikan dari
common anoda.
c) Transistor
Transistor disini digunakan untuk penguat arus dan sebagai
sakelar. Penguat arus maksudnya disini adalah memperkuat arus output dari
mikrokontroler yang terlalu lemah, sehingga bisa memberi arus yang cukup
untuk 7-segment.
Sebagai sakelar maksudnya adalah untuk digunakan dalam proses
scanning.
Proses scanning disini maksudnya adalah menampilkan angka yang
tertampil pada 7-segment secara bergantian antara 7-segment yang satu dengan
yang lain dari 7-segment kesatu lalu kedua kemudian ketiga akhirnya keempat.
Ini dilakukan karena tidak mungkin mikrokontroler mensuplai arus pada keempat
7-segment secara bersamaan karena arus yang dikeluarkan sangat terbatas.
Pergantian ini umumnya dilakukan dengan sangat cepat, sehingga mata tidak
dapat mengikuti. Sehingga yang terlihat oleh mata adalah angka pada keempat
7-segment tertampil semua.
Transistor yang dipergunakan untuk 7-segment common anoda adalah
transistor pnp(bc557). Sedangkan transistor yang digunakan untuk 7-segment
common katoda adalah transistor npn(bc548). Selain itu untuk transistor yang
digunakan untuk 7-segment yang besar berbeda dengan yang digunakan untuk 0.5
inch misalnya.
d) Resistor
Resistor digunakan sebagai pembatas arus agar arus menuju ke
7-segment dan mikrokontroler tidak berlebihan. Nilai resistor yang digunakan
tergantung oleh komponen yang dipakai. Contohnya nilai resistor yang
digunakan untuk 7-segment 0.5 inch berbeda dengan yang digunakan untuk
7-segment yang lebih besar.
e) Switch
Switch dapat ditambahkan pada mikrokontroler bila ingin menambah
atau mengurangi tampilan jam ataupun menit.
Contoh pemograman 7-segment:
Disini kita memakai 7-segment common anoda, dengan menggunakan
port 1 mikrokontroler. Pada program (bahasa assembly) ini akan menampilkan
angka dari 0 sampai 9 dengan waktu tunda 1 detik.
Org 0h ; alamat awal 0h (origin 0h)
Utama: mov R1,#0 ; isi R1 dengan nol
mov a,R1 ; menunjuk data lookup tabel pertama
mov dptr,#Angka ; isi dptr
dengan alamat lookup tabel
Ulang: movc a,@a+dptr ; copy data ke akumulator
mov p1,a ; tampilkan ke p1
Call Tunda ; tunda 1 detik
Inc a ; naikkan Akumulator
Cjne a,#0ah,Ulang ; jika A ≠ 10, ulang
Jmp Utama ; jika A = 10, ulang dari awal lagi
Tunda: mov R0,#250
Tunda1: mov R1,#250
Tunda2: mov R2,#6
Tunda3: DJNZ R2,Tunda3
DJNZ R1,Tunda2
DJNZ R0,Tunda1
RET
|
|
Langganan:
Posting Komentar
(
Atom
)
0 komentar:
Posting Komentar