下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 8.按键识别方法之一

8.按键识别方法之一.doc

8.按键识别方法之一

air5210
2018-09-09 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《8.按键识别方法之一doc》,可适用于工程科技领域

第四章实验及实践课题()按键识别方法之一实验任务每按下一次开关SP计数值加通过ATS单片机的P端口的P到P显示出其的二进制计数值。.电路原理图图.系统板上硬件连线(.      把“单片机系统”区域中的PRD端口连接到“独立式键盘”区域中的SP端口上(.      把“单片机系统”区域中的P-P端口用芯排线连接到“八路发光二极管指示模块”区域中的“L-L”端口上要求P连接到LP连接到LP连接到LP连接到L上。.程序设计方法(.      其实作为一个按键从没有按下到按下以及释放是一个完整的过程也就是说当我们按下一个按键时总希望某个命令只执行一次而在按键按下的过程中不要有干扰进来因为在按下的过程中一旦有干扰过来可能造成误触发过程这并不是我们所想要的。因此在按键按下的时候         图要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉一般情况下我们可以采用电容来滤除掉这些干扰信号但实际上会增加硬件成本及硬件电路的体积这是我们不希望总得有个办法解决这个问题因此我们可以采用软件滤波的方法去除这些干扰信号一般情况下一个按键按下的时候总是在按下的时刻存在着一定的干扰信号按下之后就基本上进入了稳定的状态。具体的一个按键从按下到释放的全过程的信号图如上图所示:从图中可以看出我们在程序设计时从按键被识别按下之后延时ms以上从而避开了干扰信号区域我们再来检测一次看按键是否真得已经按下若真得已经按下这时肯定输出为低电平若这时检测到的是高电平证明刚才是由于干扰信号引起的误触发CPU就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。由于要求每按下一次命令被执行一次直到下一次再按下的时候再执行一次命令因此从按键被识别出来之后我们就可以执行这次的命令所以要有一个等待按键释放的过程显然释放的过程就是使其恢复成高电平状态。(.      对于按键识别的指令我们依然选择如下指令JB BITREL指令是用来检测BIT是否为高电平若BIT=则程序转向REL处执行程序否则就继续向下执行程序。或者是 JNB BITREL指令是用来检测BIT是否为低电平若BIT=则程序转向REL处执行程序否则就继续向下执行程序。(.      但对程序设计过程中按键识别过程的框图如右图所示:                 .程序框图         图.汇编源程序       图ORGSTART:MOVR,#H初始化R为表示从开始计数MOVA,RCPLA取反指令MOVP,A送出P端口由发光二极管显示REL:JNBP,REL判断SP是否按下直接寻址为转移LCALLDELAYMS若按下则延时ms左右JNBP,REL再判断SP是否真得按下INCR若真得按下则进行按键处理使计数内容加MOVA,R并送出P端口由CPLA发光二极管显示MOVP,AJNBP,$等待SP释放SJMPREL继续对K按键扫描SJMP相对短转移DELAYMS:MOVR,#延时ms子程序L:MOVR,#DJNZR,$DJNZR,LRETEND.C语言源程序#include<ATXH>unsignedcharcountvoiddelayms(void){unsignedchari,jfor(i=i>i)for(j=j>j)}voidmain(void){while(){if(P==){delayms()if(P==){countif(count==){count=}P=~count*~按位取反*while(P==)}}}}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/5

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利