Modul IV
Mikrokontroller PIC 16F877A
Mikrokontroller PIC 16F877A
1. Tugas Pendahuluan
[kembali]
1.1 Kondisi Modul
[kembali]
Adapun kondisi percobaan kelompok kami adalah :
Menampilkan angka bergerak dari kanan ke kiri saat menekan salah satu keypad
Menampilkan angka bergerak dari kanan ke kiri saat menekan salah satu keypad
1.2 Rangkaian
[kembali]
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. Untuk gambar rangkaiannya ada dibawah ini.
2. Flowchart
[kembali]
3. Listing Program
[kembali]
unsigned short kp, cnt, oldstate = 0;
char txt[6];
// Keypad module connections
char keypadPort at PORTD;
// End Keypad module connections
// LCD module connections
sbit LCD_RS at RC0_bit;
sbit LCD_RW at RB4_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D4 at RC2_bit;
sbit LCD_D5 at RC3_bit;
sbit LCD_D6 at RC4_bit;
sbit LCD_D7 at RC5_bit;
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_RW_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D4_Direction at TRISC2_bit;
sbit LCD_D5_Direction at TRISC3_bit;
sbit LCD_D6_Direction at TRISC4_bit;
sbit LCD_D7_Direction at TRISC5_bit;
void main()
{
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
TRISD=0X00;
PORTD=0X03;
while(1)
{
if(PORTD.RD3==1 && PORTD.RD0==1)
{
Lcd_Out(1,6,"Selamat");
}
if(PORTC.RC1==0)
{
Lcd_Out(2,5,"PRATIKUM");
}
}
}
char txt[6];
// Keypad module connections
char keypadPort at PORTD;
// End Keypad module connections
// LCD module connections
sbit LCD_RS at RC0_bit;
sbit LCD_RW at RB4_bit;
sbit LCD_EN at RC1_bit;
sbit LCD_D4 at RC2_bit;
sbit LCD_D5 at RC3_bit;
sbit LCD_D6 at RC4_bit;
sbit LCD_D7 at RC5_bit;
sbit LCD_RS_Direction at TRISC0_bit;
sbit LCD_RW_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISC1_bit;
sbit LCD_D4_Direction at TRISC2_bit;
sbit LCD_D5_Direction at TRISC3_bit;
sbit LCD_D6_Direction at TRISC4_bit;
sbit LCD_D7_Direction at TRISC5_bit;
void main()
{
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
TRISD=0X00;
PORTD=0X03;
while(1)
{
if(PORTD.RD3==1 && PORTD.RD0==1)
{
Lcd_Out(1,6,"Selamat");
}
if(PORTC.RC1==0)
{
Lcd_Out(2,5,"PRATIKUM");
}
}
}
4.Video Simulasi
[kembali]
5.Analisa
[kembali]
Pada Pratikum kali ini , kami dari kelompok 12, mngambil kondisi modul LCD , yaitu menampilkan karakter dari LCD menggunakan mikrokontroller PIC.
Rangkaian kami sudah berjalan sesuai dengan kondisi modul, dimaana saat rangkaian disimulasikan , maka LCD akan mengeluarkan karakter 'SELAMAt' pada baris atas LCD dan 'PRAKTIKUM' pada bagian bawah LCD.
Program mikrokontroller PIC ini kami buat dengan Softwre MIKROC PRO for PIC. Pada program PIC ini agak sedikit berbeda dalam peletakan lokasi karakter di LCD. pada baris bagian atas , itu dinamakan 1 , dan dibawahnya 2. jadi untuk membuat lokasi (1,6) dimana 1 berarti karakter tersebut terletak pada bagian atas LCD dan 6 berarti karakter tersebut dimulai dari kotak ke 6 dari kiri LCD.
Pada percobaan kali ini kami menggunakan Switch sebagai inputannya, Mikrokontroller PIC sbagai unit prosesing , dan LCD sebagai Output dari rangkaian.
Rangkaian kami sudah berjalan sesuai dengan kondisi modul, dimaana saat rangkaian disimulasikan , maka LCD akan mengeluarkan karakter 'SELAMAt' pada baris atas LCD dan 'PRAKTIKUM' pada bagian bawah LCD.
Program mikrokontroller PIC ini kami buat dengan Softwre MIKROC PRO for PIC. Pada program PIC ini agak sedikit berbeda dalam peletakan lokasi karakter di LCD. pada baris bagian atas , itu dinamakan 1 , dan dibawahnya 2. jadi untuk membuat lokasi (1,6) dimana 1 berarti karakter tersebut terletak pada bagian atas LCD dan 6 berarti karakter tersebut dimulai dari kotak ke 6 dari kiri LCD.
Pada percobaan kali ini kami menggunakan Switch sebagai inputannya, Mikrokontroller PIC sbagai unit prosesing , dan LCD sebagai Output dari rangkaian.
6. Link Download
[kembali]
Video simulasi klik disini
Tidak ada komentar:
Posting Komentar