三总线的扩展设计方法
基本思路
51系列单片机采用总线结构,使扩展易于实现,其扩展结构如图4-3所示。
图4-3 AT89S51单片机系统扩展结构图
由图4-3可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。51系列单片机的存储器扩展既包括程序存储器扩展又包括数据存储器扩展。51系列单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。系统扩展是以51单片机为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展,首先要构造系统总线。系统总线按功能通常分为3组,如图4-3所示。
51单片机有4个8位的并行口,已占用了32条引线,而51单片机总共只有40条引脚,这8根数据线和16根地址线必须采用引脚复用的方法,也就是一根引脚必须有两种或更多种功能才能满足需要,某一根引脚究竟作何用,则需要根据硬件的要求进行设计,从而使用其不同的功能。
如何构造系统的三总线
如图4-4所示为单片机的三总线结构形式。51单片机的P0口是一个多功能口,如果扩展外围芯片,P0口就可以作为数据总线和低8位的地址总线来使用。CPU先从P0口送出低8位地址,然后从P0口送出数据或接收数据。
图4-4 单片机的三总线结构形式
2. 地址总线
在51单片机访问外部存储器或I/O口时,可能需要超过8位的地址线,这时就用P2作为高8位的地址线。在P0口出现低8位地址信号时,P2口也出现高8位的地址线,这样共有16根地址线。
3. 控制总线
除地址线和数据线外,还要有系统的控制总线。这些信号有的是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括:
(1)作为外扩程序存储器的读选通控制信号。
(2)作为外扩数据存储器和I/O的读、写选通控制信号。
(3)ALE作为P0口发出的低8位地址锁存控制信号。
(4)为片内、片外程序存储器的选择控制信号。
可见,AT89S51的4个并行I/O口,由于系统扩展的需要,真正作为数字I/O使用,就剩下P1和P3的部分口线了。
4. 地址、数据分离电路
单片机的P0口作为数据总线和低8位的地址总线使用,如果直接将P0口接到扩展芯片的数据总线和低8位地址线是行不通的,例如,单片机选定了外部存储器的0000H单元,P0、P2口就应当输出00H,这样才能选中0000H单元,在选中0000H单元后,就从这个单元读取数据,这个数据的值是随机的,假设这个数据是10H,P0口就变成了10,但这样就不再是选中0000H单元,而是选中了0010H单元,显然,这从逻辑上是讲不通的,所以P0口送出地址和接收或更新出数据是分时进行的,一定要把地址和数据区分开。
如图4-5所示是P0口的地址/数据复用关系,从图中可以看出,在每一个周期里,P2口始终是输出高8位的地址信号,而P0口却被分成两个时段,第一个时段输出低8位的地址,而第二个时段则是传输数据,为了要把低8位的地址信号提取出来,要用到一个锁存器芯片。从图4-5中还可以看出,在ALE的上升沿到来时,P0口是处于“浮空”状态,也说“高阻”状态,即构成P0口输出的两个晶体管均处于“截止”的状态,这样不会影响到锁存器。ALE信号就是MCS-51单片机提供的专用于数据/地址分离的一个引脚。
图4-5 P0口地址、数据复用示意图
对于片外数据存储器,单片机使用了与访问片内数据存储器不同的指令进行访问。此外,如果扩展了其他连接如I/O等芯片,也要占用RAM空间。
单片机最小应用系统及外部扩展总线
单片机的最小应用系统,是指能维持单片机运行的最简单配置的系统。这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关状态的输入/输出控制等。
最小应用系统的功能取决于单片机芯片的技术水平。对于片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振、复位电路和电源的单个单片机;对于片内无ROM/EPROM的单片机,其最小系统除了外部配置晶振、复位电路和电源外,还应当外接EPROM或EEPROM作为程序存储器用。
8051/8751最小应用系统
8051/8751单片机内含有ROM/EPROM,用8051/8751单片机构成最小应用系统时,只需将单片机接上时钟电路和复位电路即可,如图7-1所示,因没有外部存储器扩展,这时接高电平,P0、P1、P2、P3都可作用户I/O口使用。
用8051/8751芯片构成的最小系统简单、可靠。但由于集成度的限制,最小应用系统只能用作一些小型的控制单元。同时,P0、P1、P2口的应用与开发环境差别较大。8051的应用软件须依靠半导体厂家用半导体掩膜技术置入,故8051应用系统一般用作大批量生产的应用系统。
图7-1 8051和8751最小应用系统电路
8031最小应用系统
8031单片机片内无程序存储器,因此,其最小应用系统必须在片外扩展EPROM。图7-2所示为8031外接程序存储器的最小应用系统。
图7-2 8031最小应用系统
与8051/8751最小应用系统一样,也必须有复位及时钟电路。片选线
直接接地,表明选择外部存储器;片外4K字节单元地址要求地址线12根(A 0 ~A 1 1),由P0和P2.0~P2.3组成;程序存储器的取指信号为
;地址锁存器的锁存信号为ALE。 7.1.3 MCS-51系列单片机的外部扩展总线
在进行系统扩展中,首先需要面对的问题是如何与外围芯片连接。为了方便解决这一问题,往往利用地址锁存器将单片机形成三总线结构,即地址总线(Address Bus)、数据总线(Data Bus)和控制总线(Control Bus),如图7-3所示。
➢ 地址总线: P2口作为地址总线的高8位,在访问16位的地址时,用于输出16位地址的高8位A 15 ~A 8 ;P0口分时复用地址/数据总线,地址锁存器用于锁存低8位地址A 7 ~A 0 。
图7-3 单片机三总线结构
提示
地址总线的根数决定了单片机可以访问的存储单元数量和I/O端口的数量。n条地址线可以产生2 n 个地址编码。
常用的地址锁存器为74LS373,构成地址总线时,它的8个输入端与P0口相连,其使能端连接单片机的ALE端。ALE信号为1时,P0口输出的数据被地址锁存器锁存,用作地址信号A 7 ~A 0 ;ALE信号为0时,P0口用于传输指令或数据(此时地址锁存器中的地址信号保持不变,能够保证数据传输给正确的地址)。
➢ 数据总线: P0口用作数据总线,数据总线是双向的,既可以由单片机传到外部芯片,也可以由外部芯片传入单片机。
➢ 控制总线: 控制总线主要负责对芯片的选通以及读/写等控制。引脚功能已在第二章中进行了详细介绍,这里不再赘述。
相关问答
什么是 单片机 的 扩展总线 ?总线就是通常所说的地址总线,数据总线,控制总线。在51单片机中,为了与并行接口的外设及扩展存储器传输数据就需要扩展总线总线就是通常所说的地址总线,数据...
当MCS-51 单片机 应用系统需要 扩展 外部存储器或其它接口芯片时,( )可作为低8位地址 总线 使用?答:当MCS-51单片机应用系统需要扩展外部存储器或其它接口芯片时,(P0)可作为低8位地址总线使用。准确讲,是P0口经74LS373锁存器锁存后得到低8位地址。所以...
89c51 单片机 的并行 扩展总线 如何形成的?16位地址的高8位A8~A15由P2口直接提供,低8位地址A0~A7由P0口通过373地址锁存器提供,数据总线D0~D7由P0口直接提供,控制总线为WR、RD(访问外部RAM)PSEN(...16....
怎么 扩展单片机 的IO口-ZOL问答1、通过并行扩展芯片,比如8255,8155等。2、通过锁存器或缓冲器来扩展,比如74LS273,74LS373,74LS244,74LS245等等3、通过串口-并口来扩展,比如74HC595,...
当 单片机 外部 扩展 RAM和ROM是时,P0口,P1口,P2口,P3口各起什么...[最佳回答]不知道你说的是哪种单片机,如果是常用的51单片机的话,其P1口仅作为I/O,无第二功能;P3口作为I/O的同时,其第二功能是一些特殊功能,非扩展存储.P0口用...
8051外部 扩展 需要多少地址 总线 ?P0口是数据总线与低8位地址总线复用的,所以要加锁存器来锁存低8位地址,且这个锁存器的LE端要接单片机的地址锁存输出端ALE,P2口只做高8位地址总线,所以不需要...
单片机总线 是什么?总线是一种内部结构,它是cpu、内存、输入、输出公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接。作用单片机的...这方...
单片机扩展 IO口的地址如何定义?如果你打算用总线接口的话,直接定义一个变量到绝对地址,并在编译环境里面选择large模式(默认small),unsingedintic74573_at_0xF0FF如果是打算不用总线,...
51 单片机 外部 总线 有几种?51单片机外部总线共有三种,分别是数据总线、地址总线、控制总线。1、“数据总线DB”用于传送数据信息。数据总线是双向三态形式的总线,即他既可以把CPU的数据...
什么是8051 单片机 的三 总线 结构?单片机控制系统的三总线是指数据总线、地址总线、控制总线。1、数据总线51单片机的数据总线为P0口,CPU从P0口送出和读回数据。2、地址总线51系列单片...