// 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;
const char msg1[] = "TEST 0";
const char msg2[] = "TEST 1";
const char msg3[] = "TEST 2";
const char msg4[] = "TEST 3";
const char msg5[] = "TEST 4";
const char msg9[] = " ";
void main()
{
TRISA=0xFF;
CMCON=0x07;
TRISB=0x00;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1,1,"EDA BOARD");
Delay_ms(500);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9)); //Clean
Delay_ms(150);
Lcd_Out(2,1,CopyConst2Ram(msg, msg1)); //Test 0
Delay_ms(3850);
Lcd_Out(1,1,CopyConst2Ram(msg, msg1)); //Test 1
Delay_ms(1000);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9));
Lcd_Out(2,1,CopyConst2Ram(msg, msg2)); //Test 1 Up to Line 1
Delay_ms(3850);
Lcd_Out(1,1, CopyConst2Ram(msg, msg2)); //Test 2
Delay_ms(1000);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9));
Lcd_Out(2,1,CopyConst2Ram(msg, msg3)); //Test 2 Up to Line 1
Delay_ms(3850);
Lcd_Out(1,1,CopyConst2Ram(msg, msg3)); //Test 3
Delay_ms(1000);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9)); //Clean Test 2
Lcd_Out(2,1,CopyConst2Ram(msg, msg4));
Delay_ms(3850);
Lcd_Out(1,1, CopyConst2Ram(msg, msg4));
Delay_ms(1000);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9));
Lcd_Out(2,1,CopyConst2Ram(msg, msg5));
Delay_ms(3850);
Lcd_Out(1,1, CopyConst2Ram(msg, msg5));
Delay_ms(1000);
Lcd_Out(1,1, CopyConst2Ram(msg, msg9));
Delay_ms(1000);
Lcd_Out(2,1, CopyConst2Ram(msg, msg9));
Delay_ms(1000);
Lcd_Out(2,1, "END PROGRAM");
while(1);
}