存储器扩展及读写实验
- 格式:doc
- 大小:11.55 MB
- 文档页数:7
一、实验目的[1]理解计算机存储子系统的工作原理。
[2]掌握静态随机存储器RAM的工作特性和读写方法。
二、实验内容本实验旨在通过搭建静态随机存储器电路,使用M6116芯片,并结合74LS245和74LS373等器件,实现对存储器的读写操作。
具体实验内容包括存储器的基本读写操作和扩展实验要求的IO内存统一和独立编址增加4K的IO地址。
三、实验原理芯片介绍:•74LS245:8位双向缓冲传输门,用于连接数据总线和存储器地址输入。
•74LS373:8位透明锁存器,用于存储地址信息。
•M6116:2K*8位静态随机存储器,具有片选、读使能和写使能等控制线。
操作原理:•写操作:通过设定地址和数据,控制M6116的写使能和数据输入,将数据写入指定存储单元。
•读操作:设置地址并启用读使能,从M6116读取存储单元的数据,并通过数据总线输出。
四、实验步骤及结果(附数据和图表等)1. 基本实验步骤1.电路搭建:o根据图3.4搭建实验电路,连接M6116、74LS245、74LS373等器件。
o设置好数据开关(SW7-SW0)、数码管显示和总线连接。
2.预设置:o将74LS373的OE(——)置0,保证数据锁存器处于工作状态。
o设置M6116的CE(——)=0,使其处于选中状态。
o关闭74LS245(U1),确保数据总线不受影响。
3.电源开启:o打开实验电源,确保电路供电正常。
4.存储器写操作:o依次向01H、02H、03H、04H、05H存储单元写入数据。
o以01H为例:▪设置SW7~SW0为00000001,打开74LS245(U1),将地址送入总线。
▪将74LS373的LE置1,将地址存入AR,并观察地址数码管。
▪将LE置0,锁存地址到M6116的地址输入端。
▪设置数据开关为要写入的数据,打开74LS245(U4),将数据送入总线。
▪将M6116的WE(——)由1转为0,完成数据写入操作。
▪关闭74LS245(U4)。
一、实验目的1. 理解存储器扩展的基本原理和方法。
2. 掌握位扩展和字扩展的技巧。
3. 利用仿真软件实现存储器扩展,并验证其功能。
二、实验环境1. 仿真软件:Logisim2. 硬件设备:电脑三、实验原理1. 存储器扩展的基本原理存储器扩展是指将多个存储器芯片组合在一起,以实现更大的存储容量或更高的数据位宽。
存储器扩展主要有两种方式:位扩展和字扩展。
(1)位扩展:当存储芯片的数据位小于CPU对数据位的要求时,可以通过位扩展方式解决。
位扩展时,将所有存储芯片的地址线、读写控制线并联后与CPU的地址线和读写控制线连接,各存储芯片的数据总线汇聚成更高位宽的数据总线与CPU的数据总线相连。
(2)字扩展:当存储芯片的存储容量不能满足CPU对存储容量的要求时,可以通过字扩展方式来扩展存储器。
字扩展时,将所有存储芯片的数据总线、读写控制线各自并联后与CPU数据总线、读写控制线相连,各存储芯片的片选信号由CPU高位多余的地址线译码产生。
2. 存储器扩展的方法(1)位扩展:选择合适的存储芯片,将多个存储芯片的数据总线并联,连接到CPU的数据总线上。
(2)字扩展:选择合适的存储芯片,将多个存储芯片的数据总线、读写控制线分别并联,连接到CPU的数据总线和读写控制线上。
同时,使用译码器产生片选信号,连接到各个存储芯片的片选端。
四、实验步骤1. 创建一个新的Logisim项目。
2. 在项目中添加以下模块:(1)存储芯片模块:选择合适的存储芯片,如RAM或ROM。
(2)译码器模块:根据存储芯片的数量和地址线的位数,选择合适的译码器。
(3)数据总线模块:根据位扩展或字扩展的要求,设置数据总线的位数。
(4)地址线模块:根据存储芯片的数量和地址线的位数,设置地址线的位数。
3. 连接各个模块:(1)将存储芯片的数据总线连接到数据总线模块。
(2)将存储芯片的地址线连接到地址线模块。
(3)将译码器的输出连接到各个存储芯片的片选端。
(4)将存储芯片的读写控制线连接到CPU的读写控制线上。
微机原理实验——存储器读写实验报告计科11-1赵锦波08113367实验十存储器读写实验一、实验目的1、熟悉6264静态RAM的使用方法,掌握PC机外存扩充的手段。
2、通过对硬件电路的分析,学习了解总线的工作时序.二、实验内容1.电路图(RAM为2K的6264)2.编制程序,将字符A-Z循环写入扩展的6116RAM中,然后再将6116的内容读出来显示在主机屏幕上。
三、源程序;***************************;固定段地址0d000, 微动开关选中6000H,即6264片选6000选中;********data segment;数据段开始message db 'please enter a key to show thecontents!',0dh,0ah,'$';定义字节,显示输出信息data ends;结束code segment;代码段assume cs:code,ds:data,es:data;段分配指令start:mov ax,data;送数据段地址mov ds,ax;数据段地址不能直接送ds,所以借助axmov ax,0d000h;固定段地址0d000Hmov es,ax;es=0d000Hmov bx,06000h;微动开关选中6000Hmov cx,100h;设置循环次数,写入100个A-Zmov dx,40h;A的ascii码为41hrep1:inc dl;rep1为标签名称用于loop rep1,dl=0+1=1mov es:[bx],dl;bx存放6001Hinc bx;bx+1,即06001Hcmp dl,5ah;Z的ascii码为5ah,即与Z比较jnz ss1;zf=0时转移mov dl,40h;A的前一个字符的ASCII码为40Hss1:loop rep1;loop在cx不为0时循环mov dx,offset message;偏移量送dxmov ah,09;输出字符串int 21hmov ah,01h;从键盘输入一个字符int 21hmov ax,0d000hmov es,ax;es=0d000Hmov bx,06000h;从0d6000H开始循环写入mov cx,0100h;设置循环次数,写入100个A-Zrep2:mov dl,es:[bx]mov ah,02h;显示一个字符int 21hinc bxloop rep2mov ax,4c00h;返回dosint 21h;返回doscode ends;代码段结束end start;全部结束四、实验流程图六、运行结果1、试验箱连接试验结果:七、实验心得实验开始摸不着头脑,边问边摸索才知道,实验要求我们:使用汇编语言的基本知识将字符A-Z循环写入扩展6264RAM中,再将6264内容读出显示在屏幕上。
实验一存储器扩展实验
1 实验目的
1)、熟悉存储器扩展方法。
2)、掌握存储器的读/写
2 实验预习要求
1)、复习教材中存储器扩展的有关内容,熟悉存储器扩展时地址总线、控制总线及数据总线的连接方法,
了解静态RAM的工作原理。
2)、预先编写好实验程序。
3 实验内容
1)、连接电路
2)、编写程序,将字母‘A’~‘Z’循环存储在扩展的SRAM 62256存储器芯片D8000H开始的单元中,然
后再将其从62256中读出并在屏幕上显示。
4 实验提示
1)、62256芯片的容量为32K⨯8位,芯片上的地址引脚A0~A14(共15根)连接至系统的地址总线A1~A15,用来对片内32K个存储单元进行寻址。
片选信号CS接至实验台的MY0。
芯片上的8个数据引脚D0~D7直接与系统的数据引脚相连。
控制信号RD、WR分别连接到实验台的MRD#和MWR#。
写操作时,芯片上的控制信号CS=0,WR=0,RD=1;读操作时,CS=0,RD=0,WR=1。
2)、实验程序流程图如图所示。
5 实验报告要求
1)、根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。
2)、总结存储器系统的基本扩展方法。
3)、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。
扩展存储器读写实验一、实验目的1、进一步掌握单片机系统PROTEUS设计与仿真方法。
2、进一步掌握软件调试仿真器Kell uVision2的使用方法。
3、掌握扩展一个片外数据存储器芯片的接口技术。
4、理解读/写片外RAM的过程,理解RD、WR信号在读写过程中的作用。
二、实验仪器PC机一台三、实验内容编写程序,对扩展的数据存储器62256(32KB的RAM,有8条数据线D0~D7,15条地址线A0~A14)进行读写测试。
1.具体要求:设计一个程序,向62256的0000H~0013H存储单元依次连续写入数据1到20。
接着依次再从这些单元中读出这20个数并求这20个数的累加和(结果为D2H),将其通过P1口送出(仿真电路中的发光二极管D1~D8)。
2.电路设计:在PROTEUS ISIS中设计62256扩展片外RAM电路。
电路中74LS245用作数据总线的双向驱动;74LS373用于低8位的地址锁存,通过读/写线RD、WR控制单片机与62256之间的数据传输方向;A15用作63356的片选线,当A15=0时,选中62256,可对它进行读/写操作;62256的地址范围是0000H~7FFFH。
所用元器件在清单中列出。
元件清单表元件名称所属类所属子类A T89C51 Microprocessor ICs 8051 Family74LS245 TTL74LS series Transceivers74LS373 TTL74LS series Flip-Flops&Latches62256 Memory ICs Static74LS244 TTL74LS series Buffers&DriversRES Residtors Generic LED-YELLOW Optoelectronics LEDs四、实验源程序RESULT EQU 0000HSTART: MOV DPTR,#RESULTMOV R2,#00HMOV R0,#20HCLR AMOV A,#01HLP1: MOVX @DPTR,AINC AINC DPTRDJNZ R0,LP1MOV DPTR,#RESULTCLR ALP2: MOVX A,@DPTRADD A,R2MOV R2,ACLR AINC DPTRDJNZ R0,LP2MOV P1,R2END硬件电路图五、实验结果发光二极管显示:11010010B(D2H)。
实验一:扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(62256)进行读写操作。
二.实验目的1.学习片外存储器扩展方法。
2.学习数据存储器不同的读写方法。
三.实验电路及连线将P1.0接至L1。
CS256连GND孔。
四.实验说明1.单片机系统中,对片外存贮器的读写操作是最基本的操作。
用户藉此来熟悉MCS51单片机编程的基本规则、基本指令的使用和使用本仿真实验系统调试程序的方法。
用户编程可以参考示例程序和流程框图。
本示例程序中对片外存贮器中一固定地址单元进行读写操作,并比较读写结果是否一致。
不一致则说明读写操作不可靠或该存储器单元不可靠,程序转入出错处理代码段(本示例程序通过熄灭一个发光二极管来表示出错)。
读写数据的选用,本例采用的是55(0101,0101)与AA(1010,1010)。
一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实际调试用户电路时非常有效。
用户调试该程序时,可以灵活使用单步、断点和变量观察等方法,来观察程序执行的流程和各中间变量的值。
2.在I状态下执行MEM1程序,对实验机数据进行读写,若L1灯亮说明RAM读写正常。
3.也可进入LCA51的调试工具菜单中的对话窗口,用监控命令方式读写RAM,在I状态执行SX0000↓ 55,SPACE,屏幕上应显示55,再键入AA,SPACE,屏幕上也应显示AA,以上过程执行效果与编程执行效果完全相同。
注:SX是实验机对外部数据空间读写命令。
4.本例中,62256片选接地时,存储器空间为0000~7FFFH。
五.实验程序框图实验示例程序流程框图如下:六.实验源程序:ORG 0000HLJMP STARTORG 0040HSTART:MOV SP,#60HMOV DPTR,#0000H ;置外部RAM读写地址MOV A,#55H ;测试的数据一MOV B,AMOVX @DPTR,A ;写外部RAMMOVX A,@DPTR ;读外部RAMXRL A,B ;比较读回的数据JNZ ERRORMOV A,#0AAH ;测试的数据二MOV B,AMOVX @DPTR,AMOVX A,@DPTRXRL A,BJZ PASS ;测试通过ERROR: SETB P1.0 ;测试失败,点亮LEDSJMP $PASS: CPL P1.0 ;LED状态(亮/灭)转换MOV R1,#00H ;延时DELAY: MOV R2,#00HDJNZ R2,$DJNZ R1,DELAYLJMP START ;循环测试END实验二P1口输入、输出实验一.实验要求1.P1口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
存储器扩展实验报告存储器扩展实验报告引言:存储器是计算机系统中至关重要的组成部分,对于数据的存储和读取起着至关重要的作用。
在计算机科学领域中,存储器扩展是一项重要的技术,可以提高计算机系统的性能和容量。
本实验旨在通过对存储器扩展的探索和实践,深入了解存储器的工作原理和扩展方法。
一、存储器的基本原理存储器是计算机中用于存储和检索数据的硬件设备。
它可以分为主存储器和辅助存储器两种类型。
主存储器是计算机系统中最重要的存储器,它用于存储正在运行的程序和数据。
辅助存储器则用于存储大量的数据和程序,常见的辅助存储器包括硬盘、光盘和闪存等。
二、存储器的扩展方法存储器的扩展方法有很多种,本实验主要探索两种常见的扩展方法:内存条扩展和虚拟内存扩展。
1. 内存条扩展内存条扩展是通过增加计算机内部的内存条数量来扩展存储器容量的方法。
在实验中,我们使用了两根相同规格的内存条,将其插入计算机主板上的内存插槽中,从而增加了系统的内存容量。
通过这种扩展方法,我们可以提高计算机的运行速度和处理能力。
2. 虚拟内存扩展虚拟内存是一种将计算机内存和硬盘空间结合起来使用的技术。
在实验中,我们通过调整计算机系统的虚拟内存设置,将部分数据和程序存储在硬盘上,从而扩展了存储器的容量。
虚拟内存的扩展方法可以有效地提高计算机的性能和运行效率。
三、实验过程与结果在实验中,我们首先进行了内存条扩展的实践。
通过将两根内存条插入计算机主板上的内存插槽中,我们成功地扩展了计算机的内存容量。
在进行实际操作时,我们注意到计算机的运行速度明显提高,程序的加载和执行时间也大大缩短。
接着,我们进行了虚拟内存扩展的实验。
通过调整计算机系统的虚拟内存设置,我们将部分数据和程序存储在硬盘上。
在实际操作中,我们发现虚拟内存的扩展使得计算机可以同时运行更多的程序,且不会出现内存不足的情况。
这大大提高了计算机的运行效率和多任务处理能力。
四、实验总结与心得通过本次实验,我们深入了解了存储器的工作原理和扩展方法。
实验一存储器读写实验一、实验目的1. 熟悉静态RAM 的使用方法,掌握8088 微机系统扩展RAM 的方法;2. 掌握静态RAM 读写数据编程方法。
二、实验内容对指定地址区间的RAM(4000H~43FFH)先进行写数据55AAH,然后将其内容读出再写到5000H~53FFH 中。
三、实验接线图(系统中已连接好)四、实验步骤1. 在PC 机和实验系统联机状态下,编辑源程序。
2. 从存储器窗口检查和记录4000H~43FFH 中的内容和5000~53FFH 中的内容。
3. 对源程序进行编译和装载,生成可执行文件。
4. 对可执行文件进行调试,调试方法有:单步,宏单步,自动单步,自动宏单步,注意这些方法之间的区别。
5. 连续运行实验程序。
6. 从存储器窗口检查和记录4000H~43FFH 中的内容和5000~53FFH 中的内容,比较程序运行前、后存储器内容的变化情况。
五、实验程序清单CODE SEGMENT ;RAM.ASMASSUME CS:CODEPA EQU 0FF20H ;字位口PB EQU 0FF21H ;字形口PC EQU 0FF22H ;键入口ORG 1850hSTART: JMP START0BUF DB ?,?,?,?,?,?data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1hdb 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH START0: MOV AX,0HMOV DS,AX ;写数据段地址MOV BX,4000H ;内存首址MOV AX,55AAH ;要写入的字MOV CX,0200H ;数据长度RAMW1: MOV DS:[BX],AX ;写数据ADD BX,0002H ;下一个单元LOOP RAMW1 ;循环写MOV AX,4000H ;首址MOV SI,AX ;SI置源首址MOV AX,5000HMOV DI,AX ;DI置目首址MOV CX,0400H ;数据长度CLD ;增址REP MOVSB ;串传送call buf1 ;写”62256-”mov cx,0ffhcon1: push cxcall disp ;显示pop cxloop con1call buf2 ;写”--good”con2: call disp ;显示jmp con2DISP: MOV AL,0FFH ;显示子程序 ,5msMOV DX,PAOUT DX,ALMOV CL,0DFH ;20H ;显示子程序 ,5msMOV BX,OFFSET BUFDIS1: MOV AL,[BX]MOV AH,00HPUSH BXMOV BX,OFFSET DATA1ADD BX,AXMOV AL,[BX]POP BXMOV DX,PBOUT DX,ALMOV AL,CLMOV DX,PAOUT DX,ALPUSH CXDIS2: MOV CX,00A0HLOOP $POP CXCMP CL,0FEH ;01HJZ LX1INC BXROR CL,1 ;SHR CL,1JMP DIS1LX1: MOV AL,0FFHMOV DX,PBOUT DX,ALRETBUF1: MOV BUF,06H ;写”62256-”MOV BUF+1,02HMOV BUF+2,02HMOV BUF+3,05HMOV BUF+4,06HMOV BUF+5,17HRETBUF2: MOV BUF,17H ;写”--good”MOV BUF+1,17HMOV BUF+2,09HMOV BUF+3,00HMOV BUF+4,00HMOV BUF+5,0dHRETCODE ENDSEND START六、实验总结这个自己实现!!!。
存储器扩展实验报告班级姓名学号日期一、相关知识:1.教学机配置了6个存储器芯片插座,其中4个28芯插座可插只读存储器,2个24芯插座可插静态随机存储器6116。
2.在教学机中,已经放置了2片8K×8位的ROM和2片2K×8位的RAM,基本存储器(指的是允许监控程序所必需的存储器)同时使用这两组。
另设置了两个28芯插座用于进行存储器容量的扩展。
3.芯片ROMH、ROML用来存放监控程序,芯RAMH、RAML用来存放用户程序和数据以及监控程序临时数据和堆栈。
4.内存地址译码器在教学机中由1片DC5 74LS138实现,对A15~A13产生8个译码信号,分别对应内存地址从0000H~1FFFH到E000H~FFFFH。
其中0000H~1FFFH的译码信号作为ROMH的片选信号,地址为2000H~3FFFH的译码信号作为RAM 的片选信号,其它6个译码信号通过圆孔针引出。
5.6116只有2K空间,但是在设计时为其分配的内存空间为8K,即范围在2000H~27FFH、2800H~2FFFH、3000H~3FFFH的内存地址都是对6116同一存储单元的访问。
6.28C64芯片组地址空间为:0000H~1FFFH;6116芯片组地址空间为:2000H~3FFFH58C65芯片组地址空间为:4000H-5FFFH;或者可以连接为5000H~6FFFH;7000H~8FFFH;9000H~AFFFH;B000H~CFFFH;D000H~EFFFH012A815二、实验目的:•通过看懂教学计算机中已经使用的几个存储器芯片的逻辑连接关系和用于完成存储器容量扩展的几个存储器芯片的布线安排,在教学计算机上设计、实现并调试出存储器容量扩展的实验内容。
三、实验内容1、要完成存储器容量扩展的教学实验,需要为扩展存储器选择一个地址;2、用监控程序的D、E命令对存储器进行读写;3、用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确;4、用监控程序的A命令编写一段程序,对扩展存储器EEPROM进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。
华北电力大学
实验报告|
|
实验名称存储器扩展及读写实验
课程名称微机原理
|
|
图1
四、实验结果
五、
图二
六、第一次搭载得硬件电路图如图二所示,图二与图一得区别之处如红框
所示,在图一中,入口地址为8000h,则AL中内容可以成功写入扩展存储器内,在图二中,将入口地址改为0000h,则AL中内容不能成功写入扩展存储器,至今我也没能想明白这就是为什么,希望老师解答一下。
图三
在图三中,AL中没有成功写入存储器中得原因有:
1、我忘了将总线得引脚AD[0、、15]与A[16、、19]引出。
2、在设置引脚M/IO得label时,将两个需要连接得引脚分别设置成了‘M/IO’与‘M/I0’。
一时得疏忽害我查了好久得错.
图四
正确结果如图四所示.采用两片6216芯片,采用全译码法,扩展存储器地址空间范围为0000:8000H~0000:8FFFH,共4KB得内存空间。
五、遗留问题
1、上面两个程序块都有错误,我想把内容写入附加段内,但就是怎么也行
不通,我得程序中得段超越就是不就是用错了。
瞧了一下老师得硬件电路连接,
我发现入口地址改为8000h应该
也可以,可就是运行时发现内容写
不进去,我就是不就是哪里弄错了。