Proteus仿真8086实验一RAM存储器62256
Posted 只是有点小怂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Proteus仿真8086实验一RAM存储器62256相关的知识,希望对你有一定的参考价值。
- 建议把存储器设计和简单IO接口放在第一次实验,重点了解锁存器273和缓冲器373是怎样将数据和地址线进行分离的,具体Proteus的实验操作比如设置内存大小和快速命名接口(属性赋值工具)可以参考这个老师讲得内容,微处理器实验4-Proteus+8086+8255仿真,照着做一遍就明白该怎么使用Proteus了。但视频中老师的操作是直接拷入EXE文件,但是Proteus8中是可以下载MASM32编译器的,在source code下选择选择系统然后选择编译器配置下载MASM32即可,这样有源文件后方便单步跟踪程序。
微处理器实验4-Proteus+8086+8255仿真
-
而在顾晖老师的书中需要自己配置编译器,这是因为书中用得是Proteus ISIS,注意装这个Proteus7得使用7.5及以上的版本,不然没有8086,但优点是体积比较小而且不需要使用工程文件打开就可以用,而且高版本的Proteus可以打开低版本的,低版本就不能打开高版本的。尽量先装7再装8,不然8的许可证日期直接变为2009了
-
根据周佳社老师说得,读写存储器和读写IO基本上操作一样得,也是要先确认地址然后选中CS才可以进行操作,有时同样需要注意高地址和低地址的区别
-
本次实验内容来自于顾晖老师《微机原理与接口技术 基于8086和Proteus仿真 第3版》的【例6.5】
-
顾晖老师在51CTO上有课程
https://edu.51cto.com/course/24864.html
,华章网站上搜这本书对应的课程应该也有免费的,但实在是太卡了
-
利用两块62256芯片设计RAM存储器,全地址译码(所有地址线进行译码)
-
SRAM存储器一般使用62系列,同时译码器一般使用138,高地址作为138的输入产生片选信号,低地址作为片内地址。位扩展是并联,字扩展是串联。一般掌握静态RAM就可以了,DRAM需要设计刷新电路比较复杂,ROM又只能读取,Proteus中到也有EPROM等器件
-
8086数据总线16位分为奇地址和偶地址,需要使用BHE和A0加以区分,BHE为Bus High Enable即高地址有效
- 同样操作时需要区分字操作和字节操作,如果从奇地址取一个字需要取两个字节,从偶地址取一个字直接BHE=0同时A0=0取出来
- 两块RAM一块数据线接D0 ~ D7 一块数据线接 D8 ~ D15
-
8088数据总线8位直接连RAM就可以,设计简单很多,但Proteus中没找到8088芯片,以后找到再说
-
使用锁存器273,为上升沿有效的D触发器,当ALE地址锁存信号低电平有效时,将地址锁存起来
-
使用138进行译码,A18A17A16用于产生片选信号选中哪块62256,同样也是作为RAM的地址(6264有两个片选端),RAM可以直接和数据总线相连因为未被选中时同样处于高阻态,不会竞争总线
-
在调试中可以打开Memory Contents,进行单步调试观察内存中单元数据的变化
-
从1000H:0000H开始奇体放奇数,偶体放偶数
assume cs:code
code segment
start:
mov ax, 1000h
mov ds, ax
mov si, 0
mov cx, 10
mov dl, 0
sim:
mov [si], dl
mov al,[si]
inc dl
inc si
loop sim
mov ax, 4c00h
int 21h
code ends
end start
以上是关于Proteus仿真8086实验一RAM存储器62256的主要内容,如果未能解决你的问题,请参考以下文章