单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第六章 存储器接口设计,单片机内集成了各种存储器和,I/O功能部件,但有时,,在进行较复杂过程的控制时,它自身的功能远远不能满足需要。为此,应扩展其外部功能部件,这就是通常所说的单片机的系统扩展问题。,第六章 存储器接口设计 单片机内集成,1,一.MCS-51系列单片机的系统总线,MCS-51,系列单片机具有,INTEL,标准并行总线,可方便的与外围设备进行连接,是单片机外部扩展的基础。,总线:所谓总线就是连接计算机各部件的一组公共信号线。,MCS-51,系列单片机使用的是并行总线结构,按其功能通常把系统总线分为三组.,6.1 MCS-51系列外部总线结构及存储器编址,一.MCS-51系列单片机的系统总线6.1 MCS-51系,2,6.1 MCS-51系列外部总线结构及存储器编址,1.,地址总线,地址总线用于传送单片机发出的地址信号,以便进行存储单元和,I/O,端口的选择。地址总线是单向传输的。,8031,一共有,16,位数据总线(,P0,P2,)。,2.,数据总线,数据总线用于在单片机与存储器之间或单片机与,I/O,之间传送数据。数据总线是双向的,可以进行两个方向的传送。,8031,共有,8,位数据总线(,P0,),6.1 MCS-51系列外部总线结构及存储器编址1.地,3,6.1 MCS-51系列外部总线结构及存储器编址,3.控制总线,控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其他部件传送给单片机的。8031的控制总线ALE,PSEN,EA,RD和WR,6.1 MCS-51系列外部总线结构及存储器编址3.控制,4,6.1 MCS-51系列外部总线结构及存储器编址,二.构造,8031,系统总线,1.P0,口作为低,8,位地址总线,由于,P0,口是分时作地址总线和数据总线,因此,需要增加一个,8,位地址锁存器。,2.以P2口作为高8位地址总线,与P0口提供的低8位地址总线,构成了完整的16位地址总线。,6.1 MCS-51系列外部总线结构及存储器编址二.构造,5,6.1 MCS-51系列外部总线结构及存储器编址,3.各控制信号线。除了地址线和数据线之外,还需要一些控制信号线,已构成系统的控制总线,包括:,(1)ALE 作为低8位地址锁存控制信号,(2)PSEN 作为扩展程序存储器的选通信号,(3)EA 作为内外程序存储器的选择控制信号,(4)RD和WR 作为扩展数据存储器和I/O口 的读选通、写选通信号,6.1 MCS-51系列外部总线结构及存储器编址 3.,6,6.1 MCS-51系列外部总线结构及存储器编址,三.存储器地址空间分配,实际的单片机系统设计中,如何将64K空间分配给各个程序存储器和数据存储芯片,并且使各芯片之间一个存储单元对应一个地址,地址不发生重叠,从而避免发生数据冲突,这就是存储器地址空间的分配问题。,6.1 MCS-51系列外部总线结构及存储器编址三.存,7,6.1 MCS-51系列外部总线结构及存储器编址,MCS-51单片机发出的地址是对应的每一个存储单元的,对于外扩外设的单片机系统而言,要完成存储单元的选择,必须要进行两步选择:,一是必须选中该芯片,称为片选,二是必须选择该芯片的某一单元,称为单元 选择。,其中,片选都是运用的高位线。,6.1 MCS-51系列外部总线结构及存储器编址,8,6.1 MCS-51系列外部总线结构及存储器编址,线选法,线选法就是利用系统的高位地址线作为存储器芯片的片选信号。,优点:不需要加地址译码器,成本低,体积小。,缺点:可寻址的芯片数目受到限制,地址空间不连续,例如:,用线选法扩展4K的RAM(2片6116),6.1 MCS-51系列外部总线结构及存储器编址线选法,9,6.1 MCS-51系列外部总线结构及存储器编址,译码法,译码法就是使用译码器对单片机的高位地址进行译码,译码器的译码输出作为存储器芯片的片选信号。,优点:有效的利用存储空间,使用于大容量多芯片的存储器扩展。,常用的译码器芯片:74LS138(3-8译码器),74LS139(2-4译码器),6.1 MCS-51系列外部总线结构及存储器编址译码法,10,6.1 MCS-51系列外部总线结构及存储器编址,例1:用译码法扩展8片6264芯片(8K),例2:用译码法(74LS138)将64K字节的存储空间全部划分为每块4K字节存储空间,该如何划分?,练习6.1:如何用74LS138实现对每块为2K存储空间的划分,画出连接电路,写出译码器输出所对应的地址范围。,6.1 MCS-51系列外部总线结构及存储器编址例1:,11,6.2 程序存储器的扩展,单片机的程序存储器是只读存储器,,程序存储器(ROM)一旦写入就不能随意更改。,6.2 程序存储器的扩展,12,6.2,程序存储器的扩展,二、程序存储器的扩展方法,1.,控制线的连接,ALE连接到地址锁存器(74LS373)的 锁存允许端(G),PSEN连接到程序存储器的OE端,EA现在一般的情况是悬空,6.2 程序存储器的扩展二、程序存储器的扩,13,6.2,程序存储器的扩展,2.数据线的连接,程序存储器8位数据线D0D7连接到单片机的P0口。,3.地址线的连接,根据存储器容量的大小,将存储器的低8位地址与锁存器的输出端相连接,将存储器的高8位地址线连接到单片机的P2口。,6.2 程序存储器的扩展2.数据线的连接,14,6.2,程序存储器的扩展,例3:用27C256(32K)扩展程序存储器。,例4:用译码法扩展4片27128(16K)程序存储器,6.2 程序存储器的扩展例3:用27C,15,6.3 数据存储器的扩展,MCS-51单片机内部有128256B的RAM,在实际工作中,当数据存储量需要较大时,就必须通过并行总线扩展外部的数据存储器(RAM)。,6.3 数据存储器的扩展,16,6.3 数据存储器的扩展,一、数据存储器的扩展方法,数据存储器的扩展方法和程序存储器的扩展方法大致相同,地址线和数据线的连接方法与程序存储器的连接方法一致,不同的是控制信号线的连接,6.3 数据存储器的扩展一、数据存储,17,6.3 数据存储器的扩展,1.外部数据存储器控制信号的连接,单片机的读控制线RD连接到存储器的输出允,许线OE,用于读操作,单片机的写控制线WR连接到存储器的写入允,许线WE,用于写操作。,单片机的程序存储器选通信号PSEN悬空不用,6.3 数据存储器的扩展1.外部数,18,6.3 数据存储器的扩展,例6:用线选法扩展3片6264(8K),并分析每一片6264所对应的存储空间。,例7:用译码法扩展4片62128(16K),并分析每一片62128所对应的存储空间。,6.3 数据存储器的扩展例6:用线选法,19,6.4 存储器的综合扩展,实际单片机应用系统中,经常既需要扩展程序存储器,又需要扩展数据存储器。,扩展的方法:只需要根据各自控制总线的特点,将其“挂”接到三总线上即可。,例8:扩展程序存储器一片27C256(32K),和数据存储器一片6264(8K),6.4 存储器的综合扩展实际单片机应用,20,6.4 存储器的综合扩展,例9:采用译码法扩展2片8K的程序存储器(2764)和2片8K的数据存储器(6264)。,6.4 存储器的综合扩展例9:采用译码,21,8.4 I/O,口的扩展,MCS-51,系列单片机共有,4,个,8,位的,I/O,口。在实际应用中只有,P1,可以作为单纯的,I/O,口。因此必须作,I/O,口的扩展。,8.4 I/O口的扩展,22,8.4 I/O,口的扩展,应用系统中采用简单的,TTL,电路可以直接传送并行数据,实现简单的,I/O,口的扩展。,采用,74LS244,作扩展输入。,采用,74LS273,作扩展输出。,8.4 I/O口的扩展,23,8.5,综合功能的扩展,8.5.1 8155,扩展,8155,是,Intel,公司研制的通用,I/O,接口芯片,共有,3,个部分组成:,256,个字节的内部,RAM,;一个,14,位的定时/计数器;,3,个可编程的,I/O,口,8.5 综合功能的扩展8.5.1 8155扩展,24,8.5,综合功能的扩展,一、8155,的引脚和结构,8.5 综合功能的扩展一、8155的引脚和结构,25,8.5,综合功能的扩展,二,、8155,的,I/O,地址及,RAM,编址,8.5 综合功能的扩展二、8155的I/O地址及RAM编,26,8.5,综合功能的扩展,三、,8155,的寄存器,(1),命令寄存器,8155只有一个控制字,命令寄存器决定A口、B口、C口和定时器/计数器的工作方式及功能。其位格式为:,8.5 综合功能的扩展三、8155的寄存器,27,8.5,综合功能的扩展,PA:决定A口的工作方式,PA=0,A口为输入方式;,PA=1,A口为输出方式。,PB:决定B口的工作方式。,PB=0,B口为输入方式;,PB=1,B口为输出方式。,8.5 综合功能的扩展PA:决定A口的工作方式,28,8.5,综合功能的扩展,PC2、PC1:决定PC口的工作方式。,PC2PC1(ALT1)=00,A口、B口为基本输入/输出,C口为基本输入口;,PC2PC1(ALT2)=01,A口、B口为基本输入/输出,C口为基本输出口;,PC2PC1(ALT3)=10,A口为选通输入/输出口,B口为基本输入/输出口;,PC2PC1(ALT4)=11,A口、B口为选通输入/输出口。,8.5 综合功能的扩展PC2、PC1:决定PC口的工作方,29,8.5,综合功能的扩展,IEA:A,口中断允许位,。,IEA=1,允许,A,口中断,,IEA=0,禁止,A,口中断,。,IEB:B,口中断允许位,。,IEB=1,允许,B,口中断,,,IEB=0,禁止,B,口中断,。,8.5 综合功能的扩展IEA:A口中断允许位。,30,8.5,综合功能的扩展,TM2、TM1,:,定时/计数器命令。,TM2TM1=00,,空操作,不影响计数器操作;,TM2TM1=01,,停止计数器计数;,TM2TM1=10,,定时/计数器长度减为0时停止计数;,TM2TM1=11,,,连续方式,当计数器赋予初值后,立即启动定时/计数器;若正在计数,则置新的方式和长度,计数结束后按新的方式和新的时间常数计数。,8.5 综合功能的扩展TM2、TM1:定时/计数器命令。,31,8.5,综合功能的扩展,(2)状态寄存器,状态寄存器由7位寄存器组成,其中6位用于表示A口和B口的状态,1位表示定时/计数器的状态。此寄存器为只读寄存器其位格式为:,8.5 综合功能的扩展(2)状态寄存器,32,8.5,综合功能的扩展,INTRA:A口中断请求位。,BFA:A口缓冲器满标志位。,INTEA:A口中断允许位。,INTRB:B口中断请求位。,BFB:B口缓冲器满标志位。,INTEB:B口中断允许位。,TIMER:定时中断请求位。,8.5 综合功能的扩展INTRA:A口中断请求位。,33,8.5,综合功能的扩展,四、8155,的定时/计数器,8.5 综合功能的扩展四、8155的定时/计数器,34,8.5,综合功能的扩展,其中,T0T14构成14位计数器。定时/计数器是递减计数器,对输入脉冲计数。当计数器计到0时,可从定时计数器的输出端输出一个脉冲或方波。M2M1决定定时器的输出波形。,M2M1=00时,定时/计数器的输出波形为单个方波;,M2M1=01时,定时/计数器的输出波形为连续方波;,M2M1=10时,定时/计数器的输出波形为单个脉冲;,M2M1=00时,定时/计数器的输出波形为连续脉冲。,8.5 综合功能的扩展其中,T0T14构成14位计数器,35,