单片机原理与应用实验二:C语言版拆字程序详解

单片机原理与应用实验二 拆字程序

(设计性实验)

一、实验目的

掌握汇编语言设计和调试方法。

二、实验原理

本程序一般用于把数据送显示缓冲区。设计思路是:利用DPTR寄存器做为地址指针,采用寄存器间接寻址的方式访问外部RAM。利用与操作指令从一个字节中取出需要的数据。

三、主要仪器及耗材

星研SUN ES59PA单片机实验仪和PC机。

四、实验内容与步骤

实验内容:编程实现把外部RAM 0000H单元的内容拆开,高4位送外部RAM 0001H单元的低4位,低4位送外部RAM 0002H单元的低4位,0001H、0002H高4位清零。
实验步骤:① 在星研集成环境下新建项目文件,然后新建源程序文件,注意源程序文件的扩展名应该是ASM。输入源程序并存盘;② 对源程序进行编译、链接形成目标代码,同时排除源程序中的错误;③ 将编译、链接形成的调试文件(.DOB)下载到单片机实验仪中;④ 利用单步、运行到光标所在行等方式进行程序调试;⑤ 检查程序运行结果并进行分析。

五、实验注意事项

在调试过程中,一旦出现单片机实验仪死机的情况,可以在星研集成环境中点击“复位”图标对实验仪进行复位。然后重新将调试文件下载到实验仪中,继续调试。

六、思考题

1、如果将内部RAM 30H单元的内容拆开,拆分的结果也存储在内部RAM中,应该如何做?
2、如果要求拆分后数据的高4位全为“1”如何实现?

七、参考文献

本课程理论课的授课教材。

八、代码

1.用指针

#include<reg51.h>
#define uchar unsigned char
void main()
{
	uchar xdata *a;
	a=0x0000;
	*(a+1)=*(a)/16;
	*(a+2)=*(a)%16;
}

2.用数组

#include<reg51.h>
unsigned char xdata address[3]_at_0x0000;
void main()
{
	address[1]=address[0]/16;
	address[2]=address[0]%16;
}
物联沃分享整理
物联沃-IOTWORD物联网 » 单片机原理与应用实验二:C语言版拆字程序详解

发表评论