资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,第,8,章 人机通道配置与接口技术,教学重点:,显示器接口技术,键盘接口技术,教学难点:,显示器接口技术,键盘接口技术,教学时数:,3学时,教学内容:,显示器接口技术,键盘接口技术,键盘与显示技术的综合应用,教学方式:,课堂讲授,教学要求:,了解LED显示器的结构原理,掌握LED显示器的接口方式及显示方式。,掌握键盘去抖动处理,键盘结构及扫描子程序。,学会键盘与显示技术的综合应用。,第8 章 人机通道配置与接口技术,1,8.1 显示器接口技术,8.1.1 LED 显示器的结构与原理,8.1 显示器接口技术,2,LED数码显示器是1种由LED发光二极管组合显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。,LED数码显示器有两种连接方法:,(1)共阳极接法。,把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。,(2)共阴极接法。,把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。,LED数码显示器是1种由LED发光二极管组合显,3,2.LED数码显示器的显示段码,为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系如下:,段码位,D7,D6,D5,D4,D3,D2,D1,D0,显示段,dp,g,f,e,d,c,b,a,2.LED数码显示器的显示段码 段码位D7D6D5D4D3,4,单片机课程PPT版课件,5,8.1.2 LED 显示器的接口方式,所谓接口方式是指LED 七段数码显示器与单片机的连接方式。按照显示代码获得形式的不同,可分为两种:,1.硬件译码方式,8.1.2 LED 显示器的接口方式,6,【例8-1】在图8-2 所示LED 显示器上循环显示09 十个数字。,ORG 0000H,START:MOV SP,#60H,MOV R3,#0;设定要显示的第一个数字,NEXT:MOV A,R3,ANL A,#0FH;屏蔽高半字节,MOV P1,A;送显示器,LCALL DEL_1S;停留1s,INC R3;修改要显示的数字,CJNE R3,#0AH,NEXT;若09 还未显示一遍,则继续显示下一个数字,SJMP START;若显示一遍,则再从0 开始显示,【例8-1】在图8-2 所示LED 显示器上循环显示09,7,ORG 1000H;1s延时子程序,DEL_1S:MOV TMOD,#10H;定时器1、方式1、定时状态,MOV TL1,#0DCH,MOV TH1,#0BH;送125ms 定时初值,MOV R2,#8;设置软计数器,使8125ms=1s,SETB TR1;启动定时器1,LOOP:JNB TF1,$;判断基本定时(125ms)是否到,MOV TL0,#0DCH,MOV TH0,#0BH;再送初值,保证每次的基本定时时间都是,125ms,CLR TF1;清除溢出标志,DJNZ R2,LOOP;判断1s 定时是否到,CLR TR1;关闭定时器1,RET;1s定时结束,END,ORG 1000H;1s延时子程序,8,2.软件译码方式,软件译码方式由软件完成硬件译码器的功能,该方式显示字形较多,可由用户自己编码决定。其缺点是占用单片机系统接口资源较多(字形口需要8 个口线),且一般要配置驱动器(如7406、7407、75452、74273、8718 等),编程相对复杂,典型连接电路如图8-3 所示。,2.软件译码方式,9,【例8-2】在图8-3 所示LED 显示器上循环显示十六进制数字09、AF。,【例8-2】在图8-3 所示LED 显示器上循环显示十六进制,10,单片机课程PPT版课件,11,单片机课程PPT版课件,12,例83 在上图中循环显示01、12、23、34、45、56、67、78、89、90十个两位的十进制数字,解:缓存方式,ORG 0000H,START:MOV SP,#60H,MOV 30H,#01H,FIRST:MOV R0,#30H,MOV R3,#10,NEXT:MOV A,R0,MOV P1,A,LCALL DEL_05S,INC R0,DJNZ R3,NEXT,SJMP FIRST,例83 在上图中循环显示01、12、23、34、45、56,13,ORG 1000H,DEL_05S:MOV TMOD,#10H,MOV TL1,#0DCH,MOV TH1,#0BH,MOV R2,#4,SETB TR1,LOOP:JNB TF1,$,MOV TL0,#0DCH,MOV TH0,#0BH,CLR TF1,DJNZ R2,LOOP,CLR TR1,RET,END,ORG 1000H,14,查表方式,ORG0000H,START:MOVSP#60H,MOV R3,#0,MOVDPTR,#TAB,NEXT:MOVA,R3,MOVC A,A+DPTR,MOVP1,A,LCALL DEL_05S,INVR3,CJNE R3,#10,NEXT,SJMP START,TAB:DB01H,12H,23H,34H,45H,DB56H,67H,78H,89H,90H,END,查表方式,15,单片机课程PPT版课件,16,第,8,章 人,-,机通道配置与接口技术,8.2 键盘接口技术,键盘就是一组按键的集合,它是最常用的输入设备。操作员通过键盘可以输入数据或命令,实现简单的人机通信。,计算机所用的键盘按其结构形式可分为编码键盘和非编码键盘两种:,编码键盘本身除了按键以外,还包括产生键码的硬件电路。该电路还具有去抖动和多键、窜键保护功能。这种键盘使用方便,但电路复杂,价格较高,在单片机应用系统中较少采用。,非编码键盘则用软件来识别键盘上的闭合键,并由此计算出键码。非编码键盘结构简单(几乎不需要附加硬件逻辑)、成本低廉,在单片机应用系统中被普遍采用。,本节主要介绍非编码键盘。,第8 章 人-机通道配置与接口技术,17,8.2.1 按键去抖动处理,按键实际就是一种常用的按钮开关,平时键的两个触电处于断开状态,按键被按下时,两个触电闭合。,由于键盘上的按键都是利用机械触点来实现键的闭合与释放。由于弹性作用的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使键输入电压信号也出现抖动,如图8-7 所示。抖动时间t1 与t3 长短与按键的机械特性有关,一般为510ms。,8.2.1 按键去抖动处理,18,按键的稳定闭合时间t2 由操作人员的按键动作所确定,一般为几百毫秒至几秒。为了保证系统对键的一次闭合仅作一次键输入处理,必需消抖处理。一般可以用硬件或软件的办法来消抖,具体有:,1.双稳态消抖电路,图8-8 为双稳态消抖电路。图中用两个与非门构成一个双稳态电路,当按键未按下时输出为“1”,按键按下时,输出为“0”。此时即使因按键的机械性能,使按键因抖动而产生瞬时不闭合(b 点抖动),只要按键不返回原始状态a,双稳态电路的状态不变,输出保持为“0”,不会产生抖动。同样在释放按键的过程中,即使产生弹性抖动而瞬时离开a,双稳态电路的状态也不会改变,始终输出为“1”。双稳态电路从根本上避免抖动的产生。,按键的稳定闭合时间t2 由操作人员的按键动作所,19,2.滤波消抖电路,当按键抖动信号通过滤波电路以后,只要选择适当的时间常数,便可消除抖动的影响。,3.软件消抖,所谓软件消抖,就是在第一次检测到有键按下时先不动作,延时一段时间(一般为10ms),再次检测按键的状态,如果仍保持闭合状态,则确认真正有键按下。当检测到按键释放后,也要给5ms10ms 的延时,待后沿抖动消失后才能转入按键的处理程序。,对于两个或多个按键同时按下的重键问题,可以采用“先入有效”或“后留有效”的原则加以处理。所谓“先入有效”,是指当多个按键同时按下时,只有第一个按下的键有效,其它键无效。所谓“后留有效”,是指当多个按键同时按下时,只有最后松开的按键有效,其它键均无效。,2.滤波消抖电路,20,8.2.2 键盘结构及扫描子程序,非编码键盘有两种形式:简单键盘和矩阵式键盘,1.简单键盘,如果应用系统仅需几个按键,可以采用简单键盘接口电路。简单键盘管理程序可采用查询方式,假设Program0Program7 分别为K0K7的功能程序,程序清单如下:,8.2.2 键盘结构及扫描子程序,21,单片机课程PPT版课件,22,单片机课程PPT版课件,23,2.矩阵式键盘,简单键盘电路的每个按键开关占一根I/O 口线,当按键数较多时,就要占用较多的I/O 资源。此时,应采用矩阵式键盘电路。,图8-10 为采用可编程外围接口8155 组成的矩阵式键盘电路。图中8155 的C 口(地址为FF22H)提供行线(输入状态),并通过4 个上拉电阻接+5V;A 口(地址为FF21H)提供列线(输出状态)。所有按键均被设置在行、列线交点上,共有32个按键,各键的键码由所在位置的行号和列号确定。,2.矩阵式键盘,24,单片机课程PPT版课件,25,矩阵式键盘的工作过程包括如下环节:,(1)测试有无键被按下,CPU 通过读取PC0PC3 的状态确知有无键按下。当键盘上没有键闭合时,行、列线之间是断开的,所有行线PC0PC3 输入全部为高电平。当键盘上某个键被按下闭合时,则对应的行线和列线短路,行线输入即为列线输出。此时,若将所有列线输出初始化为低电平,则通过行线输入值是否为全“1”即可判断有无键按下。,(2)确定被按键的物理位置,键盘中究竟哪一个键被按下,是通过列线逐列置低电平后检查行线的状态来确定。其方法是:先令列线PA0 输出低电平“0”,PA1PA7 全部输入高电平“1”,读行线PC0PC3 的状态。如果读得某行线为“0”电平,则可确认对应于该行线与列线PA0 相交处的键被按下,否则说明PA0 列上无键按下。如果PA0 列上无键按下,接着令PA1 输出低电平“0”,其余为高电平“1”,再读PC0PC3,判断其是否全为“1”,若是,表示被按键也不在此列,依次类推直至列线PA7。这种逐列检查键盘状态的过程称为键盘扫描。,矩阵式键盘的工作过程包括如下环节:,26,(3)计算键码,如图8-10 所示,键号是按从左至右,从上至下的顺序编排的,按这种编排规律,各行的行首键给以固定编号(0、8、16、24),并作为该行的行号;列号依列线顺序为07。根据按键的物理位置,可得键码的计算公式:,键码=行号+列号,由此可得,图8-10 各键的键码为:,(3)计算键码,27,(4)消抖等待键释放,键闭合一次应仅进行一次键功能操作。计算键码之后,再以延时和扫描的方法等待并判定键释放,键释放后去除键的抖动再将键值送入累加器A 中,然后执行键功能操作。,键盘扫描子程序如下:,(4)消抖等待键释放,28,单片机课程PPT版课件,29,单片机课程PPT版课件,30,单片机课程PPT版课件,31,8.3 键盘与显示技术的综合应用举例,【例8-6】交通灯管理系统,1.系统功能,该系统能够真实模拟双干线交通信号灯的管理。系统设置两组红、黄、绿灯,并配置两对LED 显示器和一个紧急车辆放行按钮。正常情况下两个干线上的红、黄、绿灯按表8.3 进行转换,并以倒计时的方式将剩余时间显示在与每个干线对应的两位LED 显示器上,当有紧急车辆要通过时,两个方向的红灯同时点亮,以禁止其它车辆通行。当紧急车辆通过后,再按一次紧急状况解除按钮,继续紧急车辆通过前的状态。如果再增加几个按钮,还可以对每个干线的车辆放行时间进行调整。,8.3 键盘与显示技术的综合应用举例,32,单片机课程PPT版课件,33,2.硬件电路,如图8-11 所示,系统使用AT89C51 或8751 的P1 口当字形口,P2 口当字位口。,P3.0
展开阅读全文