单片机软件实验报告

单片机软件实验报告

ID:9810262

大小:1.94 MB

页数:47页

时间:2018-05-10

单片机软件实验报告_第1页
单片机软件实验报告_第2页
单片机软件实验报告_第3页
单片机软件实验报告_第4页
单片机软件实验报告_第5页
资源描述:

《单片机软件实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一内存操作1.实验目的①掌握数据传送指令;②掌握各种数据传送指令的寻址方式;③熟练运用keil环境对汇编程序进行调试;④掌握数据传送、复制等程序的设计与调试方法。2.预习要求①理解数据传送指令和循环指令的使用;②理解如何对内部寄存器、内部RAM、外部XRAM(外部数据存储器)的读写;③理解各种寻址方式,尤其是较为抽象的变址寻址及相对寻址的方式;④认真预习本实验内容,自行编写程序,填写实验报告。3.实验设备计算机1台;4.基础型实验内容:1.下列程序的功能是给外部XRAM8000H~80FFH的256个单元的内容赋值,赋值

2、的内容取决于程序中A的赋值。在Keil环境运行该程序,并观察寄存器及内存单元的变化。ORG0000HSTARTEQU8000H;MAIN:MOVDPTR,#START;;起始地址MOVR0,#0H;;设置256字节计数值MOVA,#1H;Loop:MOVX@DPTR,A;INCDPTR;;指向下一个地址DJNZR0,Loop;;计数值减1NOP;SJMP$;END寄存器A为1H,DPTR递增到8100H,奇偶校验位由于A的内容是1H,所以p也是1.1.下列程序将外部XRAM3000H起始的256个字节存储块移动到外部XRAM4

3、000H起始的256个字节存储块,在Keil环境运行如下程序,观察寄存器及存储单元的变化。ORG0000HMOVDPTR,#3000HMOVA,#01HMOVR5,#0HLOOP:MOVX@DPTR,AINCDPTRDJNZR5,LOOPMOVR0,#30HMOVR1,#00HMOVR2,#40HMOVR3,#00HMOVR7,#0HLOOP1:MOVDPH,R0MOVDPL,R1MOVXA,@DPTRMOVDPH,R2MOVDPL,R3MOVX@DPTR,AINCR1INCR3DJNZR7,LOOP1SJMP$END实现了将

4、3000H开始的256个单元的内容复制到以4000H开头的外部RAM存储单元中。R0的值为30H;R2的值变为40H;寄存器A中赋值为1H,对栈指针sp初始化为07H,其最大值亦为07H,DPTR中最后递增到40ffH,psw中只有奇偶校验位p是1H3在Keil环境运行如下程序,观察寄存器及内存单元的变化,将变化结果注释于右侧,并说明程序完成什么功能?将程序中MOVA,@R0改成MOVXA,@R0,将MOV@R1,A改成MOVX@R1,A,运行如下程序,观察寄存器及相应地址RAM、XRAM地址单元存储内容的变化。1.ORG00

5、00H;程序从000H开始MOVR0,#30H;MOVR1,#50HMOVR2,#20HL1:MOVA,@R0MOV@R1,AINCR0INCR1DJNZR2,L1SJMP$ENDR0的值递增到50H,R1的值递增到70H,A中的值是4FH中的值,即FFH(程序运行前自己设定的)该程序将内部RAM30H开始的连续20H个存储单元中的内容复制到内部RAM50H开始的连续20H个存储单元中。其中30H到4FH中的值在程序运行前自定义。2.将程序中MOVA,@R0改成MOVXA,@R0,将MOV@R1,A改成MOVX@R1,AORG

6、0000HMOVR0,#30HMOVR1,#50HMOVR2,#20HL1:MOVXA,@R0MOVX@R1,AINCR0INCR1DJNZR2,L1SJMP$END寄存器A中的数值没有发生过任何变化,R0和R1同未改变前一样,一直递增到50H和70H虽然设定了外部RAM30H到4FH中的值,但是并没有复制到50H到6FH存储单元中。原因是初始化后P口都为#FFH,而使用MOVXA,@Ri要求P2口为#00H,所以只要在程序前加MOVP2,#00H就能实现和原来一样的功能了5.设计型实验①在keil环境下,修改内部RAM30H

7、~3FH的内容分别为#00H~#0FH,设计程序实现将内部RAM30H-3FH单元的内容复制到40H-4FH中。ORG000H;MOVR2,#10H;MOVA,#0H;MOVR1,#30H;MOVR0,#40H;LOOP:MOV@R1,A;INCR1;INCA;DJNZR2,LOOP;MOVR1,#30H;MOVR2,#10H;LOOP2:MOVA,@R1;MOV@R0,A;INCR1;INCR0;DJNZR2,LOOP2;SJMP$;END①在keil环境下,修改内部RAM30H~3FH的内容分别为#00H~#0FH,设计程

8、序实现将内部RAM30H~3FH单元的内容复制到片外1030H~103FH中。ORG000H;MOVR2,#10H;MOVA,#0H;MOVR1,#30H;MOVDPTR,#1030H;LOOP:MOV@R1,A;INCR1;INCA;DJNZR2,LOOP;MOVR1,#3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。