(Mikro C) đọc phím nhấn keypad (keypad mikro C code)
đọc phím nhấn của Keypad 4x4 sử dụng PIC 16F887.
code :
sơ đồ kết nối |
char keypadPort at PORTC;
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_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 TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_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;
void main()
{
char kp=0;
ANSEL=0;
ANSELH=0;
TRISC=1;
TRISB=0;
PORTB=0x00;
Keypad_Init();
LCD_INIT();
lcd_cmd(_lcd_cursor_off);
while(1)
{
kp = Keypad_Key_press();
switch(kp)
{
case 1 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"7");
break;
case 2 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"8");
break;
case 3 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"9");
break;
case 4 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"/");
break;
case 5 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"4");
break;
case 6 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"5");
break;
case 7 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"6");
break;
case 8 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"x");
break;
case 9 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"1");
break;
case 10 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"2");
break;
case 11 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"3");
break;
case 12 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"-");
break;
case 13 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"on");
break;
case 14 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"0");
break;
case 15 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"=");
break;
case 16 :
lcd_cmd(_lcd_clear);
lcd_out(1,1,"+");
break;
}
}
}
Nhận xét
Đăng nhận xét