Berikut ini kita akan belajar tentang antar muka mikrokontroler ATmega 8535 dengan input keypad dan output Seven segment. kita akan membuat sebuah program dengan ketentuan: setiap keypad angka 7 ditekan, maka seven segment akan diincrement 1, sedangkan setiap keypad angka 9 ditekan, maka seven segment akan didecrement 1. Seterusnya seperti itu, dan jika ditekan angka 0, maka seven segment akan direset, dan menampilkan angka 0.
Alat dan bahan yang dibutuhkan adalah sebagai berikut:
- 1 set Personal Computer/Laptop yang sudah berisi program Code Vision dan Khazama
- 1 buah keypad 4x4
- 1 buah catu daya DC +5V
- 1 buah multimeter
- 1 buah ISP Downloader AVR
- 1 buah sistem minimum AVR
- 1 buah I/O
- 1 buah kabel printer USB
- 2 buah kabel pita hitam
Langkah-langkah:
a. Rangkailah peralatan yang diperlukan seperti dalam Gambar 10. Hubungkan soket jumper PORTA pada minimum system dengan soket jumper DATA7S pada I/O dan soket jumper PORTB pada minimum system dengan soket jumper I/P S KEY pada I/O. Sedangkan PORTD dihubungkan pada soket jumper Keypad.
b. Buka program Code Vision AVR.
c. Buatlah project baru dengan inisialisasi sehingga pada program bagian inisialisasi PORTA, PORTB dan PORTD terlihat sebagai berikut:
// Port A initialization
PORTA=0x00;
DDRA=0xFF; //ke data 7S
// Port B initialization
PORTB=0xF0;
DDRB=0xF0; //ke I/P S display
// Port D initialization
PORTD=0xFF;
DDRD=0x0F; //input keypad
d. Tuliskan dalam program utama sebagai berikut:
while (1)
{
PORTD = 0b11111011; //aktifkan baris3
delay_ms(100);
if(PIND.4==0) //tombol 7
{
PORTB.7=1;
PORTB.6=0;
kanan++;
PORTA=bil[kanan];
delay_ms(100);
}
if(PIND.6==0) //tombol 9
{
PORTB.7=1;
PORTB.6=0;
kanan--;
PORTA=bil[kanan];
delay_ms(100);
}
PORTD = 0b11110111; //aktifkan baris4
delay_ms(100); //tombol 0
if(PIND.5==0)
{
PORTB.7=1;
PORTB.6=0;
kanan=0;
PORTA=bil[kanan];
}
}
e. Tekan tombol keypad angka 7, 9 dan 0, amati nyala seven segment.
Selamat mencoba…
Tidak ada komentar:
Posting Komentar