矩阵键盘代码.docVIP

  • 36
  • 0
  • 约3.21千字
  • 约 5页
  • 2018-02-09 发布于河南
  • 举报
矩阵键盘代码

/*************************HL-1开发板实验例程********************** * 平台:HL-1 V8.0 + Keil U3 + STC89C52 * 名称:4*4键盘检测程序,按下键后相应的代码显示在数码管上 * 日期:2008-8-08 * 晶振:11.0592MHZ ******************************************************************/ #includereg51.h sbit beep=P2^3; sbit dula=P2^6; sbit wela=P2^7; unsigned char i=100; unsigned char j,k,temp,key; void delay(unsigned char i) { for(j=i;j0;j--) for(k=125;k0;k--); } unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; display(unsigned char num) { P0=table[num]; dula=1; dula=0; P0=0xc0; wela=1; wela=0; } void main() { dula=0; wela=0; while(1) { P3=0xfe; temp=P3; temp=temp0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xee: key=0; break; case 0xde: key=1; break; case 0xbe: key=2; break; case 0x7e: key=3; break; } while(temp!=0xf0) { temp=P3; temp=temp0xf0; beep=0; } beep=1; display(key); P1=0xfe; } } P3=0xfd; temp=P3; temp=temp0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xed: key=4; break; case 0xdd: key=5; break; case 0xbd: key=6; break; case 0x7d: key=7; break; } while(temp!=0xf0) { temp=P3; temp=temp0xf0; beep=0; } beep=1; display(key); } } P3=0xfb; temp=P3

文档评论(0)

1亿VIP精品文档

相关文档