求解单片机作业
根据运算结果给出的数据到指定的数据表中查找对应的数据字。
运算结果给出的数据在片内RAM的40H单元中,给出的数据大小在00~0FH之间,数据表存放在20H开始的片内存储器中。其对应关系为:
给出数据: 00 01 02 ....... 0DH 0EH 0FH
对应数据:00AOH 7DC2H FF09H ....... 3456H 89ABH 5678H
查表所得数据字(为双字节、高位字节在后)高位字节存于42H、低位字节存于41H单元。
请编制查表程序段,加上必要的伪指令,并加以注释。
悬赏分:40 - 解决时间:2009-10-27 12:36
最佳答案:
;---------------------------------------------------------
;本题目要求的查表,其表格数据是预先放在片内RAM,故此使用R0间接寻址即可。程序如下:
CHA_BIAO: ;查表程序
MOV R0, #20H ;表首地址
MOV A, 40H ;取数
ADD A, R0 ;修改
MOV R0, A ;形成数据所在的地址
MOV A, @R0 ;取低位
MOV 41H, A ;存
INC R0 ;指向高位
MOV A, @R0 ;取高位
MOV 42H, A ;存
RET ;结束
;---------------------------------------------------------
回答者: 做而论道 - 九级 2009-10-27 12:19
原题网址:http://zhidao.baidu.com/question/123105604.html
;==============================================================
单片机编程,把片外ram7000h、7001h的低位相拼后送入7002h单元。单片机高手教教我这个菜鸟。
悬赏分:5 - 解决时间:2009-10-30 14:22
最佳答案:
;---------------------------------------------------------
MOV DPTR, #7000H
MOVX A, @DPTR
INC DPTR
MOV B, A
MOVX A, @DPTR
INC DPTR
SWAP A
XCHD A, B
MOVX @DPTR, A
;完
;---------------------------------------------------------
回答者: 做而论道 - 九级 2009-10-27 22:47
提问者对于答案的评价:谢谢,比我写的简单多了!