MCS51单片机的人机界面接口技术.ppt
《MCS51单片机的人机界面接口技术.ppt》由会员分享,可在线阅读,更多相关《MCS51单片机的人机界面接口技术.ppt(95页珍藏版)》请在三一办公上搜索。
1、单片机应用技术,主讲教师:苏晓龙,全校公共选修课,计算机学院信息科学系,办公室:计A315-1,答疑地点:计A315-1,E-mail:,第八章 MCS-51单片机的人机界面接口技术,8.1显示器接口8.2键盘及其接口8.3 8255A可编程并行I/O接口扩展8.4 拨码盘及语音接口,8.1 显示器接口,8.1.1 LED显示器接口8.1.2 LCD显示器接口8.1.3 典型键盘/显示器接口实例,返回本章首页,8.1.1 LED显示器接口,1LED显示器结构与原理,LED显示块是由发光二极管显示字段的显示器件。,在微机应用系统中通常使用的是七段LED。这种显示块有共阴极与共阳极两种,如图8-1
2、所示。七段显示块与微机接口非常容易。如表8-1所示。,8.1.1 LED显示器接口,1LED显示器结构与原理,LED显示块是由发光二极管显示字段的显示器件。,(a)管脚配置(b)共阴极(c)共阳极 图8-1 七段LED显示块,e,表8-1 七段LED的段选码,8.1.1 LED显示器接口,2LED显示器与显示方式,在微机应用系统中使用LED显示块构成N位LED显示器。图8-2是N位显示器的构成原理。,LED显示器有两种方式:(1)LED静态显示方式(如图8-3所示)(2)LED动态显示方式(如图8-4所示),图8-2 N位LED显示器,8.1.1 LED显示器接口,1)静态显示器接口,静态显示
3、是指数码管显示某一字符时,相应的发光二极管恒定导通或恒定截止。就是在同一时刻只显示1种字符,或者说被显示的字符在同一时刻是稳定不变的。,这种显示方式的各位数码管相互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个数码管的8个字段分别与一个8位I/O接口相连,I/O端口只要有字形代码输出,相应字符即显示出来,并保持不变,直到I/O端口输出新的字形代码。,采用静态显示方式,虽然具有较高的显示亮度,占用CPU时间少,编程简单等优点,但其占用的端口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。,例1:图8.3是数码管静态显示方式的一种典型应用,用两片74LS273驱动2位静态LED显
4、示器(共阴极数码管)。P2.7=0时选通1#显示器,其地址为7FFFH;P2.6=0时选通2#显示器,其地址为BFFFH。用下列程序可在显示器上显示字符“1”和“2”:,8.1.1 LED显示器接口,图8.3 2位静态LED显示器,MOV DPTR,#7FFFH MOV A,#06H;“1”的字形代码MOVX DPTR,AMOV DPTR,#0BFFFHMOV A,#5BH;“2”的字形代码MOVX DPTR,A,8.1.1 LED显示器接口,图8-4 八位LED动态显示器电路,8.1.1 LED显示器接口,2)动态显示接口,动态显示是一位一位地轮流点亮各位数码管,这种逐位点亮显示器的方式称为
5、动态扫描。,通常,各位数码管的段选线相应并联在一起,由一个8位的I/O端口控制;各位LED显示器的位选线(COM端)由另外的I/O端口控制。动态方式显示时,各数码管分时轮流选通,要使其稳定显示,必须采用动态扫描方式,即在某一时刻只选通一位数码管,并送出相应的字形代码,在另一时刻选通另一位数码管,并送出相应的字形代码。依此规律循环,逐个循环点亮各位数码管,每位显示1 ms左右,即可使各位数码管显示要显示的字符。虽然这些字符是在不同的时刻分别显示的,但由于人眼存在视觉暂留效应,可以给人以同时显示的感觉。,8.1.1 LED显示器接口,采用动态显示方式节省I/O端口,硬件电路也较静态显示方式简单,但
6、其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,仍占用CPU较多的时间。用51系列单片机构建数码管动态显示系统时,采用简单的接口芯片即可进行系统扩展,其特点是接口电路简单,编程方便,价格低廉。6位动态LED显示器如图8.5所示。,2)动态显示接口,图8.5 6位动态LED显示器,图8.5中,数码管采用共阴极LED,字形码输出口74LS273经过8路同相驱动电路7407后接至数码管的各段,当位线输出“1”时,驱动数码管发光。7407是集电极开路的同相驱动器,能为发光段提供更大的导通电流,增强LED的发光亮度,其输出端经110 的限流电阻接至+5 V电源,改变电阻的大小即可调节发光
7、亮度。用另一个输出口74LS273作为LED的位选控制口,其输出经过6路反相驱动器75452后接至数码管的COM端。当位选控制口的某位输出“1”时,75452反相器驱动相应的LED位发光。,2)动态显示接口,字形码输出口和位选控制口的地址分别为:,字形码输出口地址:DFFFH(地址不是惟一的);位选控制口的地址:EFFFH(地址不是惟一的)。,在单片机应用系统中,为了便于对LED 显示器进行管理,需要建立一个显示缓冲区。显示缓冲区DISBUF是片内RAM的一个区域,它的作用是存放要显示的字符,其长度与LED的位数相同。,3)动态扫描程序,图8.5 中的动态显示器,DISBUF为6个字节,设DI
8、SBUF占用片内RAM的70H75H单元。显示缓冲区DISBUF中的内容是由其他处理程序事先存入DISBUF中的,再由显示程序进行显示。,设要显示“P89C51,则“P89C51”在DISBUF中的存放形式见表6.3所示。数码显示器的低位(最右边的位)显示的是显示缓冲区中的低地址单元中的数,因此在显示缓冲区中存放的次序为低地址单元存低位,高地址单元存高位。,表6.3 显示缓冲区,3)动态扫描程序,要说明的是,显示程序是利用查表方法来得到要显示字符的字形代码的。在显示程序的字形代码(显示段码)表中,字形代码存放的次序依次为“09”,“AF”,“空白”和“P”。其中,“P”的序号为18(即11H)
9、,故在DISBUF中的75H单元用11H代表“P”。,3)动态扫描程序,显示程序的任务是把显示缓冲区中待显示的字符送往LED显示器显示。在进行动态扫描显示时,从DISBUF中依次取出待显示的字符,采用查表的方法得到其对应的字形代码,逐个地循环点亮各位数码管,每位显示1 ms左右,即可使各位数码管显示要显示的字符。,设DISBUF中的信息为“P89C51”,可由下列程序在显示器上显示“P89C51”:,3)动态扫描程序,LOOP1:LCALL DISPLAY;调用显示子程序 LJMPLOOP1;循环DISPLAY:MOV R0,#70H;R0指向DISBUF首;地址 MOV R3,#01H;右起
10、第1个LED;的选择字NEXT:MOV A,#00H;取位选控制字为全灭 MOV DPTR,#0EFFFH;取位选控制口;地址 MOVX DPTR,A;瞬时关显示器 MOV A,R0;从DISBUF中取出字符,MOV DPTR,#DSEG;取段码表首地址MOVC A,A+DPTR;查表,取对应的字形码MOV DPTR,#0DFFFH;取字形码输出口地址MOVX DPTR,A;输出字形码MOV DPTR,#0EFFFH;取位选控制口地址MOV A,R3;取当前位选控制字MOVX DPTR,A;点亮当前LED显示位,3)动态扫描程序,LCALL DELAY;延时1 msINC R0;R0指向下一个
11、字符JB ACC.5,EXIT;若当前显示位是第6位则;结束RL A;下一个LED的选择字MOV R3,ASJMP NEXT,EXIT:RET;返回段码表 09,AF,空白,DSEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,DB 07H,7FH6FH,77H,7CH,39H,5EH,DB 79H,71H,00H,73HDELAY:MOVR7,#02H;延时1 ms的子程序DEL1:MOVR6,#0FFHDEL2:DJNZ R6,DEL2DJNZ R7,DEL1RET,例2针对图8.5所示的电路,编一显示程序,调用动态扫描显示子程序DISPLAY,使数码显示器显示“0123
12、45”共6个字符。,解:参考程序如下:MOV A,05H;取最右边1位字符 MOV R0,70H;指向DISBUF首址(最低位)MOV R1,06H;共送入6个字符LOP2:MOV R0,A;将字符送入DISBUF INC R0;指向下一显示单元 DEC A;下一个显示字符 DJNZ R1,LOP2;若6个数未送完,则重复LOP3:LCALL DISPLAY;扫描显示一遍 SJMP LOP3;重复扫描,8.1.1 LED显示器接口,3LED显示器接口实例,从LED显示器的原理可知,为了显示字母与数字,必须最终转换成相应的段选码。这种转换可以通过硬件译码器或软件进行译码。,硬件译码器LED显示器
13、接口(如图8-6所示)软件译码LED显示器接口(如图8-7、8-8所示),图8-6 利用硬件译码器的七段LED接口电路,图8-7 通过8155扩展I/O口控制的8位LED动态显示接口,图8-8 动态显示子程序流程图,返回本节,8.2 键盘及其接口,1 按键的分类,键盘实际上是由排列成矩阵形式的一系列按键开关组成的,用户通过键盘可向CPU输入数据信息、地址信息和各种命令。键盘按照其接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法不同。,编码键盘主要是用硬件来实现对按键的识别,键盘接口电路能够由硬件逻辑自动提供与键对应的编码。此外,编码键盘一般还具有去抖动
14、和多键、窜键保护电路。,这种键盘使用方便,但需要较多的硬件,价格较贵,一般的单片机应用系统较少采用。,非编码键盘的接口电路只是简单地提供按键的行列矩阵,对按键的识别、编码、去抖动等工作均由软件完成。由于其经济实用,因此常应用于单片机系统中。下面将重点介绍非编码键盘。,8.2 键盘及其接口,1 按键的分类,2.矩阵键盘的结构及原理,8.2 键盘及其接口,在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,单片机应用系统完成该按键所设定的功能。,一组键或一个键盘,总有一个接口电路与CPU相连。当按键较
15、多时一般采用行列式结构并按矩阵形式排列,如图8.9所示。,图 矩阵键盘的结构,8.2 键盘及其接口,图8.9.2 矩阵键盘在89C51单片机应用实例之一,8.2 键盘及其接口,图8.9给出了44行列式键盘的基本结构示意图。44表示有4根行线和4根列线,在每根行线和列线的交叉点上有1个按键,组成了一个有16个按键的矩阵键盘。列线通过上拉电阻接到5 V上。当无键按下时,列线处于高电平状态;当有键按下时,行、列线将导通,此时,列线电平将由与此列线相连的行线电平决定,这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置
16、。识别按键是否按下的方法很多,其中,最常见的方法是行扫描法。,8.2 键盘及其接口,3.矩阵键盘的行扫描法,8.2 键盘及其接口,所谓行扫描法,就是通过行线逐行发出低电平信号。如果该行线所连接的键没有按下,则列线的电平信号是全“1”;如果有键按下的话,则列线得到的是非全“1”信号,即根据列线的电平信号是否有“0”信号来判断有无键按下。,在使用行扫描法时,为了提高效率,首先快速检查整个键盘中是否有键按下。,若无键按下,则结束键盘扫描程序;若有键按下,则再用逐行扫描的方法来确定闭合键的具体位置(按下的是哪一个键)。,具体方法是:,8.2 键盘及其接口,1)先扫描第0行,行输出值为1110B(见图)
17、,第0行为“0”,其余3行为“1”(通常,把行输出值为0的行称为当前行),然后读入列信号,判断是否为全“1”。若列输入值为全“1”,则当前行无键按下。,2)若第0行无键按下,再扫描第1行。行输出1101(第1行为“0”,其余3行为“1”),再扫描下一行 依此规律逐行扫描,直到扫描某行时,其列输入值不为全“1”,则根据行输出值和列输入值中0的位置确定闭合键的具体位置,从而用计算法或查表法得到闭合键的键值。,例8.3为单片机设计一个84矩阵键盘,并编写键盘扫描程序。,8.2 键盘及其接口,解:接口电路如图8.10所示。用74LS273作为行输出口,输出8位行扫描信号。用74LS244作为列输入口,
18、输入4位列输入值。其口地址分别是:行输出口地址:F7FFH;列输入口地址:FBFFH。,图8.10 一个84矩阵键盘电路,8.2 键盘及其接口,键盘采用行扫描法方式工作,键盘扫描子程序应具有以下功能:(1)判断有无键按下。其方法为:行输出口输出全为0,读列输入口信息,若列输入值为全1,则说明无键按下;若不为全1,则说明有键按下。(2)消除按键的抖动。微机键盘通常使用机械触点式按键开关。机械式按键在按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。其抖动过程如图8.11所示,抖动时间的长短与开关的机械特性有关,一般为510 ms。,8.2 键盘及其接口
19、,图8.11 按键抖动示意图,8.2 键盘及其接口,在触点抖动期间检测按键的通断状态,可能导致判断出错,即一次按下按键被错误地认为是多次操作,这种情况是不允许出现的。为了克服由于按键触点机械抖动所致的检测误判,必须采取消抖动措施。在此,使用软件延时的方法消除按键的抖动。当检测到有按键按下时,调用两次显示子程序,每调用一次延时6 ms,共延时12 ms。这样既实现了按键的消抖动,又可保持显示器有稳定的显示。同样,在检测到闭合键释放后,也采用软件延时的方法消除按键的抖动。,8.2 键盘及其接口,(3)逐行扫描。若有键按下,则逐行扫描,以判别闭 合键的具体位置。(4)计算闭合键的键值。计算公式为 键
20、值行号4列号(5)判断按键是否释放。计算出闭合键的键值后,再判断按键是否释放。若按键未释放,则等待;若键已释放,则再延时消抖。(6)命令处理。根据闭合键的键值,程序应完成该按键所设定的功能。若按下的是命令键,则转入命令键处理程序,完成命令键的功能;若按下的是数字键,则转入数字键处理程序,进行数字的存储和显示等操作。,8.2 键盘及其接口,键盘扫描程序如下:;KEY 键盘扫描程序;入口参数:无;出口参数:A为返回值;若有键按下,则A为闭合键的键值031;若无键按下,则A为FFH;占用寄存器:R3为行计数器,R2存放行扫;描值,R4、R5为暂存器KEY:LCALL KS1;快速检查整个键盘中是否;
21、有键按下,8.2 键盘及其接口,JNZ LK1;A非0,若有键按下,;则转至LK1 LJMP LK8;若无键按下,则返回LK1:LCALL DISPLAY;若有键闭合,则调显示;子程,延时12 ms LCALL DISPLAY;消抖动 LCALL KS1;再次检查有键闭合否 JNZ LK2;若有键闭合,则转入逐行扫描 LJMP LK8;若无键闭合,则返回KL2:MOV R3,00H;行号初值送R3 MOV R2,0FEH;行扫描初值送R2,8.2 键盘及其接口,LK3:MOV DPTR,0F7FFH;行输出口地;址,F7FFH MOV A,R2;行扫描值送A MOVX DPTR,A;扫描当前行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 人机界面 接口 技术
链接地址:https://www.31ppt.com/p-5439690.html