MCS51单片机的人机界面接口技术.ppt

上传人:牧羊曲112 文档编号:5439690 上传时间:2023-07-07 格式:PPT 页数:95 大小:2.04MB
返回 下载 相关 举报
MCS51单片机的人机界面接口技术.ppt_第1页
第1页 / 共95页
MCS51单片机的人机界面接口技术.ppt_第2页
第2页 / 共95页
MCS51单片机的人机界面接口技术.ppt_第3页
第3页 / 共95页
MCS51单片机的人机界面接口技术.ppt_第4页
第4页 / 共95页
MCS51单片机的人机界面接口技术.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

《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;扫描当前行

22、 MOV DPTR,0FBFFH;列输入口地址,;FBFFH MOVX A,DPTR;读入列值 ANL A,0FH;保留低4位 MOV R4,A;暂存列值 CJNE A,0FH,LK4;列值非全“1”则转 MOV A,R2;行扫描值送A,8.2 键盘及其接口,JNB ACC.7,LK8;已扫到最后1行则返回 RL A;若未扫完,则准备扫下一行 MOV R2,A;行值存入R2中 INC R3;行号加1 LJMP LK3;转至扫描下一行LK4:MOV A,R3;行号送入A ADD A,R3;行号2 MOV R5,A;暂存 ADD A,R5;行号4 MOV R5,A;存入R5中,8.2 键盘及其接口

23、,MOV A,R4;列值送入ALK5:RRC A;列值右移1位 JNC LK6;该位为0则转 INC R5;键值加1 SJMP LK5;列号未判完继续LK6:PUSH R5;保护键值LK7:LCALL DISPLAY;扫描一遍显示器 LCALL KS1;发全扫描信号 JNZ LK7;键未释放则等待 LCALL DISPLAY;键已释放 LCALL DISPLAY;延时12 ms,消抖 POP A;键值存入A中KND:RET;返回,8.2 键盘及其接口,LK8:MOV A,0FFH;无闭合键标志,FFH存;入A中RET;返回KS1:MOV DPTR,0F7FFH;行输出口地址:;F7FFHMOV

24、 A,00H;取8行全扫描信号MOVX DPTR,A;同时扫描8行MOV DPTR,0FBFFH;列输入口地址:;FBFFHMOVX A,DPTR;列输入ANL A,0FH;保留低4位ORL A,0F0H;高4位取“1”CPL A;取反,若无键按下,则全0RET;返回,8.2 键盘及其接口,8.3 8255A可编程并行I/O接口扩展,所谓可编程的接口芯片,是指其功能可由微处理机的指令来加以改变的接口芯片,利用编程的方法,可以使一个接口芯片执行不同的接口功能。目前,各生产厂家已提供了很多系列的可编程接口器件,51单片机常用的可编程接口芯片是Intel 8255A。,1.8255A的内部结构与端口

25、选择,8.3 8255A可编程并行I/O接口扩展,8255A是一种8位并行接口芯片,它为用户提供了3个8位并行端口PA、PB和PC口,3个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息,图8.12给出了8255A的内部结构和引脚图。3个端口在8255A内部分成A、B两组控制电路,这两组控制电路根据CPU发出的方式选择字来控制8255A的工作方式,每个控制组都接收来自读/写控制逻辑的“命令”和内部数据总线的“控制字”,并向与其相连的端口发出适当的控制信号。A组控制部件用来控制PA口和PC口高4位(PC7PC4),B组控制部件用来控制PB口和PC口低4位(PC3PC0)。,图8.12

26、 8255A的内部结构和引脚图,8.3 8255A可编程并行I/O接口扩展,读/写控制逻辑用来管理数据信息、控制字和状态字的传送,它接收来自CPU地址总线的A1、A0和控制总线有关信号(、RESET等),向8255A的A、B两组控制部件发送命令,用于对8255的端口选择及读/写控制,表8.4给出了8255A的端口选择及读/写控制状态表。,8.3 8255A可编程并行I/O接口扩展,表8.4 8255A端口选择及读/写控制状态表,8.3 8255A可编程并行I/O接口扩展,2.8255A的控制字与工作方式,8255A有两种控制命令字:一个是方式选择控制字,另一个是C口按位置位/复位控制字,其控制

27、字格式如图8.13所示。初始化时,CPU首先对8255A的控制寄存器写入方式选择控制字,选择8255A的工作方式。在8255A工作期间,如果把一个置位/复位控制字送入8255A的控制寄存器,就能将C口的某一位置1或清0,而不影响其他位的状态,使C口具有位操作功能。,8.3 8255A可编程并行I/O接口扩展,图8.13 8255A控制字格式(a)方式选择控制字格式;(b)C口置位/复位控制字格式,8.3 8255A可编程并行I/O接口扩展,8255有3种工作方式:方式0、方式1和方式2。工作方式的选择是通过上述写控制字的方法来完成的。,8.3 8255A可编程并行I/O接口扩展,(1)方式0(

28、基本输入/输出方式):A口、B口及C口高4位、低4位都可以设置为方式0输入或输出,不需要选通信号。单片机可以用8255A进行数据的无条件传送,数据在8255A的各端口能得到锁存和缓冲。在方式0下,输入口为缓冲输入方式,输出口具有锁存功能。,A口和B口为方式1输入时,C口的定义及握手信号的时序如图8.14所示。其中,为选通信号,低电平有效,当外设送来信号时,输入的数据被装入8255A的输入锁存器中;IBF是输入缓冲器满信号,高电平有效。,(2)方式1(选通输入/输出方式):A口和B口都可以独立地设置为方式1,在这种方式下,8255A的A口和B口通常用于传送和它们相连外设的数据,C口作为A口和B口

29、的握手联络线,以实现中断方式传送数据。,8.3 8255A可编程并行I/O接口扩展,图8.14 方式1输入时的握手信号及时序,8.3 8255A可编程并行I/O接口扩展,IBF是一个状态信号,当其为高电平表示输入口的数据尚未被CPU取走时,外设暂时不能向输入口送新的数据;INTR是中断请求信号,高电平有效。当IBF为高电平,且中断允许信号INTE=1时,INTR=1,向CPU请求中断。CPU响应中断后,执行输入指令(产生读信号为负脉冲),读取输入口的数据,同时的下降沿清除中断请求信号,的上升沿使IBF=0。,8.3 8255A可编程并行I/O接口扩展,INTE为中断允许控制信号。A口由PC4位

30、的置位/复位状态进行控制,B口由PC2位的置位/复位状态进行控制。只有PC4或 PC2置位时,8255A的A口或B口才会产生中断请求。若A口和B口为方式1输入时,PC7、PC6可以用作I/O线,即方式0下的输入或输出。A口和B口为方式1输出时,C口的定义及握手信号的时序如图8.15所示。其中,OBF是输出缓冲器满信号,低电平有效。该信号为低电平表示CPU已将数据送到输出端口,通知外设可将数据取走;是外设产生的响应信号,若该信号有效表示数据被外设所接收。当外设接收了输出端口的数据后,INTR为高电平向CPU发出中断请求,请求CPU输出新的数据。,8.3 8255A可编程并行I/O接口扩展,图8.

31、15 方式1输出时的握手信号及时序,8.3 8255A可编程并行I/O接口扩展,INTE为中断允许控制信号。A口由PC6位的置位/复位状态进行控制,B口由PC2位的置位/复位状态进行控制。只有PC6或 PC2置位时,8255A的A口或B口才会产生中断请求。若A口和B口为方式1输入时,PC5、PC4可以用作I/O线,即方式0下的输入或输出。,8.3 8255A可编程并行I/O接口扩展,(3)方式2(A口的双向选通输入输出方式):只有A口可以设置为方式2,在这种方式下,既能输入,又能输出。无论是输入或输出都可以用中断方式,也可以用查询方式进行数据交换。A口为方式2时,C口的定义及握手信号的时序如图

32、8.16所示。这时,中断允许控制信号INTE1由PC6位的置位/复位状态进行控制,INTE2由PC4位的置位/复位状态进行控制。其他握手信号的定义类似于方式1。当A口工作在方式2时,B口既可工作在方式0下,又可工作在方式1下。,8.3 8255A可编程并行I/O接口扩展,图8.162 方式2的握手信号及时序,8.3 8255A可编程并行I/O接口扩展,3.8255A与系统的连接及应用,8.3 8255A可编程并行I/O接口扩展,由于8255A是Intel公司专为其主机配套设计制造的标准化外围接口芯片,因此它与51单片机的连接是非常简单的。图8.17给出了一个8255A与系统的连接实例。,图8.

33、17 8255A与系统的连接,8.3 8255A可编程并行I/O接口扩展,图8.17中,P0口为地址/数据复用口,数据通过P0口直接传送,地址的低8位通过74LS373锁存。系统的读/写控制及复位信号与8255A的读/写及复位端对应相连。系统地址总线的A1、A0直接与8255A的地址线A1、A0对应相连。利用高8位地址线的P2.1作为选通信号,直接与8255A的片选端相连,8255A各个端口的地址如下:A口地址:FD00H(地址不是惟一的,下同);B口地址:FD01H;C口地址:FD02H;控制寄存器地址:FD03H。,8.3 8255A可编程并行I/O接口扩展,例8.5 针对图8.17所示的

34、电路进行编程,用位操作方式进行控制,使8255A的PC5端向外输出一个宽度为1 ms的正脉冲信号。解:要从PC5端输出一个正脉冲信号,则可通过对PC5位的置位/复位控制来实现。由于每送1个控制字,只能对1位作1次置位或复位操作,因此产生1个正脉冲要对PC5位先送置位控制字,经过一定的延时后再送复位控制字即能实现。,8.3 8255A可编程并行I/O接口扩展,程序如下:MOV DPTR,0FD03H;指向8255A的控制口MOV A,#80H;方式字,A、B和C口均;为方式0 输出MOVX DPTR,A;8255A初始化MOV A,OBH;置位/复位控制字,对;PC5置1MOVX DPTR,AL

35、CALL DELAY1ms;调用延时子程序;DELAY1msDEC A;对PC5置0MOVX DPTR,A,8.3 8255A可编程并行I/O接口扩展,例8.6使用8255A芯片为单片机系统设计打印机接口电路,并编写打印子程序。解 打印机的主要信号及时序如图8.18所示。其中,DB0DB7为数据线,向打印机提供数据。是数据选通信号,利用的负脉冲将DB0DB7上的数据锁存于打印机内部,由打印机处理并打印该字符。在打印该字符期间BUSY为高电平,表示打印机处于“忙”状态。一旦BUSY变为低电平,就表示打印机可以接收下一个数据。打印机的接口电路如图8.19所示。设8255A的地址为FD00HFD03

36、H,8255A与系统的具体连接方法如图8.17所示。,8.3 8255A可编程并行I/O接口扩展,图8.18 打印机的主要信号及时序图,8.3 8255A可编程并行I/O接口扩展,图8.19 打印机的接口电路,8.3 8255A可编程并行I/O接口扩展,打印子程序采用查询方式传送数据,其功能是打印片内RAM 30H单元中的ASCII码字符。程序如下:;主程序MOV DPTR,0FD03H;指向8255A的命令口MOV A,88H;取方式字:A口输出,C口;低出高入MOVX DPTR,A;送入方式字,8255A初始化MOV A,01H;C口置位/复位命令字;(PC0=1)MOVX DPTR,A;

37、置PC0初始状态为1,8.3 8255A可编程并行I/O接口扩展,LCALL PRINT;调打印子程序PRINT:MOV DPTR,0FD02H;指向C口LOOP1:MOVX A,DPRT;读入C口信息 JB A.7,LOOP1;若BUSY=1,则继;续查询 MOV DPTR,0FD00H;指向A口 MOV A,30H;取RAM数据 MOVX DPTR,A;数据输出到A口,8.3 8255A可编程并行I/O接口扩展,MOV DPTR,0FD03H;指向命令口 MOV A,00H;C口置位/复位命令;字(PC0=0)MOVX DPTR,A;产生STB的下降沿 NOP MOV A,01H;改变C口

38、置位/复位命令字;(PC0=1)MOVX DPTR,A;产生STB的上升沿 RET;返回,8.3 8255A可编程并行I/O接口扩展,8.4 拨码盘及语音接口,8.4.1 拨码盘接口及应用实例8.4.2 ISD1420语音接口芯片及其应用,返回本章首页,8.4.1 拨码盘接口及应用实,1十线拨盘(如图8-30所示)l十线拨盘接口:多个拨盘输入时,接口如图8-31所示。为节约I/O口,采用并联连接,分时选通输入的办法。l读数及自检软件十线拨码盘便于实现自检。在正常情况下,十线中只能有一个为低电平“0”。如果有一个以上的低电平“0”,则为短路故障;如全为高电平“1”,则为开路或接触不良故障。图8-

39、32是读数自检子程序流程图。,图8-30 十线拨盘,8.4.1 拨码盘接口及应用实,图8-31 十线拨盘组接口,8.4.1 拨码盘接口及应用实,图8-32 十线拨盘读数自检程序流程图,8.4.1 拨码盘接口及应用实,8.4.1 拨码盘接口及应用实,2BCD拨码盘(如图8-338-34所示)硬件接口:只用两个BCD拨码盘输入时,可把A端接+5V,8个输出脚接8个并行输出口,并通过10K电阻接地,从8位并行口输入的数据即是两个拨盘的BCD码。多个拨盘输入时,同样要接成并联分时选通形式 读数及检测软件:BCD拨码盘不易实现故障自检。,图8-33 BCD码拨盘组接口,图8-34 BCD码拨盘检测程序流

40、程图,返回本节,8.4.2 ISD1420语音接口芯片及其应用,1ISD1420芯片的特点(1)外围元件简单,仅需少量阻容元件、麦克风即可组成一完整录放系统。(2)模拟信息存储重放音质极好,并有一定混响效果。(3)待机时低功耗(仅0.5A),典型放音电流15mA。(4)放音时间20s,可扩充级联。(5)可持续放音,也可分段放音,最小分段20s/160段=0.125s/段,可分段数160段。,8.4.2 ISD1420语音接口芯片及其应用,(6)录放次数达10万次。(7)断电信息存储,无需备用电池,信息可保100年。(8)操作简单,无需专用编程器及语音开发器。(9)高优先级录音,低电平或负边沿触

41、发放音。(10)单电源供电,典型电压+5V。,图8-35 ISD1420语音芯片内部结构框图,2内部接口介绍,3ISD1420封装及引脚介绍,图8-36 ISD1420引脚图,8.4.2 ISD1420语音接口芯片及其应用,4ISD1420基本技术指标(均为典型值)(1)工作电源+5V。(2)静态电流10A。(3)工作电流15mA。(4)信噪比S/N=43dB。(5)录音时间长度:20s(6)每基本段时间长度:20s。,8.4.2 ISD1420语音接口芯片及其应用,5ISD1420与单片机接口举例l硬件连接(如图8-37所示)l录入语音信息l放音程序(由表8-48-5所示),图8-37 IS

42、D1420与单片机8031的接口,表8-4 ISN1420语音分段及段控制码,表8-5 语音信息录放段控制码,8.4.2 ISD1420语音接口芯片及其应用,6ISD系列语音芯片应用中应注意的问题(1)ISD系列器件所有地址端、控制端和TEST/CLD端必须可靠接高电平或低电平,而不能悬空,否则可能出现停止播放的情况。(2)为了充分发挥其优质高保真特点,应注意以下几点:,8.4.2 ISD1420语音接口芯片及其应用,1)AGC阻容,尽量靠近ISD,且连线尽量短。2)电源线和地线宽度应在0.8mm以上。3)选用优质话筒。4)话筒信号耦合电容与连接MICREF端到模拟地的电容要相同。5)电源内阻低且无噪音。,8.4.2 ISD1420语音接口芯片及其应用,(3)ISD的SP+、SP-端一定不要接地,只能接喇叭或悬空。(4)国内部分厂家语言芯片与ISD芯片标准信号对应如下:SR9F26ISD1020A(硬封装)SR9G16/SR9G26ISD1416/ISD1420(硬封装)HY420/SRG26RISD1420(软封装)HY410ISD1110(软封装),返回本节,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号