Using proteus, a 51 series microcontroller simulation project (No. 53) based on a 4-key scan circuit.
发布时间
阅读量:
阅读量
1、本例实现用4个按键控制8位流水灯的不同显示效果。
按下KEY1键时,接在P3口的8位流水灯从P0.0开始依次点亮;
按下KEY2键时,接在P3口的8位流水灯从P0.7开始依次点亮;
按下KEY3键时,接在P3口的8位流水灯全部点亮;
按下KEY4键时,接在P3口的8位流水灯全部熄灭;
2、在本例中设置了4个按钮,并为每个按钮都赋予了不同的功能。由于每个按钮都对应着不同的功能,在此基础上进行了详细说明了各项配置设置。
KEY1键:键值为1;
KEY2键:键值为2;
KEY3键:键值为3;
KEY4键:键值为4;
3、4个按键分别接在P1口的P0.0--P0.3这4个引脚上,按键判别过程如下:
首先检测按键是否被按下。将P1口的低四位设为高电平后进行读取操作(考虑这一操作的原因:在数字电路中,高位信号通常用于标识某种特定状态),如果所得数据中至少有一位未达到高电平标准,则表明存在按键按下情况.具体操作步骤如下:
P1=0x0f;
if((P1&&0x0f)!=0x0f);
//将低四位与1进行按位与操作后发现结果不为1时,则意味着在低四位中至少有一位二进制位为0的状态出现。
2)按动作抖动消除方法如下:一旦检测到按键被按下,在一段固定时间内不响应(触发延时函数执行),一段时间过后再次检测判断;若仍检测到按动作,则进入键值识别过程;否则视为干扰信号停止进
全部评论 (0)
还没有任何评论哟~
