您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 单片机原理及应用08第八章单片机系统扩展.
08第八章单片机系统扩展8.1程序存储器扩展8.2数据存储器扩展8.3并行I/O口扩展8.1程序存储器扩展8.1.1单片机程序存储器概述单片机应用系统由硬件和软件组成,软件的载体就是硬件中的程序存储器。对于MCS-51系列8位单片机,片内程序存储器的类型及容量如表8.1所示。表8.1MCS-51系列单片机片内程序存储器一览表单片机型号片内程序存储器类型容量/B8031无—8051ROM4K8751EPROM4K8951Flash4K对于没有内部ROM的单片机或者当程序较长、片内ROM容量不够时,用户必须在单片机外部扩展程序存储器。MCS-51单片机片外有16条地址线,即P0口和P2口,因此最大寻址范围为64KB(0000H~FFFFH)。这里要注意的是,MCS-51单片机有一个管脚——跟程序存储器的扩展有关。如果接高电平,那么片内存储器地址范围是0000H~0FFFH(4KB),片外程序存储器地址范围是1000H~FFFFH(60KB)。如果接低电平,不使用片内程序存储器,片外程序存储器地址范围为0000H~FFFFH(64KB)。EAEA8031单片机没有片内程序存储器,因此管脚总是接低电平。扩展程序存储器常用的芯片是EPROM(ErasableProgrammableReadOnlyMemory)型(紫外线可擦除型),如2716(2K×8)、2732(4K×8)、2764(8K×8)、27128(16K×8)、27256(32K×8)、27512(64K×8)等。另外,还有+5V电可擦除EEPROM,如2816(2K×8)、2864(8K×8)等等。如果程序总量不超过4KB,一般选用具有内部ROM的单片机。8051内部ROM只能由厂家将程序一次性固化,不适合小批量用户和程序调试时使用,因此选用8751、8951的用户较多。如果程序超过4KB,用户一般不会选用8751、8951,而是直接选用8031,利用外部扩展存储器来存放程序。EA8.1.2EPROM程序存储器扩展实例紫外线擦除电可编程只读存储器EPROM是国内用得较多的程序存储器。EPROM芯片上有一个玻璃窗口,在紫外线照射下,存储器中的各位信息均变1,即处于擦除状态。擦除干净的EPROM可以通过编程器将应用程序固化到芯片中。例8.1在8031单片机上扩展4KBEPROM存储器。(1)选择芯片。本例要求选用8031单片机,内部无ROM区,无论程序长短都必须扩展程序存储器(目前较少这样使用,但扩展方法比较典型、实用)。在选择程序存储器芯片时,首先必须满足程序容量,其次在价格合理情况下尽量选用容量大的芯片。这样做的话,使用的芯片少,从而接线简单,芯片存储容量大,程序调整余量也大。如估计程序总长3KB左右,最好是扩展一片4KB的EPROM2732,而不是选用2片2716(2KB)。在单片机应用系统硬件设计中应注意,尽量减少芯片使用个数,使得电路结构简单,提高可靠性,这也是8951比8031使用更加广泛的原因之一。(2)硬件电路图。8031单片机扩展一片2732程序存储器电路如图8.2。图8.2单片机扩展2732EPROM电路P2.0P2.1P2.2P2.3P0.0P0.1P0.2P0.3P0.4P0.5P0.7P0.61817141387431916151219652234567821192223171615141311109202930242322213233343536373839111D7D6D5D4D3D2D1D0Q7Q6Q5Q4Q3Q2Q1Q0A11A10A9A8A7A6A5A4A3A2A1A0O7O6O5O4O3O2O1O0OE/VPPALEPSENGOEGNDGND241218VCCGNDCEEA31GND803127324K×874LS373+5V(3)芯片说明。①74LS373。74LS373是带三态缓冲输出的8D锁存器,由于片机的三总线结构中,数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。②EPROM2732。EPROM2732的容量为4K×8位。4K表示有4×1024(22×210=212)个存储单元,8位表示每个单元存储数据的宽度是8位。前者确定了地址线的位数是12位(A0~A11),后者确定了数据线的位数是8位(O0~O7)。目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器。2732采用单一+5V供电,最大静态工作电流为100mA,维持电流为35mA,读出时间最大为250ns。2732的封装形式为DIP24,管脚如图7.3所示。图8.3EPROM2732管脚及说明A71A62A53A44A35A26A17A08O09O110O211GND12O313O414O515O616O717CE18A1019OE/VPP20A1121A922A823VCC242732其中,A0~A11为地址线;O0~O7为数据线;为片选线;/VPP为输出允许/编程高压。除了12条地址线和8条数据线之外,为片选线,低电平有效。也就是说,只有当为低电平时,2732才被选中,否则,2732不工作。/VPP为双功能管脚,当2732用作程序存储器时,其功能是允许读数据出来;当对EPROM编程(也称为固化程序)时,该管脚用于高电压输入,不同生产厂家的芯片编程电压也有所不同。当我们把它作为程序存储器使用时,不必关心其编程电压。CEOECECEOE(4)扩展总线的产生。一般的CPU,像INTEL8086/8088、Z80等,都有单独的地址总线、数据总线和控制总线,而MCS-51系列单片机由于受管脚的限制,数据线与地址线是复用的,为了将它们分离开来,必须在单片机外部增加地址锁存器,构成与一般CPU相类似的三总线结构。(5)连线说明:①地址线。单片机扩展片外存储器时,地址是由P0和P2口提供的。图7.2中,2732的12条地址线(A0~A11)中,低8位A0~A7通过锁存器74LS373与P0口连接,高4位A8~A11直接与P2口的P2.0~P2.3连接,P2口本身有锁存功能。注意,锁存器的锁存使能端G必须和单片机的ALE管脚相连。②数据线。2732的8位数据线直接与单片机的P0口相连。因此,P0口是一个分时复用的地址/数据线。③控制线。CPU执行2732中存放的程序指令时,取指阶段就是对2732进行读操作。注意,CPU对EPROM只能进行读操作,不能进行写操作。CPU对2732的读操作控制都是通过控制线实现的。2732控制线的连接有以下几条::直接接地。由于系统中只扩展了一个程序存储器芯片,因此,2732的片选端直接接地,表示2732一直被选中。若同时扩展多片,需通过译码器来完成片选工作。:接8031的读选通信号端。在访问片外程序存储器时,只要端出现负脉冲,即可从2732中读出程序。CEOE(6)扩展程序存储器地址范围的确定。单片机扩展存储器的关键是搞清楚扩展芯片的地址范围,8031最大可以扩展64KB(0000H~FFFFH)。决定存储器芯片地址范围的因素有两个:一个是片选端的连接方法,一个是存储器芯片的地址线与单片机地址线的连接。在确定地址范围时,必须保证片选端为低电平。本例中,2732的片选端总是接地,因此第一个条件总是满足的,另外,2732有12条地址线,与8031的低12位地址相连,编码结果如下:(7) EPROM的使用。存储器扩展电路是单片机应用系统的功能扩展部分,只有当应用系统的软件设计完成了,才能把程序通过特定的编程工具(一般称为编程器或EPROM固化器)固化到2732中,然后再将2732插到用户板的插座上(扩展程序存储器一定要焊插座)。当上电复位时,PC=0000H,自动从2732的0000H单元取指令,然后开始执行指令。如果程序需要反复调试,可以用紫外线擦除器先将2732中的内容擦除,然后再固化修改后的程序,进行调试。如果要从EPROM中读出程序中定义的表格,需使用查表指令:MOVCA,@A+DPTRMOVCA,@A+PC8.1.3EEPROM扩展实例电擦除可编程只读存储器EEPROM是一种可用电气方法在线擦除和再编程的只读存储器,它既有RAM可读可改写的特性,又具有非易失性存储器ROM在掉电后仍能保持所存储数据的优点。因此,EEPROM在单片机存储器扩展中,可以用作程序存储器,也可以用作数据存储器,至于具体做什么使用,由硬件电路确定。EEPROM作为程序存储器使用时,CPU读取EEPROM数据同读取一般EPROM操作相同;但EEPROM的写入时间较长,必须用软件或硬件来检测写入周期。例8.2在8031单片机上扩展2KBEEPROM。(1)选择芯片。2816A和2817A均属于5V电擦除可编程只读存储器,其容量都是2K×8位。2816A与2817A的不同之处在于:2816A的写入时间为9~15ms,完全由软件延时控制,与硬件电路无关;2817A利用硬件引脚来检测写操作是否完成。在此,我们选用2817A芯片来完成扩展2KBEEPROM,2817A的封装是DIP28,采用单一+5V供电,最大工作电流为150mA,维持电流为55mA,读出时间最大为250ns。片内设有编程所需的高压脉冲产生电路,无需外加编程电源和写入脉冲即可工作。BUSY/RDY2817A在写入一个字节的指令码或数据之前,自动地对所要写入的单元进行擦除,因而无需进行专门的字节/芯片擦除操作。2817A的管脚如图7.4所示。其中,A0~A10为地址线;I/O0~I/O7为读写数据线;为片选线;为读允许线,低电平有效;为写允许线,低电平有效;为低电平时,表示2817A正在写操作,处于忙状态,高电平时,表示写操作完毕;VCC为+5V电源;GND为接地端。2817A的读操作与普通EPROM的读出相同,所不同的只是可以在线进行字节的写入。CEOEBUSY/RDYWE图8.42817A的管脚RDY/BUSY1NC2A73A64A55A46A37A28A19A010I/O011I/O112I/O213GND14I/O315I/O416I/O517I/O618I/O719CE20A1021OE22NC23A9242817AA825NC26WE27VCC282817A的写入过程如下:CPU向2817A发出字节写入命令后,2817A便锁存地址、数据及控制信号,从而启动一次写操作。2817A的写入时间大约为16ms左右,在此期间,2817A的脚呈低电平,表示2817A正在进行写操作,此时它的数据总线呈高阻状态,因而允许CPU在此期间执行其它的任务。当一次字节写入操作完毕,2817A便将线置高,由此来通知CPU。(2)硬件电路图。单片机扩展2817A的硬件电路图如图8.5所示。图8.5单片机扩展2817AEEPROM电路P2.0P2.1P2.2WRP0.0P0.1P0.2P0.3P0.4P0.5P0.7P0.6181714138743191615123965245678910272124251918171615131211202930162322213233343536373839111D7D6D5D4D3D2D1D0Q7Q6Q5Q4Q3Q2Q1Q0WEA10A9A8A7A6A5A4A3A2A1A0I/O7I/O6I/O5I/O4I/O3I/O2I/O1I/O0OEALEPSENGOEGNDGND281420VCCGNDCEEA31GND80312817A2K×874LS373RD17P1.01231RDY/BUSY174LS08+5V+5V3k&(3)连线说明:①地址线。图7.5中,2817A的11条地址线(A0~A10,容量为2K×8位,211=2×1024=2K)中的低8位A0~A7通过锁存器74LS373与P0口连接,高3位A8~A10直接与P2口的P2.0~P2.2连接。②数据线。2817A的8位数据线直接与单片机的P0口相连。③控制线。单片机与2817A的
本文标题:单片机原理及应用08第八章单片机系统扩展.
链接地址:https://www.777doc.com/doc-2594464 .html