?? 秒表帶暫停.asm
字號(hào):
ORG 0000H
AJMP MAIN
ORG 000BH ;定時(shí)器計(jì)數(shù)器0的定口地地址
AJMP T0INT
ORG 0030H
MAIN: ;此程序的跑表部分由TO計(jì)數(shù)完成,計(jì)時(shí)部分由T1計(jì)數(shù)完成.
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV 50H,#00H
MOV SP,#60H
MOV TMOD,#01H ;定時(shí)器計(jì)數(shù)器1工作方式1,同時(shí)設(shè)置定時(shí)器T0為工作方式0
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB ET0
SETB TR0
SETB EA
CYCLE:
LCALL INKEY
LCALL SMXS
AJMP CYCLE
T0INT:
PUSH ACC
CLR TR0
MOV TH0, #0D8H
MOV TL0, #0F0H
MOV 30H, #00H
INC 31H
MOV A, 31H
DA A
MOV 31H,A
CJNE A,#100H,EXIT1
MOV 31H,#00H
INC 32H
MOV A, 32H
DA A
MOV 32H, A
CJNE A,#100H,EXIT1
MOV 32H, #00H
EXIT1:
SETB TR0
POP ACC
RETI
;-----------------------------------------------顯示子程序---------------------------------------
SMXS:
MOV A,31H
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,31H
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
MOV A,32H
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.4
ACALL DELAY
SETB P0.4
MOV A,32H
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.3
ACALL DELAY
SETB P0.3
RET
TABLE: INC A
MOVC A, @A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,80H,090H ;0-9的段碼
INKEY:
MOV P3,#0FFH
JB P3.3,NEXT1 ;P3.3等于1則轉(zhuǎn)移
KK: ACALL BUZZER
JNB P3.3 ,KK
INC 50H
MOV A,50H
CJNE A,#01H,KK22
CLR TR0
AJMP NEXT1
KK22:
CJNE A,#02H,NEXT1
SETB TR0
MOV 50H,#00H
NEXT1:
RET
BUZZER:
CLR P1.0
ACALL DELAY
SETB P1.0
RET
DELAY: MOV 55H,#10H
DELAY0: MOV 54H,#50H
DELAY1: DJNZ 54H,DELAY1
DJNZ 55H,DELAY0
RET
END
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -