您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > (第4章单片机系统扩展)
1单片机本身的I/O口可以实现简单的I/O操作,但其功能十分有限。因此,往往需要外部存储器及接口芯片的扩展。如:MCS-51单片机外部总线的扩展、存储器扩展、并行I/O口扩展、串I/O口扩展、显示器及键盘扩展、A/D扩展、D/A扩展电路的硬件设计及软件编程、打印机接口技术等。第4章单片机系统扩展技术24.1MCS-51单片机外部总线扩展一、单片机的三总线结构为了使单片机能方便地与各种扩展芯片连接,常将单片机的外部总线连接为一般的微机三总线结构形式。对于MCS-51系列单片机,三总线由下列通道口的引线组成。(1)地址总线:由P2口提供高8位地址线,由P0口与地址锁存器提供低8位地址线。(2)数据总线:由P0口提供。(3)控制总线:扩展系统时提供控制信号。常用的如下所述。①ALE—地址锁存信号,用以实现对低8位地址的锁存(高电平有效)②—片外程序存储器读信号(低电平有效)③—片外数据存储器读信号(低电平有效)④—片外数据存储器写信号(低电平有效)3•下图为单片机扩展成三总线结构的示意图4二、典型的低8位地址总线的扩展电路P0口是一个复用口,地址信号在ALE上升后有效,在ALE下降后消失。因此,为了锁存地址信息,可以用ALE的负跳变将地址信息存入地址锁存器。下图为采用74LS373、INTEL8282、74LS273芯片作为地址锁存器的MCS-51系统扩展低8位地址总线的电路。5MCS-51系列单片机的数据存储器与程序存储器的地址空间是互相独立的,其片外数据存储器的空间可达64KB,程序存储器空间也可达64KB。其中8051、8751、89C51型单片机含有4KB的片内程序存储器,而8031型单片机则无片内程序存储器。当采用8051、8751、89C51型单片机的用户程序超过4KB、或采用8031型单片机时,就需要进行程序存储器的扩展。而片内的数据存储器空间只有128字节。当片内的数据存储器不够用时,则需进行数据存储器的外部扩展。4.2存储器扩展技术6一、单片机的地址译码方法扩展地址译码方法通常有3种方法:线选法、译码法和片外体选法。•1.线选法就是直接利用系统的地址线作为存储器芯片的片选信号。译码时只需将用到的地址线与存储器芯片的片选端直接相连即可。特点是译码电路简单。但系统中有多片需要扩展时,地址会有不连续的情况,使用时需特别注意(在多片程序存储器系统中尽量不用这种方法)。7•2.译码法就是使用地址译码器对系统的片外地址进行译码,以译码输出作为存储器芯片的片选信号。常用的译码器有74LS139(2入4出)、74LS138(3入8出)、74LS154(4入16出)等。译码法又分为完全译码和部分译码两种。(1)完全译码地址译码器使用了全部地址线,地址与存储单元一一对应,也就是1个存储单元只占用1个惟一的地址。(2)部分译码地址译码器仅使用了部分地址线,地址与存储单元不是一一对应,1个存储单元占用几个不同地址段的地址。8•3.片外体选扩展方式对于MCS-51单片机的数据存储器的直接扩展范围为64KB。如果需要扩展大于64K的存储空间,可将待扩展的存储体划分成可直接扩展的多个存储体。利用输出端口控制选择具体的每个存储体。采用这种方法,可使MCS-51单片机根据需要扩展大于64KB的存储体。9二、程序存储器的扩展•1.只读存储器(1)可擦除ROM(EPROM或E2PROM)可擦除ROM芯片的内容可以由用户编程写入,并允许反复擦除重新编程写入。EPROM为紫外线可擦除ROM。E2PROM为电可擦除ROM,信息断电后能保存数据。具体型号如下:EPROM:2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)E2PROM:2864(8KB)10(2)FlashROM•FlashROM又称快闪存储器,是一种非易失性、电可擦除型存储器。其特点是可快速在线修改其存储单元中的数据。标准改写次数可达1万次,而成本却比普通E2PROM低得多,因而可替代E2PROM。•目前,许多公司生产的以MCS-51为内核的单片机,在芯片内部集成了数量不等的FlashROM。•例如,美国ATMEL公司生产的89C51,片内有4KB的FlashROM。与8051单片机完全兼容,目前已广泛的应用。112.EPROM2764简介•EPROM2764容量为8KB×8位,在单片机中常用于扩展程序存储器。其引脚功能如下:•A12~A0—13位地址线;•Q7~Q0—8位数据引脚;•—片选信号,低电平有效;•—输出允许信号,低电平有效时,寻址单元的内容才能被读出;•—编程允许信号,低电平有效;•—编程电源。当芯片编程时,该端加上编程电压(+25V或+12V);正常使用时,该端加+5V电源。CEOEPPPV12133.MCS-51单片机访问程序存储器时,所用的控制信号如下所述:•ALE—用于低8位地址锁存控制信号。•—片外程序存储器读信号。可直接连EPROM。•—访问片内程序存储器、片外程序存储器的控制信号。=1时,访问片内程序存储器;=0时,访问片外程序存储器。•如果指令是从片外EPROM中读取时,除了ALE用于低8位地址锁存信号外,需用于控制EPROM的数据输出允许信号。此外,还要用P0口分时用作低8位地址总线和数据总线。P2口作高8位地址总线。PSENEAEAEA144.典型的程序存储器扩展方法存储器扩展的核心问题是存储器的编址问题。所谓编址就是给存储单元分配地址。下面就介绍单片机应用系统中常用的3种扩展方法。•(1)不用片外译码的单芯片程序存储器扩展由于8031单片机无片内程序存储器,因此必须外接程序存储器以构成最小系统。下图中经74LS373输出的是EPROM2764所需的低8位地址,EPROM2764的高5位地址由8051的P2.0~P2.4实现。EPROM2764的地址范围是0000H~1FFFH。•注意:该图接法时,8051没有使用片内4KB程序存储器。这种方法常用于系统中只有一片程序存储器扩展的情况。1516(2)采用线选法的多片程序存储器的扩展•下图为采用线选法存储器扩展电路。使用3片EPROM2764扩展3*8KB的外部程序存储器。图中采用8751的P2.7(A15)、P2.6(A14)、P2.5(A13)三根地址线分别连接3#、2#、1#EPROM2764芯片的片选信号端。•采用线选法选中3个芯片。当P2.7(A15)、P2.6(A14)、P2.5(A13)分别为低电平时,选中各自对应芯片。该扩展电路各存储器地址分别为:1#:C000H~DFFFH。2#:A000H~BFFFH。3#:6000H~7FFFH。•注意:该图接法时,8751使用了片内4KB程序存储器,其地址为0000H~03FFH。•这种方法常常用于系统中有多片程序存储器扩展。缺点是存储器的地址不连续。1718(3)采用地址译码器的多片程序存储器的扩展•下图所示为译码法存储器扩展电路。扩展电路采用74LS138译码器实现地址译码。19根据74LS138译码器的控制端可知,地址线与各片EPROM2764芯片的对应的关系如下表所示。由此可知,该扩展电路的两片2764存储器的地址分别为:(1)1#芯片的地址译码的范围是0000H~1FFFH。(2)2#芯片的地址译码的范围是2000H~3FFFH。这种方法的特点是存储体地址连续。在系统及成本允许的条件下,建议使用这种程序存储器扩展方式。P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.01#2764000XXXXX2#2764001XXXXXA15A14A13A12A11A10A9A820三、数据存储器的扩展•MCS-51系列单片机内有128字节的RAM数据存储器,对需要大容量数据缓存器的应用系统,如语音录入回放系统中采样数据容量很大,就需要在单片机外部扩展大容量的数据存储器才能满足应用要求。数据存储器用于存储现场采集的原始数据、运算结果等,所以外部数据存储器的内容需要能够随机读出或写入。1.常用静态数据存储器芯片RAM电路有6116(2KB)、6264(8KB)、62128(16KB)。2122引脚功能:Ai~A0—地址线,i=10(6116),i=12(6264);I/O7~I/O0—8位数据线;•—片选信号,低电平有效;•—数据输出允许信号,当有效时,被寻址单元的内容才能被读出;•—写信号,低电平有效。CEOEWE232.单片机访问片外数据存储器扩展的常用控制信号如下所述:•ALE—地址锁存信号,用以实现对低8位地址的锁存;—片外数据存储器写信号;—片外数据存储器读信号。3.数据存储器一般的扩展方法单片机扩展的外部数据存储器读/写数据时,主要考虑如何将所用的控制信号ALE、读写信号及地址线与数据存储器的连接问题。ALE信号的作用与外扩程序存储器的作用相同,即锁存低8位地址。WRRD24下图片选信号接地。数据存储器的地址可以为0000H~07FFH,也可以是0800H~0FFFH等多块空间。25四、程序存储器与数据存储器的综合扩展•可采用线选法或译码法,将数据存储器与程序存储器等同看待,但注意CPU对数据存储器与程序存储器的控制信号不同,所以数据存储器与程序存储器地址可以重叠。•下图为综合存储器扩展连接图,该系统既包含数据存储器6264的扩展,又包含程序存储器2764的扩展,两种芯片的控制信号不同:数据存储器6264可读可写,程序存储器2764只读不可写。RAM6264的数据总线控制信号线为、;EPROM2764的数据总线控制信号线为。26•如读取EPROM2764程序存储器中的内容,必须采用如下指令读取数据。MOVCA,@A+PC或MOVCA,@A+DPTR•如读取RAM6264数据存储器中的内容,必须采用如下指令读取数据。MOVXA,@Ri或MOVXA,@A+DPTR27•下图中74HC139为双2-4译码器,当P2.7、P2.6、P2.5的组合为000时选中Y0;组合为001时选中Y1;组合为010时选中Y2。•图中4个芯片IC0~IC3(由左至右)的地址分别为0000H~1FFFH,2000H~3FFFH,0000H~1FFFH,4000H~5FFFH。284.3并行I/O口扩展技术以显示与键盘为例,介绍并行I/O口扩展技术。一、简单I/O口的扩展在实际应用中经常会遇到开关、键盘、数码显示器等外设,主机可以随时与这些外设进行信息交换。在这种情况下,只要按照“输入三态,输出锁存”的原则与总线相连。例如,采用74LS244(8位三态缓冲器)组成输入口,采用74LS273(8D锁存器)等组成输出口。29•1.结构30图中P2.0分别和、信号相“逻辑或非”后,分别作为输入口和输出口的片选控制及锁存信号。因此,I/O口相应的地址号为:1111,1110,1111,1111(B)=FEFFH。程序:MOVDPTR,#0FEFFH;送外部端口地址,(P2.0)=0MOVXA,@DPTR;读入开关状态MOVX@DPTR,A;根据开关状态,驱动发光二极管WRRD31二、LED数码显示器的并行I/O口扩展1.LED数码显示器的结构LED数码显示器是一种由LED发光二极管组合显示字符的显示器件。其内部结构和连接方法如下图所示。32•(1)共阴极接法把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。每个发光二极管的阳极通过电阻与输入端相连。如上图(b)所示。•(2)共阳极接法把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接5V。每个发光二极管的阴极通过电阻与输入端相连。如上图(c)所示。332.LED数码显示器的显示段码为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED显示器的显示段码为1个字节。各段码位的对应关系表段码段D7D6D5D4D3D2D1D0位码段dpgfedcba34•七段LED显示器字形码表字形共阳极码共阴极码字形共阳极码共阴极码0C0H3FH990H6FH1F9H06HA88H77H2A
本文标题:(第4章单片机系统扩展)
链接地址:https://www.777doc.com/doc-5449865 .html