第10章人机交互接口.ppt
sd 第十章 人机交互接口 本章学习目标 掌握键盘接口技术 掌握数码、液晶显示技术 了解数码管显示驱动和键盘扫描控制专用芯片 人机交互接口是指人与计算机之间建立联系、交换信息的输入/输出设备的接口,这些设备包括键盘、显示器、打印机、鼠标器等。 本章主要介绍键盘输入接口设计、显示原理及接口技术。 §10.1 键盘接口技术 非编码键盘和编码键盘 非编码键盘:直接利用口线连接按键开关或开关型传感器来实现,通过程序判断口线的电平就能够确定输入的键值。 优缺点:设计简单,使用方便,且因为具有共用端,容易直接同开关电路或开关型传感器连接。但是这种方式的口线利用率较低,受单片机口线数量的限制,其键盘规模无法做大。 编码键盘:将口线与按键开关连接成矩阵电路,通过软件扫描、识别I/O口上的编码,按编码规则识别输入键值。 优点:口线利用率高,键盘规模可以做得较大。 具体采用哪一种形式的键盘可以根据控制系统的 规模及用途决定。 一、简易键盘接口的实现 简易键盘接口采用非编码形式,典型应用电路如图所示。 键盘在使用中考虑到人员操作或机械特性在接触时产生的抖动问题,即按键开关在接通或断开瞬间并非完全可靠接触,而是存在一个抖动期,在此期间的电平变化波形如图所示。 抖动期一般不超过10 ms。在口线电平抖动期间,单片机无法准确检测出口线电平的正确值,必须采取一定的措施进行鉴别。 常用的方法是延时消抖法,例如遇到由高向低的电平转换后先不急于读取口线键值,而是在中断服务程序的开始执行一段10~20 ms的延时程序。若延时程序后再次判断口线仍为低电平则进入口线的键值读取程序,否则放弃键值读取操作。 示例代码如下: ORG 0000H LJMP MAIN ORG 0003H LJMP KRD ORG 0100H MAIN: MOV SP,#70H … ;其他初始化代码 MAINLOOP: ;主循环 … LJMP MAINLOOP KRD:LCALL DEL20 ;调20 ms延时子程序 MOV A,P2 ;读P2口键值 JNB ACC.0,KPR0 ;判断P2.0~P2.7是否有键按下 JNB ACC.1,KPR1 JNB ACC.2,KPR2 JNB ACC.3,KPR3 JNB ACC.4,KPR4 JNB ACC.5,KPR5 JNB ACC.6,KPR6 JNB ACC.7,KPR7 RETI KPR0: ;P2.0口线按键处理程序 MOV A,P2 ;读P2口键值 JNB ACC.0,KPR0 ;判断P2.0口线电平是否变高 KP01:CALL DELAY20 ;调20 ms延时子程序 MOV A,P2 ;读P2口键值 JNB ACC.0,KP01 ;证实P2.0口线一直保持低电平 … ;按键处理程序。由低电平变为高电平认为按键按下 RETI KPR1: … ;P2.1口线按键处理程序 RETI KPR7: … ;P2.7口线按键处理程序 RETI DEL20:… ;20 ms延时子程序 RET END 二、矩阵键盘接口的实现 简易键盘电路中每一个按键占用一根I/O口线,口线利用率较低。 如果将口线按照行、列排成矩阵形式,则可在相同口线数量的条件下增大键盘的规模。 例如,可以将P2口的8根I/O线排列成4?×?4矩阵形式,连接16只按键。如图所示。 1、电路结构及设计思路 矩阵式键盘将P2口的8根I/O口线分成行、列线连接,图中P2.0~P2.3为行线,P2.4~P2.7为列线。16只按键分别跨接在对应的行、列线节点上。 如果单片机在行线对应的I/O口线上有数据输出,当有键按下时,行、列线短路,单片机在列线对应的I/O口线上的输入数据将由行线上的电平决定。 行线特定的4位数据输出和列线对应的4位数据输入可以组成一个8位的特征字,该特征字即为键值,代表了按下的键所在的位置。 2、键值产生的原理 1)扫描法产生键值 以行线作为扫描输出,以列线作为接收输入,依次将各个
原创力文档

文档评论(0)