中断扫描工作方式键盘程序.docxVIP

  • 1
  • 0
  • 约1.37千字
  • 约 4页
  • 2021-02-12 发布于天津
  • 举报
{ { 中断扫描工作方式键盘程序 #include AT89X52.H /*定义0?9,A?F十六个字符的字型码表*/ unsigned char table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07, 0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71}; /*10ms延时程序*/ void delay10ms(void) unsigned char i,j; for(i=20;i0;i--) for(j=248;j0;j--); /*键盘扫描子程序 */ unsigned char scan_key(void) unsigned char n,scan,col,rol,tmp; bit flag=0;// bit flag=0; //设有键按下标志位 scan=0xef; P0=0x0f; //P0 口低四位做输入口,先输出全 1 for(n=0;n4;n++) //循环扫描 4 列,从 0 列开始 P0=scan; P0=scan; //逐列送出低电平 tmp=~P0; //读行值,并取反 tmp=tmp0x0f; col=n; //保存列号到 col flag=1; /* 判断哪一行有键按下,并保存行号到 rol*/ if(tmp==0x01) { rol=0; break;} { rol=0; br

文档评论(0)

1亿VIP精品文档

相关文档