山东大学单片机实验:3.3 静态LED显示实验

【实验题目】  

按下重载键重新计时,按下开始键开始倒计时

【实验要求】 

  • 编写源程序并进行注释。
  • 记录实验过程。
  • 记录程序运行结果。

【实验过程及结果记录

开始:

 计时过程中:

结束后:

【实验源程序】

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
喜欢就支持以下吧
点赞2赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容