单片机学习习题答案 - 图文(6)

2020-04-14 22:24

DJNZ R7, LOOP1 CLR A MOV ACC.0, C MOV @R0, A RET

问:(1)DAA指令有何用途?

(2)若执行程序前(R0)=20H,(R1)=30H,(R7)=03H,则程序完成什么功能?程序最后的结果放在

哪些单元?(10分)

答案 :(1) DAA是对A中的数进行十进制数的调整。

(2) 将存放在 (22H) (21H) (20H)中的 BCD码与 (32)

(31H)(30H) 单元中的BCD码相加,结果调整为BCD码后放回(23H)(22H)(21H)

(20H)单元中,其中高地址存放高位字节。

20. MOV R0, #20H SLOP: MOV A, @R0

JZ LP1 JB ACC.7, LP2 INC 30H LP0: INC R0 DJNZ 1FH, SLOP END LP1: INC 31H SJMP LP0 LP2: INC 32H SJMP LP0

问:(1)若执行前(20H)单元中的内容为F1H,则程序能不能走到LP1处? (2)执行前1FH单元中存放的是什么?

(3)执行后30H,31H,32H单元中各存放的什么数据?(10分) (1) 不能

(2)参加统计的数的个数 (3) 30H中放正数的个数 31H中放“0”的个数 32H中放负数的个数

21. 已知(30H)=58H,读程序填空。(6分) CLR C

MOV A, 30H; 寻址方式是______, (A)=______

RLC A

RLC A ; (C)=_______

ADD A, #36H ; 寻址方式是_______,(A)=_______ JZ LOOP2 ; 程序转至LOOP1还是LOOP2?答_______ Loop1: MOV A, 00H

直接寻址, 58H

1

立即寻址, 96H LOOP1

22. (30H)=15H,问执行完程序后,A,B,SP,32H,33H ,34H的内容是多少?( MOV SP, #30H XCH A, 30H MOV B, A ANL A, #0FH MOV 33H, A MOV A, B PUSH A SWAP A ANL A, #15H MOV 34H, A PUSH A 答案 : (A)=11H (B)=15H (SP)=32H (32H)=11H (33H)=05H (34H)=11H

23. 内部RAM30H,31H单元中存放两个无符号数,读程序回答问题。(10分) ORG 1000H START: CLR C MOV A, 30H SUBB A, 31H JC NEXT MOV A, 30H

10分) XCH A, 31H MOV 30H, A NEXT: NOP SJMP $ END

(1) 程序完成什么功能?

(2) 若(30H)=89H,(31H)=F5H,执行程序后(30H)=____________, (31H)=_ __________,(Cy)=___________。

答案 :(1) 比较30H与31H中无符号数的大小,小数存于30H,大数存于31H (2) (30H)=89H, (31H)=F5H, (Cy)=1

四、编程题

1.编写程序,将外部RAM2000H-201FH数据块数据,传送到片内RAM40H-5FH的对应单元中,并统计其中数据‘0’的个数,将结果放入片内60H单元中。 答案 :START: MOV DPTR,#2000H

MOV R0,#40H MOV R1, #1FH MOV R2,#00H

LOOP: MOVX A,@DPTR

MOV @R0, A INC DPTR INC R0

CJNE A, #00H, LOOP1 INC R2

LOOP1: DJNZ R1, LOOP

MOV 60H, R2 RET

2. 已知8位要显示数字已存放在首地址为30H的片内RAM中,试将其转换为共阴显示字段码,存入首址为40H的内RAM中,已知TABD为0-9共阴字段码表首址。 ORG 1000H

TABD:DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH

答案 :MOV DPTR,#TABD

MOV R2,#8 MOV R0,#30H

MOV R1,#40H LOOP:MOV A,@R0

MOVC A,@A+DPTR MOV @R1,A INC DPTR INC R0 INC R1 DJNZ R7,LOOP

END

3. 试完成程序,求Y值,设m, n存在30H和31H中,Y存在32H中,且m?n积小于256,m/n的商为整数。

m?n (mn) 答案 : MOV A,30H

4. 求出片外RAM3000H——300FH,这16个单元数据的平均数,并将平均值放入片外RAM3010H单元中,

余数放入3011H单元中(设16个数的和小于256)。 答案 :

MOV DPTR,#3000H MOV R0,10H MOV B,#00H

MOV B,31H CJNE A,B,LOOP1 MOV 32H,#00H LJMP BB

LOOP1: JC LOOP2

DIV AB MOV 32H,A LJMP BB

LOOP2: MUL AB

MOV 32H,A

BB: END

LOOP: MOVX A,@DPTR

ADD A,B MOV B, A

INC DPTR

DJNZ R0,LOOP MOV A,B MOV B,#16 DIV AB

MOV DPTR,#3010H MOVX @DPTR,A

INC DPTR MOV A, B MOVX @DPTR,A

5. 设X由 P1口输入,Y存在外部RAM2000H单元,试按下列要求编制程序(设X?256)

X

2

2

END

; 当X ? 10时

Y= 2X ; 当10 ? X ? 100时

X/2 ; 当X ? 100时 答案 :MOV A, P1 CJNE A, #10, LOOP1 LOOP1: JNC LOOP2 MOV B, A MUL AB LJMP LOOP5 LOOP2: CJNE A, #101, LOOP3 LOOP3: JNC LOOP4 MOV B, A ADD A, B LJMP LOOP5 LOOP4: MOV B, #2 DIV A, B LOOP5: MOV DPTR, #2000H MOV @DPTR, A END

6. 片内RAM区中,有 20个补码表示的数存放在首地址为30H的单元中,请编程把其中的正数送到20H为首址的片外RAM中,负数不传送(0不是正数)。 答案 : MOV R0,#30H

MOV R1, #20H MOV R7,#20

LOOP: MOV A,@R0


单片机学习习题答案 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017房地产估价师考试真题-房地产估价理论与方法

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: