1. kondisi [kembali]
2. Gambar rangkaian simulasi [kembali]
3. prinsip kerja [kembali]
Pada rangkaian ini, yaitu menampilkan karakter pada LCD, membutuhkan beberapa komponen seperti Mikroprosesor ATMega128 sebagai otak dari rangkaian ini, LCD sebagai keluaran berupa gambar atau karakter, serta keypad dan switch sebagai masukan, tidak lupa juga ditambahkan kristal sebagai "clock" atau pendetak bagi mikroprosesor ATMega128 itu sendiri seperti pada rangkaian, LCD dihubungkan dengan PORT A, keypad pada PORT D, dan switch pada PORT B. Ketika angka 1 pada keypad ditekan, maka pada LCD akan menampilkan tulisan "Anda menekan 1", ketika angka 5 ditekan, maka akan tampil tulisan "Anda menekan 5", dan ketika switch pertama ditekan, makan pada LCD akan tampil tulisan "Anda menekan switch pertama".
4. video simulasi [kembali]
5. flowchart [kembali]
6. listing program [kembali]
#include <mega128.h> //Merupakan library ATMega128
#include <alcd.h> //Merupakan library LCD
#include <delay.h> //Merupakan library dwaktu tunggu (delay)
void keypad()
{
PORTC=0b1111011; // Mengaktifkan angka yang ditekan pada Keypad di PORTC
delay_ms(1); // Delay 1 ms
if (PINC.4 == 0) // Jika menekan tombol keypad yg terhubung ke PINC.4 aktif low
{
lcd_gotoxy(1,0); // Posisi tulisan pada LCD
lcd_putsf("Anda Tekan 1"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan / reset LCD
}
PORTC=0b1111101; //Mengaktifkan angka yang ditekan pada Keypad di PORTC
delay_ms(1); // Delay selama 1 ms
if (PINC.4 == 0) // Jika menekan tombol keypad yg terhubung ke PINC.4 aktif low
{
lcd_gotoxy(1,0); // Posisi tulisan pada LCD
lcd_putsf("Anda Tekan 2"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan / reset LCD
}
}
void main(void) // Fungsi utama
{
PORTD=0x00; // Deklarasi PORTD aktif low
DDRD=0x00; // Deklarasi PORTD sebagai output
PORTC=0xff; // Dekalarasi PORTC aktif high
DDRC=0x0f; // Deklarasi PORTC sebagai input dan output
lcd_init(16); // Menggunakan LCD tipe 16 * 2
while(1)
{
keypad(); // Memanggil keypad
if (PIND.0 == 1) // Jika PIND.0 ditekan aktif high
{
lcd_gotoxy(1,0); // Posisi tulisan pada LCD
lcd_putsf("Tekan Switch 1"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan /reset LCD
}
if (PIND.1 == 1) // Jika PIND.1 ditekan aktif high
{
lcd_gotoxy(1,1); // Posisi tulisan pada LCD
lcd_putsf("Tekan Switch 2"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan /reset LCD
}
}
} // Akhir program
7. link download [kembali]
video simulasi download
listing program download
rangkaian simulasi download
Tidak ada komentar:
Posting Komentar