单片机 查表程序设计 软件实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验八查表程序设计
一、实验目的
1.进一步熟悉MCS-51指令系统和汇编语言程序设计。
2.学会用MOVC指令编写查表程序。
二、实验内容
求平方值查表程序
图2-5 查表程序框图
(20H)=03H
ORG 0000H
MOV A,20H (A)=(20H)=03H 2字节
MOVC A,@A+PC (A)=(A)+(PC)=05H+04H=09H 1字节
SJMP $
DB 0,1,4,9,16
DB 25,36,49,64 81,
DB 100,121,144,169,196,225
END
测量温度查表程序
查-10 (30H)=02H
ORG 0000H
MOV DPTR,#TAB (DPTR)=(TAB)=20H 3字节
CLR C (Cy)=00H 1字节
MOV A,30H (A)=(30H)=02H (PSW)=01H (P)=01H 2字节MOV R0,A (R0)=(A)=02H 1字节
ADD A,R0 (A)=(A)+(R0)=02H+02H=04H 1字节
MOV F0,C (F0)=(Cy)=00H 2字节
ADD A,DPL (A)=(A)+(DPL)=04H+20H=24H (PSW)=00H 2字节MOV DPL,A (DPTR)=(A)=24H 2字节
CLR A (A)=00H 1字节
ADDC A,DPH (A)=(A)+(DPH)+(Cy)=00H 2字节
MOV C,F0 (Cy)=(F0)=00H 2字节
MOV DPH,A (DPH)=(A)=00H 2字节
CLR A (A)=00H 1字节
MOVC A,@A+DPTR (A)=((A)+(DPTR))=0FFH 1字节
MOV R2,A (R2)=(A)=0FFH 1字节
CLR A (A)=00H 1字节
INC DPTR (DPTR)=(DPTR)+01H=24H+01H=25H 1字节MOVC A,@A+DPTR (A)=((A)+(DPTR))=0F6H 1字节
MOV R3,A (R3)=(A)=0F6H 1字节
SJMP $
TAB:DW 56H ,1324H,-10H,25
END
思考题
1、当表的长度〉255个字节时应选哪一条指令查表?
答:使用MOVC A,@A+DPTR置零,并且需要对DPH、DPL进行运算处理,求出表目地址
2、用PC指针查表编程时应注意什么?
答:表的长度必须在255B之内,。