实验一、查表程序(MOVC A,@A+DPTR)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验名称:一、查表程序日期:2011.4.24得分:

同组人:(不填)指导教师:马惠兰

一、实验目的

1.熟悉Keil uvision3单片机仿真软件的使用方法。

2.熟练掌握单片机实验操作步骤。

3.熟练掌握用MOVC A , @A+DPTR和MOVC A , @A+PC进行查表的程序设计方

法和编程技巧。

4.掌握Keil uvision3对寄存器和SFR赋值和查看数据的命令和方法。

二、实验设备

PC机一台

三、实验内容

根据累加器A中的自变量,查表求1~20的平方数,平方高位数存放在寄存器R6中,平方低位数存放在寄存器R7中。

四、实验原理

本次实验采用查表指令MOVC A , @A+DPTR实现上述字数据查表。

因为最大的自变量20的平方数是400,为了查表后验证方便,自变量1~20对应的平方数用伪指令DW定义,并且定义为压缩BCD码。

查表指令MOVC A , @A+DPTR只能进行字节查表,要查找一个字数据,必须进行两次查表。利用指令MOVC A , @A+DPTR查表,表可以存放在任何位置,查表前只需要将表的首地址用MOV指令送DPTR、累加器A中必须是要查找数据在表中的偏移地址即可,查找到的数据存放在累加器A中。

编程时,首先将表的首地址送DPTR,累加器A中的自变量减1形成要查找数据在表中的序号,序号乘2得到表内偏移地址,将该偏移地址暂存到寄存器R6中,用MOVC A , @A+DPTR指令进行第一次查表,得到该自变量的平方高8位在累加器A 中,并与R6进行交换,这样查找的平方高位数存放在寄存器R6中,累加器A中是第一次查表时的表内偏移地址;累加器A再加1,得到要查找的平方低位数在表内的偏移地址,再用MOVC A , @A+DPTR指令进行第二次查表,累加器A得到该自变量的平方低8位,送寄存器R7。

据此实验原理编写的实验源程序清单见附页。

五、实验步骤

1.在F盘下为工程建立文件夹张三1;

2.新建工程项目文件张三1.uv2,保存在文件夹张三1中,并为工程选择目标器件为

AT89S52;

3.编辑源程序,建立源文件张三1.ASM,保存在文件夹张三1中;

4.将源文件张三1.ASM添加到工程项目组中;

5.设置调试环境,选择调试模式为软件模拟;

6.加载运行程序,根据预先设计的数据记录表格记录实验数据;

7.实验数据经过实验指导教师检查正确后,实验结束。

实验数据记录见附页。

六、实验结果分析

记录的实验数据经过验证,全部正确,说明源程序设计正确、实验步骤正确。

七、心得体会

1.。。。。。。。

2.。。。。。。。。。。

3.。。。。。。。。。

4.。。。。。。。。。

5.。。。。。。。。。

相关文档
最新文档