第3章-MCS-51系列单片机的指令系统和汇编语言程序 下载本文

ACALL BTOA MOV R5, A INC DPTR MOVX A, @DPTR MOV Rl, A SWAP A

ANL A, #0FH ACALL BTOA MOV R6, A MOV ANL ACALL MOV INC MOV MOVX INC MOV MOVX INC MOV MOVX INC MOV MOVX HERE: SJMP ORG BTOA: MOV MOV ORL LOP. RLC JNC INC NEXT: DJNZ RLC PUSH MOV JNB POP ORG SJMP CONT: POP GONE: RET

ORG A, Rl A, #0FH BTOA R7, A DPTR A,R4

@.DPTR,A DPTR A.R5

@DPTR,A DPTR A,R6

@DPTR,A DPTR A,R7

@ DPTR,A HERE 0200H R2,#08H R3,#00H A.#30H A NEXT R3

R2,LOP A ACC A,R3

ACC.O,CONT ACC A,#80H GONE ACC 2000H

DAT: DW 7954H DW 0000H DW 0000H END ·· 共 ·

3·2·45 阅读下列程序 写出程序执行后片外 RAM 8000H和 8002H单元以及Rl、R3、R4的内容。

ORG 0200H

MOV DPTR,#DAT MOV R0,#0 MOV Rl,#1 MOV R2.#2

MOVX A,@DPTR MOV R3,A INC DPTR

MOVX A,@DPTR

ORL A,R3 JZ HERE

MOV DPTR,#DAT

LOOPl: MOV R3,#8

LOOP2: MOVX A.@DPTR ANL A,Rl MOV R4,A JZ NEXT TNC R0

NEXT: MOV A.Rl

RL A MOV Rl.A

DJNZ R3,LOOP2 INC DPTR DJNZ R2,LOOPl MOV A,R0

MOVX @DPTR,A HERE: SJMP HERE ORG 8000H

DAT: DW 4B9FH

DB 0 END

3·2·46阅读下列程序,设fOSC=l2MHz,请回答:

(1)该程序每隔多少时间执行一次检测程序?是怎样安排达到的? (2)定/计0及定/计1各在什么情况下溢出?列出您的计算。 (3)为程序作出注释。

0000H LJMP 0030H ;主程序

ORG 0030H START: CLR Tl

MOV TMOD,#5lH MOV IE,#8AH MOV TH0,#0D8H

MOV TL0,#0F0H MOV THl,#0E8H MOV TLl,#90H SETB TR0 SETB TR1

; ;

;中断服务程序

ORG 000BH LJMP 0080H ORG 0080H

TOOV: SETB T1

MOV TH0,#0DBH MOV TL0,#0F0H CLR T1 RETI

ORG 00lBH LJMP 0090H ORG 0090H

T1OV: MOV THl,#0E8H

MOV TLl,#90H

;

; ;此起为检测程序 ; RETI

3·2·47阅读本书实验部分第3章\实验五P0口扩展I/O 口\参考程序中自指令MOV TMOD,#50H起的程序,仔细钻研其中定时器/计数器0、定时器/计数器l、R6、R7的用法,写出您的理解、分析与计算。 3·2·48阅读参考书籍,钻研MCS—51系列单片机在怎样的情况下才能单步执行用户程序?