1、存储器实验(在 D盘新建一个目录 Memory,下面的文件均放在此目录下)实验一 测试 622561.新建一项文件 memory1,在此项目文件加入 memory1.asm,输入以下内容:ORG 0000HRESET: LJMP MainORG 0050HMain: MOV DPTR,#0000HMainLOOP:MOV A,#0AAHMOVX DPTR,AMOV A,#00HMOVX A,DPTRINC DPTRLJMP MainLoopEND2.编译、单步运行,观察在寄存器窗口 DTTR,A 值的变化,分析从 62256读回的数据是否与送出的数据相等。3.将程序中的 MOV A,#0AAH
2、 改成 MOV A,#55H 后重复 2 。4.关闭电源,去除 373 或 62256 再打开电源,重复 2,分析运行结果,为什么?5.关闭电源,接上 373及 62256,再打开电源6.将程序中的 MOV DPTR,#0000H改成 MOV DPTR,#8000H后重复 2,分析此时 从 62256读回的数据是否与送出的数据相等,对照实验原理图,分析为什么?7.确定 62256 的存储地址范围。实验二 数据传送(A)实现以下要求:(1)以下内容存储在程序储器中(首地址为 500H)500H:A,B,C,D,E(2)依次将这些内容读出,送入外部数据存储器(首地址为 2000H)2000H:A,
3、B,C,D,E1.新建一项文件 memory2,在此项目文件加入 memory2.asm,输入以下内容:ORG 0000HReset: LJMP MainORG 0050HMain: MOV R2,#0SendLoop: MOV DPTR,#fDATAMOV A,R2MOVC A,A+DPTRMOV DPTR,#2000HMOV DPL,R2MOVX DPTR,AINC R2CJNE R2,#5,SendLoopSTOP: LJMP STOPORG 500HfDATA: DB A,B,C,D,E END2.编译此项目文件。(注意,此时先不要运行程序 )3.打开 code 窗,观察地址 500H
4、-504H 处存放的数据是否为A,B,C,D,E,F4.打开 xdata 窗,观察地址 2000H-2004H 存储的数据5.单步运行此程序,观察相应的寄存器的变化及 xdata 处 2000H-2004H 处的变化6.执行至 STOP处时,观察 xdata 2000H-2004H 存储的数据,分析是否达到所要求的目的。7.分析程序中 MOVC,MOV 及 MOVX这三条传送指令的区别8.参照此程序,编写一程序完成以下要求(1)以下内容存储在程序储器中(首地址为 200H)500H:1,2,3 ,4,5(2)依次将这些内容读出,送入外部数据存储器(首地址为 2000H)2000H:5,4,3
5、,2,1实验三 数据传送(B)编写程序完成以下要求(1)以下内容存储在程序储器中(首地址为 500H)500H:A,B,C,D,E(2)依次将这些内容读出,送入内部数据存储器(首地址为 30H)30H:A,B,C,D,E1.新建一项文件 memory3,在此项目文件加入 memory3.asm,输入以下内容:ORG 0000HReset: LJMP MainORG 0050HMain: MOV R2,#0MOV R1,#30HSendLoop: MOV DPTR,#fDATAMOV A,R2MOVC A,A+DPTRMOV R1,AINC R2INC R1CJNE R2,#5,SendLoop
6、STOP: LJMP STOPORG 500HfDATA: DB A,B,C,D,E END2.编译此项目文件。(注意,此时先不要运行程序 )3.打开 code 窗,观察地址 500H-504H 处存放的数据是否为A,B,C,D,E,F4.打开 data 窗,观察地址 30H-34H 存储的数据5.单步运行此程序,观察相应的寄存器的变化及 data30H-34H 处的变化6.执行至 STOP处时,观察 data 30H-34H 存储的数据,分析是否达到所要求的目的。7.将程序中 MOV R1,#30H改成 MOV R1,30H,重复(1)-(6),分析是否能达到所要求的目的,为什么?8.分析以
7、下指令的区别MOV R1, #30HMOV R1,30HMOV R1,AMOV R1,A9. 参照此程序,编写程序完成以下要求(1)以下内容存储在程序储器中(首地址为 200H)500H:1,2 ,3,4,5(2)依次将这些内容读出,送入内部数据存储器(首地址为 30H)30H:5,4 ,3,2,110.参照实验二和实验三的程序,编写程序完成以下要求将外部数据储器中(地址为 3000H-300FH)的数据依次送入内部数据存储器(地址为 30-3FH)11.掌握 8051的 ROM、内部 RAM及外部 RAM的各自传送指令实验四 62256 的检测实验要求:62256 的地址范围是从 0000H
8、7FFFH,只要有一个地址不能存放数据,则红灯亮,若全部都能存放数据,则绿灯亮。1.新建一项文件 memory4,在此项目文件加入 memory4.asm,输入以下内容:ORG 0000HRESET: LJMP MainORG 0050HMain: CLR P3.3LCALL CheckRAM62256MainLoop:JMP MainLoopCheckRAM62256:MOV DPTR,#0000HCheckRAMLoop: MOV A,#0AAHMOVX DPTR,AMOV A,#00HMOVX A,DPTRCJNE A,#0AAH,RAMErrorINC DPTRMOV A,DPHCJNE A,#80,CheckRAMLoopCLR P3.2SETB P3.3RETRAMError:RETEND2.编译、全速运行,分析运行结果3.关闭电源,去除 373 或 62256,再打开电源,编译,全速运行,分析运行结果4.关闭电源,重新接上 373,62256,再打开电源,编译,全速运行,分析运行结果5.分析 8051最多能扩展多少 K的外部 RAM,如何扩展