单片机原理与应用实验二 拆字程序(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;
}
  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值