1.系统总线
MCS-51单片机使用的是并行总线结构,按照总线功能通常把系统总线分为三组,即地址总线、数据总线和控制总线。
(1)地址总线(Address Bus,简写AB)
地址总线用于传送地址信号,以选择存储单元和I/O端口。地址总线是单向的,地址信号只能由单片机向外送出。
地址总线的数目决定着可直接访问的存储单元的数目,例如n位地址,可以产生2n个连续地址编码,因此可访问2n个存储单元,即通常所说的寻址范围为2n个地址单元。MCS-51单片机地址总线有16条地址线,因此数据存储器和程序存储器的最大扩展空间各为64KB,即216个地址单元。扩展后,系统形成了两个并行的64KB外部存储器空间。
(2)数据总线(Data Bus,简写DB)
数据总线用于在单片机与存储器之间或单片机与I/O端口之间传送数据。单片机数据总线的位数与单片机处理数据的字长一致,例如MCS-51单片机是8位字长,所以数据总线的位数也是8位。数据总线是双向的,可以进行两个方向的数据传送,但是在某一时刻数据的传送方向是单向的。
(3)控制总线(Control Bus,简写CB)
控制总线实际上就是一组控制信号线,包括单片机发出的,以及从其他部件传送给单片机的。对于一条具体的控制信号线来说,其传送方向是单向的,但是由不同方向的控制信号线组合的控制总线则表示为双向。
由于采用总线结构形式,因此大大减少了单片机系统中传输线的数目,提高了系统的可靠性,增加了系统的灵活性。此外,总线结构也使扩展易于实现,各功能部件只要符合总线规范,就可以很方便地接入系统,实现单片机扩展。
2.总线构造
既然单片机的系统扩展是通过系统总线进行的,因此单片机扩展的首要问题就是构造系统总线,然后再往系统总线上“挂”存储芯片或I/O接口芯片,“挂”存储器芯片就是存储器扩展,“挂”I/O接口芯片就是I/O扩展。总之挂什么芯片就是什么扩展。
由于单片机芯片的引脚较少,并没有提供专用的地址线和数据线,因此采用其I/O端口线的复用技术,把I/O端口线改造成为总线。MCS-51单片机地址线和数据线构造情况如图6-2所示。
图6-2 MCS-51单片机扩展总线构造图
下面说明“构造”总线的具体方法。
(1)以P0口的8位口线作为数据线/低8位地址线(www.daowen.com)
这里要指出的是P0口线即作低8位地址线使用又作为数据线使用,具有双重功能,因此需采用复用技术,对地址和数据进行分离,为此我们在构造地址总线时要增加一个8位地址锁存器。首先由锁存器暂存并为系统提供低8位地址,其后P0口线作为数据线使用。
根据指令时序,P0口输出有效的低8位地址时,ALE信号正好处于正脉冲顶部到下降沿时刻。为此应选择高电平或下降沿选通的锁存器作为地址锁存器,通常使用的有74LS273或74LS373。
(2)以P2口的口线作为高位地址线
如果使用P2口的全部8位口线作为高位地址线,再加上P0口提供的低8位地址,则形成了完整的16位地址总线。使单片机的扩展寻址范围达到64KB单元。
但实际应用系统中,高位地址线并不固定为8位,而是根据需要用几位就从P2口中引出几条口线,甚至当扩展存储器容量小于256个单元时,根本就不需要高位地址。
(3)控制信号
除了地址线和数据线之外,在扩展系统中还需要单片机提供一些控制信号线,以构成扩展系统的控制总线。这些信号有的是单片机引脚的第一功能信号,有的则是第二功能信号。其中包括:
1)使用ALE作为低8位地址的锁存控制信号。
2)以信号作为扩展程序存储器的读选通信号。
3)以信号作为内外程序存储器的选择信号。
4)以和作为扩展数据存储器和I/O端口的读写选通信号。
以上这些信号在图6-2中均有表示。
可以看出,尽管MCS-51单片机号称有4个I/O端口共32条口线,但是由于系统扩展的需要占用了P0口和P2口,所以真正能作为数据I/O使用的,只剩下P1口和P3口的部分口线了。
3.单片机的串行扩展技术
随着单片机技术的发展,串行总线扩展技术也得到了越来越多的应用。串行扩展是通过串行口实现的,这样可以减少芯片的引脚,降低成本,增加系统扩展的灵活性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。