介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt

上传人:牧羊曲112 文档编号:4039071 上传时间:2023-04-01 格式:PPT 页数:70 大小:951.50KB
返回 下载 相关 举报
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt_第1页
第1页 / 共70页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt_第2页
第2页 / 共70页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt_第3页
第3页 / 共70页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt_第4页
第4页 / 共70页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt》由会员分享,可在线阅读,更多相关《介绍了片外程序存储器和数据存储器扩展包括大容量存储课件.ppt(70页珍藏版)》请在三一办公上搜索。

1、2023/4/1,MCS-51单片机原理与应用,1,本章导读本章首先介绍MCS-51单片机最小应用系统与总线扩展,通过总线挂靠的方法,介绍了片外程序存储器和数据存储器扩展,包括大容量存储器扩展技术;并行I/O口的扩展,包括8255A可编程接口芯片的扩展技术。本章还介绍了单片机系统各种可编程接口技术,显示器及键盘接口,A/D转换与D/A转换接口,以及接口的初始化编程和程序设计。,第8章 MCS-51系统扩展与接口,2023/4/1,MCS-51单片机原理与应用,2,单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以独立工作的单片机系统,也称为单片机基本系统。1单片机最小应用系统(1)8

2、051/8751最小应用系统只要外加振荡和复位电路即构成了最小应用系统,如图8.1。由于只访问片内程序存储器,引脚要接高电平。P0P3都可用作通用I/O。(2)8031最小应用系统除了外加振荡和复位电路外,必须扩展片外程序存储器,1.1单片机概述8.1 最小应用系统与总线扩展 1,2023/4/1,MCS-51单片机原理与应用,3,8.1 最小应用系统与总线扩展 2,如图8.2:引脚要接地,以访问片外程序存储器。P0作为复用的地址/数据总线,需要有两个“信号灯”来告诉CPU在P0口线上的是地址还是数据?地址锁存允许信号ALE连接到片外程序存储器的地址锁存控制端,以锁存P0口送出的低8位地址。高

3、8位地址由P2提供。外部程序存储器选通信号 连接到程序存储器的输出允许端,以控制程序存储器在单片机取指时将指令代码送上P0口。用户可使用的I/O口线只有P1和P3。图8.1与8.2的晶体振荡器电路中,电容取值为(3010)pF,晶振频率常用612MHz,复位电路中电容C3及电阻,2023/4/1,MCS-51单片机原理与应用,4,R1的取值在晶振频率为12MHz时,为10F及8.2k,在晶振频率为6MHz时,为22F及1k,R2可取300左右。2单片机总线扩展与地址锁存器总线是指信息传送的公共流通线。总线具有“串行发送,并行接收”的特点,每次只能有一个数据在总线上发送,但允许有多个单元接收总线

4、上的数据,只要相应的接收门打开就可以了。,8.1 最小应用系统与总线扩展 3,2023/4/1,MCS-51单片机原理与应用,5,8.1 最小应用系统与总线扩展 4,MCS-51三总线扩展电路示例如图8.3,此图是图8.2中的地址锁存器采用74LS373而来,只是若采用8031则 引脚要接地,若采用8051则 引脚要接高电平。整个扩展系统以单片机为核心,各外围部件挂靠在三总线上构成了较大规模的应用系统。(1)地址总线AB地址总线是单向的,传送的是CPU给存储单元或I/O的地址在ALE信号有效时将P0口的低8位地址A0A7通过地址锁存器输出,而高8位地址A8A15则由P2口输出,构成,2023/

5、4/1,MCS-51单片机原理与应用,6,8.1 最小应用系统与总线扩展 5,16位的地址总线。寻址范围为64KB,即0000HFFFFH。但实际扩展的存储器容量不同,高位地址并不固定为8位,而是据需要从P2口中引出。(2)数据总线DB数据总线是双向的,传送的是CPU与存储单元或I/O之间的数据。在、或 信号有效时,将P0口的8位数据D0D7通过数据总线来传送。CPU通过地址总线选中相应的数据单元后,就可以通过数据总线收发选中的数据单元数据。(3)控制总线CBMCS-51控制总线传送的是CPU与存储单元或I/O之间的各种控制信号,有的是CPU到存储器或I/O的控制信号,2023/4/1,MCS

6、-51单片机原理与应用,7,8.1 最小应用系统与总线扩展 6,如读、写信号,有的是存储器或I/O发给CPU的,如中断请求输入、计数脉冲输入等。对具体的一条信号线来说,其传送方向是单向的。与总线扩展有关信号说明:ALE为地址锁存选通信号,用以对低8位地址的锁存;为片外程序存储器的读选通信号,用以取指;为片外数据存储器和I/O口的读选通信号;为片外数据存储器和I/O口的写选通信号。(4)地址锁存器74LS373是带三态缓冲输出的8D锁存器,其结构示意如图8.4(a),G为允许数据输入端,当G为高电平时,锁存器输出端Q0Q7状态与输入D0D7状态相同(透明);当G由高电平变为低电平时(下降沿),输

7、入端的,2023/4/1,MCS-51单片机原理与应用,8,8.1 最小应用系统与总线扩展 7,数据就被锁存在锁存器中,输入端数据变化不再影响Q端输出。当三态门的输出允许端 为低电平时,三态门处于导通状态,允许Q端输出;当 为高电平时,三态门处于高阻隔离状态,不允许Q端输出。根据74LS373的特性,把作为P0口地址锁存器的连接如图8.4(b)。若采用74LS273,因其CLK端是上升沿锁存,所以ALE端输出锁存控制信号必须加一个反相器,如图8.4(c)。,2023/4/1,MCS-51单片机原理与应用,9,1程序存储器EPROM引脚的三总线结构EPROM 276427512的引脚如图8.5,

8、其引脚呈三总线结构,可以方便地与图8.3 MCS-51三总线扩展电路匹配而直接连接。将要介绍的EEPROM和SRAM芯片引脚也是呈三总线结构,以27512为例来说明芯片引脚的三总线结构如表8.1所示,其中VPP为芯片编程电源输入线。芯片存储容量M由地址数N决定:M=2N从图8.5可以得到276427512地址数为1316个,所以各芯片的存储容量分别为:8KB64KB。,8.2 存储器的扩展8.2.1 程序存储器的扩展 1,2023/4/1,MCS-51单片机原理与应用,10,8.2.1 程序存储器的扩展 2,2023/4/1,MCS-51单片机原理与应用,11,2片外存储器的扩展方法EPROM

9、的扩展可按存储器扩展方法进行,将三总线结构的存储器芯片引脚一一对应地与图8.3 所示MCS-51三总线匹配连接。其中,(1)存储器芯片的所有地址线一一对应地与单片机的地址总线同名相连,用于对存储器芯片片内单元的寻址。(2)单片机剩余的高位地址线作为地址译码,控制存储器芯片的片选端,用于芯片的选择。如果采用单片机的每条剩余地址线直接与存储器芯片的片选端相连,称为线译码。如果单片机所有剩余的高位地址线通过地址译码器输出片选信号,称为全译码。(3)单片机的读写控制。如果扩展的是程序存储器,8.2.1 程序存储器的扩展 2,2023/4/1,MCS-51单片机原理与应用,12,8.2.1 程序存储器的

10、扩展 3,应将单片机的 与存储器芯片的 端相连;如果扩展的是数据存储器,应将单片机的 和 分别与存储器芯片的 和 端相连。例8.1 扩展2片27256为程序存储器,画出框图和计算地址范围。解:存储器扩展的核心问题是片选与地址分配,按照存储器扩展方法,把两片27256芯片的引脚与单片机的三总线一一对应连接,连接框图如图8.6。,2023/4/1,MCS-51单片机原理与应用,13,(1)两片27256的15条地址线A0A14与单片机的15条地址线一一对应同名并连,用于对存储器芯片片内单元的寻址。(2)单片机剩余的地址线A15(P2.7)作为线译码线,控制27256的片选端,用于芯片的选择。单片机

11、的地址线A15加到27256(1)的片选端,反相后加到27256(2)的片选端。(3)27256芯片的地址范围如表8.2。A15=0,选中芯片256(1),对片内单元寻址的A0A14取值范围是全0到全1,所以256(1)的地址范围是0000H7FFFH。A15=1,选中芯片256(2),同样可得256(2)的地址范围是8000HFFFFH。,8.2.1 程序存储器的扩展 4,2023/4/1,MCS-51单片机原理与应用,14,8.2.2 数据存储器的扩展 1,(4)单片机的数据总线与27256芯片的数据线一一对应同名并连,与27256芯片的输出允许端 都相连。1SRAM与EEPROM芯片引脚

12、的三总线结构EEPROM2864A的引脚图见图8.7,作为程序存储器时,其引脚与图8.5的2764是兼容;作为数据存储器时,则与其在同一图中的SRAM 6264兼容。,2023/4/1,MCS-51单片机原理与应用,15,一般称容量超过单片机寻址范围的存储器为超大容量存储器。FEEPROM(闪存)是EEPROM的改进产品,图8.8是几种AT29C型闪存引脚图。当用超大容量闪存来扩展片外存储器时,对超出A15的地址线可与P1口的I/O线相连接。,8.2.2 数据存储器的扩展 2,2023/4/1,MCS-51单片机原理与应用,16,8.2.2 数据存储器的扩展 3,2存储器扩展举例例8.2 扩展

13、一片超大容量AT29C010作为单片机的程序存储器存储器或数据存储器,试画出连接框图和计算其地址范围。解:AT29C010有17根地址线,容量为128KB,所以要采用扩展超大容量存储器的方法,连接框图如图8.9。(1)29C010的A0A15与单片机的地址总线一一对应同名相连,A16与P1.0相连,用于对存储器芯片片内单元的寻址。(2)因系统中存储器只有单片扩展,29C010的 可以直接接地。,2023/4/1,MCS-51单片机原理与应用,17,8.2.2 数据存储器的扩展 4,(3)29C010的数据线I/O0I/O7与单片机的地址总线一一对应同名相连,与 相连。单片机 和 经过与门后与2

14、9C010的 相连,两个控制信号只要有一个有效,就可以对29C010进行读出操作。这样的接法是把29C010芯片既看作是程序存储器,又看作是数据存储器。把29C010看作程序存储器是在 信号有效,即执行取指指令:MOVC A,A+DPTR。把其看作数据存储器是在 或 信号有效,即执行读写指令:MOVX A,DPTR;读片外数据存储器MOVX A,RiMOVX DPTR,A;写片外数据存储器MOVX Ri,A(4)29C010的地址范围如表8.3,其17条地址线A0A16取值范围从全0到全1,就可得到其为寻址空间为00000H1FFFFH。当,2023/4/1,MCS-51单片机原理与应用,18

15、,8.2.2 数据存储器的扩展 5,P1.0=0时,对0000HFFFFH间的低64KB寻址;当P1.0=1时,对10000H1FFFFH的高64KB寻址。例8.3 扩展一片29C256为程序存储器,一片62256为数据存储器,采用74HC139为地址译码器,试画出连接框图和计算其地址范围。解:29C256和62256均为32KB芯片,按照存储器芯片扩展方法,分别将29C256和62256扩展为程序存储器和数据存储器,将它们三总线结构的引脚与单片机的三总线一一对应连接,连接框图如图8.10。,2023/4/1,MCS-51单片机原理与应用,19,8.2.2 数据存储器的扩展 6,(1)两扩展芯

16、片15条地址线A0A14都与单片机的15条地址线一一对应同名相连,用于对存储器芯片片内单元的寻址。(2)两扩展芯片数据线I/O0I/O7与单片机数据总线一一对应同名相连。单片机 与29C256的 相连,用于取指控制;单片机的 与 信号分别与62256的 和 相连,用于数据的读写控制。,2023/4/1,MCS-51单片机原理与应用,20,8.2.2 数据存储器的扩展 7,(3)二四译码器74HC139的输出端Y0和Y1分别与两扩展芯片的片选端相连,用于芯片的选择。139的译码输入端B接地,另一个译码输入端与单片机剩余的地址线A15(P2.7)相连,其使能端 则与P1.0相连。当P1.0=0时,

17、74HC139被选中。P2.7=0,按139的真值表译码输出端Y0有效,选中的是程序存储器29C256;对片内单元寻址的A0A14取值范围是全0到全1,所以29C256的地址范围是0000H7FFFH。P2.7=1,同理可得Y1有效,选中的是数据存储器62256;其A0A14取值范围是全0到全1,所以62256地址范围是8000HFFFFH。地址分配如表8.4。本例片选控制采用的就是全译码方法。,2023/4/1,MCS-51单片机原理与应用,21,8.3 并行I/O口的扩展 1,I/O接口扩展3种方法:中小规模集成电路的简单I/O口扩展可编程接口芯片进行I/O口扩展串行口外接移位寄存器进行I

18、/O口扩展(见第7章)。8.3.1 并行I/O口的简单扩展扩展简单I/O口时,数据线的连接方法与片外存储器扩展时一样,将输入具有三态缓冲,输出具有锁存的芯片的I/O口线与单片机数据总线一一对应地相连。虽然这些简单I/O芯片没有专门的地址线,可以将单片机的高位地址线与读写(与)信号线通过组合门电路与I/O芯片的控制端相连,从然使它们具有了相应的口地址。图8.11采用8位三态缓冲器74HC244扩展输入口,采用8D锁存器74HC574扩展输出口。扩展的I/O口并行数据,2023/4/1,MCS-51单片机原理与应用,22,8.3 并行I/O口的扩展 2,都经过双向总线P0口,P0口的8条数据线一一

19、对应地与574的8个输入端以及244的8个输出端相连。这样,P0口既能通过244读入外部输入开关的状态,又能将此数据通过锁存器574输出保持,去控制LED的状态。两个扩展芯片的输出允许端都是接地的。扩展输出口地址获得:P2.7与 相或后去控制574的时钟端CP,当或门输入全0时,或门输出为0,将P0口输出的数据锁存到574的输出端。同样,可以按存储器扩展时地址计算方法,得到扩展输出口,2023/4/1,MCS-51单片机原理与应用,23,8.3 并行I/O口的扩展 3,地址为7FFFH。这里,只用到了一条地址线P2.7,与其余的15条地址线无关,所以扩展输出口将有许多重叠的地址。一般是将没有用

20、到的地址线取1,如表8.5。扩展输入口地址获得:P2.7与 相或后去控制244的使能端,当或门输入全0时,或门输出为0,使244芯片被选通,将外部按钮状态读入到P0口。同样,可得扩展输入口地址为7FFFH。扩展输入/出口地址虽相同,但由于受单片机读写信号不会同时为0的约束,而不会引起地址冲突。用指令来实现在图8.11中按下任意一个按钮,对,2023/4/1,MCS-51单片机原理与应用,24,8.3.2 8255A可编程并行I/O接口 1,应的LED灯就会发光:MOVDPTR,#7FFFH;指向I/O口地址MOVX A,DPTR;从244读入按钮状态MOVX DPTR,A;将按钮状态向574输

21、出,控制LED8255A可编程并行I/O接口芯片可以同MCS-51系列单片机直接相连,可以为系统扩展3个8位的并行I/O端口,各端口的功能可由编程设定。可以通过编程来改变其功能的接口芯片称为可编程接口芯片。18255A引脚和内部结构8255A的内部结构框图和引脚图如图8.12(a)和(b)。各引脚的功能见表8.6,8255A共有40个引脚。表中前4行为数据总线,D0D7用于传送CPU与8255A之间的命,2023/4/1,MCS-51单片机原理与应用,25,8.3.2 8255A可编程并行I/O接口 2,令与数据,A口C口的数据线用于8255A与外设之间数据传送。、A1和A0为寻址线,A1和A

22、0通常与单片机地址总线最低两位A1和A0相连,当 有效时,A1和A0的4种编码组合00、01、10、11,2023/4/1,MCS-51单片机原理与应用,26,8.3.2 8255A可编程并行I/O接口 3,分别用来选择A、B、C口和控制寄存器。、和RESET控制8255A的读写和复位。8255A可编程接口由以下4个逻辑结构组成。,2023/4/1,MCS-51单片机原理与应用,27,8.3.2 8255A可编程并行I/O接口 4,(1)3个并行I/O端口每个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。通常A口和B口用作输入/输出口,而C口可分为两个4位口,也用于输入/输出。

23、当A或B被设为选通方式时,C口将降到从属地位,成了A、B的联络信号。可以通过编程设置端口的不同工作方式,即输入方式和输出方式,对于A口还可以设定为输入/输出双向方式。(2)工作方式控制器工作方式控制器有A和B两组,A组控制A口和C口的高4位(PC7PC4),B组控制B口和C口的低4位(PC3PC0),对C口还可按位实现置位或复位。两组控制器共享一个控制寄存器,接收来自CPU的命令字,从而决定8255A的工作方式。,2023/4/1,MCS-51单片机原理与应用,28,8.3.2 8255A可编程并行I/O接口 5,(3)数据总线缓冲器它是一个8位的双向三态驱动器,能与单片机的数据总线直接相连,

24、D0D7用来传送8255A与CPU间的数据、命令和状态字。(4)读写控制逻辑读写控制逻辑有6条信号线,各引脚的功能已经在表8.6中作了说明。读写控制逻辑主要用于接收单片机送来的读写命令、片选、口地址选择和复位信号,控制各个口的工作状态,管理所有的数据、控制字或状态字的传送,实现对8255A的硬件管理。这些信号线对8255A 端口选择和读写操作如表8.7。28255A 控制字与初始化编程8255A 有两个控制字,即方式控制字和C口置位/复位,2023/4/1,MCS-51单片机原理与应用,29,8.3.2 8255A可编程并行I/O接口 6,控制字,这两个控制字以D7位为标志来区分。若D7=1,

25、为方式控制字;若D7=0,为C口置位/复位控制字。(1)方式控制字方式控制字设置8255A三个数据口的工作方式,其格式,2023/4/1,MCS-51单片机原理与应用,30,8.3.2 8255A可编程并行I/O接口 7,和各位的含义如图8.13。(2)C口置位/复位控制字8255A初始化编程就是向控制寄存器写入方式控制字或C口置位/复位控制字。这两个控制字可按同一地址写入,也不受先后顺序的限制,8255A会,2023/4/1,MCS-51单片机原理与应用,31,根据两个控制字的标志位来加以区分。例8.4 试分别对8255A初始化编程:(1)A口为方式0输入,B口为方式0输出,C口高低4位均为

26、输入;(2)使PC7=0,PC0=1。设控制寄存器的地址为03FFH。解:(1)按要求8255A方式控制字为99H,如图8.15。初始化程序段为:MOV DPTR,#03FFH;指向8255A制寄存器地址MOVX A,#99H;向控制口写入方式控制字MOVX DPTR,A(2)若要使PC7=0,PC0=1,根据图8.14的C口置位/复位控制,8.3.2 8255A可编程并行I/O接口 8,2023/4/1,MCS-51单片机原理与应用,32,字,容易得到置位/复位控制字分别为0EH和01H。程序段为:MOV DPTR,#03FFH;指向8255A制寄存器地址MOVX A,#0EH;向控制口写入

27、C口置位/复位控制字MOVX DPTR,AMOVX A,#01H;向控制口写入C口置位/复位控制字MOVX DPTR,A38255A工作方式(1)方式0方式0为基本I/O方式,AC口均可由编程设定为输入/输出。CPU可无条件对8255A进行数据传送,而不需要联络信号线。各个I/O口作为输出时,输出数据可被锁存;但作为输入时,除A口外,B和C口的输入数据不能被锁存。改变方式控制字中的相关位的值,A口、B口以及C口的高低4位可组合成16种不同的输入或输出方式。,8.3.2 8255A可编程并行I/O接口 9,2023/4/1,MCS-51单片机原理与应用,33,8.3.2 8255A可编程并行I/

28、O接口 10,(2)方式1方式1为选通I/O方式,在此方式下3个口被分成A、B两个组。A 组由A口和C口的高4位组成,A口可由编程设定为输入/输出,C口的高4位则用来作为输入/输出操作的联络信号。B组由B口和C口的低4位组成,B口可由编程设定为输入/输出,C口的低4位则用来作为输入/输出操作的联络信号。C口提供的联络信号线见表8.8中,用户不能编程改变表中定义,不能用C口置位/复位控制字来使其置位或复位。因为B口和A口的联络信号线的含义是一样的,拿A口的联络信号和A口的输入/输出为例来说明。:外设送往A口数据输入选通信号。其有效时,外设把己经送到A口数据线上的数据选通锁存到A口的输入锁存器内,

29、并使IBFA信号变高。IBFA:A口输入缓冲器满信号,由8255A输出给CPU或外设以供查询。当IBFA=1时,表示A口已经接收到外设输入的数据,但尚,2023/4/1,MCS-51单片机原理与应用,34,8.3.2 8255A可编程并行I/O接口 11,未被CPU取走。此时外设应暂停发送新的数据,直到输入缓冲区变空为止。它由 信号置位,由 信号上升沿复位。:输出缓冲器满信号,由8255A输出给CPU或外设以供查询。当=0时,表示CPU已将数据送到A口,外设可以将其取走。它由 信号置位,由 信号上升沿复位。,2023/4/1,MCS-51单片机原理与应用,35,8.3.2 8255A可编程并行

30、I/O接口 12,外设收到输出数据的响应信号,由外设输入给8255A。当=0时,表示外设已将A口数据取走,并使 变高,表示CPU可以输出下一个数据,更新A口的输出缓冲区。INTRA:中断请求信号,由 8255A输出给CPU或中断控制器。输入时出现IBFA 信号或输出时出现 信号有效后,8255A都会形成有效的中断请求信号INTRA以向CPU申请中断,请求CPU输入/输出下一个数据。每组作选通输入或选通输出时,均使用3条联络信号线,见表8.8。(3)方式2方式2为双向数据传送方式,A口为8位双向数据口,C口的PC3PC7作为联络信号,如表8.8。只有A口可编程为双向数据口,这时B口只能编程为方式

31、0或方式1;而C口剩下的3条线PC0PC2可作为I/O线用,或作为B口方式1下的控制线。A口方式2实际上是在方式1下输入输出的结合,其输入/输出过程与联络信号线的作用可参照方式1中说明来理解。,2023/4/1,MCS-51单片机原理与应用,36,8.3.2 8255A可编程并行I/O接口 13,48255A与MCS-51的连接8255A与MCS-51单片机的连接时,可按同名信号线直接相连,图8.16是一种常用的采用线译码的连接方法。例8.5 试用图8.16电路来实现图8.11电路功能。设A口接按钮,B口接LED,实现按下任意一个按钮,对应的LED灯就会发光。解:(1)方式控制字A口为方式0输

32、入,输入按钮状态;B口为方式0输出,决定LED是否点亮。例8.4已求出方式控制字为99H。(2)各端口地址要选中8255A,必须P2.7(A15)=0;,2023/4/1,MCS-51单片机原理与应用,37,8.4 显示器及键盘接口8.4.1 显示器及其接口 1,单片机的最低两位地址线与8255A的端口选择线同名相连,因此,根据上节中介绍的地址分配计算方法可得8255A的AC口和控制口的地址分别为7FFCH、7FFDH、7FFEH和7FFFH。(3)相关的程序段:MOV DPTR,#7FFFH;指向8255A制寄存器地址MOVX A,#99H;向控制口写入方式控制字MOVX DPTR,AMOV

33、 DPTR,#7FFCH;指向A口地址MOVX A,DPTR;从A口读入按钮状态INC DPTR;指向B口地址MOVX DPTR,A;将按钮状态信息向B输出,控制LED1LED显示器结构与原理LED显示器是由发光二极管组成能显示字段的显示器件,又称为数码管。它由8个发光二极管构成,其中7个发光二极管做成七段,2023/4/1,MCS-51单片机原理与应用,38,8.4.1 显示器及其接口 2,横竖笔划的字段,组成一个8字,第8个做成小数点的形状,其外形结构如图8.17(a)。七段中取不同的组合可用来显示数字09、字母AF及小数点等字符。共阳极:把显示器8个LED的阳极并接在一起,如图8.17(

34、b);一般阳极接+5V,阴极串联电阻后,低电平来驱动。共阴极:把显示器8个LED的阴极并接在一起,如图8.17(c);一般阴极接地,阳极串联电阻,用高电平驱动。限流电阻值按单个LED显示器电流为2030mA为宜。,2023/4/1,MCS-51单片机原理与应用,39,8.4.1 显示器及其接口 3,要显示某个字形就应使此字形的相应字段点亮,这种驱动相应字段点亮的字形数据称七段码,或叫字形码。共阴极LED显示器字形与七段码关系:把七段码用一个8位二进制数来表示,其各位定义如图8.18,按此定义可以得到LED显示器的共阴七段码如表8.9中右起第2列所示,表中各字段点亮为1,不点亮为0。如要显示数字

35、0,只有dp和g段不亮,其余字段均应点亮,所以对应的七段码为00111111B,即3FH。对于低电平驱动的共阳七段码,只要将表8.9中的共阴七段码对应取反就可以了,如要显示数字0,所对应的七段码为11000000B,即C0H。,2023/4/1,MCS-51单片机原理与应用,40,8.4.1 显示器及其接口 4,2023/4/1,MCS-51单片机原理与应用,41,8.4.1 显示器及其接口 5,2LED显示器的显示方式及其接口LED显示器按对公共端接法分静态与动态显示两种。(1)静态显示方式图8.19是一个串行静态共阴LED显示电路,8个74LS164的CLR端接高电平,成为串入并出的移位寄

36、存器,每个164的8个输出端Q0Q7分别,2023/4/1,MCS-51单片机原理与应用,42,8.4.1 显示器及其接口 6,驱动对应LED显示器的8个段选端,各LED显示器的COM端接地。在串口方式0下,CPU从TXD输出移位脉冲到各个164的时钟端CP,而RXD发送移位数据(七段码)到164(0)的串行数据输入端A和B,每次输出8个字节七段码数据,由164把串口输入的数据变为并行输出去驱动各个LED显示器的8个段选端。例8.6 4位LED串行静态显示采用图8.19电路结构,试编写显示子程序JDIR。要显示的十六进制数存放在7CH7FH显示缓冲区中,通过查表法获取要显示数的七段码。解:对显

37、示子程序JDIR说明如下。操作功能:将显示缓冲区中十六进制数据送4位LED显示器以静态方式显示。入口条件:要显示的数存放在以7CH为起址的连续4个单元组成的显示缓冲区中。,2023/4/1,MCS-51单片机原理与应用,43,8.4.1 显示器及其接口 7,出口条件:把预置在显示缓冲区中的数通过4位LED显示器输出,更新原有的显示。汇编源程序如下:JDIR:SETBRS0;切换到第1组工作寄存器,保护现场MOVSCON,#00H;串口方式0,波特率为/12MOVR7,#04H;4位LED显示器MOVR0,#7CH;指向显示缓冲区首地址DL0:MOVA,R0;从显示缓冲区取要显示的数MOVDPT

38、R,#SEGPT;指向七段码表首地址MOVC A,A+DPTR;查要显示的数七段码MOVSBUF,A;串行发送七段码DL1:JNB TI,DL1;状态查询,1字节发送完了吗?CLRTI;发送完,清发送中断标志INCR0;指向下一个显示缓冲单元DJNZR7,DL0;4位未传送完,继续CLR RS0;切换到第0组工作寄存器,恢复现场RETSEGPT:DB3FH,06H,5BH,4FH,66H,6DH;共阴七段码表DB7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,2023/4/1,MCS-51单片机原理与应用,44,8.4.1 显示器及其接口 8,(2)动态显示方式

39、LED显示器动态显示方式下,CPU送出的七段码是加到所有显示器的段选端的,要决定那个显示器点亮,还取决于受I/O线控制的COM端的电平。图8.20是6位共阳LED显示器动态扫描显示电路,164的8个输出端Q0Q7分别加到所有LED显示器的8个段选端,决定显示的字形。6个I/O线P1.0P1.5分别连接到7406的6个输入端,7406的6个输出端控制各个LED显示器的COM端,这是个位选口,决定那一个LED显示器被点亮。P1.0P1.5按一定的顺序轮流输出一个“0”时,经7406反相器驱动使相应的LED显示器的com端获得高电位,动态扫描将使各个显示器轮流点亮。,2023/4/1,MCS-51单

40、片机原理与应用,45,8.4.1 显示器及其接口 8,例8.7 试编写图8.20或图8.34所示6位LED显示器动态扫描显示子程序DDIR,要显示的十六进制数存放在7AH7FH显示缓冲区中,通过查表法获取要显示数的七段码。解:对显示子程序DDIR说明如下。操作功能:将显示缓冲区中十六进制数据送到6位LED显示器以动态方式显示。入口条件:要显示的数存放在以7AH为起址的连续6个单元组成的显示缓冲区中。出口条件:把预置在显示缓冲区中的数通过6位LED显示器,2023/4/1,MCS-51单片机原理与应用,46,8.4.1 显示器及其接口 9,输出,更新原有的显示。汇编源程序如下:DDIR:SETB

41、RS0;切换到第1组工作寄存器,保护现场MOV SCON,#00H;设定串口方式0MOV R0,#7AH;显示缓冲区最大地址送R0MOVDPTR,#SEGT;指向七段码表首地址MOV R3,#0FEH;位选码 MOVA,R3;AR3DL0:MOVP1,A;轮流选中某1位LED显示器MOVA,R0;从显示缓冲区取要显示的数MOVCA,A+DPTR;查要显示的数七段码MOVSBUF,A;串行发送七段码DL1:JNBTI,DL1;状态查询,1字节发送完了吗?CLRTI;发送完,清发送中断标志ACALL D01S;调用延时子程序INCR0;指向下一个显示缓冲单元MOVA,R3;取位选码JNBACC.5

42、,EDIR;6位未传送完,继续RLA;指向下1位,产生新的位选码,2023/4/1,MCS-51单片机原理与应用,47,8.4.2 键盘及其接口 1,MOVR3,A;更新位选码AJMP DL0;继续显示下1位EDIR:CLR RS0;切换到第0组工作寄存器,恢复现场RETD01S:MOV R6,#0D0H;延时子程序,在protues中调试通过D1:MOV R7,#0FFH;若硬件改为图8.34电路,则可修改数据为:D2:DJNZ R7,D2;R6=4,R7=248。DJNZ R6,D1;不同的延时时间,将有不同的效果 RETSEGT:DB 0C0H,0F9H,0A4H,0B0H;共阳七段码表

43、DB 99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH键盘是由若干个按键组成的开关阵列,可分为编码键盘与非编码键盘。编码键盘用硬件逻辑来实现对键的识别,其硬件结构复杂,成本高。非编码键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。本节着重介绍非编码键盘与单片机的接口和编程方法。,2023/4/1,MCS-51单片机原理与应用,48,8.4.2 键盘及其接口 2,1按键的机械特性与去抖原理按键能把机械上的通断转换成为电平的高低,提供标准的TTL电平给单片机系统。图8.21为一次按键的过程,在闭合和断开的前后沿,有一定的抖动时间,一般为

44、510ms。只有去除或避开抖动时间的影响,才能保证CPU正确识别按键的闭合,可用硬件或软件去抖处理。硬件消抖常采用的一种R-S触发器电路如图8.22。开关K向下打时的抖动,经R-S触发器后输出的是一个没有毛刺的负脉冲。,2023/4/1,MCS-51单片机原理与应用,49,8.4.2 键盘及其接口 3,软件消抖算法是避开按键的抖动期,在检测到有按键按下时,先执行一个10ms左右的延时等待,再次检测该键时若是否仍处于闭合时的电平,则确认该键牌闭合状态。在检测到有键释放时,也采用相同的算法检测确认,从而消除了抖动的影响。2键盘电路原理及程序设计图8.23为独立式按键结构键盘电路,每个按键单独,20

45、23/4/1,MCS-51单片机原理与应用,50,8.4.2 键盘及其接口 4,占有一根I/O线,其工作状态与其它I/O线的状态无关,经每根I/O线输入的信号对应一个输入数据。独立式按键配套的软件常采用查询方式,去抖后查到哪个I/O口线是低电平表明哪个键按下,CPU根据接收到的键值,转向该键的功能处理程序。图8.24为一44矩阵式键盘电路,由行线X0X3(P1.0P1.3)和列线Y0Y3(P1.4P1.7)组成,按键位于行与列的交叉点上,可设置的按键数为行与列数的乘积,即16个按键。键盘的行线通过上拉电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都被置为高电平。当键盘上有键闭合

46、时,该键所对应的行与列线短路,该行线的电平将由被短路的列线电平所决定。可用图8.25键盘扫描算法,来检测是否有键按下,2023/4/1,MCS-51单片机原理与应用,51,8.4.2 键盘及其接口 5,并确定闭合键所在的行列位置。算法从列线输出全0扫描字,读入行线状态来判断键盘中有无键按下;再从列线逐列输出0电平,读入行线状态来判断键盘中哪列有键按下。检测到电平为0的行线和列线的交叉处的键即为闭合的键,并将此行首键号与列号相加就可得到闭合键的键号。图8.24键盘电路为例,可用表8.10来说明键盘扫描过程,设9号键已闭合,2023/4/1,MCS-51单片机原理与应用,52,8.4.2 键盘及其

47、接口 6,第1步使列线Y0Y3全0,读行线状态。因9号键闭合,则该键所对应的行线X2为0,说明有键按下。第2步输出列扫描字1110,读行线状态。X0X3都为1,说明列Y0无键按下。第3步输出列扫描字1101,读行线状态,X0X3不全为1,说明列Y1上有键按下。找到有键按下后,扫描就会停止。如果读到行线状态全为1,列扫描将继续进行,直至步骤5扫描完为止。,2023/4/1,MCS-51单片机原理与应用,53,8.4.2 键盘及其接口 7,确定了闭合键所在行和列为X2和Y1,则可确定行线X2和列线Y1相交的9号键处闭合状态。今闭合键所在行X2首键号为8,所在列号为1,可得闭合键的键号为9。例8.8

48、 图8.26是用8255A扩展I/O口组成的矩阵式键盘电路,8255A与MCS-51间的连接同例8.5,即PAPC口地址分别为7FFCH7FFEH。试编写其键盘扫描子程序。解:可按图8.25键盘扫描算法写出相应汇编子程序:操作功能:检测48键盘是否有键按下,并确定闭合键所在的行列位置。入口条件:在主程,2023/4/1,MCS-51单片机原理与应用,54,序中已把8255A初始化为A口作基本输出,接键盘列线,C口低4位作基本输入,接4条行线。出口条件:闭合键的键号在A中。汇编源程序见教材P.185 P.186。能够实现模/数转换的设备称A/D转换器或ADC。A/D转换电路有多种,其中逐次逼近式

49、A/D转换器在精度、速度和价格上都适中,是目前种类最多、应用最广的A/D转换器,典型器件有ADC0809、AD574A等。1ADC0809结构框图与引脚功能ADC0809是一种8路模拟量输入的8位逐次逼近法ADC,单一+5V电源供电,功耗仅为15mW,分辨率为8位。所谓A/D转换器的分辨率是指A/D对输入电压微小变化响应能力的度量,常以输出的二进制位数或BCD码位数表示。,8.5 A/D转换接口 1,2023/4/1,MCS-51单片机原理与应用,55,ADC0809内部结构框图如图,由地址A、B、C经地址锁存与译码去控制接收IN0IN7中哪路模拟量输入。A/D转换由START端输入一个启动正

50、脉冲开始,同时EOC端变低,经8位A/D转换器将输入的模拟量转化为8位数字量,当A/D转换结束时EOC端恢复为高电平。转换后的数字量锁存在三态输出锁存器中,当从OE端输入一,8.5 A/D转换接口 2,2023/4/1,MCS-51单片机原理与应用,56,个正脉冲时,就可以把转换的结果从D0D7输出,脉冲的下降沿使转换数据锁存。ADC0809为28引脚DIP封装,引脚图如图8.28,说明如下:(1)IN0IN7:8路模拟量输入口。要求电压为05V,在转换过程中保持稳定。在实验时,常采用电位器提供模拟量输入,如图8.29中经W1分压向0通道输入。(2)D0D7:转换后的数字量输出口,8位三态输出

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号