三总线的扩展设计方法
基本思路
51系列单片机采用总线结构,使扩展易于实现,其扩展结构如图4-3所示。
图4-3 AT89S51单片机系统扩展结构图
由图4-3可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。51系列单片机的存储器扩展既包括程序存储器扩展又包括数据存储器扩展。51系列单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。系统扩展是以51单片机为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展,首先要构造系统总线。系统总线按功能通常分为3组,如图4-3所示。
51单片机有4个8位的并行口,已占用了32条引线,而51单片机总共只有40条引脚,这8根数据线和16根地址线必须采用引脚复用的方法,也就是一根引脚必须有两种或更多种功能才能满足需要,某一根引脚究竟作何用,则需要根据硬件的要求进行设计,从而使用其不同的功能。
如何构造系统的三总线
1. 数据总线如图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口用作数据总线,数据总线是双向的,既可以由单片机传到外部芯片,也可以由外部芯片传入单片机。
➢ 控制总线: 控制总线主要负责对芯片的选通以及读/写等控制。引脚功能已在第二章中进行了详细介绍,这里不再赘述。
相关问答
单片机 的 总线 符号是?单片机的总线符号因不同的单片机类型和厂商而异。例如,对于基于8051微控制器的单片机,总线符号通常为P0、P1、P2、P3等。这些符号代表单片机的不同I/O端口或地...
单片机总线 英文名?单片机总线的英文名是MicrocontrollerBus。MicrocontrollerBus是指用于连接单片机内部各个功能模块的通信总线。单片机内部的各个功能模块,如CPU、存储器、...
51 单片机 数据 总线 是由什么引脚提供?51单片机的数据总线是由P0口(即P0.0~P0.7引脚)提供的。P0口可以设置为输入或输出模式,并用于数据传输。当P0口设置为输出时,可以通过写入P0口的数据来传输数...
51 单片机 片外 总线 结构?51单片机外部并行总线为标准的三总线结构,即8位数据总线、16位地址总线和3位控制总线。16位地址总线用来寻址64k的外部数据存储器,这个16位地址的高8位由P2口...
单片机 能否通过 总线 通讯控制多个传感器?回答如下:是的,单片机可以通过总线通讯控制多个传感器。单片机通常具有多个通信接口,如I2C、SPI、UART等,可以通过这些接口与传感器进行通信。传感器可以通过...
51 单片机 与51 单片机 如何用CAN 总线 连接通讯?急啊?通过专门芯片如TJA1050,现在数据链路层上实现差分连接,找一个带Can控制器的51单片机就很容易实现。如果没有Can控制器的单片机,你可以用uart连接,自己根据通讯...
单片机总线 采用时分复用形式时是为了?时分复用将总线上的不同信号在时间上分离,使得每个设备在不同时间段内独占...单片机总线采用时分复用形式是为了实现多个设备共享同一总线,减少硬件成本和复...
单片机 拓扑结构是什么[最佳回答]问题一:什么叫总线型单片机和非总线型单片机总线型,是局域网所有的pc都在一条线上,但是不能同时收发数据,非总线型的有星型等等!问题二:什么是集成...
地址 总线 是怎么构成的?地址总线是计算机中用于传输数据地址信息的总线,它是由一组二进制信号线组成的。地址总线的构成包括以下几个部分:1.地址线:地址线用于传输数据的地址信息...
51 单片机 I2C 总线 读一个字节if(SDA==1)retc=retc+1;是什么意思?上面2个函数看起来像是用IO模拟I2C接口的例子,如果有现成的I2C接口,那么这些事情都是由CPU的I2Ccore实现的,也就是硬件实现的。如果需要IO模拟,那么就需要...