[工学]chapter6单片机输入输出接口及系统扩展设计

[工学]chapter6单片机输入输出接口及系统扩展设计

ID:27845579

大小:1.78 MB

页数:87页

时间:2018-12-04

[工学]chapter6单片机输入输出接口及系统扩展设计_第1页
[工学]chapter6单片机输入输出接口及系统扩展设计_第2页
[工学]chapter6单片机输入输出接口及系统扩展设计_第3页
[工学]chapter6单片机输入输出接口及系统扩展设计_第4页
[工学]chapter6单片机输入输出接口及系统扩展设计_第5页
资源描述:

《[工学]chapter6单片机输入输出接口及系统扩展设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、6.2LED显示器及其接口设计6.1键盘及其接口设计6.3字符点阵LCD显示模块的控制第六章单片机输入输出接口及系统扩展设计6.4单片机I/O端口模拟时序操作扩展设备7/4/20211MCS-51的I/O接口形式主要分两类:通过并行端口(P0~P3)直接完成输入输出单片机并行接口内部结构可参阅第二章单片机通过执行指令MOVA,Px完成端口输入单片机通过执行指令MOVPx,A完成端口输出通过系统总线扩展完成输入输出单片机总线扩展操作时序可参阅第二章单片机通过执行指令MOVXA,@DPTR完成总线输入单片机通过执行指令MO

2、VX@DPTR,A完成总线输出7/4/202126.1键盘及其接口设计6.1.1键盘的基本工作原理键盘是由若干个按键组成的开关矩阵,它是一种廉价的输入设备。一个键盘通常包括有数字键(0~9)、字母键(A~Z)以及一些功能键。操作人员可以通过键盘向计算机输入数据,地址、指令或其他控制命令,实现人—机对话。   键盘按其结构形式可分为两类:一类是编码键盘,即键盘上闭合键的识别由专用的硬件来实现;另一类是非编码键盘,即键盘上闭合键的识别由软件来识别。单片机系统中普遍使用非编码键盘,键盘接口应具备以下功能:◆键扫描功能,即检测

3、是否有键按下;   ◆产生相应的键代码(键值);   ◆消除按键抖动及多键按下。7/4/20213当键盘上没有键闭合时,所有的行线和列线断开,列线都呈高电平。当键盘上某一个键闭合时,则该键所对应的列线与行线短路。此时列线的电平由相应的行线的电位所决定。按键一般通过机械触点实现通断。按键触点的一端和单片机I/O端口引脚相连,另一端和电压信号相连,触点的通断可引起端口引脚上的电压发生变化,单片机通过程序读入I/O端口引脚的电平信号便可判断按键的状态。7/4/20214按键在闭合和断开时,触点会存在抖动现象:图为键闭合时列线

4、电压波形。键闭合和断开过程中存在抖动期(呈现一串负脉冲),抖动时间长短与开关的机械特性有关,一般为5~10 ms之间;稳定闭合期由操作员的按键动作所确定,一般为数百毫秒到几秒。为了保证CPU对键的闭合做一次处理,必须去除抖动,在键的稳定闭合或断开时,读键的状态。7/4/20215对抖动现象的处理方法:使用如图所示的消抖电路(成本高,体积大)使用软件消抖(电路简化,软件复杂度提高)使用专用集成电路软件消抖方法:当判别到键盘上有键闭合后,延时一段时间再判别键盘的状态,若仍有键闭合,则认为键盘上有一个键处于稳定的闭合状态,否

5、则认为键抖动。7/4/20216CPU对键盘扫描可以采取以下几种方式:程序控制的随机方式,CPU空闲时扫描键盘。定时控制方式,每隔一定的时间CPU就对键盘扫描一次。中断方式,每当键盘上有键闭合时,向CPU请求中断,CPU响应中断后,对键盘扫描,以识别哪一个键是否处于闭合状态,并对该键输入信息做出相应处理。对于闭合键号的确定,CPU可根据行线和列线的状态计算求得,也可以根据行线和列线状态查表确定。7/4/202176.1.2独立式键盘接口的设计独立式键盘中每个按键都单独连接到单片机的一个端口引脚上。7/4/202181.

6、独立式键盘查询方式的程序设计详见参考程序7/4/202192.独立式键盘中断方式的程序设计7/4/2021106.1.3行列式键盘接口设计行列式键盘:由一组行线和列线互相交叉组成,行线和列线在交叉点通过一个按键相连,当键闭合时,行线和列线才接通。行列式键盘:只需M+N根I/O端口即可组成M*N个按键,可有效节约端口引脚的使用7/4/202111和行线连接的单片机端口,作为输出和列线连接的单片机端口,作为输入按键识别原理:(1)定时控制某根行线输出低电平,且不断循环;(2)读入所有列线,如果结果不为全1,则有按键按下;(

7、3)找到读入为0的列,结合目前输出为0的行,即可判断出具体的按键位置。7/4/202112P1.2输出低电平如果此时K12按下,则接通了P1.2和P1.7P1.7读到低电平因此,判断出是P1.2和P1.7交叉点的按键按下7/4/202113按键抖动的问题可采用如下方法解决按键抖动问题:(1)方法1扫描到按键按下后,等待20ms,再次读入按键状态进行确认。这种方法很方便,但是等待过程太浪费CPU时间。(2)方法2采用定时间隔扫描和异或法判断按键,将间隔值设置成大于抖动时间的值,例如20ms甚至更大,这样即使某次扫描正好处

8、于抖动阶段,也不会对结果产生影响(但会使判断结果延时一次扫描间隔输出)。7/4/202114行列式键盘程序设计方法方法1:循环扫描通过行输出0,列读入进行按键判断具体判断按键的行/列处理其他事务等待按键释放后再进行下一步处理7/4/202115行列式键盘程序设计方法方法2:定时中断扫描定时中断服务程序,每隔固定时间间隔执行一次扫描

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

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

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