单片机系统扩展总线
- 格式:doc
- 大小:397.00 KB
- 文档页数:10
6.4 单片机系统扩展总线
1. MCS-51单片机扩展结构特点
扩展都是通过接口来扩展,需要注意I/O口的结构特点。
⑴ I/O口的复用和多用
① I/O口的复用:由于受到引脚数限制,P0口复用,既作低8位地址线,又作数据线,但分时使用,用ALE信号锁存切换。
② I/O口的多用:P3口可作通用I/O口,在扩展时,具有“第二功能”。 P3.0 RXD P3.2 INT0 P3.4 T0 P3.6 WR
P3.1 TXD P3.3 INT1 P3.5 T1 P3.7 RD
⑵产生接口控制信号的指令
MCS-51无I/O专用指令,把I/O寄存器看成存储器的一部分,所以对I/O 寄存器的操作都用数据传输指令。
①输入指令
MOV A,P1
MOV @Ri,P1 MOV Rn,P1 MOV direct,P1
MOVX A,@Ri
MOVX A,@DPTR
②输出指令
MOV P1,A
MOV P1,@Ri MOV P1,Rn MOV P1,direct
MOVX @Ri,A
MOVX @DPTR,A
2. 扩展总线
由于数据线与低8位地址线复用P0口,为了把它们分离与片外芯片相连,通常要加锁存器才能构成总线结构。
6.5 存储器扩展
1. EPROM扩展
(1) 程序存储器有独立的地址空间(0000H~FFFFH),可寻址范围64 kB。程序存储器与数据存储器共用地址总线和数据总线
(2) 对片内有 ROM/EPROM 的单片机,片内 ROM 与片外ROM采用相同的操作指令,片内与片外程序存储器的选择靠硬件结构实现,即由EA的高低电平来选择。
(3) 虽然程序存储器与数据存储器地址重叠,但不会发生冲突。因为程序存储器使用单独的控制信号和指令,用PSEN作为读操作信号,读取数据用MOVC
查表指令。而读取数据存储器用RD信号和MOVX指令,
(4) 随着大规模集成电路的发展,单片程序存储器的容量越来越大,构成系统时所使用的EPROM芯片数量越来越少,因此地址选择大多采用线选法,而不用地址译码法。
2. RAM扩展
MCS-51 系列单片机的片内RAM只有 128字节(51型)或256字节 (52
型) ,如果还不能满足应用要求,就需要进行RAM扩展,扩展时要注意以下几点: (1) RAM与EPROM地址空间重叠(0000H~FFFFH),寻址范围都为64 kB,但由于使用不同的控制信号和指令,RAM使用RD/WR控制线读/写,而 EPROM用PSEN 作为读操作控制线,故共用地址总线和数据总线不会发生冲突。
(2) I/O及外围接口与RAM实行统一编址,即任何扩展的I/O口及外设均占用RAM地址空间。
(3) 访问内部RAM和外部RAM,应选用不同的指令。
①当访问内部RAM时,使用MOV指令,可用寄存器间接寻址或直接寻址
MOV A,@Ri/direct
MOV @Ri/direct,A ( i=0,1)
②当访问外部RAM时,只能使用MOVX指令和寄存器间接寻址。两种情况
·若访问外部RAM的首页,即前256字节,可用下述两条指令:MOVX A,@Ri
MOVX @Ri,A ( i=0,1)
·若访问整个64 k外部RAM ,则应用下述两条指令:
MOVX A,@DPTR
MOVX @DPTR,A
若当前DPTR数据指针另有它用,又需访问整个64 k外部RAM,这时低8位地址仍用Ri ( i=0或1)寄存器间接寻址,而高8位可采用预先通过P2口输出地址码的方法。例如:
MOV P2,#02H ;P2口预置高位字节地址02H
MOV R1,#25H ;低8位地址25H送R1
MOVX A,@R1 ;将0255H内容送A
或MOVX @R1,A ;将A内容送0255H单元
3. 片选方法及其地址空间
在一个较复杂的应用系统中,有时需扩展多片存储器。多片扩展时,各片的数据线、地址线和控制线都并行挂接在系统三总线上,但每片的片选信号CE 要分别处理。
产生片选控制信号的方法有两种,即线选法和译码法。
(1) 线选法所谓线选法,即用所需的低位地址线进行片内存储单元
寻址,余下的高位地址线可分别作不同芯片的片选信号,当某芯片对应的片选地址线输出有效电平时,该芯片被选中,作选通操作。
下图为采用线选法扩展3片 2764A 的电路原理图。
从图可知,扩展3片2764A除CE片选信号外,其余完全同8031扩展一片2764A的电路设计。图中三片2764A的三个片选端CE分别与8031的高位地址线P2.5、P2.6和P2.7相连。当A13、Al4、A15分别为低电平时,选中对应的2764A 芯片。因此三片存储器各片的地址范围是:
2764A(1)地址范围:C000H~DFFFH
2764A(2)地址范围:A000H~BFFFH
2764A(3)地址范围:6000H~ 7FFFH
由此可见,该扩展系统的3片2764A,占用了全部16根地址总线,但寻址的范围之和却只有24 KB,且地址范围不连续。实际上浪费了较大的地址空间。因此线选法适用于系统中存储器和接口资源较少的情况。
⑵译码法
所谓译码法是指由低位地址线进行片内寻址,高位地址线经过译码器译码产生不同芯片的片选信号。译码法又分为全译码和部分译码两种方式。
全译码方式是将所余的高位地址线全部参与译码,即作为译码器的输入线,译码器的输出作为片选线。在全译码片选方式下,每个芯片的地址范围是唯一的,不存在地址重叠问题。
部分译码方式是取所余高位地址线中的部分线参与译码,译码器的输出作片选线。这种方式下,由于未参与译码的高位地址线状态是不确定的,使得各芯片的地址不唯一,存在着地址重叠。
在译码法中,常用译码器有74LSL38和74LS139等。