首页 理论教育单片机并行扩展总线应用

单片机并行扩展总线应用

【摘要】:图8-1单片机并行扩展系统结构图由扩展系统结构图可知,扩展是通过系统总线进行的。8051单片机外扩展空间为64KB,即216个地址单元,因此地址总线有16位。8051单片机并行扩展总线的构成如图8-2所示。可以看出,尽管8051单片机有4个并行I/O口,共32条口线,但由于系统外扩展的需要,仅剩P1口以及P3口部分口线可作普通I/O使用。

单片机系统扩展是以单片机为核心来进行的,存储器扩展中包括程序存储器和数据存储器,其余所有扩展内容统称为I/O扩展。单片机并行扩展系统结构如图8-1所示。

图8-1 单片机并行扩展系统结构图

由扩展系统结构图可知,扩展是通过系统总线进行的。所谓总线就是连接单片机各扩展部件的一组公共信号线,是系统共享的通路,通过总线把各扩展部件连接起来,以进行数据、地址和控制信号的传送。

1.并行扩展总线的组成

并行扩展总线包括3个组成部分,即地址总线、数据总线和控制总线。

(1)地址总线

地址总线(Address Bus,简写AB)上传送的是地址信号,用于外扩展存储单元和I/O端口的寻址。地址总线是单向的,因为地址信号只能从单片机向外传送。

一条地址线提供一位地址,所以地址总线的数目决定了可寻址存储单元的数目。例如,n位地址,可以产生2n个连续地址编码,可访问2n个存储单元,即寻址范围为2n地址单元。8051单片机外扩展空间为64KB,即216个地址单元,因此地址总线有16位。

(2)数据总线

数据总线(Data Bus,简写DB)用于传送数据、状态、指令和命令。数据总线的位数应与单片机字长一致。例如,8051单片机是8位字长,所以数据总线的位数也是8位。数据总线是双向的,即可以进行两个方向(读/写)的数据传送。

(3)控制总线

控制总线(Control Bus,简写CB)是一组控制信号线,其中既有单片机发出的,也有外扩展部件发出的。一个控制信号线的传送是单向的,但由不同方向信号线组合的控制总线则表示的为双向。

总线结构可以提高系统的可靠性,增强系统的灵活性。此外,总线结构也使系统扩展易于实现,各扩展部件只要符合总线规范,就可以很方便地接入系统。

2.8051单片机并行扩展总线

虽然系统扩展需要地址总线和数据总线,但在单片机芯片上并没有为此提供专用的地址引脚和数据引脚,实际扩展时都是用I/O口线来充当地址线和数据线的。8051单片机并行扩展总线的构成如图8-2所示。

(1)以P0口的8位口线充当低位地址线/数据线

低位地址线是指低8位地址A7~A0,而数据线为D7~D0。由于P0口一线两用,既传送地址又传送数据,所以要采用分时技术对它上面的地址和数据进行分离。(www.chuimin.cn)

使用分时技术被分离出的是低8位地址,因为CPU对扩展系统的操作总是先送出地址,然后再进行数据读/写操作,所以应把首先出现的地址分离出来,以便腾出总线供其后的数据传送使用。为保存分离出的地址,需另外增加一个8位锁存器,并以ALE作为锁存控制信号。从图8-3为单片机读外部数据的时序图,从图中可以看出,在CPU送出地址时,ALE信号正好有效。为了与ALE信号相适应,应选择高电平或下降沿选通的锁存器,例如74LS373等。

图8-2 8051单片机并行扩展总线结构图

图8-3 单片机读外部数据的时序图

低8位地址进入锁存器,经另一途经提供给扩展系统。在其后的时间里,P0口线作为数据线使用,进行数据传送。其实在P0口的电路逻辑中已考虑了这种需要,其中的多路转接电路MUX以及地址/数据就是为此而设计的。

(2)P2口的口线作为高位地址线

P2口只作为高位地址线使用。如果使用P2口全部8位口线,再加上P0口提供的低8位地址,就形成了完整的16位地址总线,使单片机外扩展的寻址范围达到64K单元。

在实际应用中,高位地址线根据需要从P2口中引出,需要用几位就引出几条口线。在极端情况下,若外扩展容量小于256个单元,则不需要高位地址线。

(3)控制信号

除地址线和数据线外,系统扩展时还需要单片机提供一些控制信号,这就是扩展系统的控制总线。这些控制信号包括:

1)使用ALE作为地址锁存的选通信号,以实现8位地址锁存。

2)以信号作为扩展程序存储器的读选通信号。

3)以信号作为内、外程序存储器的选择信号。

4)以作为扩展数据存储器和I/O端口的读/写选通信号。

可以看出,尽管8051单片机有4个并行I/O口,共32条口线,但由于系统外扩展的需要,仅剩P1口以及P3口部分口线可作普通I/O使用。