MCS-51单片机接口技术培训课件.ppt

MCS-51单片机接口技术培训课件.ppt

ID:50543302

大小:2.91 MB

页数:91页

时间:2020-03-14

MCS-51单片机接口技术培训课件.ppt_第1页
MCS-51单片机接口技术培训课件.ppt_第2页
MCS-51单片机接口技术培训课件.ppt_第3页
MCS-51单片机接口技术培训课件.ppt_第4页
MCS-51单片机接口技术培训课件.ppt_第5页
资源描述:

《MCS-51单片机接口技术培训课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第9章MCS-51单片机接口技术9.1键盘接口9.2显示器接口9.3A/D转换器接口9.4D/A转换器接口9.5步进电机控制9.1键盘接口9.1.1键盘概述1、按键开关去抖动问题图9-1键盘抖动过程键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。消除抖动不良后果的方法:⑴硬件去抖动图9-2硬件去抖动电路其中RC滤波电路去抖动电路简单实用,效果较好。⑵软件去抖动检测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,消除抖动影响。2.按键编码(1)用键盘连接的I/O线的二进制组合表示键码。(

2、2)顺序排列编码。首先确定按键的行号m,再确定按键的列号n,则键码=行号m×4+列号n(a)二进制组合编码;(b)顺序排列编码9.1.2独立式按键独立式按键特点:(1)各按键相互独立,电路配置灵活(2)软件结构简单(3)按键数量较多时,I/O线耗费较多,只适用于按键数量较少的场合。独立式按键电路如图9-4所示。图9-4独立式按键图9-4(a)所示的独立按键扫描程序如下:KEYA:ORLP1,#07H;置P1.0~P1.2为输入态MOVA,P1;读键值,键闭合相应位为0CPLA;取反,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有

3、键值信息的低3位JZGRET;全0,无键闭合,返回LCALLDY10ms;非全0,有键闭合,延时10ms,软件去抖动MOVA,P1;重读键值,键闭合相应位为0CPLA;取反,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回;非全0,确认有键闭合JBAcc.0,KA0;转0#键功能程序JBAcc.1,KA1;转1#键功能程序JBAcc.2,KA2;转2#键功能程序GRET:RETKA0:LCALLWORK0;执行0#键功能子程序RETKA1:LCALLWORK1;执行1#键功能子程序

4、RETKA2:LCALLWORK2;执行2#键功能子程序RET图9-4(b)所示的独立按键扫描程序如下:KEYB:ORLP1,#07H;置P1.0~P1.2为输入态MOVA,P1;读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回LCALLDY10ms;非全0,有键闭合,延时10ms,软件去抖动MOVA,P1;重读键值,键闭合相应位为1ANLA,#00000111B;屏蔽高5位,保留有键值信息的低3位JZGRET;全0,无键闭合,返回;非全0,确认有键闭合JBAcc.0,KB

5、0;转0#键功能程序JBAcc.1,KB1;转1#键功能程序JBAcc.2,KB2;转2#键功能程序GRET:RETKB0:LCALLWORK0;执行0#键功能子程序RETKB1:LCALLWORK1;执行1#键功能子程序RETKB2:LCALLWORK2;执行2#键功能子程序RET9.1.3矩阵式键盘若需要的按键数目较多,通常采用矩阵式(也称行列式)键盘。I/O端口线分为行线和列线,按键跨接在行线和列线的交叉处,按键按下时,行线与列线连同,形成回路。其特点是占用I/O线较少,但软件较复杂。图9-5矩阵式键盘结构1.查询方式查询式确认键盘中有无键按

6、下的基本方法是(以图9-5为例):P1.4-P1.7输出0,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为"1"。确认键盘中哪一个键按下的方法是:从P1.4开始,依次输出"0",置对应的列线为低电平,然后读入行线状态,如果全为"1",则所按下之键不在此列;如果不全为"1",则所按下的键必在此列,而且是与0电平行线相交的交点上的那个键。确认键码的过程是:先确认行号,再确认列号键码=行号×4+列号。参考程序如下:KEY:MOVP1,#0F0H;行线置低电平,列线置输入态KEY

7、0:MOVA,P1;读列线数据CPLA;数据取反,“1”有效ANLA,#0F0H;屏蔽行线,保留列线数据MOVR1,A;存列线数据(R1高4位)JZGRET;全0,无键按下,返回KEY1:MOVP1,#0FH;行线置输入态,列线置低电平MOVA,P1;读行线数据CPLA;数据取反,“1”有效ANLA,#0FH;屏蔽列线,保留行线数据MOVR2,A;存行线数据(R2低4位)JZGRET;全0,无键按下,返回JBCF0,WAIT;已有消抖标志,转SETBF0;无消抖标志,置消抖标志LCALLDY10ms;调用10ms延时子程序消抖SJMPKEY0;重读

8、行线列线数据GRET:RETWAIT:MOVA,P1;等待按键释放CPLAANLA,#0FHJNZWAIT;按键未释放,继

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。