📄 s2.asm
字号:
;S2试验板 AT89C51 晶振12M
;1-S12控制的数码显示
;**********************************************************************************
ORG 0000H
LJMP MAIN
ORG 030H
MAIN:MOV P3,#0C0H ;P3口送0C0H,数码管显示"0"。
ACALL DEL4MS ;调用4mS延时子程序维持数码管点亮。
MOV P3,#0F0H ;向P3口送F0H,准备读P3口输入状态。
MOV A,P3 ; P3口状态送入累加器A。
CJNE A,#0F0H,F1 ;判P3口有无键按下,有键按下转F1,无键按下顺序执行。
AJMP MAIN ;无键按下跳到MAIN处循环。
F1:MOV P3,#0F9H ;数码管显示"1"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#0A4H ;数码管显示"2"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#0B0H ;数码管显示"3"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#099H ;数码管显示"4"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#092H ;数码管显示"5"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#082H ;数码管显示"6"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#0F8H ;数码管显示"7"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#080H ;数码管显示"8"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。
MOV P3,#090H ;数码管显示"9"。
ACALL DEL1S ;调用1S延时子程序维持数码管点亮。;
AJMP MAIN ;跳转到主程序处循环。
DEL4MS:MOV R7,#04H ;延时4mS子程序。
DL0:MOV R6,#0FFH
DL1:DJNZ R6,DL1
DJNZ R7,DL0
RET
DEL1S:MOV R5,0FFH ;延时1S子程序。
F2:ACALL DEL4MS
DJNZ R5,F2
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -