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

  • 7
  • 0
  • 约1.31千字
  • 约 4页
  • 2021-04-20 发布于天津
  • 举报
中断扫描工作方式键盘程序 ttinclude 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;〃设有键按下标志位scan=0xef;P0二OxOf;//P0 bit flag=0; 〃设有键按下标志位 scan=0xef; P0二OxOf; //P0 口低四位做输入口,先输出全 1 for(n=0;n〈4;n++) 〃循环扫描4列,从0列开始 tmp=~P0; 〃读行值,并取反 tmp二tmpOxOf; col=n; //保存列号到col flag=l; /*判断哪一行有键按下, 并保存行号到rol*/ if (tmp=0x01) { rol=0; break;}

文档评论(0)

1亿VIP精品文档

相关文档