?? gl.asm
字號:
;
K6W: SETB ADSU
MOV A,JCS0
JZ K6W0
MOV A,JCS0
CJNE A,#10,RTK6W
DEC JCS0
K6W0: MOV A,TM0
ADD A,#99H
DA A
MOV TM0,A
JC XYYB
MOV A,TM1
JB ACC.0,XYYB
MOV TM1,#1
MOV TM0,#0
SJMP JXJ2
XYYB: MOV TM1,#0
JXJ2: MOV R3,TM1
MOV R2,TM0
LCALL DISPWD
RTK6W: LCALL DLY100
INC JCS0
RET
;----------------------------
;
K5T: SETB ADSU
MOV A,JCS0
JZ K5T0
MOV A,JCS0
CJNE A,#30,RTK5T
DEC JCS0
K5T0: MOV A,TM0
ADD A,#1
DA A
MOV TM0,A
CJNE A,#60H,NTADD0
MOV TM0,#0
MOV A,TM1
ADD A,#1
DA A
MOV TM1,A
CJNE A,#24H,NTADD0
MOV TM1,#0
NTADD0: MOV R3,TM1
MOV R2,TM0
LCALL DISPTM
RTK5T: LCALL DLY10MS
LCALL DLY10MS
INC JCS0
RET
;----------------------------
;
K6T: SETB ADSU
MOV A,JCS0
JZ K6T0
MOV A,JCS0
CJNE A,#30,RTK6T
DEC JCS0
K6T0: MOV A,TM0
JNZ NTADD1
MOV A,TM1
JNZ NTADD2
MOV A,#24H
NTADD2: ADD A,#99H
DA A
MOV TM1,A
MOV A,#60H
NTADD1: ADD A,#99H
DA A
MOV TM0,A
MOV R3,TM1
MOV R2,TM0
LCALL DISPTM
RTK6T: LCALL DLY10MS
LCALL DLY10MS
INC JCS0
RET
;----------------------------
KEYDOWN:MOV KEY,#0
LCALL DLY4MS
MOV A,KEY
JZ RTKD
MOV KEY,#0
LCALL DLY4MS
CJNE A,KEY,RTKD
MOV KEY,#0
LCALL DLY4MS
CJNE A,KEY,RTKD
MOV KEYE,A
RET
RTKD: MOV KEYE,#0FFH
RET
;----------------------------
;
KEYUP: MOV KEY,#0
LCALL DLY4MS
MOV A,KEY
JNZ RTKU
LCALL DLY4MS
CJNE A,KEY,RTKU
LCALL DLY4MS
CJNE A,KEY,RTKU
MOV KEYE,A
RET
RTKU: MOV KEYE,#0FFH
RET
;----------------------------
;
SETCON: MOV A,LIGHT0
ORL A,#0F6H
MOV LIGHT0,A
MOV A,SETBNO
CJNE A,#6,NTSET0
MOV SETBNO,#0
MOV A,SETBNO
NTSET0: CJNE A,#0,NTXS0
JNB ADSU,NTXS01
MOV A,TM1
MOV B,#9AH
LCALL WRBA
MOV A,TM0
MOV B,#9BH
LCALL WRBA
NTXS01: MOV B,#90H
LCALL RDBA
CJNE A,#0FFH,FFSJ3
CLR A
LCALL WRBA
FFSJ3: MOV R3,A
MOV B,#91H
LCALL RDBA
CJNE A,#0FFH,FFSJ4
CLR A
LCALL WRBA
FFSJ4: MOV R2,A
MOV TM1,R3
MOV TM0,R2
LCALL DISPWD
CLR TTEMP
CLR ADSU
MOV JCS0,#0
LJMP NTXS5
;
NTXS0: CJNE A,#1,NTXS1
JNB ADSU,NTXS02
MOV A,TM1
MOV B,#90H
LCALL WRBA
MOV A,TM0
MOV B,#91H
LCALL WRBA
NTXS02: MOV B,#92H
LCALL RDBA
CJNE A,#0FFH,FFSJ5
CLR A
LCALL WRBA
FFSJ5: MOV R3,A
MOV B,#93H
LCALL RDBA
CJNE A,#0FFH,FFSJ6
CLR A
LCALL WRBA
FFSJ6: MOV R2,A
MOV TM1,R3
MOV TM0,R2
LCALL DISPWD
CLR STEMP
CLR ADSU
MOV JCS0,#0
LJMP NTXS5
;
NTXS1: CJNE A,#2,NTXS2
JNB ADSU,NTXS03
MOV A,TM1
MOV B,#92H
LCALL WRBA
MOV A,TM0
MOV B,#93H
LCALL WRBA
NTXS03: MOV B,#94H
LCALL RDBA
CJNE A,#0FFH,FFSJ7
CLR A
LCALL WRBA
FFSJ7: MOV R3,A
MOV B,#95H
LCALL RDBA
CJNE A,#0FFH,FFSJ8
CLR A
LCALL WRBA
FFSJ8: MOV R2,A
MOV TM1,R3
MOV TM0,R2
LCALL DISPWD
CLR CTEMP
CLR ADSU
MOV JCS0,#0
LJMP NTXS5
;
NTXS2: CJNE A,#3,NTXS3
JNB ADSU,NTXS04
MOV A,TM1
MOV B,#94H
LCALL WRBA
MOV A,TM0
MOV B,#95H
LCALL WRBA
NTXS04: MOV R3,TTIMER3
MOV R2,TTIMER2
MOV TM1,R3
MOV TM0,R2
LCALL DISPTM ;顯示現在時間
CLR XTIME
CLR ADSU
MOV JCS0,#0
LJMP NTXS5
;
NTXS3: CJNE A,#4,NTXS4
JNB ADSU,NTXS05
MOV A,TM1
MOV B,#96H
LCALL WRBA
MOV A,TM0
MOV B,#97H
LCALL WRBA
CLR TR0
MOV TTIMER3,TM1
MOV TTIMER2,TM0
MOV TTIMER1,#0
MOV TTIMER0,#0
SETB TR0
NTXS05: MOV B,#98H
LCALL RDBA
CJNE A,#0FFH,FFSJ
CLR A
LCALL WRBA
FFSJ: MOV R3,A
MOV B,#99H
LCALL RDBA
CJNE A,#0FFH,FFSJ0
CLR A
LCALL WRBA
FFSJ0: MOV R2,A
MOV TM1,R3
MOV TM0,R2
LCALL DISPTM ;顯示啟動時間
CLR QTIME
CLR ADSU
MOV JCS0,#0
LJMP NTXS5
;
NTXS4: CJNE A,#5,NTXS5
JNB ADSU,NTXS06
MOV A,TM1
MOV B,#98H
LCALL WRBA
MOV A,TM0
MOV B,#99H
LCALL WRBA
NTXS06: MOV B,#9AH
LCALL RDBA
CJNE A,#0FFH,FFSJ1
CLR A
LCALL WRBA
FFSJ1: MOV R3,A
MOV B,#9BH
LCALL RDBA
CJNE A,#0FFH,FFSJ2
CLR A
LCALL WRBA
FFSJ2: MOV R2,A
MOV TM1,R3
MOV TM0,R2
LCALL DISPTM ;顯示停止時間
CLR TTIME
CLR ADSU
MOV JCS0,#0
NTXS5: INC SETBNO
RET
;----------------------------
;
DISPTM: MOV A,R2
MOV B,#10H
DIV AB
MOV BUF0,B
MOV BUF1,A
MOV A,R3
MOV B,#10H
DIV AB
SETB B.7
MOV BUF2,B
MOV BUF3,A
LCALL DISPSM
RET
;----------------------------
DISPSM: PUSH ACC
MOV DPTR,#DATA0
MOV A,BUF0
MOV C,ACC.7
CLR ACC.7
MOVC A,@A+DPTR
CPL C
MOV ACC.7,C
MOV LED0,A
;
MOV A,BUF1
MOV C,ACC.7
CLR ACC.7
MOVC A,@A+DPTR
CPL C
MOV ACC.7,C
MOV LED1,A
;
MOV A,BUF2
MOV C,ACC.7
CLR ACC.7
MOVC A,@A+DPTR
CPL C
MOV ACC.7,C
MOV LED2,A
;
MOV A,BUF3
MOV C,ACC.7
CLR ACC.7
MOVC A,@A+DPTR
CPL C
MOV ACC.7,C
MOV LED3,A
POP ACC
RET
;----------------------------
;Read AT24C02 輸入數據地址 B 讀出數據放于 A
RDBA: LCALL START
MOV A,#0A0H ;
LCALL WR1B
MOV A,B
LCALL WR1B
LCALL START
MOV A,#0A1H ;
LCALL WR1B
LCALL RD1B
LCALL OVER
;
RET
;----------------------------
;Write AT24C02
WRBA: CLR WP
PUSH ACC
LCALL START
MOV A,#0A0H ;
LCALL WR1B
MOV A,B
LCALL WR1B
POP ACC
LCALL WR1B
LCALL OVER
;
LCALL DLY10MS
SETB WP
RET
;----------------------------
;24C02起始
START: CLR SCL
NOP
SETB SDA
NOP
NOP
SETB SCL
NOP
NOP
NOP
CLR SDA
NOP
NOP
NOP
CLR SCL ;START
RET
;----------------------------
;24C02結束
OVER: CLR SCL
NOP
CLR SDA
NOP
NOP
NOP
SETB SCL
NOP
NOP
NOP
SETB SDA
NOP
NOP
NOP
CLR SCL ;END
CLR SDA
RET
;----------------------------
;24C02讀出1字節,讀出數據A
RD1B: PUSH B
PUSH PSW
SETB SDA
CLR A
SETB C
MOV B,#9
LPRD0: RLC A
MOV C,SDA
SETB SCL
NOP
NOP
NOP
CLR SCL
NOP
NOP
NOP
DJNZ B,LPRD0
POP PSW
POP B
RET
;----------------------------
;24C02寫入1字節,數據A
WR1B: PUSH ACC
PUSH B
PUSH PSW
CLR C
MOV B,#9
LPRD1: RLC A
MOV SDA,C
NOP
NOP
SETB SCL
NOP
NOP
NOP
CLR SCL
NOP
NOP
NOP
DJNZ B,LPRD1
POP PSW
POP B
POP ACC
RET
;----------------------------
;
DISPXW: MOV R2,WDTEMP0
MOV R3,WDTEMP1
LCALL DISPWD
;
MOV A,WDTEMP1
JNB ACC.7,NMTEMP
SETB TTEMP
SETB STEMP
SETB CTEMP
SETB TTB
SETB STB
SETB CTB
LJMP RTXW
NMTEMP: MOV B,#91H
LCALL RDBA
XCH A,B
MOV A,R2
CLR C
SUBB A,B
MOV B,#90H
LCALL RDBA
XCH A,B
MOV A,R3
SUBB A,B
JC NTKD0
CLR TTEMP
CLR TTB
SJMP NTKD001
NTKD0: SETB TTEMP
SETB TTB
NTKD001:MOV R2,WDTEMP0
MOV R3,WDTEMP1
JB STB,REFV2
MOV A,R2
ADD A,#1
DA A
MOV R2,A
MOV A,R3
ADDC A,#0
DA A
MOV R3,A
REFV2: MOV B,#93H
LCALL RDBA
XCH A,B
MOV A,R2
CLR C
SUBB A,B
MOV B,#92H
LCALL RDBA
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -