1. Pastikan semua supply dalam
keadaan off
2. Hubungkan jumper seperti
gambar
dibawah
3. Buatlah listing program yang telah ada pada modul.
4.
Hidupkan supply pada modul
5.
Upload program pada rangkaian
6.
Tekan tombol Reset
7.
Amati percobaan, jika tidak sesuai perbaiki rangkaian atau program
8.
Jika sesuai, maka selesai dan demokan pada instruktur atau asisten
yang mengawas
9.
Matikan supply pada modul
3.Flowchart [kembali]
4. Listing Program [kembali]
5. Video [kembali]
6. Link Download [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
#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
6. Link Download [kembali]
- Simulasi Proteus <Link Download>
- Listing Program <Link Download>
- Video <Link Download>