⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4x4.txt

📁 4X4键盘扫描源程序 适用于基于Keil80C51
💻 TXT
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
Void dlms(void);
Uchar kbscan(void);                         /*函数说明*/
Void main(void)
{
Uchar key;
  While(l)
{
Key=kbscan();                    /*键盘扫描函数,返回键码送至key保存 */
dlms()
   }
}
void dlms(void)                            /* 延时*/
{
uchar I;
for(i=200;i>0;i--)
{
}
}
uchar kbscan(void)                          /*键盘扫描函数*/ 
{uchar sccode,recode;
P1=0xf0;                             
If((P1&0xf0)!=0xf0)               /*如果P1口高四位不全为1,则有键按下*/
{dlms();                                  /*延时,去抖动*/
If((P1&0xf0)!=0xf0)                        /*再读输入值*/
{sccode=0xf0                              /*最低位置0*/
While((sccode&0x10)! =0)                   /*不到最后一行,循环*/
{P1=sccode:                               /*P1口输出扫描码*/
If((P1&0xf0)!=0xf0)              /*如果P1.4~P1.7不全为1,该行有键按下*/
{recode=(P1&0xf0;);                        /*保留P1口高四位输入值,低四位变为1,作为列值*/
Return(sccode +recode)                  /*行码+列码=键编码,返回主程序*/
}
else
sccode =(sccode<<1)|0x01;                   /*如果该行无键按下,查下一行,行扫描值左移一位*/
}
}
}
Return(0);                                 /*无键按下,返回值为0*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -