(1)地址总线( Address bus,AB):用于传送单片机发 出的地址信号,以便进行存储单元和Wo接囗芯片中的寄存器单 元的选择。 (2)数据总线( Data bus,DB):用于单片机与外部存储 器之间或与Mo接口之间传送数据,数据总线是双向的。 (3)控制总线( Control bus,CB):控制总线是单片机发 出的各种控制信号线
7 (1)地址总线(Address Bus,AB):用于传送单片机发 出的地址信号,以便进行存储单元和I/O接口芯片中的寄存器单 元的选择。 (2)数据总线(Data Bus,DB):用于单片机与外部存储 器之间或与I/O接口之间传送数据,数据总线是双向的。 (3)控制总线(Control Bus,CB):控制总线是单片机发 出的各种控制信号线
如何来构造系统的三总线。 1.P0口作为低8位地址/数据总线 AT89S51受引脚数目限制,PO口既用作低8位地址总线,又用 作数据总线(分时复用),因此需增加一个8位地址锁存器。 AT89S51访问外部扩展的存储器单元或I/0接口寄存器时,先发 出低8位地址送地址锁存器锁存,锁存器输出作为系统的低8位 地址(A7~A0)。随后,P0口又作为数据总线口(D7~D0),如 图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。 A8~A15 ALE 地址总线 地址 锁存器 A0~A7 AT89S52 D0-D7>数据总线 PSEN WR 控制总线 RD 图8-2单片机扩展的片外三总线
9 使单片机系统的寻址范围达到64KB。 图8-2 单片机扩展的片外三总线
3.控制信号线 除地址线和数据线外,还要有系统的控制总线。这些信号 有的就是单片机引脚的第一功能信号,有的则是P3口第二功 能信号。包括: (1)PSEN作为外扩程序存储器的读选通控制信号。 (2)RD*和WR为外扩数据存储器和Oo的读、写选通控制 信号。 (3)ALE作为P0口发出的低8位地址锁存控制信号 (4)EA为片内、片外程序存储器的选择控制信号。 可见,AT89s51的4个并行MO口,由于系统扩展的需要, 真正作为数字o用,就剩下P1和P3的部分口线
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
82地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出 低8位地址的常用的地址锁存器。 821存储器地址空间分配 实际系统设计中,既需要扩展程序存储器,又需要扩展数据 存储器,如何把片外的两个64KB地址空间分配给各个程序存 储器、数据存储器芯片,使一个存储单元只对应一个地址,避 免单片机发出一个地址时,同时访问两个单元,发生数据冲突。 这就是存储器地址空间分配问题
11 8.2 地址空间分配和外部地址锁存器 本节讨论如何进行存储器空间的地址分配,并介绍用于输出 低8位地址的常用的地址锁存器。 8.2.1 存储器地址空间分配 实际系统设计中,既需要扩展程序存储器,又需要扩展数据 存储器,如何把片外的两个64KB地址空间分配给各个程序存 储器、数据存储器芯片,使一个存储单元只对应一个地址,避 免单片机发出一个地址时,同时访问两个单元,发生数据冲突。 这就是存储器地址空间分配问题。 11