文档详情

第8章键盘与数码管显示器接口电路.ppt

发布:2015-09-07约1.43万字共53页下载文档
文本预览下载声明
一、键盘接口电路 键盘是单片机应用系统中人机交流不可缺少的输入设备。 键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件。键盘通常使用机械触点式按键开关,其主要功能是把机械上的通断转换为电气上的逻辑关系(1和0)。 常见的种类有:独立式按键和矩阵式键盘。 1. 独立式按键 结构如下图所示,其特点是每个按键单独占用一根I/O口线,每个按键工作不会影响其他I/O口线的状态。多用于所需按键不多的场合。可采用JNB(或JB)来查询哪一个按键按下,并转向相应的功能处理程序。 JNB P1.0, A0 ;如P1.0键按下,就跳到A0 JNB P1.1, A1 ;如P1.1键按下,就跳到A1 JNB P1.2, A2 ;如P1.2键按下,就跳到A2 JNB P1.3, A3 ;如P1.3键按下,就跳到A3 JNB P1.4, A4 ;如P1.4键按下,就跳到A4 JNB P1.5, A5 ;如P1.5键按下,就跳到A5 JNB P1.6, A6 ;如P1.6键按下,就跳到A6 JNB P1.7, A7 ;如P1.7键按下,就跳到A7 2. 矩阵式键盘 单片机系统中,若使用按键较多时,通常采用矩阵式键盘,其结构如下图所示。由图可知,一个4×4的行、列结构,可以构成一个含有16个按键的键盘,节省了很多I/O口。 控制方式:先判断是否有键按下。 如有,再判断哪一键按下,并得到 键码值,然后根据键码值转向不同 的功能程序。 矩阵式结构键盘比独立式按键要复 杂,识别也要复杂一些。最常用的 识别方法是键盘扫描法。 3. 键盘设计应注意的问题 机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如右图所示,抖动时间的长短与开关的机械特性有关,一般为5?10ms。 在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作。系统设计中如果开关脉冲是作为外部中断触发信号或要对开关脉冲进行计数时,这种情况是不允许出现的。 为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施,可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖;而当键数较多时,采用软件去抖。 在硬件上可采用在键输出端加R-S触发器(双稳态触发器)或单稳态触发器构成去抖动电路,如下图所示是一种由R-S触发器构成的去抖动电路,当触发器翻转时,触点抖动不会对其产生任何影响。键盘输出经双稳态电路之后变为规范的矩形方波。 软件上采取的措施是在检测到有按键按下时,执行一个10ms左右(具体时间应视所使用的按键进行调整)的延时程序,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态;同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而消除抖动的影响。 独立式键盘应用实例 【例1】 监视某开关S,用发光二极管LED显示开关状态,如果开关闭合,LED亮;如果开关断开,LED灭。 解:设计电路图如下图所示。开关接P1.1,当开关断开时,P1.1为+5V,对应数字量为“1”;开关闭合时,P1.1为0V,对应数字量为“0”,这样就可以用JB指令对开关状态进行检测。P1.0输出“1”,LED亮。当P1.0输出“0”,LED两端电压相等,熄灭。 参考程序如下: ORG 0000H CLR P1.0 ; 使发光二极管灭 NEXT: SETB P1.1 ; 先对P1.1写1 JB P1.1, L1 ; 开关断开,跳至L1 SETB P1.0 ; 开关合上,发光二极管亮 SJMP NEXT L1 : CLR P1.0 ; 开关断开,发光二极管灭 SJMP NEXT END 【例2】 信号灯控制电路如下图所示,其功能是当按下不同的键时发光二极管有不同的亮灭规律。按1号键LED从左到右依次亮,按2号键从右到左依次亮,按3号键闪烁,按4号键呈流水追逐效果。 解:电路图中P1口分别接了4个开关,每个开关都有相对应的功能,当某一开关闭合时,相应的口线变为低电平,而其他口线依然为高电平,因此,可以用4条JNB指令对开关状态进行检测。如果某一按键按下,则跳转执行其所对应的控制功能。八个发光二极管经74LS04接P2口,主要因单片机的驱动能力较差,故用74LS04来加大驱动能力。P2口输出控制信号控制发光规律。 程序设计流程图如下图所示。 ORG 0000H
显示全部
相似文档