第5章 存储器系统设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CE
A13~A8
PSEN
OE
27128→128/8=16K→210∗24→14根地址线→A0~A13,片内地址由P2.5~P2.0, P0.7~P0.0决定。该片由P2.7选中,存在重叠区域4000~7FFFH(但芯片内地址 不存在,但无关紧要),而且存在地址禁区!(0000~3FFFH)不可能扩展2块。
2.扩展24KB EPROM(部分地址译码)用译码对单片机的高位地址线 进行译码,以译码器的输出作为某一存储器的片选信号。
74LS139
B A
Y2
Y1 Y0
P2.6 P2.5 P2.4~P2.0
5
8031
G 74LS373
A0~A7 A8~A12 Q0~Q7 / OE A0~A7 A8~A12 Q0~Q7 / OE A0~A7 A8~A12 Q0~Q7 / OE
5.3.3 数据存储器扩展设计
1. 8051扩展2KB静态RAM,8051内部有ROM,用地址线扩展2KB RAM。
5V Vcc P2 3
CE A10~A8
EA
8051 P0 口
373 1D~8 8D 1Q~8 8Q G 8
8 A7~A0 6116
ALE
6116 的 片 选端 CE 接地,为 常选状态, 地 址 为 0000~07F FH
RD
程序存储器 CE 接地,常选0000~7FFFH, PSEN 有效,数据存 WE RD 储器0000~7FFFH, , 有效,地址重叠,但不会冲突。
3. 程序存储器空间和数据存储器空间的合并(哈佛结构:两个存储器在逻 辑上完全独立,是由于执行不同的指令时,由硬件产生不同的选信号, 从而选通两个不同的逻辑空间)。单片机仿真系统就是采用这种合并 后的一维线性空间,因为程序存放在EPROM中,就无法对EPROM中 的程序进行在线修改,如果把程序存放在RAM中,一面调试一面修改, 方便。 P2.7
输出有效时,只有一个为低电平,其余为高电平,故用其来接被选的芯片时, 只有一个被选中。保持芯片之间地址的不重叠。(74LS139的介绍见书P158)
5.2.3 程序存储器扩展设计
(1)扩展16KB EPROM(线选法用单片机地址总线高位地址作为选择某 一存贮器的片选信号)。
P 如果 CE 接地,系统 只能接1片 ROM P2 8031 27128 P0 74LS373 8 ALE Q0~Q7 A7~ A0 P2.7 6
8 P2 8031 1Q~8Q ALE G 373 1D~8D P0 8 27256 Q0~Q8 A0~A7 A8~A14 8
°
CE
OE
A0~A7 A8~A14 62256 D0~D7
CE
OE
PSEN
WR
RD
系统的EPROM(27256)0000~7FFFH(管理仿真系统的程序),系统的仿 真ROM和数据存储器为8000~FFFFH。当执行系统的管理程序时, 27256有效(尽管有效 PSEN,但地址不对),62256无效,当执行自己 编的仿真程序时,系统转向62256中执行你输入的程序,当遇到MOVX
WR16:MOVX MOV MOVX INC INC CJNE INC NEXT: DJNZ DEC CNECK:MOVX XRL JB RET
A,@DPTR R4,A @R0,A DPTR R0 R0,#00H,NEXT P2 R7,WR16 R0 A,@ R0 A,R4 ACC.7,CHECK
指令 输入
地址 输出
指令 输入
PCL 输出
指令 输入
PCL 输出
P2口输出程序存储器的高8位地址PCH(A15~A8),具有锁存功能。 P0口地址/数据复用线,在ALE上升为高电平时,P0口输出程序存储 器的低8位地址(A7~A0),在ALE的下降沿,把A7~A0锁存到外部地 址锁存器中,得到地址信号,接着,P0口由输出变为输入,高8位地 址不变(低8位已锁存),故已选定外部ROM的某一个地址,随即 PSEN 低电平有效,外部ROM通,对应地址单元中的指令字节出现在数据 总线上供CPU读取。
64KB/8=8KB/根译码线。译码器的输出是互异的,每次只能选中一 个存储器芯片,不会出现地址竞争(地址竞争是几片同类型存储器占用同 一段地址,当CPU从该空间取数时,它们将同时向数据总线提供数据, 导致读取出错)。
5.3 数据存储器扩展设计
执行:MOVX A,@DPTR( 或MOVX @DPTR,A) MOVX A,@Ri (或MOVX @Ri,A) CPU访问外部数据存储器时,ALE信号少出现一次,地址数 据输出后经过悬浮(高阻)状态后,才能进入数据输入或输出状态! 第一周期:P2口输出地址的高8位,P2口输出地址的低8位。ALE下 降沿将低8位地址锁存到外部地址锁存器。随即 PSEN 低电平有效。P0口 由输出变为输入,对应选 中的存储单元中的指令出现在P0口,由CPU 读取。经CPU译码后,知道是对外部数据存储器的操作。随后,P2口输 出外部数据存储器地址的高8位,P0口输出外部数据存储器的低8位。由 ALE锁存,由于是与外部数据存储器打交道。 PSEN 一直为高电平无效(PSEN 信号线接EPROM的 OE 端,选通的是程序存储器!)
;将最后一个字节数据取出 ;原始数据比较,陷入死循环! ;最高位不同,再查!
从P0口地址/数据复用线中分离出地址来。
• 地址译码器 为什么要用地址译码器:CPU给出一个地址,对应的存储器中有一个 存储器单元与其唯一的对应。通常存储器有多片组成,因此,要对存储器 芯片地址进行编址。 分两个层次:(1) 某个存储芯片的选择片选 片选(8K/片→8片→64K) 片选 (2) 被选中的存储芯片内部存储单元的选择字选wk.baidu.com字选。 字选 地址不能重叠,一般就要用译码器的功能。 74LS138的真值表
Read Only Memory
功能图:
操作方式: 编程方式:把程序代码固化到EPROM中 编程校验方式:读出EPROM中的内容,校对编程操作的正确性 读出方式:CPU从EPROM中读出指令和常数 (CE = 0, OE = 0) 维持方式:数据端是高阻 ( C E = 1) 。
地址锁存器(74LS373)
WE RD 之类的指令时, , 有效。
4. 8051扩展8KBE2PROM(ROM和RAM合并)
P2.7
°
5V
P2 373
5 A12~A8 A0~A7
CE
P0 ALE
2864
I/O0~I/O7
PSEN RD WR
OE WE
内部ROM: 外部ROM,RAM: 重叠区: 1××0 1010 1100 1110
5.3.2 常用数据存储器芯片介绍
1.静态RAM(SRAM)芯片
13
地址线
VCC
A12~A0
210∗23=8K 双向数据线
8
GND
D7~D0 6264
片选线1
CE
写允许线
WE
读选通线
OE
CS1
片选线2
(当/CE = 0时,选中 CS1=1时,读片)
操作控制 /CE /OE /WE D0~D7 (/CE=0,CS1=1) 读 0 0 1 D0~D7(OUT) 写 0 1 0 D0~D7(IN) 维持 1 X X 高阻 掉电后数据丢失!(同计算机内存) 2. 电可擦可编程只读存储器E2PROM 读写的操作同SRAM,掉电后,数据保存,不会丢失。注意 它不是做程序存储器用!
0000~0FFFH(4KB) 8000~9FFFH(8KB) 8000~9FFFH A000~BFFFH C000~DFFFH E000~FFFFH
写入16字节数据的子程序,入口参数: DPTR:指向RAM数据区首址; R7: 写入字节数(10H) R0: E2PROM地址低8位 P2: E2PROM地址高8位
3. 扩展64KB EPROM(全地址译码)
P2.7 (A15) 0 0 0 0 1 1 1 1 P2.6 (A14) 0 0 1 1 0 0 1 1 P2.5 (A13) 0 1 0 1 0 1 0 1 0000~1FFFH 2000~3FFFH 4000~5FFFH 6000~7FFFH 8000~9FFFH A000~BFFFH C000~DFFFH E000~FFFFH 地址空间
第一个机器周期
S1
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
ALE
PSEN
RD / WR
P2
PCH输出
DPH或P 输出 2
PCH
P0
PCL 输出
指令 输入
地址 输出
数据输出 (输入)
PCL 输出
第二周期:第一个ALE信号丢失,若执行的是读指令(MOVX A,@DPTR),P0口由输出变为输入,随即 RD为低电平有效。外部数据 存储器被选通。相应存储单元内容出现在P0口上供CPU读入累加器中, 若执行的是写指令(MOVX @DPTR,A),此时 WR为低电平有效。被写的 数据出现在P0口,并在 WR结束之前一直保持不变,写入相应的外部数 PSEN 有效,读的内容丢弃。 据存储器单元。第二个ALE锁存的地址,
ALE
8
2764
2764
2764
P0
PSEN
P2.6 0 0 1 P2.5 0 1 0 /Y0 /Y1 /Y2 0 1 1 0000-1FFFH (8000H-9FFFH) 括号内 1 0 1 2000-3FFFH(A000H-BFFFH) 为重叠 1 1 0 4000-5FFFFH(C000H-DFFFH) 区!
00H 内部 128 字节, ~ 7FH 数据存储器(RAM) 0000 ~ FFFFH 外部 64K ,
5.2 程序存储器扩展设计
• 外部程序存储器操作时序
S1
振荡周期 一个机器周期
S2
S3
S4
S5
S6
S1
S2
S3
S4
S5
S6
ALE
PSEN
P2 PCL 输出
PCH输出
PCH
PCH
PCH
P0
第5章 存储器系统设计 章
5.1 MCS-51存储器系统配置 存储器系统配置
内部 4K , 0000 ~ 0FFFH 8051 / 8751 外部 64K0000 ~ FFFFH 程序存储器(ROM) 0000 ~ FFFFH , = 0 EA 8031外部 64K ,
EA = 1内部 重叠部分由EA区分 EA = 0 外部
PSEN
8 P2 ALE P0 8 锁存器 8 A7~A0 A15~A8
地址总线
数据总线
D7~D0
下面就涉及到的程序存储器芯片,就如何来进行电路设计进行分析。
5.2.2 常用程序存储器芯片
• EPROM电路
程序写入后 (专门的编程器 ) 掉电后信息不会丢失的 存储器电路 可擦除可编程只读存储器 可擦除,用紫外线灯光 照射信息 Erase 擦除,可重新再写 ! Programmable
D0~D7
OE WE
RD
WR
• 2. 8031扩展32KB EPROM和32KB RAM
8 7 P2
8031
8 1Q~7Q ALE G 373 1D~7D P0
PSEN
A0~A7 A8~A14 CE 27256 Q0~Q7
OE
A0~A7 A8~A14 CE 62256
WE
D0~D7
OE
8
WR
相关文档
最新文档