Monique

LCD

MODUL 1 Mikroprossesor dan Mikrokontroller



Modul I
Mikrokontroller AT MEGA 128



Adapun kondisi percobaan kelompok kami adalah :
Menampilkan angka bergerak dari kanan ke kiri saat menekan salah satu keypad

Sebelum melakukan percobaan, kami dari kelompok 12 melakukan simulasi pada rangkaian yang akan di analisa menggunakan software Proteus guna untuk mengetahui apakah rangkaian tersebut berfungsi sesuai dengan tujuan percobaan. Dibawah ini merupakan rangkaian simulasi dari percobaan kali ini:





#include //Merupakan library ATMega128
#include //Merupakan library LCD
#include //Merupakan library dwaktu tunggu (delay)

char i;
void keypad()
{
PORTC=0b1111011; // Mengaktifkan angka yang ditekan pada Keypad di PORTC
delay_ms(10); // Delay 1 ms
if (PINC.4 == 0) // Jika menekan tombol keypad yg terhubung ke PINC.4 aktif low
{ for (i=0;i<=15;i++)
{
lcd_gotoxy(i-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
{ for (i=15;i>=0;i--)
{
lcd_gotoxy(1,0); // Posisi tulisan pada LCD
lcd_putsf("Angka 2 ditekan"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan / reset LCD
}
}
PORTC=0b1111110; //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 3"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan / reset LCD
}

else if (PINC.5 == 0) // Jika menekan tombol keypad yg terhubung ke PINC.4 aktif low
{
lcd_gotoxy(1,0); // Posisi tulisan pada LCD
lcd_putsf("Anda Tekan 6"); // 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(2)

{
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 Angka 2"); // Mencetak tulisan pada LCD
delay_ms(50); // Delay selama 50 ms
lcd_clear(); // Membersihkan /reset LCD
}

if (PIND.2 == 1)
{ for (i=15;i>=0;i--)
{
lcd_gotoxy(i,1); // 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
};
}
}
} // Akhir program




Pada pratikum kali ini, kami menggunakan ATMEGA 128 sebagai unit processing rangkaian. Untuk membuat program atmega trsebut, kami menggunkaan software CodeVision AVR.
Pada percobaan kali ini , sesuai dengan kondisi yang kelompok kami dapatkan , yaitu menampilkan karakter bergerak dari kanan ke kiri saat keypad angka 2 ditekan.
Pada rangkaian , saat ditekan tombol play untuk simulasi, maka pada LCD akan menampilkan karakter printah "tekan Angka 2". Saat angka 2 pada keypad ditekan, maka LCD akan menampilkan karakter "Angka 2 ditekan" yang bergerak dari kanan ke kiri LCD. Artinya , rangkian ini sudah sesuai dengan kondisi modul yang kelompok kami ambil.
Pda program ini , input nya adalah Keypad dan Switch, Unit Proccesing nya adalah ATMEGA 128, dan Output nya adalah LCD.
Untuk pengaturan program LCD, menampilkan karakter bergerak dari kanan ke kiri tersebut menggunakan fungsi FOR.
Video simulasi klik disini
File Rangkaian klik disini
File Program klik disini
File HTML
Share:

Tidak ada komentar:

Posting Komentar