// LCD module connections
sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;
sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
// End LCD module connections
char txt1[] = "first choice";
char txt2[] = "second choice";
char txt3[] = "Third choice";
char txt4[] = "Fourth chec";
char txto[] = "ok";
char txtr[] = "Ready";
char txtt[] = "test";
char txte[] = "error";
char txtn[] = "Not good to use";
void main()
{
trisc.f0=1;
trisc.f1=1;
trisc.f2=1;
trisc.f3=1;
trisc.f4=1;
portc=0;
Lcd_Init(); // Initialize LCD
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off
Lcd_Out(1,2,"Welcome 2s");
delay_ms(2000); // I want "welcome" here for 2 seconds
Lcd_Out(1,6,txtr);
Lcd_Out(2,4,txtt);
delay_ms(3000);
Lcd_Cmd(_LCD_CLEAR);
while(1) // <-- Need a forever loop here
{
if(portc==0b00000001)
{
Lcd_Out(1,6,txto);
Lcd_Out(2,6,txt1);
delay_ms(5000);
Lcd_Cmd(_LCD_CLEAR);
}
if(portc==0b00000011)
{
Lcd_Out(1,6,txto);
Lcd_Out(2,6,txt2);
delay_ms(5000);
Lcd_Cmd(_LCD_CLEAR);
}
if(portc==0b00000111)
{
Lcd_Out(1,6,txto);
Lcd_Out(2,6,txt2);
delay_ms(5000);
Lcd_Cmd(_LCD_CLEAR);
}
if(portc==0b000001111)
{
Lcd_Out(1,6,txto);
Lcd_Out(2,6,txt2);
delay_ms(5000);
Lcd_Cmd(_LCD_CLEAR);
}
else Lcd_Out(1,6,txte);
Lcd_Out(2,5,txtn);
delay_ms(5000);
Lcd_Cmd(_LCD_CLEAR);
}
}