单片机原理与应用实验二 拆字程序
(设计性实验)
一、实验目的
掌握汇编语言设计和调试方法。
二、实验原理
本程序一般用于把数据送显示缓冲区。设计思路是:利用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”如何实现?文章来源:https://www.toymoban.com/news/detail-721944.html
七、参考文献
本课程理论课的授课教材。文章来源地址https://www.toymoban.com/news/detail-721944.html
八、代码
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;
}
到了这里,关于单片机原理与应用实验二 拆字程序(c语言版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!