由图8-1可以看出,系统扩展主要包括存储器扩展和I/0接口部件扩展。AT89S52单片机的存储器扩展即包括程序存储器扩展包括数据存储器扩展。AT89S52单片机采用程序存储器空间和数据存储器空间截然分开的哈佛结构。扩展后,系统形成了两个并行的外部存储器空间。系统扩展是以AT89S52为核心,通过总线把单片机与各扩展部件连接起来。因此,要进行系统扩展首先要构造系统总线。系统总线按功能通常分为3组,如图8-1所示
6 由图8-1可以看出,系统扩展主要包括存储器扩展和I/O 接口部件扩展。 AT89S52单片机的存储器扩展即包括程序存储器扩展又包 括数据存储器扩展。AT89S52单片机采用程序存储器空间和 数据存储器空间截然分开的哈佛结构。扩展后,系统形成了 两个并行的外部存储器空间。 系统扩展是以AT89S52为核心,通过总线把单片机与各扩 展部件连接起来。因此,要进行系统扩展首先要构造系统总 线。 系统总线按功能通常分为3组,如图8-1所示。 6
(1)地址总线(AddressBus,AB):用于传送单片机发出的地址信号,以便进行存储单元和/O接口芯片中的寄存器单元的选择。(2)数据总线(DataBus,DB):用于单片机与外部存储器之间或与I/O接口之间传送数据,数据总线是双向的。(3)控制总线(ControlBus,CB):控制总线是单片机发出的各种控制信号线
7 (1)地址总线(Address Bus,AB):用于传送单片机发 出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单 元的选择。 (2)数据总线(Data Bus,DB):用于单片机与外部存储 器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线
如何来构造系统的三总线。1:P0口作为低8位地址/数据总线AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用作数据总线(分时复用),因此需增加一个8位地址锁存器。AT89S51访问外部扩展的存储器单元或I/0接口寄存器时,先发出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位地址(A7~AO)。随后,PO口又作为数据总线口(D7~DO),如图8-2所示。2.P2口的口线作为高位地址线P2口用作系统的高8位地址线,再加上地址锁存器提供的低8位地址,便形成了系统完整的16位地址总线
8 如何来构造系统的三总线。 1.P0口作为低8位地址/数据总线 AT89S51受引脚数目限制,P0口既用作低8位地址总线,又用 作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/O接口寄存器时,先发 出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位 地址(A7~ A0)。随后,P0口又作为数据总线口(D7~ D0),如 图8-2所示。 2.P2口的口线作为高位地址线 P2口用作系统的高8位地址线,再加上地址锁存器提供的低8 位地址,便形成了系统完整的16位地址总线。 8
使单片机系统的寻址范围达到64KB。P2A8~A15地址总线ALE地址A0~A7锁存器POAT89S52数据总线D0~D7PSENWR控制总线RD图8-2单片机扩展的片外三总线
9 使单片机系统的寻址范围达到64KB。 图8-2 单片机扩展的片外三总线
3.控制信号线除地址线和数据线外,还要有系统的控制总线。这些信号有的就是单片机引脚的第一功能信号,有的则是P3口第二功能信号。包括:(1)PSEN*作为外扩程序存储器的读选通控制信号。(2)RD*和WR*为外扩数据存储器和/O的读、写选通控制信号。(3)ALE作为P0口发出的低8位地址锁存控制信号。(4)EA*为片内、片外程序存储器的选择控制信号。可见,AT89S51的4个并行I/O口,由于系统扩展的需要真正作为数字I/O用,就剩下P1和P3的部分口线。10
10 3.控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1)PSEN*作为外扩程序存储器的读选通控制信号。 (2)RD*和WR*为外扩数据存储器和I/O的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号。 (4)EA*为片内、片外程序存储器的选择控制信号。 可见,AT89S51的4个并行I/O口,由于系统扩展的需要, 真正作为数字I/O用,就剩下P1和P3的部分口线。 10