存储器扩展实验
- 格式:doc
- 大小:160.00 KB
- 文档页数:4
实验六存储器扩展实验
一、实验目的
1、学习片外数据存储器扩展的方法。
2、学习数据存储器的读写方法。
3、熟悉散转程序设计方法。
二、实验设备
1、QTH单片机开发系统。
2、微机。
三、实验原理
1、数据存储器引脚定义;
2、地址分配原理;
四、实验内容:
1、设计片外数据存储器硬件连接图,要求使用数据存储器62256,以及串并转换芯片74LS164,利用并行输出控制两个七段码显示器。
(必做)
2、编程实现利用四个按键的组合模拟0~F 16进制数,要求,采集按键状态存入外部数据存储器6000H单元为首地址的连续单元,并在显示器上显示该十六进制数;可循环采集显示。
(必做)
3、编程实现利用四个按键的组合模拟0~15十进制数,要求,采集按键状态存入外部数据存
储器6000H单元为首地址的连续单元,并在显示器上显示该十进制数;可循环采集显示。
(选做)
五、思考题:
分析线选法和译码法的优缺点;
六、实验报告要求:
1、写清实验目的原理
2、画出电路原理图,给出程序清单,画流程图;
3、在实验总结中,写清实验现象,分析实验现象产生原因、存在问题,给出解决方案。
在调试过程中遇到的问题,如何解决的,注意事项等相关内容。
说明:设计电路图按下图设计
实验连线按实验指导书上连。
实验四存储器
实验要求:
用所给的1*1bit存储器的电路,构成一个2*4bit的存储器电路。
其中输入数据用开关,输出用指示灯(或发光二极管)。
验证实验结果,需记录实验结果。
叙述字扩展和位扩展的基本原理。
注意:实际的存储器一般是输入输出数据线是合用的。
R/W端高电平为读操作,低电平为写操作。
片选信号为高电平即为选中。
实验报告要求
1.实验目的
2.实验原理(详细说明什么是字扩展,什么是位扩展,本实验应用的是什么扩展。
实验逻辑图)
3.实验结果记录和分析:参考电路图
4.实验心得
5.思考题
a.本实验存储器电路的寻址范围是多少?容量是多少?
b.实验存储器电路中哪些线可作为地址线?共几位?为什么?
c.如果用本实验构成的2*4bit存储器电路作为一个存储器单元,再构成一4*8bit
的存储器电路,应该如何连接?请画出逻辑框图。
一、实验目的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的读写控制线上。
实验一存储器扩展实验
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)、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。
实验5 存储器扩展实验一、实验目的1.掌握PC存储器扩展的方法。
2.熟悉6264芯片的接口方法。
3.掌握8031内部RAM和外部RAM的数据操作二、实验设备PC机、星研Star16L仿真器系统+仿真头PODPH51(DIP)、EL-Ⅱ型通用接口板实验电路,PROTEUS仿真软件。
三、实验内容1)向外部存储器的7000H到8000H区间循环输入00~0FFH数据段。
设置断点,打开外部数据存储器观察窗口,设置外部存储器的窗口地址为7000H—7FFFH。
全速运行程序,当程序运行到断点处时,观察7000H—7FFFH的内容是否正确。
四、实验原理实验系统上的两片6264的地址范围分别为:4000H~5FFFH,6000H~7FFFH,既可作为实验程序区,也可作为实验数据区。
6264的所有信号均已连好。
(3000H~3FFFH也可用)五、实验方法1、运用PROTUES软件进行虚拟仿真实验。
按照实验要求用PROTUES软件绘制电路,编制程序,并通过调试。
2、运用星研仿真系统进行实际系统仿真实验。
将星研仿真器与微机和目标板相互连接构成完整的硬件仿真系统,按照实验要求在通用实验板上进行硬件系统连接,并用星研仿真器进行系统仿真运行调试。
3、实验说明在采用星研仿真时,若CPU选型为8051则,应将P2、P3口修改为总线模式(默认为IO口模式)。
若为8031CPU则无此选项,因此不必修改。
4、星研仿真器设置时,注意,在项目工作环境设置选项中的存储器借出方式中,不能借用仿真器的外部数据空间(直接选择默认方式即可),否则无法正确测试实验箱上的存储器。
5、利用星研仿真器,在选择用户板外部RAM方式下,可以在存储器窗口中,通过直接对外部存储器单元的内容进行修改来确定该单元是否可用,可以修改的单元,表明用户可用,如果无法修改(无论键盘输入任何数字与字符,始终显示FF),则表明该存储单元不可用。
六、实验电路1、PROTEUS 仿真电路2、EL-Ⅱ型通用接口板连线线路已经在内部连接好,可用地址范围为4000H~7FFFH七、程序框图及参考程序1)扩展RAM实验测试;NAME T7_1_RAM ORG 0000HSTART: MOV DPTR,#7000H ;起始地址送DPTR LOOP1: MOV A,#00H ;置数据初值LOOP: MOVX @DPTR,AADD A,#01H ;数据加一INC DPTR ;地址加一MOV R0,DPHCJNE R0,#80H,LOOP ;数据是否写完,没写完则继续SS: SJMP SSEND八、实验结果。
实验一:扩展存储器读写实验一.实验要求编制简单程序,对实验板上提供的外部存贮器(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口做输出口,接八只发光二极管,编写程序,使发光二极管循环点亮。
存储器扩展实验
一、实验目的
掌握单片机系统中存储器扩展方式。
二、实验设备
TDN86/51教学实验系统一台
三、实验内容及步骤
1、实验电路如图所示,扩展的外部数据存储器6264的地址范围为
6000H-7FFFH,共8K字节。
将片内
RAM40H-4FH单元中的6个数据,传送到外部RAM7000H-7FFFH单元中,然后翻读到片内RAM的50H-5FH单元中。
2、实验程序如下
ORG 0000H
LJMP MAIN
ORG 1000H MAIN: MOV R0, #40H MOV R2, #10H MOV DPTR, #7000H L1: MOV A, @R0 MOVX @DPTR, A INC R0
INC DPTR
DJNZ R2, L1
MOV R0, #50H
MOV DPTR, #7000H MOV R2, #10H
L2: MOVX A, @DPTR MOV @R0, A
INC R0
INC DPTR
DJNZ R2, L2
L3: SJMP L3
END
实验步骤
(1)按图接线。
(2)输入程序检查无错误,经汇编、连接后装入系统。
(3)在101AH处设断点。
(4)用R07**命令在40H-4FH单元中送入16个数。
(5)GB=0000运行程序。
(6)用R07**命令检查50H-5FH单元中的内容是否与40H-4FH单元一致。
华北电力大学
实验报告|
|
实验名称存储器扩展及读写实验
课程名称微机原理
|
|
图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应该
也可以,可就是运行时发现内容写
不进去,我就是不就是哪里弄错了。
实验一存储器扩展实验一、实验目的1、学习掌握存储器扩展方法和存储器读/写。
2、掌握存储器地址译码方法。
3、了解6264RAM特性。
二、实验设备1、TDN86/51或TDN86/88教学实验系统一套2、排线、导线若干三、实验内容及步骤(共2个实验)1、扩展存储器的地址编码2、存储器扩展实验(1)、按实验(1)线路图所示编写程序,通过8255产生适当的时序对6264RAM进行读/写。
实验程序如下:STACK SEGMENT STACK DW 64 DUP(?) STACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV BX,3000H MOV DX,0E010HMOV CX,0010HMOV AL,80HOUT 63H,ALA1: MOV AL,DHOUT 62H,ALMOV AL,DLOUT 61H,ALMOV AL,[BX]OUT 60H,ALMOV AL,0CHOUT 63H,ALMOV AL,0DHOUT 63H,ALINC BXINC DXLOOP A1MOV AL,90HOUT 63H,ALMOV BX,3000HMOV CX,0010HMOV DX,0E010HMOV SI,4000HA2: MOV AL,DHOUT 62H,ALMOV AL,DLOUT 61H,ALMOV AL,0EHOUT 63H,ALIN AL,60HMOV [SI],ALCMP AL,[BX]JNZ A4MOV AL,0FHOUT 63H,ALINC SIINC BXINC DXLOOP A2MOV AX,014FHINT 10HMOV AX,014BHINT 10HA3: JMP A3A4: MOV AX,0145HINT 10HA5: JMP A5CODE ENDSEND START实验步骤:①分析线路图,画出参考程序流程图;②按图(1)连接实验线路;③输入程序并检查无误,经汇编、连接后装入系统;④在3000~300FH单元中填入16个数;⑤运行程序,在“OK”(正确)或“E”(错误)提示出现后,用CTRL+C来终止程序运行;⑥用D命令检查4000~400FH单元中的内容和3000~300FH中的数据是否一致。
存储器扩展实验
1.实验目的
1. 了解存储器的扩展方法及其对存储器的读/写。
2. 掌握CPU对8/16位存储器的访问方法。
2.实验设备
PC机一台,TD-PITC实验箱。
3.实验内容
编写程序,往扩展存储器中传送有规律的数据(如5555H、AAAAH或顺序递增的数据等,以便于观察写入是否正确),然后通过Tdpit软件中的“扩展存储区数据显示窗口”查看该存储空间,检测写入数据是否正确。
1)循环传送16位规则字到扩展存储器(共32768个字);
2)循环传送16位非规则字到扩展存储器(共32768个字);
3)循环传送字节数据到扩展存储器(共32768个字节)。
关于规则字和非规则字的含义见以下16位存储器操作的说明。
4.实验原理
1)SRAM 62256介绍
SRAM(静态RAM)的基本存储元是由MOS管组成的触发器电路构成,每个触发器可以存放1位信息。
只要不掉电,所储存的信息就不会丢失。
目前较常用的SRAM有6116(2K×8),6264(8K×8)和62256(32K×8)。
TD-PITC实验箱内使用了2片62256构成32K×16的扩展存储器模块。
62256的引脚如图1所示。
图1 62256引脚图
2)16位总线的存储器接口
TD-PITC实验箱中的16位系统总线提供了XA1~XA20、#BHE、#BLE、MY0等信号用于扩展存储器的读写操作。
MY0是系统为扩展存储器提供的片选信号,其地址空间为D8000H~DFFFFH,XA1~XA20提供了16位(2字节)存储单元的地址,#BHE和#BLE用来确定访问16位存储单元中的低8位还是高8位,#BLE有效时允许访问低8位(D7-D0),#BHE有效时允许访问高8位(D15-D8)。
其对应关系如表1所示。
表1 #BHE和#BLE与数据总线的关系
TD-PITC实验箱中的2片62256所构成的16位存储器分为两个存储体(BANK):0体(BANK0)和1体(BANK1),这两个BANK分别使用字节使能线#BLE和#BHE选通。
所有的偶地址(0、2、4、6、…)的存储单元都在BANK0中,所有奇地址(1、3、5、7、…)的存储单元都在BANK1中。
其电路结构如图2所示。
图2 实验箱中的16位存储器单元电路结构图
3)16位存储器操作
(1) 规则16位字的读写操作
在存储器中,从偶数地址开始存放的字称为规则字。
CPU访问一个规则字只需要一个总线周期,在总线周期中,#BLE和#BHE同时有效,从而同时选通两个存储体。
例如:MOV [0000], AX ;将AX中的数据写入地址为0000H的存储单元中
MOV [0002], AX ;将AX中的数据写入地址为0002H的存储单元中
(2) 非规则16位字的读写操作
在存储器中,从奇数地址开始存放的16位字称为非规则字。
CPU访问非规则字需要两个总线周期。
通过#BLE和#BHE在两个周期中选通不同的字节。
例如,要读出0001H号地址单元中的16位数据,第一个总线周期送出地址0001H,并使#BHE有效,读出该数据的低8位;第二个总线周期地址加1(0002H),并使#BLE有效,读出该数据的高8位;然后自动将读出的2个字节组合为一个字送入指定的目的操作数。
例如:
MOV AX,[0001] ;读出地址为0001H的存储单元中的数据送到AX
MOV BX,[0005] ;读出地址为0005H的存储单元中的数据送到BX
4)16位数据总线上的8位存储器操作
在16位数据总线上也可以进行8位存储器的操作,允许CPU用字节操作指令访问存储
器。
进行8位存储器访问时,只使用16位数据总线的低8位来传送数据,而高8位空闲。
要实现此操作,只需使#BLE有效、#BHE无效即可。
对应于图2中,就是只对0体存储器(图中的62256(1))进行操作,而不对62256(2)所对应的1体存储器进行操作(所以进行8位存储器操作时62256(2)的数据线可以不用连接)。
5.实验步骤
1)按图3连接实验电路。
图3 8/16位存储器扩展实验参考接线图
2)运行Tdpit,根据实验内容编写程序,然后编译、链接。
3)使用运行命令运行程序,待程序运行停止后,通过软件中的“扩展存储区数据显示窗口”查看该存储空间,检测写入数据是否正确。
4)修改实验程序,按非规则字写存储器,观察实验结果。
5)修改实验程序,按字节方式写存储器,观察实验结果。
6.实验报告要求
1)给出实验程序。
2)实验电路图中,系统总线的地址线XA1-XA15连接到SRAM的A0-A14。
为什么系统总线中未提供XA0?请予以说明。
2)对实验结果进行分析。
3)实验小结。
注:实验箱的I/O端口和存储器地址范围
1)查看地址范围
使用TDpit集成操作软件的“查看”菜单项中的“端口资源”命令来查看实验箱中4个I/O片选信号(IOY0~IOY3)和1个存储器片选信号(MY0)所对应的端口地址范围。
见附图1。
2)查看修改存储器的内容
实验箱中的SRAM存储器单元的地址范围是固定的:D0000H~DFFFFH。
可以使用TDpit
集成操作软件的“查看”菜单项中的“扩展存储区”命令来查看并修改SRAM存储器单元中的内容。
见附图2。
附图1 查看端口地址和存储器地址
附图2 查看/修改扩展存储区的内容。