- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章MCS-51单片机IO接口技术2014
串口为方式0输出,串口外接移位寄存器74LS164 74LS164(0)~74LS164(7):作为8位LED的段码输出, 8031的P3.4、P3.5:两行键的行状态输入 P3.3(TXD):同步移位脉冲输出控制线, * 9.3.1独立式非编码键盘接口 各按键相互独立,每个接通一条输入数据线,通过检测输入线的高低电平判断按键。 优点是电路简单,编程简单明了,缺点是当按键数较多时,要占用较多的I/O口线。 独立式非编码键盘 按键判别程序如下(这里没有考虑消除键抖动问题): START: MOV P1,#0FFH ;P1口作为输入时,其口锁存 器必须置为1 MOV A,P1 ;取P1口的值,即读按键状态 JNB ACC.0,K0 ;0号键按下,转K0 JNB ACC.1 K1 ;1号键按下,转K1 JNB ACC.2 K2 ;2号键按下,转K2 JNB ACC.3 K3 ;3号键按下,转K3 JNB ACC.4 K4 ;4号键按下,转K4 JNB ACC.5 K5 ;5号键按下,转K5 JNB ACC.6 K6 ;6号键按下,转K6 JNB ACC.7 K7 ;7号键按下,转K7 JMP START ;无键按下,返回 K0: LJMP PK0 ;转0号键按下处理程序 K1: LJMP PK1 ;转1号键按下处理程序 K7: LJMP PK7 ;转7号键按下处理程序 PK0: … ;0号键处理程序 JMP START … PK7: … ;7号键处理程序 JMP START 因为以上按键判别程序是采用查询方法判别按键是否按下,各按键会存在优先级,优先级顺序依次为键号0至7。 9.3.2 行列式非编码键盘原理 用于按键数目较多的场合,由行线和列线组成, 按键位于行、列的交叉点上 由于行、列线为多键共用,各按键彼此将相互发生影响,必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置。 图9-10 4 4行列式非编码键盘结构图 9.3.3 MCS-51与行列式非编码键盘的接口方法 将行列式非编码键盘的行线接单片机I/O的输入线, 将列线接单片机的输出线即可构成键盘电路。 设置单片机的P1.0~P1.3为输入线,P1.4~P1.7为输出线 在单片机应用系统中,有时同时需要使用键盘与显示器接口,为了节省I/O口线常常把键盘和显示电路一起考虑,构成键盘、显示电路。 图9-12 用8155 I/O口的2×6键盘和6位动态显示器接口 LED显示器采用动态显示方式,键盘采用逐列扫描查询方式。由于键盘与显示做成一个接口电路,因此在软件中需合并考虑键盘查询与动态显示,键盘去抖动的延时子程序用显示程序替代。键盘扫描参考子程序如下: KD1: MOV A,#03H MOV DPTR,#7F00H ;设8155命令字寄存器地址为7F00H MOVX @DPTR,A ;8155初始化,PA、PB为基本输出,PC 为输入 KEY1: ACALL KS1 ;调用判别有无键闭合子程序 JNZ LK1 ;有键闭合,则转LK1 ACALL DIS ;无键闭合,调用显示程序延时, 显示程序从略 AJMP KEY1 ;返回,继续判别键是否闭合 LK1: ACALL DIS ;调用显示程序延时消除抖动 ACALL DIS ACALL KS1 ;消除抖动后,再次判别键是否闭合 JNZ LK2 ;有键闭合,则转LK2 ACALL DIS AJMP KEY1 ;无键闭合,返回继续判别键是否闭合 LK2: MOV R2,#01H ;键盘列扫描模式,先扫描第一
文档评论(0)