资源描述:
《微机原理与接口技术软件实验12》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本科实验报告课程名称:微机原理与接口技术姓名:陈肖苇学院:信息与电子工程学院专业:电子科学与技术学号:3140104580指导教师:黄凯2016年11月3日专业:_电子科学与技术_姓名:陈肖苇学号:3140104580日期:2016.11.3地点:教十一400室实验报告课程名称:微机原理与接口技术指导老师:黄凯成绩:__________________实验名称:单片机软件实验一二实验一内存操作1.基础型实验内容①下列程序的功能是给外部RAM8000~80FFH的256个单元的内容赋值,赋值的内容取决于程
2、序中A的赋值。在WAVE环境运行该程序,并观察寄存器及内存单元的变化。代码:ORG0000HSTARTEQU8000HMAIN:MOVDPTR,#STARTMOVR0,#0;设置256字节计数值MOVA,#1H;置A中内容为1Loop:MOVX@DPTR,AINCDPTR;指向下一个地址DJNZR0,Loop;循环256次NOPSJMP$END代码分析:l功能:将外部RAM8000~80FFH的256个单元的内容赋值为1。实验现象:XDATA区的8000~80FFH的256个单元被赋值为01。实验结果如
3、下:图一:内存操作实验一截图②下列程序将3000H起始的256个字节存储块移动到4000H起始的256个字节存储块,在WAVE环境运行如下程序,观察寄存器及存储单元的变化。代码:ORG0000HMOVDPTR,#3000HMOVA,#01HMOVR5,#0LOOP:MOVX@DPTR,AINCDPTRDJNZR5,LOOPMOVR0,#30HMOVR1,#00HMOVR2,#40HMOVR3,#00HMOVR7,#0LOOP1:MOVDPH,R0MOVDPL,R1MOVXA,@DPTRMOVDPH,R2
4、MOVDPL,R3MOVX@DPTR,AINCR1INCR3DJNZR7,LOOP1SJMP$END代码分析:l功能:将4000H起始的256个字节存储块全部赋值为1。l实现:先通过256次循环,将3000H起始的256个字节存储块赋值为1,然后利用MOVX指令,先将30XXH中的数据值写入A,然后修改DPTR,指向40XXH,循环256次,实现将4000H起始的256个字节存储块全部赋值为1。实验现象:从3000H和4000H起始的256个字节存储块全部赋值为01,实验结果如下图:图二:从3000H起
5、始的256个字节存储块全部赋值为01图三:从4000H起始的256个字节存储块全部赋值为01①在WAVE环境运行如下程序,观察寄存器及内存单元的变化,将变化结果注释于右侧,并说明程序完成什么功能?将程序中MOVA,@R0改成MOVXA,@R0,将MOV@R1,A改成MOVX@R1,A,运行如下程序,观察寄存器及内存单元的变化。代码:ORG0000HMOVR0,#30H;赋值MOVR1,#50HMOVR2,#20HL1:MOV@R0,#01H;源代码无赋值,看不出变化,为突出变化,此处赋值为1MOVA,@
6、R0;将30H中的内容搬给AMOV@R1,A;将A中的内容搬给50HINCR0;自增INCR1;自增DJNZR2,L1;循环20H次END代码分析:l功能:将内部RAM的30H起始的20H个字节存储块搬运到内部RAM的50H起始的20H个字节存储块。实验现象:从3000H和4000H起始的256个字节存储块全部赋值为01,实验结果如下图:图四:程序执行结束后,内部RAM的值——从30H起始的20H个字节存储块与从30H起始的50H个字节存储块全部赋值为01图五:程序执行结束后内部寄存器的值1.设计型实验
7、内容①在WAVE环境修改内部RAM30H~3FH的内容分别为#00H-#0FH,设计程序实现将内部RAM30H-3FH到40H-4FH的数据块拷贝。代码:ORG0000HMOVR0,#30H;内部RAM的30H起始地址MOVR1,#40H;内部RAM的40H起始地址MOVR2,#10H;循环次数,16次MOVR3,#00H;要写入的内容,初值为0LOOP:MOVA,R3;将要写入的内容写入AMOV@R0,A;将内容写入R1所指向的单元MOV@R1,A;将内容写入R1所指向的单元INCR0;写入地址自增1
8、INCR1;写入目的地址自增1INCR3;写入内容自增1DJNZR2,LOOP;循环16次END实验现象:内部RAM30H~3FH的内容分别为#00H-#0FH,且内部RAM40H~4FH的内容也为#00H-#0FH。图六:程序执行之后,00H~0FH被写入30H~4FH②在WAVE环境修改内部RAM30H~3FH的内容分别为#00H-#0FH,设计程序实现将片内30H~3FH单元的内容复制到片外1030H~103FH中。代码:ORG000