Zaenal Asikin 11.11.2659 TI 11S
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 adalah mikrokomputer dalam keping tunggal (single chip Microcomputer) yang dapat berdiri sendiri serta memiliki CPU dan dilengkapi dengan memori input output. Mikrokontroler AT89C51
adalah mikrokontroler ATMEL yang kompatibel penuh dengan mikrokontroler
keluarga MCS-51, membutuhkan daya yang rendah, memiliki performa yang
tinggi dan merupakan mikrokomputer 8 bit yang dilengkapi 4 Kbyte EPROM (Erasable and Programable Read Only Memori) dan 128 byte RAM internal. Program memori dapat diprogram ulang dalam sistem atau dengan menggunakan Program Nonvolately Memory Konvensional.
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
Angka: 01000110b, 01000000b, 01001000b, 00111111b
END
pustaka : http://www.kajianpustaka.com
http://elektronika-elektronika.blogspot.com/2007/02/menuliskan-angka-atau-huruf-ke-7-segmen.html
pustaka : http://www.kajianpustaka.com
http://elektronika-elektronika.blogspot.com/2007/02/menuliskan-angka-atau-huruf-ke-7-segmen.html
No comments:
Post a Comment