单片机教学14.ppt

单片机教学14.ppt

ID:48138834

大小:2.52 MB

页数:34页

时间:2020-01-17

单片机教学14.ppt_第1页
单片机教学14.ppt_第2页
单片机教学14.ppt_第3页
单片机教学14.ppt_第4页
单片机教学14.ppt_第5页
资源描述:

《单片机教学14.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2021/7/251第7章单片机的I/O扩展及应用本章主要内容单片机为什么需要I/O扩展单片机简单I/O扩展8255A可编程通用并行接口芯片8155带RAM和定时器/计数器的可编程并行接口芯片MCS-51单片机键盘接口技术MCS-51单片机显示器接口技术MCS-51单片机打印机接口技术键盘是单片机不可缺少的人机交互设备键盘的控制由键扫描和键码组成举例:以一个8行×4列的矩阵键盘为例,如下图所示。键盘上有行线和列线之分,本键盘共有8条行线4条列线。在行线和列线的交点处有一个键,由于行线与列线分别与键的不同端相连,平时键处于断开状态,所以行

2、线和列线互不相通。接口时,行线一端接输出口,另一端悬空;而列线一端经电阻接+5V电源,另一端接输入口。由于列线通过电阻与+5V电源相连,所以列线的初始状态为高电平。键盘接口技术键盘扫描示意图键盘上的每个键都担负一项处理功能,为此,键盘上每个键都对应有一个处理程序段,键的功能是通过运行这个程序段实现的。为了在程序中能顺利地分支到键处理程序段,就需要对键进行编码,称为键码,以便能按键码进行程序分支。键的编码没有统一标准,存在多种多样的键编码方法。最常用的编码方法是以键在键盘矩阵中的位置,从0开始按自然数顺序进行编码,键码以十六进制数表示。下

3、表是键盘扫描示意图中各键的键码,左边第一列的内容对应各行的扫描码,最后一行的内容是对应列有闭合键时的状态码(或称返回码)。表中内容为键码,注意键码排列的规律性。键码7FH1FH17H0FH07HBFH1EH16H0EH06HDFH1DH15H0DH05HEFH1CH14H0CH04HF7H1BH13H0BH03HFBH1AH12H0AH02HFDH19H11H09H01HFEH18H10H08H00HF7HFBHFDHFEH键码表扫描码状态码/返回码通常把键盘上被按下的键称为闭合键。识别闭合键:行扫描法和线反转法两种方法,单片机中常用行

4、扫描法,简称扫描法。软件方法实现键盘扫描是在扫描程序驱动下进行的,所以扫描过程也就是扫描程序的执行过程。开始前,通过程序反复不断地进行闭合键查找,即看看键盘中是否有闭合键,为此,应先使行线输出口输出全0,再读回列线状态,若列线状态为全1,则表明没有键被按下;若不为全1,则表明有键被按下。键盘扫描因为当有键被按下时,由于行线与列线在闭合键交点处接通,使穿过闭合键的那条列线变为低电平。发现闭合键后才接着进行键盘扫描,判定闭合的是哪个键;若无闭合键,就返回去重复进行闭合键的查找。键盘扫描过程是依次使行线中的每一条输出低电平,接着输入列线状态进

5、行有无闭合键的判定发现闭合键后,扫描并未结束。因为还要判定是否还有其他键被同时按下,所以扫描还应继续下去,直至最后在行线上输出7FH为止。键盘扫描键盘扫描程序流程每当确认有键被按下后,都应当进行去抖动处理。因为键在被按下时,由于机械触点的弹性以及电压突跳等原因,在触点闭合及释放的瞬间将出现电压抖动,如左图。去抖动处理有软件和硬件两种方法。软件去抖动方法是采用时间延迟以躲过抖动(延时时间为10~20ms即可),硬件方法是在键盘中附加去抖动电路,以抑制抖动的产生,具体可使用双稳态电路或滤波电路等,但硬件去抖动需增加成本。键闭合和断开时的电压

6、抖动去抖动1.接口电路逻辑图--以8255作8×4键盘的接口为例。8255实现键盘接口A口为输出口,接键盘行线。C口为输入口,以PC3~PC0接键盘的4条列线。假定A口地址为8000H,则B口地址为8001H,C口地址为8002H,控制寄存器地址为8003H。2.判断有无闭合键的子程序判断有无闭合键的子程序为KS,以供在键盘扫描程序中调用。执行KS子程序的结果是:有闭合键,则(A)≠0;无闭合键,则(A)=0。程序如下:KS:MOVDPTR,#8000HMOVA,#00H;A口送00HMOVX@DPTR,AINCDPTRINCDPTR;

7、建立C口地址MOVXA,@DPTR;读C口CPLA;A取反,若无键按下,则全为0ANLA,#0FH;屏蔽A高半字节RET8255实现键盘接口3.键盘扫描程序在单片机应用系统中常常是键盘和显示器同时存在,因此,可以把键盘程序和显示程序配合起来使用,即把显示程序作为键盘程序中的一个延时子程序使用。这样既不耽误显示驱动,又可以起到键盘定时扫描的作用。假定本系统中显示器驱动程序为DIR,执行时间约为6ms。键盘扫描程序如下,程序中R2为扫描码寄存器,R4为行计数器。8255实现键盘接口KEY:ACALLKS;检查是否有键闭合JNZLK1;A非0

8、,则转移ACALLDIR;驱动显示器(延时6ms)AJMPKEYLK1:ACALLDIR;有键闭合2次驱动显示器ACALLDIR;延时12ms进行去抖动ACALLKS;再检查是否有键闭合JNZLK2;有键闭

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

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

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