mikro c5
ใบรายงานผลการปฏิบัติงาน
Code
Code
char readKeyboard() { unsigned int i = 0; for(i=0;i<4;i++) { if(i == 0) PORTB = 1; else if(i == 1) PORTB = 2; else if(i == 2) PORTB = 4; else if(i == 3) PORTB = 8; if(PORTB.F4) return findKey(i,0); if(PORTB.F5) return findKey(i,1); if(PORTB.F6) return findKey(i,2); if(PORTB.F7) return findKey(i,3); } return ' '; }char findKey(unsigned short a, unsigned short b) { if(b == 0) { if(a == 3) return '0'; else if(a == 2) return '1'; else if(a == 1) return '2'; else if(a == 0) return '3'; } else if(b == 1) { if(a == 3) return '4'; else if(a == 2) return '5'; else if(a == 1) return '6'; else if(a == 0) return '7'; } else if(b == 2) { if(a == 3) return '8'; else if(a == 2) return '9'; else if(a == 1) return 'A'; else if(a == 0) return '-'; } else if(b == 3) { if(a == 3) return 'C'; else if(a == 2) return 'U'; else if(a == 1) return 'E'; else if(a == 0) return 'F'; } }
ภาพจำลองการทำงานด้วยโปรแกรม Proteus
อ้างอิง
https://electrosome.com/matrix-keypad-pic-microcontroller/
ความคิดเห็น
แสดงความคิดเห็น