【实验题目】
按下重载键重新计时,按下开始键开始倒计时
【实验要求】
- 编写源程序并进行注释。
- 记录实验过程。
- 记录程序运行结果。
【实验过程及结果记录】
开始:
计时过程中:
结束后:
【实验源程序】
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV SP,#60H;设置栈
MOV R4,#0AH
MOV A,R3
CLR A;设置初值
MOV R3,A
SETB P1.0
SETB P1.1
LOOP1:
JB P1.1,L1
LOOP2:
MOV A,R4
LCALL C1
L1:
JB P1.0,LOOP1
MOV R3,#0AH;等待P1.1打开
A1:
MOV DPTR,#0FD00H
MOV A,#0C0H
MOVX @DPTR,A
MOV DPTR,#0FE00H
MOV A,#0C0H
MOVX @DPTR,A;读取外部数据
L:
MOV A,R3
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV DPTR,#0FE00H
MOVX @DPTR,A
LCALL DELAY1
DEC R3
MOV A,R3
INC A
JNZ L
B1:
CLR P3.0
LCALL DELAY2
JB P1.1,B1
AJMP LOOP2
TABLE:
DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H;设置计时显示数
C1:
MOV DPTR,#0FE00H
MOV A,#0FEH
MOVX @DPTR,A
MOV DPTR,#0FD00H
MOVX @DPTR,A
RET;设置显示数
DELAY1:
MOV R7,#10
D1:MOV R6,#200
D2:MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET;延时2s程序
DELAY2:
MOV R6,#100
D:
MOV R5,#250
DJNZ R5,$
DJNZ R6,D
RET;延时1s程序
END
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容