单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术

上传人:E**** 文档编号:89503328 上传时间:2019-05-26 格式:PPT 页数:51 大小:1.88MB
返回 下载 相关 举报
单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术_第1页
第1页 / 共51页
单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术_第2页
第2页 / 共51页
单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术_第3页
第3页 / 共51页
单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术_第4页
第4页 / 共51页
单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术》由会员分享,可在线阅读,更多相关《单片机原理与应用---基于Proteus虚拟仿真技术 第2版 教学课件 ppt 作者 徐爱钧 第9章 健盘与显示器接口技术(51页珍藏版)》请在金锄头文库上搜索。

1、键盘与显示器接口,LED显示器接口技术,LED数码显示器结构与原理 LED数码显示器是由发光二极管显示字段的显示器件。在应用系统中通常使用的是七段LED数码显示器。这种显示块有共阴极与共阳极两种,如下图所示。,使用LED显示器时,要注意区分共阴极和共阳极两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码,简称段码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的段码正好是一个字节。 实际使用中,通过单片机向LED显示接口输出不同段码,即可显示相应的数字。,LED数码显示器共阴极和共阳极段码,硬件译码LED显示接口 如图所示为采用硬件译码器的七段LED接口电路,显示器是共阴

2、极的。9368是硬件段译码器,它能自动将输入的16进制数转换成段码输出,在+5V时能输出约30mA的电流点亮显示器的段。7475是4位锁存器,4个数据输入端接到系统数据总线的D3D0。锁存器的选通端E接到地址译码器,若该接口的地址为0088H,执行以下指令即可在显示器上显示数字“0”。 MOV DPTR,0088H MOV A,00H MOVX DPTR,A,软件译码LED显示接口,软件译码动态扫描显示接口如下图,根据要显示的字符查段码表取得相应的段码并输出到LED显示器,采用逐位扫描的方法控制哪一位LED被点亮。,动态扫描汇编语言驱动程序,START: MOV DPTR,#TABLE ;DP

3、TR指向段码表首地址 MOV R7,#07FH ;设置动态显示扫描初值 S1: MOV A,#00H MOVC A,A+DPTR ;查表取得段码 CJNE A,#01H,S2 ;判断段码是否为结束符 SJMP START S2: MOV B,A ;段码送B保存 MOV A,R7 RL A ;显示位扫描值左移1位 MOV P3,A ;显示位扫描值送P3口 MOV R7,A MOV P0,B ;显示段码送P0显示 LCALL DELAY ;延时 INC DPTR SJMP S1 DELAY: MOV R5,#80 ;延时子程序 D2: DJNZ R5,D2 RET TABLE: DB 3FH,06

4、H,5BH,4FH,66H,6DH,7DH,07H ;段码表 DB 01H ;结束符,串行接口LED驱动器MAX7219,MAX7219是MAXIM公司生产的一种串行接口方式7段共阴极LED显示驱动器,其片内包含有一个BCD码到B码的译码器、多路复用扫描电路、字段和字位驱动器以及存储每个数字的88 RAM,每位数字都可以被寻址和更新,允许对每一位数字选择B码译码或不译码。采用三线串行方式与单片机接口,电路十分简单,只需要一个10k左右的外接电阻来设置所有LED的段电流。,MAX7219采用串行数据传输方式,由16位数据包发送到DIN引脚 的串行数据在每个CLK的上升沿被移入到内部16位移位寄存

5、器 中,然后在LOAD的上升沿将数据锁存到数字或控制寄存器中。 LOAD信号必须在第16个时钟上升沿同时或之后,但在下一个时 钟上升沿之前变高,否则将会丢失数据。DIN端的数据通过移位 寄存器传送,并在16.5个时钟周期后出现在DOUT端。DOUT端的 数据在CLK的下降沿输出。串行数据以16位为一帧,其中D15 D12可以任意,D11D8为内部寄存器地 址,D7D0为寄存器 数据,工作时序如下:,MAX7219的内部寄存器及其地址,8051单片机与MAX7219的接口,8051的P3.5连到MAX7219的DIN端,P3.6连到LOAD端,P3.7连到CLK端,采用软件模拟方式产生所需的工作

6、时序。执行驱动程序后在LED上显示8051字样。,键盘可分为编码式键盘和非编码式键盘。编码 键盘能够由硬件自动提供与被按键对应的ASCII 码或其它编码。非编码键盘则仅提供行和列的矩 阵,其硬件逻辑与按键编码不存在严格的对应关 系,而要由所用的程序来确定。 任何键盘接口均要解决三个主要问题: 1、反弹跳 2、串键保护 3、按键识别,键盘接口技术,1、反弹跳 当按键开关的触点闭合或断开到其稳定,会产生一个短暂的抖 动和弹跳,如下图所示,这是机械式开关的一个共同性问题。 消除由于键抖动和弹跳产生的干扰可采用硬件方法,也可采用 软件延迟的方法。,采用RS触发器实现硬件反弹跳,当键数较多时经常用软件延

7、时的方法来反弹跳,如流程图所示。当检出有键按下后,先执行一个反颤延时20ms的子程序,待前沿弹跳消失后再转入键闭合CLOSE子程序。然后再判断此次按键是否松开,如果没有,则进行等待。若已松开,则又执行一次延时20ms的子程序以消除后沿弹跳的影响,再去检测下次按键的闭合。,2、串键保护 有三种处理串键的技术:两键同时按下、n键同时按下和n键锁定。 “两键同时按下”技术是在两个键同时按下时产生保护作用。最简单的办法是当只有一个键按下时才读取键盘的输出,最后仍被按下的键是有效的正确按键。当用软件扫描键盘时常采用这种方法。另一种方法是当第一个按键未松开时,按第二个键不产生选通信号。这种方法常藉助硬件来

8、实现。 “n键同时按下”技术或者不理会所有被按下的键,直至只剩下一键按下时为止,或者将所有按键的信息都存入内部缓冲器中,然后逐个处理,这种方法成本较高。 “n键锁定”技术只处理一个键,任何其它按下又松开的键不产生任何码。通常第一个被按下或最后一个松开的键产生码。这种方法最简单也最常用。,3、按键识别 决定是否有键被按下,如有则应识别键盘矩 阵中被按键对应的编码。编码键盘通过硬件直 接提供按键与被按键对应的ASCII码或其它编 码。非编码键盘则需要通过编程方式提供按键 编码。其优点是结构简单、成本低廉。,非编码键盘接口技术,非编码键盘接口技术主要是如何确定被 按键的行、列位置,即键码(值)。按键

9、 识别是接口技术的关键问题。 常用按键识别方法有行扫描法(Row- Scanning)和线反转法(Line-Reverse) 。,典型非编码键盘结构 非编码键盘大都采用按行、列排列的矩阵开关结构,这种结构可以减少硬件和连线。,矩阵键盘接口,行扫描法识别按键 行扫描法是采用步进扫描方式,CPU通过输出口把一个“步进的0”逐行加至键盘的行线上,然后通过输入口检查列线的状态。由行线列线电平状态的组合来确定是否有键按下,并确定被按键所处的行、列位置。,键位与行列线关系表,上表列出了识别按键位置与各行之间的关系。其中,R1、R2、R3、R4表示行,C1、C2、C3、C4表示列。当扫描第一行时,R1=0,

10、 若读入的列值C1=0,则表明按键K13被压下,如果C3=0,则表明按键K15被压下。第一行扫描完毕后再扫描第二行,逐行扫描至最后一行为止,即可识别出所有的按键。,线反转法识别按键,线反转法是藉助程控并行接口实现的,比行扫描法的速度快。如图所示为一个44键盘与并行接口的连接。并行接口有一个方向寄存器和一个数据寄存器,方向寄存器规定了接口总线的方向,寄存器的某位置“1”,规定该位口线为输出。寄存器的某位置“0”,规定该位口线为输入。,线反转法的具体操作分两步,第一步:先把控制字0FH置入并行接口的方向寄存器,使4条行线(PB0PB3)作输出,4条列线(PB4-PB7)作输入。然后把控制字F0H写

11、入数据寄存器,PB0PB3将输出“0”到键盘行线。这时若无键按下,则4条列线均为“”;若有某键按下,则该键所在行线的“0”电平通过闭合键使相应的列线变为“0”,并经与非门发出键盘中断请求信号给单片机。图4.6(a)是第2行第1列有键按下的情况。这时PB7PB4线的输入为1011,其中0对应于被按键所在的列。,第二步:使接口总线的方向反转,把控制字F0H写入方向寄存器,使PB0PB3作输入,PB4PB7作输出。这时PB7PB4线的输出为1011,PB3PB0的输入为1011,其中“0”对应于被按键的行。单片机现在读取数据寄存器的完整内容为10111011,其中两个0分别对应于被按键所在的行列位置

12、。根据此位置码到ROM中去查表,就可识别是何键被按下。,单片机通过8155实现的键盘、显示器接口,如图所示为单片机8051与矩阵键盘及LED显示器的一种接口电路,通过编程设定8155的PA口、PB口作为输出口,PC口作为输入口。PA口完成键盘的行扫描输出,同时又对LED显示器作字位扫描,PC口输入键盘列线状态。7407为同相驱动器,75452为反相驱动器。接口电路中采用8031的P2.7作为8155的片选线,P2.0作为8155的IO端口和片内RAM选择线,因此8155的命令寄存器地址为7F00H,PAPC口地址为7F01H7F03H。,按键识别子程序,KEY: MOV DPTR, #7F00

13、H ;8155命令口地址 MOV A, #03H ;置PA、PB口为输出, MOVX DPTR,A ;PC口为输入 MOV R4,00H ;0键号寄存器R4 MOV R2,01H ;扫描模式01HR2 KEY1: MOV DPTR,7F01H MOV A,R2 MOVX DPTR,A ;扫描模式8155PA口 INC DPTR INC DPTR MOVX A,DPTR ;读8155PC口 JB ACC.0,KEY2 ;0列无键闭合,转判1列 MOV A,00H ;0列有键闭合,0A AJMP KEY5 KEY2:JB ACC.1,KEY3 ;1列无键闭合,转判2列 MOV A,01H ;1列有

14、键闭合 AJMP KEY5,KEY3:JB ACC.2,KEY4 ;2列无键闭合,转判3列 MOV A,02H ;2列有键闭合,02HA AJMP KEY5 KEY4:JB ACC.3,NEXT ;3列无键闭合,转判下一行 MOV A,03H ;3列有键闭合,03HA KEY5: ADD A,R4 ;列线号+(R4)作为键值A MOV R4,A ;键值R4 RET ;返回 NEXT:MOV A,R4; ADD A,04 ;键号寄存器加4 MOV R4,A MOV A,R2 JB ACC.3,NEXT1 ;判是否已扫描到最后一行 RL A ;扫描模式左移一位 MOV R2,A AJMP KEY1

15、 ;重新开始扫描下一行 NEXT1: MOV R4,88H ;扫描到最后一行仍无按键 RET ;置无键闭合标志后返回,键值分析,单片机从键盘接口获得键值后究竟执行什么操作,完全取决于键盘解释程序。,常用的方法:,1、查表法 根据得到的键值代码,到固化在ROM里的表格中查找对应该代码的动作例行程序的首地址。这种方法适用于一个键就产生一个动作的单个命令键。,2.状态变量法 根据键码和当前所处的状态找出下一个应进入的状态及动作例行程序。这种方法适用于多个键互相配合产生一个动作的多义键。,查表法,查表法的核心是一个固化在ROM中的功能子程序入口地址转移表。如下表所示。在转移表内存有各个功能子程序的入口地址,根据键值代码查阅此表获得相应功能的子程序入口地址,从而可以转移到相应的命令处理子程序。,功能子程转移地址,例:键盘接口调用按键识别子程序所获得的键值如下表所示 ,当键值小于10H时代表数字键,键值大于等于10H时代表功能键。,键值表,处理功能键的程序:,INPUT: LCALL KEY ;调按键识别子程序,获得键值在A中 MOV R0,A ;键值暂存于R0 ANL A,10H

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

当前位置:首页 > 高等教育 > 大学课件

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