AT89S51单片机采用总线结构,使扩展易于实现,AT89S51单片机系统扩展结构如下图所示。
由上图可以看出,系统扩展主要包括存储器扩展和I/O接口部件扩展。AT89S51单片机的外部存储器扩展即包括程序存储器扩展又包括数据存储器扩展。AT89S51单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。
由于系统扩展是以AT89S51单片机为核心,通过总线把AT89S51单片机与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。
系统总线按功能通常分为3组,如上图所示。
(1)地址总线(Address Bus,AB):地址总线用于传送单片机单向发出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单元的选择。
(2)数据总线(Data Bus,DB):数据总线用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的。
(3)控制总线(Control Bus,CB):控制总线是单片机发出的各种控制信号线。
下面讨论如何来构造系统的三总线。
1.PO口作为低8位地址/数据总线
AT89S51单片机受引脚数目的限制,PO口既用作低8位地址总线,又用作数据总线(分时复用),因此需要增加一个8位地址锁存器。AT 89S51单片机对外部扩展的存储器单元或I/O接口寄存器进行访问时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7~A0)。随后,PO口又作为数据总线口(D7~D0),如右图所示。
2.P2口的口线作为高位地址线
P2口的全部8位口线用作系统的高8位地址线,再加上地址锁存器提供的低8位地址,便形成了系统完整的16位地址总线(如右图所示),从而使单片机系统的寻址范围达到64KB。
3.控制信号线
除了地址线和数据线之外,还要有系统的控制总线。这些信号有的是单片机引脚的第一功能信号,有的则是P3口第二功能信号。其中包括:
(1) PSEN(的反)信号作为外扩程序存储器的读选通控制信号。
(2) RD(的反)和WR(的反)信号作为外扩数据存储器和I/O接口寄存器的读/写选通控制信号。
(3) ALE信号作为P0口发出的低8位地址的锁存控制信号。
(4) EA(的反)信号作为片内、片外程序存储器的选择控制信号。
可以看出,尽管AT89S51单片机有4个并行的I/O口,共32条口线,但由于系统扩展的需要,真正给用户作为数字I/O使用的,就剩下Pl口和P3口的部分口线了。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』