unsigned short kp; // kp is a variable // keypad module connections char keypadPort at PORTD; // End keypad module connections // Lcd module connections sbit LCD_RS at RB0_bit; sbit LCD_EN at RB1_bit; sbit LCD_D4 at RB2_bit; sbit LCD_D5 at RB3_bit; sbit LCD_D6 at RB4_bit; sbit LCD_D7 at RB5_bit; sbit LCD_RS_Direction at TRISB0_bit; sbit LCD_EN_Direction at TRISB1_bit; sbit LCD_D4_Direction at TRISB2_bit; sbit LCD_D5_Direction at TRISB3_bit; sbit LCD_D6_Direction at TRISB4_bit; sbit LCD_D7_Direction at TRISB5_bit; // End Lcd module connections void main() { Lcd_Init(); // initialize Lcd module Keypad_Init(); // initilize keypad module Lcd_Cmd(_LCD_CLEAR); // Lcd clear Lcd_Out(1,3, "WELCOME TO"); Lcd_Out(2,1, "MINA TECHNOLOGY"); delay_ms(1000); // 1s delay Lcd_Cmd(_LCD_CLEAR); // clear Lcd while(1){ // loop started kp = 0 ; // Reset the key code variable // wait for key to be pressed and relised do kp = Keypad_Key_Click(); // Store key code in kp varible while(!kp); switch(kp){ case 1 : kp = 49 ; break ; // 1 case 2 : kp = 50 ; break ; // 2 case 3 : kp = 51 ; break ; // 3 case 5 : kp = 52 ; break ; // 4 case 6 : kp = 53 ; break ; // 5 case 7 : kp = 54 ; break ; // 6 case 9 : kp = 55 ; break ; // 7 case 10 : kp = 56 ; break ; // 8 case 11 : kp = 57 ; break ; // 9 case 13 : kp = 42 ; break ; // * case 14 : kp = 48 ; break ; // 0 case 15 : kp = 35 ; break ; // # } Lcd_Chr_Cp(kp); // print lcd with cursor position } }