单片机(汇编)语言程序设计实验报告.docx





《单片机(汇编)语言程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《单片机(汇编)语言程序设计实验报告.docx(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机(汇编)语言程序设计实验报告单片机实验1汇编语言程序设计实验-存储器块赋值一实验目的1熟悉存储器的读写方法,熟悉51汇编语言构造。2熟悉循环构造程序的编写。3熟悉编程环境和程序的调试。二实验内容指定存储器中某块的起始地址和长度,要求将其内容赋值。例如将4000H开场的100个字节内容清零或全部赋值为33H(参考程序),要求根据参考程序修改:修改程序,赋值内容为10,9,8,7,6,5,4,3,2,1。三实验仪器微机、VW,WAVE6000编程环境软件,单片机实验箱仿真器-仿真器设置-选择仿真器选择仿真头选择CPULab8000/Lab6000通用微控制器MCS51实验8051前3个软件实
2、验勾选使用伟福软件模拟器四实验步骤注意:1文件不要用中文名称保存时不要用中文途径目录,不要放在“桌面上,源文件和工程要放在同一个文件夹下,文件名称和途径名称不要太长。2查看存储器菜单使用:窗口-数据窗口-XDATA观察存储器内容3查看SFR:窗口-CPU窗口查看CPU寄存器SFR4单步执行:执行-单步执行(F8),每执行一步,查看每条语句涉及到的寄存器和存储器内容的变化结果,能否是指令所要得到的结果,如不是,检查错误原因,修改。5利用多种执行方法和观察各种窗口调试程序,直至程序满意为止。编译器默认设置:程序框图参考例程序:Blockequ4000hmovdptr,#Block;起始地址movr
3、0,#10;清10个字节mova,#33h;将33H赋值给aLoop:movxdptr,a将a写入外部RAMincdptr;指向下一个地址djnzr0,Loop;记数减一ljmp$;$当前程序指针相当于一直执行本人;ljmp$end讲明:$:是当前语句的程序指针地址相当于一直执行本人:ljmp$,程序死循环要求赋值数据为10,9,8,7,6,5,4,3,2,1则以上程序该怎样改动?本人修改程序实现。修改后的程序:Blockequ4000hmovdptr,#Block;起始地址movr0,#10;清10个字节mova,#0ah;将0ah赋值给aLoop:movxdptr,a;将a写入外部RAMi
4、ncdptr;指向下一个地址deca;a值减一djnzr0,Loop;记数减一ljmp$;$当前程序指针相当于一直执行本人;ljmp$end单片机实验2存储块移动一实验目的1熟悉51汇编语言程序构造。2熟悉循环构造程序的编写,进一步熟悉指令系统。3熟悉编程环境和程序的调试。二实验内容将指定源地址3000H和长度10字节的存储块移动到目的地址3050H。需要先对3000H开场的源数据块赋值为10,9,8.1。三实验仪器微机、WAVE6000软件,单片机实验箱微机、VW,WAVE6000编程环境软件,单片机实验箱仿真器-仿真器设置-选择仿真器选择仿真头选择CPULab8000/Lab6000通用微
5、控制器MCS51实验8051注意:在编程环境中,能够通过软件仿真,观察程单片机运行情况。四实验步骤参考程序与流程图参考程序移动3000H-3050H,10字节由于源地址和目的地址的内容都一样FF,调试时看不到内容的变化,所以需要给源地址内容赋值。如要求赋值内容为10,9,8,7,6,5,4,3,2,1。有多种赋值方式,如下面两种分别独立完成:1在搬移循环体内赋值一个搬移一个,请在参考程序1的?处补充程序2循环体外赋值,先全部赋值再搬移,请在参考程序2的?处添加赋值程序。参考程序1movr0,#30hmovr1,#00hmovr2,#30hmovr3,#50hmovr7,#10Loop:movd
6、ph,r0;将dptr高八位给r0movdpl,r1;将dptr低八位给r1mova,r7;将r7的值赋给amovxdptr,a;将a写入RAM/IO口movxa,dptr;读外部RAM/IO口decr7;r7减一movdph,r2;将dptr高八位给r2movdpl,r3;将dptr低八位给r3movxdptr,a;将a写入RAM/IO口incr1;r1加一incr3;r3加一djnzr7,Loop;计数减一ljmp$;$当前程序指针相当于一直执行本人;ljmp$参考程序2movr0,#30hmovr1,#00hmovr2,#30hmovr3,#50hmovr7,#10Blockequ300
7、0hMovdptr,#Block;起始地址movr4,#10;清10个字节mova,#0ah;将oah赋值给aNext:movxdptr,a;将a写入RAM/IO口incdptr;指向下一个地址deca;a旳值减一djnzr4,Next;计数减一Loop:movdph,r0;将dptr高八位给r0movdpl,r1;将dptr低八位给r1movxa,dptr;读外部RAM/IO口movdph,r2;将dptr高八位给r2movdpl,r3;将dptr低八位给r3movxdptr,a;将a写入RAM/IO口incr1;r1加一incr3;r3加一djnzr7,Loop;计数减一ljmp$;$当前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 汇编 语言程序设计 实验 报告

限制150内