南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt

南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt

ID:52000004

大小:5.69 MB

页数:99页

时间:2020-03-28

南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt_第1页
南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt_第2页
南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt_第3页
南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt_第4页
南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt_第5页
资源描述:

《南理工《单片机原理及应用》教学讲解教案(李建忠版)第5课时.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章MCS–51单片机的接口与应用5.1按键、键盘及其接口5.2显示及显示器接口5.3A/D转换器接口5.4D/A转换器接口5.5行程开关、晶闸管、继电器与单片机的接口5.1按键、键盘及其接口5.1.1键输入过程与软件结构图5.1MCS–51单片机键输入过程5.1.2键盘接口和键输入软件中应解决的几个问题1.消除键抖动键稳定键按下前沿抖动前沿抖动图5.2键合断时的电压抖动图5.3消除键抖动电路2.键编码及键值(1)用键盘连接的I/O线的二进制组合表示键码。例如用4行、4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4位口线的二进制数的组合表示16个键的编码,如

2、图5.4(a)所示。各键相应的键值为88H、84H、82H、81H、48H、44H、42H、41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键值编码软件较为简单直观,但离散性大,不便安排散转程序的入口地址。(2)顺序排列键编码。如图5.4(b)所示。这种方法,键值的形成要根据I/O线的状态作相应处理。键码可按下式形成:键码=行首键码+列号图5.4行列式键盘的编码与键值(a)二进制组合编码;(b)顺序排列编码3.键盘的监测方法对于计算机应用系统,键盘扫描只是CPU工作的一部分,键盘处理只是在有键按下时才有意义。对是否有键按下的信息输入方式有中断方式

3、与查询方式两种。5.1.3独立式按键1.独立式按键接口结构图5.5独立式按键的接口电路示意图(a)中断方式;(b)查询方式2.独立式按键的软件结构下面是查询方式的键盘程序。K0~K7为功能程序入口地址标号,其地址间隔应能容纳JMP指令字节,PROM0~PROM7分别为每个按键的功能程序。设I/O为P1口。START:MOVA,#0FFH;MOVP1,A;置P1口为输入状态MOVA,P1;键状态输入JNBACC.0,K0;检测0号键是否按下,按下转JNBACC.1,K1;检测1号键是否按下,按下转JNBACC.2,K2;检测2号键是否按下,按下转JNBACC.3,K3;检测3

4、号键是否按下,按下转JNBACC.4,K4;检测4号键是否按下,按下转JNBACC.5,K5;检测5号键是否按下,按下转JNBACC.6,K6;检测6号键是否按下,按下转JNBACC.7,K7;检测7号键是否按下,按下转JMPSTART;无键按下返回,再顺次检测K0:AJMPPROM0K1:AJMPPROM1K7:AJIMPPROM7;入口地址表…PROM0:………………………;0号键功能程序………………………JMPSTART;0号键功能程序执行完返回PROM1:………………………;0号键功能程序………………………JMPSTART;1号键功能程序执行完返回………………………

5、;7号键功能程序PROM7:………………………JMPSTART;7号键功能程序执行完返回…5.1.4行列式键盘行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。例如4×4的行列结构可组成16个键的键盘。因此,在按键数量较多时,可以节省I/O口线。1.行列式键盘的接口行列式键盘的接口方法有许多,例如直接接口于单片机的I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接口;利用一种可编程的键盘、显示接口芯片8279进行接口等。其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系统中比较常用。图5.68155扩展I/O口组成的行列式键

6、盘2.键盘工作原理按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。行线通过上拉电阻接+5V,被箝位在高电平状态。对键盘的工作过程可分两步:第一步是CPU首先检测键盘上是否有键按下;第二步是再识别是哪一个键按下。检测键盘上有无键按下可采用查询工作方式、定时扫描工作方式和中断工作方式。1)查询工作方式键盘中有无键按下是由列线送入全扫描字,读入行线状态来判别的。其方法是:PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中。如果有键按下,总会有一根行线电平被拉至低电平,从而使行输入状态不全为"1"。键盘中哪一个键按下是由列线逐列置低电平后,检查行

7、输入状态,称为逐列扫描。其方法是:从PA0开始,依次输出"0",置对应的列线为低电平,然后从PC口读入行线状态,如果全为"1",则所按下之键不在此列;如果不全为"1",则所按下的键必在此列,而且是与0电平行线相交的交点上的那个键。为求取键码,在逐列扫描时,可用计数器记录下当前扫描列的列号,然后用行线值为"0"的行首键码加列号的办法计算。有键按下否调用6ms延时子程序开始调用12ms延时子程序有键按下否判断闭合键,键码入栈保存闭合键释放否键码→A返回YYYNNN图5.7键盘扫描子程序流程框图键盘扫描子程序如下:KEY

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

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

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