Monday, February 9, 2015

PENERAPAN MIKROKONTROLER

Jam sangat penting manfaatnya bagi kita. Karena dengan jam kita dapat mengetahui waktu. Salah satunya adalah jam digital. Berikut contoh penerapan jam digital pada mikrokontrolerAT89S51.


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