山东大学单片机原理与应用06人机交互接口

上传人:东*** 文档编号:277741168 上传时间:2022-04-15 格式:PPT 页数:148 大小:27.26MB
返回 下载 相关 举报
山东大学单片机原理与应用06人机交互接口_第1页
第1页 / 共148页
山东大学单片机原理与应用06人机交互接口_第2页
第2页 / 共148页
山东大学单片机原理与应用06人机交互接口_第3页
第3页 / 共148页
山东大学单片机原理与应用06人机交互接口_第4页
第4页 / 共148页
山东大学单片机原理与应用06人机交互接口_第5页
第5页 / 共148页
点击查看更多>>
资源描述

《山东大学单片机原理与应用06人机交互接口》由会员分享,可在线阅读,更多相关《山东大学单片机原理与应用06人机交互接口(148页珍藏版)》请在金锄头文库上搜索。

1、第第6章章 人机交互接口人机交互接口6.1 人机交互输入设备人机交互输入设备键盘键盘6.2 人机交互输入设备人机交互输入设备触摸屏触摸屏6.3 人机交互输出设备人机交互输出设备LED6.4 键盘、键盘、LED显示接口电路显示接口电路6.5 人机交互输出设备人机交互输出设备LCD人机交互接口是指人和计算机之间建立联系、交流信息的有关输入/输出设备的接口。人机交互接口也称为外设接口。它是计算机与用户之间最直接的信息通道,是计算机设备的外在表现。对于一个智能设备来讲,设计人性化的人机接口,方便用户使用,变得越来越重要。6.1 人机交互输入设备人机交互输入设备键盘键盘常用的人机交互输入设备有键盘、鼠标

2、、触摸屏、拨码盘、声讯输入等。对于单片机系统来说,主要的人机交互输入设备主要是键盘、触摸屏,其中键盘是最基本的输入设备,几乎任何单片机系统都需要它,因此,本节主要介绍键盘及其与单片机的接口电路。6.1.1 键盘的种类键盘的种类根据键盘功能和结构形式的不同,通常把键盘分为两种基本类型:编码键盘和非编码键盘。编码键盘编码键盘编码键盘的按键识别由专用的硬件编译码电路实现,按下键后,键盘电路便能自动产生按键代码,如ASCII码、EBCDIC码等。编码键盘使用方便,键盘码产生速度快,占用CPU时间少,但对按键的检测与消除抖动干扰是靠硬件电路来完成的,因而硬件电路复杂、成本高,价格较贵,在单片机系统中应用

3、较少,这里不再过多地介绍。非编码键盘非编码键盘这种键盘只简单地提供按键的通或断状态,而按键的识别、键值的确定等工作全靠软件完成,需要程序控制扫描键盘,判断是否有键被按下、哪个键被按下。非编码键盘硬件电路简单,成本低,但占用CPU的时间较长,相当于用时间换取硬件电路的简单化。非编码键盘又可分为独立式键盘和行列式键盘。独立式键盘是指其中每一个按键均有一条输入线与计算机的接口相连,如图所示,每个按键的电路相互独立。结构简单,连接方便,但缺点是有多少个按键,就需要多少条输入线。这种键盘结构占用硬件资源较多,适合按键不多的场合。行列式键盘是指在键盘中按键数量较多时,为了减少I/O口的占用,按键按行和列来

4、排列,成为矩阵形式,如图所示,又叫矩阵式键盘。以44键盘为例,这种方式可排列44=16个按键,但与计算机的连线线仅为4+4=8条。这种结构适合按键较多的场合。6.1.2 键盘的去抖动技术键盘的去抖动技术按键的按下与释放一般是通过机械触点的闭合与断开来实现,由于机械触点的弹性振动,按键在按下时不会马上稳定地接通,在弹起时也不能立刻完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动。如图所示:一般情况下,正常的按键操作其开关动作时间(抖动时间加上稳定时间)大约100ms左右,而抖动时间一般都不超过10ms。按键的抖动会造成按一次键产生的开关状态被CPU误读几次,即按键一次按下或释放被错误地

5、认为是多次操作。为了使CPU能正确地读取按键状态,必须在按键闭合或断开时,消除产生的前沿或后沿抖动,去抖动的方法有硬件方法和软件方法两种。1、硬件去抖动技术、硬件去抖动技术即在键开关输出端与计算机接口之间加一个硬件消抖电路,如RC滤波电路、单稳态触发器电路、双稳态触发器电路(R-S触发器)等。其中RC滤波去抖动电路如图所示:双稳态去抖动电路如图所示由于硬件去抖技术增加了电路的复杂性,故适用于按键数目较少的场合。2、软件去抖动技术、软件去抖动技术根据下图我们可以发现,当有键按下或释放时,我们可以利用软件延时一段时间再检测就会“躲过”这个不稳定的抖动期,而进入稳定期。例如当我们检查到有键按下以后延

6、时一段时间(10ms20ms),再检查一次看是否有按键按下,若这一次检查不到,则说明前一次结果为干扰或者抖动;若这一次检查到有按键按下,则说明信号已经稳定,确实有键按下。同样,在监测到有按键释放时,也是先延迟一段时间,然后再检查按键是否释放,如果又检测到按键释放后则说明按键已稳定释放。软件键盘去抖动处理流程如图所示。这种软件去抖动的方法最大的特点是成本低,实现起来比较灵活,在键数目较多时,大多采用软件延时法去抖动。6.1.3 键盘的识别技术键盘的识别技术1、独立式键盘的识别技术、独立式键盘的识别技术独立式键盘,每个按键连接了一个独立的输入端口,所以只要CPU定时去查看各个输入口的状态,只要定时

7、时间合适,即可识别出相应的按键状态。但是,如果查询时间不合适或者按键动作太快,就有可能漏判。为防止这种情况的出现,可以利用中断技术实现,具体实现电路如图所示:2、行列式键盘的识别技术、行列式键盘的识别技术行列式键盘识别闭合键的方法有两种:扫描法和线反转法。(1)扫描法)扫描法扫描法中,为了提高效率,识别键盘中有无按键按下是由行线送出全扫描字、列线读入行线状态来判断的,这叫做按键发现。具体确定键盘中哪一个键按下可由行线逐行置低电平后,检查列线输入状态来判断,这叫做按键识别。扫描法按键发现的原理如下图所示:为了发现按键按下,行线(输出信号线)输出全0信号,列线通过上拉电阻连接到Vcc,若无按键按下

8、,读列线(输入信号线),读到的信号各位应该为全1(如图a所示)。当有任何一个按键按下时,该按键将相应的行线与列线短路,而行线输出全是0,所以列线读到的信号应该至少有一个位不是1(如图b所示),哪一个位不是1,说明该按键在哪一列。扫描法按键识别的原理如下图所示:当按键发现部分已经发现有按键按下时,就需要进一步确定具体是哪一个按键被按下,也就是需要具体确定按键的具体位置。方法是先让行线输出第0行为0,其它行都是1,这时读入列线,查看所读入的列线信号是否全为1,如果全为1,则说明该键不在第0行(如图a所示);再让行线输出第1行为0,其它行都为1,再读入列线信号,查看所读入的列线信号是否为1,同样如果

9、全为1,则说明该键不在第1行(如图b);如是再查看第2行,第3行等等。当某一行输出对应的列输入不全是1,则说明按键在该行,同时,根据列输入中为0的位也能够确定该键所在的列,如图d中所示,说明该按键在第3行第2列。有了按键所在的行列值,可以转换成按键代码(键值),根据键值的不同,执行不同的程序,即可完成按键的输入功能。(2)线反转法)线反转法线反转法也是一种常用的按键识别方法。这种方法非常简单。通过前面的扫描法,我们可以发现在按键发现的过程中,我们已经能够查找出按键所在的列,我们只需要把行和列的角色互换一下,让列作输入,行坐输出,实际上我们就可以确定按键所在的行,这样我们只需要两步就可以确定按键

10、位置。其原理如下图所示:第一步和扫描法一样,我们让行输出为全0,读列输入,发现哪一列为0,就说明该键就在这一列(如图a所示)。第二步,我们让列输出刚才读到的值(或者列输出全0),然后从行读入,如果哪一行为0,说明该按键就在该行和列的交叉点上(如图b所示)。这种方法比扫描法速度要快,因此在实际应用中常用。但有一点,要求行输出和列输入的信号传输方向能够被改变,否则这种方法将无法实现。6.1.4 键盘的按键保护技术键盘的按键保护技术如果同时有两个或两个以上按键同时按下时,对于线反转法会出现输入端口有两个以上的0位,如图所示,这时应作废键处理。对于扫描方式,如果是同一行两个相邻的列上的按键同时按下,也

11、会使得输入数据中出现两个以上0,如图所示,同样作为废键处理。对于扫描方式,如果是两个相邻的行上的按键同时按下,会使得输出电路的两个行之间的接口出现短路现象,如下图(a)所示,这种现象的出现有可能导致行线输出接口灌入电流过大而烧毁。为了防止出现这一问题,一般都是在输出端口上串接开关二极管限制电流方向即可,如下图(b)所示。6.1.5 非编码键盘的应用举例非编码键盘的应用举例【例例6.1】利用单片机的P1口作为键盘接口,连接4*4的行列式键盘(如图所示),P1.0-P1.3接行扫描。P1.4-P1.7接列扫描,用扫描法实现键盘输入程序。程序接口描述:R2作行扫描字寄存器,行号存放在寄存器R4中,R

12、3寄存器存放所按下按键的键值。KEY: CALLKCLOSE;调用判断有无键闭合子程序JZRETURN0;无键闭合则返回CALLD10MS;有键闭合,调用10ms延时程序消抖CALLKCLOSE;再次判断有无键闭合JZRETURN0;无键闭合则返回;MOVR2,#0FEH;有键闭合,开始逐行扫描,送首行扫描字MOVR4,#00H;送首行号LIE0:MOVA,R2MOVP1,ANOP;使P1口输出稳定NOPNOPMOVA,P1;扫描字从P1口送出JBACC.4,LIE1;第0列无键闭合,转第1列MOVA,#00H;第0列首键号送AAJMPDECODE;转键值计算程序LIE1:JBACC.5,LI

13、E2;第1列无键闭合,转第2列MOVA,#04H;第1列首键号送AAJMPDECODE;转键值计算程序LIE2:JBACC.6,LIE3;第2列无键闭合,转第3列MOVA,#08H;第2列首键号送AAJMPDECODE;转键值计算程序LIE3:JBACC.7,NEXT;第3列无键闭合,转下1行MOVA,#0CH;第列首键号送ADECODE:ADDA,R4;计算键值MOVR3,A;把键值暂存R3WaitK: CALLKCLOSE;等待键释放JNZWaitK;没有释放则继续等待SETBPSW.5;置有键按下标志SJMPRETURNNEXT: INCR4;行号加1MOVA,R2RLA;新的行扫描字送

14、R2(为扫描下1列做准备)CJNER4,#04H,LIE0;4行是否都已扫描完?没完则扫描下1行RETURN0:CLRPSW.5;清有键按下标志RETURN:RET;键盘扫描子程序结束,返回KCLOSE:MOVP1,#0F0H;判键闭合子程序MOVA,P1ORLA,#0FHCPLA;A=0则无键闭合RETD10MS:MOVR7,#10H;延时10ms子程序DE1:MOVR6,#0FFHDE2:DJNZR6,DE2DJNZR7,DE1RET6.2 人机交互输入设备人机交互输入设备触摸屏触摸屏触摸屏(TouchScreen)是一种新型的输入设备,用户只要用手指碰触显示屏上的图符或文字就能实现对主机

15、的操作,而无需使用鼠标或键盘。它使人机交互更为简单、方便、自然,在票务销售、信息查询、多媒体教学、手机、电玩等领域均有广泛应用。6.2.1触摸屏的分类及其工作原理触摸屏的分类及其工作原理按照触摸屏的工作原理和传输信息的介质,我们把触摸屏分为四种,它们分别为电阻式、电容感应式、红外线式以及表面声波式(还曾有一种矢量压力传感技术触摸屏,现已退出历史舞台)。1、电阻式触摸屏、电阻式触摸屏电阻式触摸屏附着在显示器的表面,这是一种多层的复合薄膜,最下面以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属阻性导体层,上面覆盖另一阻性导体层,两阻性导体层之间有许多细小的透明隔离点把它们隔开,最上面是外表

16、面经过硬化处理从而光滑防刮的塑料层。如图所示:而两层电阻面板的端点都各有电极,电极选用导电性能极好的材料(如银粉墨)构成,如图所示Y+,Y-,X+,X-,因此配合一些开关就可侦测出面板上哪一相对位置被Touch。设定开关SW2与SW3是OFF(Open),SW0与SW1是ON(Close),如图所示,当有外力在面板上的某一点压下去时,取得电压接到ADC(AnalogtoDigitalConverter)。前图实际上可以等效成下图R3是触摸点到Vcc板的电阻值,R4是触摸点到地的电阻值,那么,触摸点的电压就是:这样不同的电压与X坐标将一一对应,根据所测量的电压值就可以转换成横向坐标值。同理,设定开关SW0与SW1是OFF(Open),SW2与SW3是ON(Close),如图6.19所示,当有外力在面板上的某一点压下去时,由P点取得电压接到ADC(AnalogtoDigitalConverter),就可以得到被Touch点的Y坐标相对位置。电阻式触摸屏触摸感应灵敏(可在7ms-30ms内作出反应),触摸力度小,定位准确,屏幕本身一般具有防辐射、防磁功能,在嵌入式系统中用的较多。但屏幕表面怕

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机原理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号