📄 text1.asm
字号:
T0IN BIT P3.2
CHANGESIGN BIT 20H
JUDGESIGN BIT 21H
RE_JISHIH EQU 10H
RE_JISHIL EQU 11H
CUN_JISHIH EQU 12H
CUN_JISHIL EQU 13H
ZAN_JISHIH EQU 14H
ZAN_JISHIL EQU 15H
SHANGXIANH EQU 16H
SHANGXIANL EQU 17H
JISHU EQU 20H
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0BREAK
ORG 000BH
LJMP T0BREAK
ORG 0100H
START:MOV TMOD,#00101001B
MOV SCON,#01000000B
MOV TH0,#00H
MOV TL0,#00H
MOV TH1,#0FDH
MOV TL1,#0FDH
CLR CHANGESIGN
MOV CUN_JISHIH,#00H
MOV CUN_JISHIL,#10H
CLR CHANGESIGN
CLR JUDGESIGN
SETB T0IN
SETB TR1
SETB TR0
SETB IT0
SETB ET0
SETB EX0
SETB EA
LJMP MAIN
MAIN: JNB CHANGESIGN,MAIN
CLR CHANGESIGN
MOV SBUF,CUN_JISHIH
JNB TI,$
CLR TI
MOV SBUF,CUN_JISHIL
JNB TI,$
CLR TI
MOV SBUF,#10
JNB TI,$
CLR TI
LJMP MAIN
INT0BREAK:MOV RE_JISHIH,TH0
MOV RE_JISHIL,TL0
MOV TH0,#00H
MOV TL0,#00H
MOV A,SHANGXIANL ;是否是上下限内
CLR C
SUBB A,RE_JISHIL
MOV ZAN_JISHIL,A
MOV A,SHANGXIANH
SUBB A,RE_JISHIH
MOV ZAN_JISHIH,A
CJNE A,#00H,DIFFERENTIN
MOV A,#10
CLR C
SUBB A,ZAN_JISHIL
JC DIFFERENTIN
JNB JUDGESIGN,OUTINT0 ;在上下限内
DJNZ JISHU,OUTINT0
CLR JUDGESIGN
MOV CUN_JISHIH,RE_JISHIH
MOV CUN_JISHIL,RE_JISHIL
SETB CHANGESIGN
LJMP OUTINT0
DIFFERENTIN: JNB JUDGESIGN,RESET
MOV A,CUN_JISHIL
CLR C
ADDC A,#5
MOV SHANGXIANL,A
MOV A,CUN_JISHIH
ADDC A,#00H
MOV SHANGXIANH,A
MOV JISHU,#9
CLR JUDGESIGN
LJMP OUTINT0
RESET: MOV A,RE_JISHIL ;不在上下限内重新定上限
CLR C
ADDC A,#5
MOV SHANGXIANL,A
MOV A,RE_JISHIH
ADDC A,#00H
MOV SHANGXIANH,A
MOV JISHU,#05
SETB JUDGESIGN
LJMP OUTINT0
OUTINT0: RETI
T0BREAK: MOV TH0,#00H
MOV TL0,#00H
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -