河北工业大学 单片机实验 第四次试验 实验八 查表程序设计.pdfVIP

河北工业大学 单片机实验 第四次试验 实验八 查表程序设计.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验八查表程序设计

一、实验目的

1.进一步熟悉MCS-51指令系统和汇编语言程序设计。

2.学会用MOVC指令编写查表程序。

二、实验内容

1.设计并调试一个查平方表的程序,其功能为应用查表指令MOVCA,@A+PC,求累加器A中数的平

方值,结果平方值送A。要求待查的(A)≤15。

2.设计并调试一个根据电压值查与其对应的温度值的查表程序,其功能为应用查表指令MOVCA,

@A+DPTR,求(A)中电压值对应的温度值,将温度值送RR(温度值为二字节的压缩BCD码),电压值

23

的范围为(A)≤0FFH。实验程序参考框图如3-8所示。

三、实验步骤

1.键入程序和预定表后;

2.通过修改自变量参数启动并调试程序,直至正确为止。

3.边调试边体会用PC或DPTR作指针查表的区别。

四、实验报告要求

根据实验内容和程序参考流程,编出所需查表程序,列出实验程序清单。

五、思考题

1.当表的长度〉255个字节时应选哪一条指令查表?

答:当表的长度〉255个字节时应选“MOVCA,@A+DPTR”指令查表,并且需要对DPH、DPL进行运

算处理,求出表目地址,再用“MOVCA,@A+DPTR”指令查表。

2.用PC指针查表编程时应注意什么?

答:应先用传送指令把所查数据的项数送入累加器A,并用“ADDA,#data”对A进行修正data值等于

查表指令和数据表格之间的字节数,然后用“MOVCA,@A+PC”查表,同时用PC指针查表的表的范围

不能大于255个字节。

六、参考程序清单

1.求平方值查表程序:

ORG0000H

ADDA,#02H

MOVCA,@A+PC

SJMP$

DB0,1,4,9,16,2536,49

DB64,81,100,121,144,169,196,225

END

本程序实现通过查表得A累加器中数的平方值并将结果送A,根据A中数值采用基址加变址方法找到所查数

的地址得所对应的平方数。例:当(A)=5时,执行过程如下:

D:0XE0(A)

PC指针ORG0000H05H

C:0X0000ADDA,#02H07H

C:0X0002MOVCA,@A+PC19H;A+PC=A(10),查表的19H(25)

C:0X0003SJMP$

C:0X0005DB0,1,4,9,16,2536,49

DB64,81,100,121,144,169,196,225

END

2.测量温度查表程序:

双字节查表程序刘程序如图3-8所示:

双字节查表参考程序清单:

ORG0000H

MOVDPTR,#TAB

CLRC

MOVR0,A

ADDA,R0

MOVF0,C

ADDA,DPL

MOVDPL,A

CLRA

ADDCA,DPH

MOVC,F0

ADDCA,#0

MOVDPH,A

CLRA

MOVCA,@A+DPTR;查第一个字节

MOVR2,A

CLRA

INCDPTR

MOVCA,@A+DPTR;查第二个字节

MOVR3,A

SJMP$

TAB:DW0100H,0110H,0120H,0130H,0140H,0150H,0160H;温度表

END

本程序实现根据A中电压查表中与之对应的温度值,表中温度均为2字节故

(A)*2+DPTR(表首地址)即可查的对应温度值。例:温度表如上,当电压为

3时执行过程如下:

文档评论(0)

152****9690 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档