介绍了片外程序存储器和数据存储器扩展包括大容量存储课件_第1页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件_第2页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件_第3页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件_第4页
介绍了片外程序存储器和数据存储器扩展包括大容量存储课件_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章导读本章首先介绍MCS-51单片机最小应用系统与总线扩展,通过总线挂靠的方法,介绍了片外程序存储器和数据存储器扩展,包括大容量存储器扩展技术;并行I/O口的扩展,包括8255A可编程接口芯片的扩展技术。本章还介绍了单片机系统各种可编程接口技术,显示器及键盘接口,A/D转换与D/A转换接口,以及接口的初始化编程和程序设计。第8章MCS-51系统扩展与接口11/22/20221MCS-51单片机原理与应用本章导读第8章MCS-51系统扩展与接口11/21/20单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以独立工作的单片机系统,也称为单片机基本系统。1.单片机最小应用系统(1)8051/8751最小应用系统只要外加振荡和复位电路即构成了最小应用系统,如图8.1。由于只访问片内程序存储器,引脚要接高电平。P0~P3都可用作通用I/O。(2)8031最小应用系统除了外加振荡和复位电路外,必须扩展片外程序存储器,1.1单片机概述

8.1最小应用系统与总线扩展111/22/20222MCS-51单片机原理与应用单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以8.1最小应用系统与总线扩展

2如图8.2:引脚要接地,以访问片外程序存储器。P0作为复用的地址/数据总线,需要有两个“信号灯”来告诉CPU在P0口线上的是地址还是数据?地址锁存允许信号ALE连接到片外程序存储器的地址锁存控制端,以锁存P0口送出的低8位地址。高8位地址由P2提供。外部程序存储器选通信号连接到程序存储器的输出允许端,以控制程序存储器在单片机取指时将指令代码送上P0口。用户可使用的I/O口线只有P1和P3。图8.1与8.2的晶体振荡器电路中,电容取值为(30±10)pF,晶振频率常用6~12MHz,复位电路中电容C3及电阻11/22/20223MCS-51单片机原理与应用8.1最小应用系统与总线扩展2如图8.2:11/21R1的取值在晶振频率为12MHz时,为10μF及8.2kΩ,在晶振频率为6MHz时,为22μF及1kΩ,R2可取300Ω左右。2.单片机总线扩展与地址锁存器总线是指信息传送的公共流通线。总线具有“串行发送,并行接收”的特点,每次只能有一个数据在总线上发送,但允许有多个单元接收总线上的数据,只要相应的接收门打开就可以了。8.1最小应用系统与总线扩展

311/22/20224MCS-51单片机原理与应用R1的取值在晶振频率为12MHz时,为10μF及8.2kΩ,8.1最小应用系统与总线扩展

4

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

5

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

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

7数据就被锁存在锁存器中,输入端数据变化不再影响Q端输出。当三态门的输出允许端为低电平时,三态门处于导通状态,允许Q端输出;当为高电平时,三态门处于高阻隔离状态,不允许Q端输出。根据74LS373的特性,把作为P0口地址锁存器的连接如图8.4(b)。若采用74LS273,因其CLK端是上升沿锁存,所以ALE端输出锁存控制信号必须加一个反相器,如图8.4(c)。11/22/20228MCS-51单片机原理与应用8.1最小应用系统与总线扩展7数据就被锁存在锁存器中1.程序存储器EPROM引脚的三总线结构EPROM2764~27512的引脚如图8.5,其引脚呈三总线结构,可以方便地与图8.3MCS-51三总线扩展电路匹配而直接连接。将要介绍的EEPROM和SRAM芯片引脚也是呈三总线结构,以27512为例来说明芯片引脚的三总线结构如表8.1所示,其中VPP为芯片编程电源输入线。芯片存储容量M由地址数N决定: M=2N从图8.5可以得到2764~27512地址数为13~16个,所以各芯片的存储容量分别为:8KB~64KB。8.2存储器的扩展

8.2.1程序存储器的扩展111/22/20229MCS-51单片机原理与应用1.程序存储器EPROM引脚的三总线结构8.2存储器的扩8.2.1程序存储器的扩展211/22/202210MCS-51单片机原理与应用8.2.1程序存储器的扩展211/21/2022102.片外存储器的扩展方法EPROM的扩展可按存储器扩展方法进行,将三总线结构的存储器芯片引脚一一对应地与图8.3所示MCS-51三总线匹配连接。其中,(1)存储器芯片的所有地址线一一对应地与单片机的地址总线同名相连,用于对存储器芯片片内单元的寻址。(2)单片机剩余的高位地址线作为地址译码,控制存储器芯片的片选端,用于芯片的选择。如果采用单片机的每条剩余地址线直接与存储器芯片的片选端相连,称为线译码。如果单片机所有剩余的高位地址线通过地址译码器输出片选信号,称为全译码。(3)单片机的读写控制。如果扩展的是程序存储器,8.2.1程序存储器的扩展211/22/202211MCS-51单片机原理与应用2.片外存储器的扩展方法8.2.1程序存储器的扩展28.2.1程序存储器的扩展3应将单片机的与存储器芯片的端相连;如果扩展的是数据存储器,应将单片机的和分别与存储器芯片的和端相连。例8.1扩展2片27256为程序存储器,画出框图和计算地址范围。解:存储器扩展的核心问题是片选与地址分配,按照存储器扩展方法,把两片27256芯片的引脚与单片机的三总线一一对应连接,连接框图如图8.6。11/22/202212MCS-51单片机原理与应用8.2.1程序存储器的扩展3应将单片机的(1)两片27256的15条地址线A0~A14与单片机的15条地址线一一对应同名并连,用于对存储器芯片片内单元的寻址。(2)单片机剩余的地址线A15(P2.7)作为线译码线,控制27256的片选端,用于芯片的选择。单片机的地址线A15加到27256(1)的片选端,反相后加到27256(2)的片选端。(3)27256芯片的地址范围如表8.2。A15=0,选中芯片256(1),对片内单元寻址的A0~A14取值范围是全0到全1,所以256(1)的地址范围是0000H~7FFFH。A15=1,选中芯片256(2),同样可得256(2)的地址范围是8000H~FFFFH。8.2.1程序存储器的扩展411/22/202213MCS-51单片机原理与应用(1)两片27256的15条地址线A0~A14与单片机的158.2.2数据存储器的扩展

1(4)单片机的数据总线与27256芯片的数据线一一对应同名并连,与27256芯片的输出允许端都相连。1.SRAM与EEPROM芯片引脚的三总线结构EEPROM2864A的引脚图见图8.7,作为程序存储器时,其引脚与图8.5的2764是兼容;作为数据存储器时,则与其在同一图中的SRAM6264兼容。11/22/202214MCS-51单片机原理与应用8.2.2数据存储器的扩展1(4)单片机的数据总线与一般称容量超过单片机寻址范围的存储器为超大容量存储器。FEEPROM(闪存)是EEPROM的改进产品,图8.8是几种AT29C型闪存引脚图。当用超大容量闪存来扩展片外存储器时,对超出A15的地址线可与P1口的I/O线相连接。8.2.2数据存储器的扩展

211/22/202215MCS-51单片机原理与应用一般称容量超过单片机寻址范围的存储器为超大容量存储器。FEE8.2.2数据存储器的扩展

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

4(3)29C010的数据线I/O0~I/O7与单片机的地址总线一一对应同名相连,与相连。单片机和经过与门后与29C010的相连,两个控制信号只要有一个有效,就可以对29C010进行读出操作。这样的接法是把29C010芯片既看作是程序存储器,又看作是数据存储器。把29C010看作程序存储器是在信号有效,即执行取指指令:MOVCA,@A+DPTR。把其看作数据存储器是在或信号有效,即执行读写指令:MOVXA,@DPTR ;读片外数据存储器MOVXA,@RiMOVX@DPTR,A ;写片外数据存储器MOVX@Ri,A(4)29C010的地址范围如表8.3,其17条地址线A0~A16取值范围从全0到全1,就可得到其为寻址空间为00000H~1FFFFH。当11/22/202217MCS-51单片机原理与应用8.2.2数据存储器的扩展4(3)29C010的数据8.2.2数据存储器的扩展

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

6(1)两扩展芯片15条地址线A0~A14都与单片机的15条地址线一一对应同名相连,用于对存储器芯片片内单元的寻址。(2)两扩展芯片数据线I/O0~I/O7与单片机数据总线一一对应同名相连。单片机与29C256的相连,用于取指控制;单片机的与信号分别与62256的和相连,用于数据的读写控制。11/22/202219MCS-51单片机原理与应用8.2.2数据存储器的扩展6(1)两扩展芯片15条地8.2.2数据存储器的扩展

7(3)二-四译码器74HC139的输出端Y0和Y1分别与两扩展芯片的片选端相连,用于芯片的选择。139的译码输入端B接地,另一个译码输入端与单片机剩余的地址线A15(P2.7)相连,其使能端则与P1.0相连。当P1.0=0时,74HC139被选中。P2.7=0,按139的真值表译码输出端Y0有效,选中的是程序存储器29C256;对片内单元寻址的A0~A14取值范围是全0到全1,所以29C256的地址范围是0000H~7FFFH。P2.7=1,同理可得Y1有效,选中的是数据存储器62256;其A0~A14取值范围是全0到全1,所以62256地址范围是8000H~FFFFH。地址分配如表8.4。本例片选控制采用的就是全译码方法。11/22/202220MCS-51单片机原理与应用8.2.2数据存储器的扩展7(3)二-四译码器74H8.3并行I/O口的扩展

1I/O接口扩展3种方法:中小规模集成电路的简单I/O口扩展可编程接口芯片进行I/O口扩展串行口外接移位寄存器进行I/O口扩展(见第7章)。8.3.1并行I/O口的简单扩展扩展简单I/O口时,数据线的连接方法与片外存储器扩展时一样,将输入具有三态缓冲,输出具有锁存的芯片的I/O口线与单片机数据总线一一对应地相连。虽然这些简单I/O芯片没有专门的地址线,可以将单片机的高位地址线与读写(与)信号线通过组合门电路与I/O芯片的控制端相连,从然使它们具有了相应的口地址。图8.11采用8位三态缓冲器74HC244扩展输入口,采用8D锁存器74HC574扩展输出口。扩展的I/O口并行数据11/22/202221MCS-51单片机原理与应用8.3并行I/O口的扩展1I/O接口扩展3种方法8.3并行I/O口的扩展

2都经过双向总线P0口,P0口的8条数据线一一对应地与574的8个输入端以及244的8个输出端相连。这样,P0口既能通过244读入外部输入开关的状态,又能将此数据通过锁存器574输出保持,去控制LED的状态。两个扩展芯片的输出允许端都是接地的。扩展输出口地址获得:P2.7与相或后去控制574的时钟端CP,当或门输入全0时,或门输出为0,将P0口输出的数据锁存到574的输出端。同样,可以按存储器扩展时地址计算方法,得到扩展输出口11/22/202222MCS-51单片机原理与应用8.3并行I/O口的扩展2都经过双向总线P0口,8.3并行I/O口的扩展

3地址为7FFFH。这里,只用到了一条地址线P2.7,与其余的15条地址线无关,所以扩展输出口将有许多重叠的地址。一般是将没有用到的地址线取1,如表8.5。扩展输入口地址获得:P2.7与相或后去控制244的使能端,当或门输入全0时,或门输出为0,使244芯片被选通,将外部按钮状态读入到P0口。同样,可得扩展输入口地址为7FFFH。扩展输入/出口地址虽相同,但由于受单片机读写信号不会同时为0的约束,而不会引起地址冲突。用指令来实现在图8.11中按下任意一个按钮,对11/22/202223MCS-51单片机原理与应用8.3并行I/O口的扩展3地址为7FFFH。这里8.3.28255A可编程并行I/O接口1应的LED灯就会发光:MOV DPTR,#7FFFH ;指向I/O口地址MOVXA,@DPTR ;从244读入按钮状态MOVX@DPTR,A;将按钮状态向574输出,控制LED8255A可编程并行I/O接口芯片可以同MCS-51系列单片机直接相连,可以为系统扩展3个8位的并行I/O端口,各端口的功能可由编程设定。可以通过编程来改变其功能的接口芯片称为可编程接口芯片。1.8255A引脚和内部结构8255A的内部结构框图和引脚图如图8.12(a)和(b)。各引脚的功能见表8.6,8255A共有40个引脚。表中前4行为数据总线,D0~D7用于传送CPU与8255A之间的命11/22/202224MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口1应的LED8.3.28255A可编程并行I/O接口2令与数据,A口~C口的数据线用于8255A与外设之间数据传送。、A1和A0为寻址线,A1和A0通常与单片机地址总线最低两位A1和A0相连,当有效时,A1和A0的4种编码组合00、01、10、1111/22/202225MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口2令与数据,8.3.28255A可编程并行I/O接口3分别用来选择A、B、C口和控制寄存器。、和RESET控制8255A的读写和复位。8255A可编程接口由以下4个逻辑结构组成。11/22/202226MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口3分别用来选8.3.28255A可编程并行I/O接口4(1)3个并行I/O端口每个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。通常A口和B口用作输入/输出口,而C口可分为两个4位口,也用于输入/输出。当A或B被设为选通方式时,C口将降到从属地位,成了A、B的联络信号。可以通过编程设置端口的不同工作方式,即输入方式和输出方式,对于A口还可以设定为输入/输出双向方式。(2)工作方式控制器工作方式控制器有A和B两组,A组控制A口和C口的高4位(PC7~PC4),B组控制B口和C口的低4位(PC3~PC0),对C口还可按位实现置位或复位。两组控制器共享一个控制寄存器,接收来自CPU的命令字,从而决定8255A的工作方式。11/22/202227MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口4(1)3个8.3.28255A可编程并行I/O接口5(3)数据总线缓冲器它是一个8位的双向三态驱动器,能与单片机的数据总线直接相连,D0~D7用来传送8255A与CPU间的数据、命令和状态字。(4)读写控制逻辑读写控制逻辑有6条信号线,各引脚的功能已经在表8.6中作了说明。读写控制逻辑主要用于接收单片机送来的读写命令、片选、口地址选择和复位信号,控制各个口的工作状态,管理所有的数据、控制字或状态字的传送,实现对8255A的硬件管理。这些信号线对8255A端口选择和读写操作如表8.7。2.8255A控制字与初始化编程8255A有两个控制字,即方式控制字和C口置位/复位11/22/202228MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口5(3)数据8.3.28255A可编程并行I/O接口6控制字,这两个控制字以D7位为标志来区分。若D7=1,为方式控制字;若D7=0,为C口置位/复位控制字。(1)方式控制字方式控制字设置8255A三个数据口的工作方式,其格式11/22/202229MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口6控制字,这8.3.28255A可编程并行I/O接口7和各位的含义如图8.13。(2)C口置位/复位控制字8255A初始化编程就是向控制寄存器写入方式控制字或C口置位/复位控制字。这两个控制字可按同一地址写入,也不受先后顺序的限制,8255A会11/22/202230MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口7和各位的含根据两个控制字的标志位来加以区分。例8.4试分别对8255A初始化编程:(1)A口为方式0输入,B口为方式0输出,C口高低4位均为输入;(2)使PC7=0,PC0=1。设控制寄存器的地址为03FFH。解:(1)按要求8255A方式控制字为99H,如图8.15。初始化程序段为:MOV DPTR,#03FFH ;指向8255A制寄存器地址MOVXA,#99H ;向控制口写入方式控制字MOVX@DPTR,A(2)若要使PC7=0,PC0=1,根据图8.14的C口置位/复位控制8.3.28255A可编程并行I/O接口811/22/202231MCS-51单片机原理与应用根据两个控制字的标志位来加以区分。8.3.28255A可字,容易得到置位/复位控制字分别为0EH和01H。程序段为:MOV DPTR,#03FFH ;指向8255A制寄存器地址MOVXA,#0EH ;向控制口写入C口置位/复位控制字MOVX@DPTR,A MOVXA,#01H ;向控制口写入C口置位/复位控制字MOVX@DPTR,A 3.8255A工作方式(1)方式0方式0为基本I/O方式,A~C口均可由编程设定为输入/输出。CPU可无条件对8255A进行数据传送,而不需要联络信号线。各个I/O口作为输出时,输出数据可被锁存;但作为输入时,除A口外,B和C口的输入数据不能被锁存。改变方式控制字中的相关位的值,A口、B口以及C口的高低4位可组合成16种不同的输入或输出方式。8.3.28255A可编程并行I/O接口911/22/202232MCS-51单片机原理与应用字,容易得到置位/复位控制字分别为0EH和01H。程序段为:8.3.28255A可编程并行I/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口的输入锁存器内,并使IBFA信号变高。②IBFA:A口输入缓冲器满信号,由8255A输出给CPU或外设以供查询。当IBFA=1时,表示A口已经接收到外设输入的数据,但尚11/22/202233MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口10(2)方8.3.28255A可编程并行I/O接口11未被CPU取走。此时外设应暂停发送新的数据,直到输入缓冲区变空为止。它由信号置位,由信号上升沿复位。③:输出缓冲器满信号,由8255A输出给CPU或外设以供查询。当=0时,表示CPU已将数据送到A口,外设可以将其取走。它由信号置位,由信号上升沿复位。11/22/202234MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口11未被CP8.3.28255A可编程并行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口的PC3~PC7作为联络信号,如表8.8。只有A口可编程为双向数据口,这时B口只能编程为方式0或方式1;而C口剩下的3条线PC0~PC2可作为I/O线用,或作为B口方式1下的控制线。A口方式2实际上是在方式1下输入输出的结合,其输入/输出过程与联络信号线的作用可参照方式1中说明来理解。11/22/202235MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口12④8.3.28255A可编程并行I/O接口134.8255A与MCS-51的连接8255A与MCS-51单片机的连接时,可按同名信号线直接相连,图8.16是一种常用的采用线译码的连接方法。例8.5试用图8.16电路来实现图8.11电路功能。设A口接按钮,B口接LED,实现按下任意一个按钮,对应的LED灯就会发光。解:(1)方式控制字A口为方式0输入,输入按钮状态;B口为方式0输出,决定LED是否点亮。例8.4已求出方式控制字为99H。(2)各端口地址要选中8255A,必须P2.7(A15)=0;11/22/202236MCS-51单片机原理与应用8.3.28255A可编程并行I/O接口134.828.4显示器及键盘接口

8.4.1显示器及其接口1单片机的最低两位地址线与8255A的端口选择线同名相连,因此,根据上节中介绍的地址分配计算方法可得8255A的A~C口和控制口的地址分别为7FFCH、7FFDH、7FFEH和7FFFH。(3)相关的程序段:MOV DPTR,#7FFFH ;指向8255A制寄存器地址MOVXA,#99H ;向控制口写入方式控制字MOVX@DPTR,A MOV DPTR,#7FFCH ;指向A口地址MOVXA,@DPTR ;从A口读入按钮状态INC DPTR ;指向B口地址MOVX@DPTR,A ;将按钮状态信息向B输出,控制LED1.LED显示器结构与原理LED显示器是由发光二极管组成能显示字段的显示器件,又称为数码管。它由8个发光二极管构成,其中7个发光二极管做成七段11/22/202237MCS-51单片机原理与应用8.4显示器及键盘接口

8.4.1显示器及其接口8.4.1显示器及其接口2横竖笔划的字段,组成一个8字,第8个做成小数点的形状,其外形结构如图8.17(a)。七段中取不同的组合可用来显示数字0~9、字母A~F及小数点等字符。共阳极:把显示器8个LED的阳极并接在一起,如图8.17(b);一般阳极接+5V,阴极串联电阻后,低电平来驱动。共阴极:把显示器8个LED的阴极并接在一起,如图8.17(c);一般阴极接地,阳极串联电阻,用高电平驱动。限流电阻值按单个LED显示器电流为20~30mA为宜。11/22/202238MCS-51单片机原理与应用8.4.1显示器及其接口2横竖笔划的字段,组成一个88.4.1显示器及其接口3要显示某个字形就应使此字形的相应字段点亮,这种驱动相应字段点亮的字形数据称七段码,或叫字形码。共阴极LED显示器字形与七段码关系:把七段码用一个8位二进制数来表示,其各位定义如图8.18,按此定义可以得到LED显示器的共阴七段码如表8.9中右起第2列所示,表中各字段点亮为1,不点亮为0。如要显示数字0,只有dp和g段不亮,其余字段均应点亮,所以对应的七段码为00111111B,即3FH。对于低电平驱动的共阳七段码,只要将表8.9中的共阴七段码对应取反就可以了,如要显示数字0,所对应的七段码为11000000B,即C0H。11/22/202239MCS-51单片机原理与应用8.4.1显示器及其接口3要显示某个字形就应使此字形8.4.1显示器及其接口411/22/202240MCS-51单片机原理与应用8.4.1显示器及其接口411/21/202240M8.4.1显示器及其接口52.LED显示器的显示方式及其接口LED显示器按对公共端接法分静态与动态显示两种。(1)静态显示方式图8.19是一个串行静态共阴LED显示电路,8个74LS164的CLR端接高电平,成为串入并出的移位寄存器,每个164的8个输出端Q0~Q7分别11/22/202241MCS-51单片机原理与应用8.4.1显示器及其接口52.LED显示器的显示方式8.4.1显示器及其接口6驱动对应LED显示器的8个段选端,各LED显示器的COM端接地。在串口方式0下,CPU从TXD输出移位脉冲到各个164的时钟端CP,而RXD发送移位数据(七段码)到164(0)的串行数据输入端A和B,每次输出8个字节七段码数据,由164把串口输入的数据变为并行输出去驱动各个LED显示器的8个段选端。例8.64位LED串行静态显示采用图8.19电路结构,试编写显示子程序JDIR。要显示的十六进制数存放在7CH~7FH显示缓冲区中,通过查表法获取要显示数的七段码。解:对显示子程序JDIR说明如下。操作功能:将显示缓冲区中十六进制数据送4位LED显示器以静态方式显示。入口条件:要显示的数存放在以7CH为起址的连续4个单元组成的显示缓冲区中。11/22/202242MCS-51单片机原理与应用8.4.1显示器及其接口6驱动对应LED显示器的8个8.4.1显示器及其接口7出口条件:把预置在显示缓冲区中的数通过4位LED显示器输出,更新原有的显示。汇编源程序如下:JDIR: SETB RS0 ;切换到第1组工作寄存器,保护现场 MOV SCON, #00H ;串口方式0,波特率为/12 MOV R7,#04H ;4位LED显示器 MOV R0,#7CH ;指向显示缓冲区首地址DL0: MOV A,@R0 ;从显示缓冲区取要显示的数 MOV DPTR,#SEGPT ;指向七段码表首地址 MOVCA,@A+DPTR ;查要显示的数七段码 MOV SBUF,A ;串行发送七段码DL1: JNBTI,DL1 ;状态查询,1字节发送完了吗? CLR TI ;发送完,清发送中断标志 INC R0 ;指向下一个显示缓冲单元 DJNZ R7,DL0 ;4位未传送完,继续 CLR RS0 ;切换到第0组工作寄存器,恢复现场 RETSEGPT:DB 3FH,06H,5BH,4FH,66H,6DH;共阴七段码表 DB 7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H11/22/202243MCS-51单片机原理与应用8.4.1显示器及其接口7出口条件:把预置在显示缓冲8.4.1显示器及其接口8(2)动态显示方式LED显示器动态显示方式下,CPU送出的七段码是加到所有显示器的段选端的,要决定那个显示器点亮,还取决于受I/O线控制的COM端的电平。图8.20是6位共阳LED显示器动态扫描显示电路,164的8个输出端Q0~Q7分别加到所有LED显示器的8个段选端,决定显示的字形。6个I/O线P1.0~P1.5分别连接到7406的6个输入端,7406的6个输出端控制各个LED显示器的COM端,这是个位选口,决定那一个LED显示器被点亮。P1.0~P1.5按一定的顺序轮流输出一个“0”时,经7406反相器驱动使相应的LED显示器的com端获得高电位,动态扫描将使各个显示器轮流点亮。11/22/202244MCS-51单片机原理与应用8.4.1显示器及其接口8(2)动态显示方式11/28.4.1显示器及其接口8例8.7

试编写图8.20或图8.34所示6位LED显示器动态扫描显示子程序DDIR,要显示的十六进制数存放在7AH~7FH显示缓冲区中,通过查表法获取要显示数的七段码。解:对显示子程序DDIR说明如下。操作功能:将显示缓冲区中十六进制数据送到6位LED显示器以动态方式显示。入口条件:要显示的数存放在以7AH为起址的连续6个单元组成的显示缓冲区中。出口条件:把预置在显示缓冲区中的数通过6位LED显示器11/22/202245MCS-51单片机原理与应用8.4.1显示器及其接口8例8.7试编写图8.208.4.1显示器及其接口9输出,更新原有的显示。汇编源程序如下:DDIR: SETB RS0 ;切换到第1组工作寄存器,保护现场 MOV SCON,#00H ;设定串口方式0 MOV R0,#7AH ;显示缓冲区最大地址送R0 MOV DPTR,#SEGT ;指向七段码表首地址 MOV R3,#0FEH ;位选码 MOV A,R3 ;A←R3DL0: MOV P1,A ;轮流选中某1位LED显示器 MOV A,@R0 ;从显示缓冲区取要显示的数 MOVC A,@A+DPTR ;查要显示的数七段码 MOV SBUF,A ;串行发送七段码DL1: JNB TI,DL1 ;状态查询,1字节发送完了吗? CLR TI ;发送完,清发送中断标志 ACALL D01S ;调用延时子程序 INC R0 ;指向下一个显示缓冲单元 MOV A,R3 ;取位选码 JNB ACC.5, EDIR ;6位未传送完,继续 RL A ;指向下1位,产生新的位选码 11/22/202246MCS-51单片机原理与应用8.4.1显示器及其接口9输出,更新原有的显示。汇编8.4.2键盘及其接口1 MOV R3,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: DB0C0H,0F9H,0A4H,0B0H ;共阳七段码表 DB99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH键盘是由若干个按键组成的开关阵列,可分为编码键盘与非编码键盘。编码键盘用硬件逻辑来实现对键的识别,其硬件结构复杂,成本高。非编码键盘多采用矩阵方式,利用软件识别键码及完成各种键功能处理。本节着重介绍非编码键盘与单片机的接口和编程方法。11/22/202247MCS-51单片机原理与应用8.4.2键盘及其接口1 MOV R3,A ;更新8.4.2键盘及其接口21.按键的机械特性与去抖原理按键能把机械上的通断转换成为电平的高低,提供标准的TTL电平给单片机系统。图8.21为一次按键的过程,在闭合和断开的前后沿,有一定的抖动时间,一般为5~10ms。只有去除或避开抖动时间的影响,才能保证CPU正确识别按键的闭合,可用硬件或软件去抖处理。硬件消抖常采用的一种R-S触发器电路如图8.22。开关K向下打时的抖动,经R-S触发器后输出的是一个没有毛刺的负脉冲。11/22/202248MCS-51单片机原理与应用8.4.2键盘及其接口21.按键的机械特性与去抖原理8.4.2键盘及其接口3软件消抖算法是避开按键的抖动期,在检测到有按键按下时,先执行一个10ms左右的延时等待,再次检测该键时若是否仍处于闭合时的电平,则确认该键牌闭合状态。在检测到有键释放时,也采用相同的算法检测确认,从而消除了抖动的影响。2.键盘电路原理及程序设计图8.23为独立式按键结构键盘电路,每个按键单独11/22/202249MCS-51单片机原理与应用8.4.2键盘及其接口3软件消抖算法是避开按键的抖动8.4.2键盘及其接口4占有一根I/O线,其工作状态与其它I/O线的状态无关,经每根I/O线输入的信号对应一个输入数据。独立式按键配套的软件常采用查询方式,去抖后查到哪个I/O口线是低电平表明哪个键按下,CPU根据接收到的键值,转向该键的功能处理程序。图8.24为一4×4矩阵式键盘电路,由行线X0~X3(P1.0~P1.3)和列线Y0~Y3(P1.4~P1.7)组成,按键位于行与列的交叉点上,可设置的按键数为行与列数的乘积,即16个按键。键盘的行线通过上拉电阻接+5V,当键盘上没有键闭合时所有的行线和列线都断开,行线都被置为高电平。当键盘上有键闭合时,该键所对应的行与列线短路,该行线的电平将由被短路的列线电平所决定。可用图8.25键盘扫描算法,来检测是否有键按下,11/22/202250MCS-51单片机原理与应用8.4.2键盘及其接口4占有一根I/O线,其工作状态8.4.2键盘及其接口5并确定闭合键所在的行列位置。算法从列线输出全0扫描字,读入行线状态来判断键盘中有无键按下;再从列线逐列输出0电平,读入行线状态来判断键盘中哪列有键按下。检测到电平为0的行线和列线的交叉处的键即为闭合的键,并将此行首键号与列号相加就可得到闭合键的键号。图8.24键盘电路为例,可用表8.10来说明键盘扫描过程,设9号键已闭合11/22/202251MCS-51单片机原理与应用8.4.2键盘及其接口5并确定闭合键所在的行列位118.4.2键盘及其接口6第1步使列线Y0~Y3全0,读行线状态。因9号键闭合,则该键所对应的行线X2为0,说明有键按下。第2步输出列扫描字1110,读行线状态。X0~X3都为1,说明列Y0无键按下。第3步输出列扫描字1101,读行线状态,X0~X3不全为1,说明列Y1上有键按下。找到有键按下后,扫描就会停止。如果读到行线状态全为1,列扫描将继续进行,直至步骤5扫描完为止。11/22/202252MCS-51单片机原理与应用8.4.2键盘及其接口6第1步使列线Y0~Y3全0,8.4.2键盘及其接口7确定了闭合键所在行和列为X2和Y1,则可确定行线X2和列线Y1相交的9号键处闭合状态。今闭合键所在行X2首键号为8,所在列号为1,可得闭合键的键号为9。例8.8图8.26是用8255A扩展I/O口组成的矩阵式键盘电路,8255A与MCS-51间的连接同例8.5,即PA~PC口地址分别为7FFCH~7FFEH。试编写其键盘扫描子程序。解:可按图8.25键盘扫描算法写出相应汇编子程序:操作功能:检测4×8键盘是否有键按下,并确定闭合键所在的行列位置。入口条件:在主程11/22/202253MCS-51单片机原理与应用8.4.2键盘及其接口7确定了闭合键所在行和列为X2序中已把8255A初始化为A口作基本输出,接键盘列线,C口低4位作基本输入,接4条行线。出口条件:闭合键的键号在A中。汇编源程序见教材P.185~P.186。能够实现模/数转换的设备称A/D转换器或ADC。A/D转换电路有多种,其中逐次逼近式A/D转换器在精度、速度和价格上都适中,是目前种类最多、应用最广的A/D转换器,典型器件有ADC0809、AD574A等。1.ADC0809结构框图与引脚功能ADC0809是一种8路模拟量输入的8位逐次逼近法ADC,单一+5V电源供电,功耗仅为15mW,分辨率为8位。所谓A/D转换器的分辨率是指A/D对输入电压微小变化响应能力的度量,常以输出的二进制位数或BCD码位数表示。8.5A/D转换接口111/22/202254MCS-51单片机原理与应用序中已把8255A初始化为A口作基本输出,接键盘列线,C口低ADC0809内部结构框图如图,由地址A、B、C经地址锁存与译码去控制接收IN0~IN7中哪路模拟量输入。A/D转换由START端输入一个启动正脉冲开始,同时EOC端变低,经8位A/D转换器将输入的模拟量转化为8位数字量,当A/D转换结束时EOC端恢复为高电平。转换后的数字量锁存在三态输出锁存器中,当从OE端输入一8.5A/D转换接口211/22/202255MCS-51单片机原理与应用ADC0809内部结构框图如图,由地址A、B、C经地址锁存与个正脉冲时,就可以把转换的结果从D0~D7输出,脉冲的下降沿使转换数据锁存。ADC0809为28引脚DIP封装,引脚图如图8.28,说明如下:(1)IN0~IN7:8路模拟量输入口。要求电压为0~5V,在转换过程中保持稳定。在实验时,常采用电位器提供模拟量输入,如图8.29中经W1分压向0通道输入。(2)D0~D7:转换后的数字量输出口,8位三态输出锁存缓冲,可直接与单片机数据总线相连。(3)A、B、C:模拟通道地址选择线,CBA的值为000~111时分别选中通道号IN0~IN7。通道选择逻辑详见表8.11中的中间4列。(4)ALE:地址锁存允许信号线,在ALE上升沿,A、B、C三位地址信号被锁存,译码选通对应模拟通道。8.5A/D转换接口411/22/202256MCS-51单片机原理与应用个正脉冲时,就可以把转换的结果从D0~D7输出,脉冲的下降沿8.5A/D转换接口5(5)START:转换启动信号,正脉冲有效,与相连。(6)EOC:转换结束信号。当A/D转换结束时,EOC=1,否则EOC=0。EOC信号可作为中断触发信号,也可作为程序查询转换是否结束的标志。(7)OE:输出允许信号,高电平有效,与相连,用于打开三态锁存缓冲器,把转换结果送到数字量输出口。(8)CLK:时钟信号输入,决定A/D转换的时间,其频率范围为10~1280kHZ。当时钟为500kHZ时,转换时间为128μs。转换时间是指转换器完成一次模拟量变换为数字量所需时间,转换时间的倒数为转换频率。(9)VR(+)、VR(-):参考电压输入,决定了输入模拟量的量程范围。(10)VCC、GND:+5V主电源和接地端。11/22/202257MCS-51单片机原理与应用8.5A/D转换接口5(5)START:转换启动信号8.5A/D转换接口62.ADC0809与MCS-51的连接图8.29是0809与MCS-51的连接框图,该电路既可用作中断方式,又可用作查询方式。因0809片内无时钟,把ALE信号经D触发器二分频后作为0809的时钟信号输入。单片机的数据总线直接与0809的数字量输出D0~D7相连,而低位地址线A0~A2分别与0809的A、B、C引脚相连,用于模拟输入通道的选择。P2.0(即表8.11中的A8)作为11/22/202258MCS-51单片机原理与应用8.5A/D转换接口62.ADC0809与MCS-58.5A/D转换接口7片选信号分别与和或非后与0809的START、ALE和OE相连。这样,当执行MOVX@DPTR,A写指令时,将引起信号有效,从而使ALE和START信号同时有效,ALE信号把A0~A2送来的通道号锁存,同时START信号启动A/D转换。当执行MOVXA,@DPTR读指令时,将引起信号有效,从而使将使OE信号有效,打开输出锁存器的三态门,使转换好的8位数字量被送到单片机的数据总线上。EOC通过反相器与单片机端相连,当A/D转换结束时,作为外中断请求信号,请求CPU读取转换的结果;如果是采用查询方式,则可以通过查询P3.3的状态,判断A/D转换是否结束。例8.9采用图8.29电路,对8路模拟量信号轮流采集一遍,并将转换结果依次存放到30H为首址的片外RAM以中。试编写其初始化11/22/202259MCS-51单片机原理与应用8.5A/D转换接口7片选信号分别与和8.5A/D转换接口8程序和中断服务程序。解:按本章介绍的地址分配方法,本例中ADC0809的地址分配如表8.11所示。初始化程序和中断服务程序如下:

ORG 0000H AJMP START ORG 0013H ;INT1中断入口地址 AJMP IINT1 ;转中断服务程序11/22/202260MCS-51单片机原理与应用8.5A/D转换接口8程序和中断服务程序。11/218.5A/D转换接口9 ORG 0030H ;主程序START:MOVR0,#30H ;数据暂存区首址 MOV R2,#08H ;8路采集 SETB IT1 ;置脉冲触发方式 SETB EX1 ;开外中断1中断 SETB EA ;开CPU中断 MOVDPTR,#0FEF8H;P2.0=0,选中0809,CBA=000,指向IN0WRI: MOVX@DPTR,A ;启动A/D转换 SJMP $ ;虚拟的主程序,等待中断IINT1: MOVXA,@DPTR, ;读ADC转换结果 MOVX@R0,A ;存放转换结果 INC DPTR ;指向下一通道 INC R0 ;指向下一片外RAM单元 MOVX@DPTR,A ;启动A/D转换 DJNZ R2,CONT ;8路转换未完,中断返回后继续CLR EA ;转换结束,关中断CONT:RETI11/22/202261MCS-51单片机原理与应用8.5A/D转换接口9 ORG 0030H ;主程8.5A/D转换接口10例8.10对例8.9试用查询方式编程。解:查询方式算法:当A/D转换结束后,ADC0809的EOC信号电平跳变为高,经反相器后送到P3.3的信号电平跳变为低,所以可以用指令:JBP3.3,$来查询A/D转换是否结束。汇编源程序如下: ORG 0000H AJMP START ORG 0030H ;主程序START:MOV R0,#30H ;数据暂存区首址 MOV R2,#08H ;8路采集 MOV DPTR,#0FEF8H ;P2.0=0,选中0809,CBA=000,指向IN0WRI: MOVX @DPTR,A ;启动A/D转换 JB P3.3,$ ;查询A/D转换是否结束,未完等待 MOVX A,@DPTR ;A/D转换结束,读转换结果 MOVX @R0, A ;存放转换结果 INC DPTR ;指向下一通道 INC R0 ;指向下一片外RAM单元DJNZ R2, WRI ;8路转换未完,继续 END START11/22/202262MCS-51单片机原理与应用8.5A/D转换接口10例8.10对例8.9试用查8.6D/A转换接口1D/A转换芯片有电流输出型和电压输出型之分,电压输出型又可分为单极性输出和双极性输出,本节将介绍的DAC0832是8位电流输出型D/A转换器。它与MCU完全兼容,其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到了广泛的应用。1.DAC0832结构框图与引脚功能DAC0832是用CMOS工艺制作,使用较多的一种8位分辨率的D/A转换器,其转换时间为1μs,单一电源供电,功耗为20mw。DAC0832内部结构框图如图8.30。它由一个8位输入寄存器、一个8位DAC寄存器、一个8位D/A转换器和相关逻辑控制电路组成。输入寄存器和DAC寄存器构成了两级缓存,可以实现多通道D/A的同步转换输出。11/22/202263MCS-51单片机原理与应用8.6D/A转换接口1D/A转换芯片有电流输出型和电8.6D/A转换接口2DAC0832为20引脚DIP封装,其引脚图如图8.31:(1)DI0~DI7:8位数量输入,TTL电平,有效时间>90ns。(2)ILE:数据锁存允许控制信号输入线,高电平有效。(3):为片选信号输入线,低电平有效。(4):输入寄存器写选通输入线。负脉冲有效,要求脉冲宽度大于500ns。当有效时,且=0、ILE=1,使输入寄存器的锁存信号有效,输入数字量进入输入寄存器,并在的下降沿将数据锁存。11/22/202264MCS-51单片机原理与应用8.6D/A转换接口2DAC0832为20引脚DI8.6D/A转换接口3(5):数据传送控制信号输入线,低电平有效。(6):DAC寄存器写选通线。当=0、=0,使DAC寄存器的锁存信号有效,DAC寄存器的输出和输入寄存器状态一致,并在的下降沿将输入寄存器的内容存锁存入DAC寄存器。(7)IOUT1:电流输出线1,当输入全为1时,IOUT1最大。(8)IOUT2:电流输出线2,其值要满足IOUT1+IOUT2=常数。单极性输出时接地,在双极性输出时,接运放。(9)RFB:反馈信号输入线,芯片内部此端与IOUT1间接有一个15kΩ的电阻。(10)VCC:主电源输入线,供电范围为+5V~+l5V。(11)VREF:基准电压输入线,外加高精度电压源,电压11/22/202265MCS-51单片机原理与应用8.6D/A转换接口3(5):数据传8.6D/A转换接口4范围为-10V~+l0V。VREF端电压决定D/A转换输出电压VO的范围,单极性输出电压VO=-DVREF/2N,如VREF=-5V,则VO范围为+5V~0V。(12)AGND、DGND:模拟地和数字地,前者为模拟信号和基准电源的参考地,后者是为工作电源地和数字逻辑地,两种地线在基准电源处一点共地为好。2.DAC0832与MCS-51的连接DAC0832内部,输入寄存器由ILE、和控制,而DAC寄存器由和控制。对这5个引脚的不同控制,可实现三种工作方式:直通方式、单缓冲方式和双缓冲方式。直通方式是将上述5个控制端都预置为有效,一当有数字信号输入就立即进行D/A转换。双缓冲方11/22/202266MCS-51单片机原理与应用8.6D/A转换接口4范围为-10V~+l0V。VR8.6D/A转换接口5式把0832的两个寄存器都接成受控方式,数字信号进入,需要两次选通,才能进行D/A转换,这种方式可用于多片0832对多路模拟量要求同时输出的情况。单缓冲方式需要一次选通控制,数字信号才能进入两个寄存器中,进行D/A转换,如图8.32。将P2.7去控制0832的片选和数据传送控制这样,输入寄存器和DAC寄存器的地址都是7FFFH。数据锁存允许控制信号ILE接+5V而始终有效,11/22/202267MCS-51单片机原理与应用8.6D/A转换接口5式把0832的两个寄存器都接成8.6D/A转换接口6两个寄存器的控制信号与并接后与单片机的写信号相连,所以,当0832上述5个控制信号同时有效时,将使输入数据直接锁存到DAC寄存器中,进行D/A转换,这就是单缓冲工作方式。图中0832的基准电压VREF接+5V,当CPU对0832执行一次写操作时,就会把从DI0~DI7进入的8位数字量直接写入到DAC寄存器,经D/A转换后,使0832输出的模拟信号随之相应变化。0832是电流型输出,应用时需外接运放使之成为电压型输出,μA741正是作为电流-电压转换器使用,其中W1为调零电位器,W2为可调反馈电位器,用于调满量程。例8.11采用图8.32DAC0832接口电路作为波形发生器,试编程,从VO端输出如图8.33所示三角波波形。解:三角波波形发生程序的汇编源程序da10_7.asm如下:11/22/202268MCS-51单片机原理与应用8.6D/A转换接口6两个寄存器的控制信号8.6D/A转换接口7 ORG

0000H AJMP

START ORG

0030H START:MOVDPTR,#7FFFH;选中DAC0832 MOV A,#00H ;数字量送AUP: MOVX@DPTR,A ;数字量送0832进行D/A转换 INC A ;数字量逐次加1,-VO也线性增加 JNZ UP ;直至上升到A为FFH,-VO达最大 DEC A ;00H减1后成FFHDOWN:DEC A ;从三角波顶点逐次线性下降 MOVX@DPTR,A ;数字量送0832进行D/A转换 JNZ DOWN ;直至下降到A为00H INC A ;将产生下一个三角波 SJMP UP11/22/202269MCS-51单片机原理与应用8.6D/A转换接口7 ORG 0000H11/2。本章小结(1)掌握三总线的正确连接以及片选与地址分配,是进行单片机最小应用系统片外扩展的关键。(2)掌握片外程序存储器和数据存储器的扩展。虽然单片机的地址总线为16位,外扩片外存储器的最大容量为64KB,但是仍可以通过线选法来扩展超大容量存储器。虽然程序存储器与数据存储器的地址重叠,但是由于分别使用了以及和不同的控制信号,所以不会发生地址冲突。(3)会进行并行I/O口简单扩展;会对可编程并行接口芯片8255A进行初始化编程,利用8255A芯片扩展单片机I/O口。(4)键盘与显示接口是单片机系统必备的外设。会对单片机行列式键盘和七段LED显示器接口电路进行应用设计。(5)在单片机控制系统中,会能用ADC0809芯片对外部模拟信号进行A/D转换,送入单片机进行运算和处理;会用DAC0832芯片对经过运算处理后的数字量进行D/A转换,以对输出进行控制。11/22/202270MCS-51单片机原理与应用。本章小结(1)掌握三总线的正确连接以及片选与地址分配,是进本章导读本章首先介绍MCS-51单片机最小应用系统与总线扩展,通过总线挂靠的方法,介绍了片外程序存储器和数据存储器扩展,包括大容量存储器扩展技术;并行I/O口的扩展,包括8255A可编程接口芯片的扩展技术。本章还介绍了单片机系统各种可编程接口技术,显示器及键盘接口,A/D转换与D/A转换接口,以及接口的初始化编程和程序设计。第8章MCS-51系统扩展与接口11/22/202271MCS-51单片机原理与应用本章导读第8章MCS-51系统扩展与接口11/21/20单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以独立工作的单片机系统,也称为单片机基本系统。1.单片机最小应用系统(1)8051/8751最小应用系统只要外加振荡和复位电路即构成了最小应用系统,如图8.1。由于只访问片内程序存储器,引脚要接高电平。P0~P3都可用作通用I/O。(2)8031最小应用系统除了外加振荡和复位电路外,必须扩展片外程序存储器,1.1单片机概述

8.1最小应用系统与总线扩展111/22/202272MCS-51单片机原理与应用单片机最小系统是指在尽可能少的外部电路条件下,组成的一个可以8.1最小应用系统与总线扩展

2如图8.2:引脚要接地,以访问片外程序存储器。P0作为复用的地址/数据总线,需要有两个“信号灯”来告诉CPU在P0口线上的是地址还是数据?地址锁存允许信号ALE连接到片外程序存储器的地址锁存控制端,以锁存P0口送出的低8位地址。高8位地址由P2提供。外部程序存储器选通信号连接到程序存储器的输出允许端,以控制程序存储器在单片机取指时将指令代码送上P0口。用户可使用的I/O口线只有P1和P3。图8.1与8.2的晶体振荡器电路中,电容取值为(30±10)pF,晶振频率常用6~12MHz,复位电路中电容C3及电阻11/22/202273MCS-51单片机原理与应用8.1最小应用系统与总线扩展2如图8.2:11/21R1的取值在晶振频率为12MHz时,为10μF及8.2kΩ,在晶振频率为6MHz时,为22μF及1kΩ,R2可取300Ω左右。2.单片机总线扩展与地址锁存器总线是指信息传送的公共流通线。总线具有“串行发送,并行接收”的特点,每次只能有一个数据在总线上发送,但允许有多个单元接收总线上的数据,只要相应的接收门打开就可以了。8.1最小应用系统与总线扩展

311/22/202274MCS-51单片机原理与应用R1的取值在晶振频率为12MHz时,为10μF及8.2kΩ,8.1最小应用系统与总线扩展

4

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

5

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

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

7数据就被锁存在锁存器中,输入端数据变化不再影响Q端输出。当三态门的输出允许端为低电平时,三态门处于导通状态,允许Q端输出;当为高电平时,三态门处于高阻隔离状态,不允许Q端输出。根据74LS373的特性,把作为P0口地址锁存器的连接如图8.4(b)。若采用74LS273,因其CLK端是上升沿锁存,所以ALE端输出锁存控制信号必须加一个反相器,如图8.4(c)。11/22/202278MCS-51单片机原理与应用8.1最小应用系统与总线扩展7数据就被锁存在锁存器中1.程序存储器EPROM引脚的三总线结构EPROM2764~27512的引脚如图8.5,其引脚呈三总线结构,可以方便地与图8.3MCS-51三总线扩展电路匹配而直接连接。将要介绍的EEPROM和SRAM芯片引脚也是呈三总线结构,以27512为例来说明芯片引脚的三总线结构如表8.1所示,其中VPP为芯片编程电源输入线。芯片存储容量M由地址数N决定: M=2N从图8.5可以得到2764~27512地址数为13~16个,所以各芯片的存储容量分别为:8KB~64KB。8.2存储器的扩展

8.2.1程序存储器的扩展111/22/202279MCS-51单片机原理与应用1.程序存储器EPROM引脚的三总线结构8.2存储器的扩8.2.1程序存储器的扩展211/22/202280MCS-51单片机原理与应用8.2.1程序存储器的扩展211/21/2022102.片外存储器的扩展方法EPROM的扩展可按存储器扩展方法进行,将三总线结构的存储器芯片引脚一一对应地与图8.3所示MCS-51三总线匹配连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论