📄 aj-源程序.txt
字号:
ORG 00H
AJMP MAIN
ORG 0003H
LJMP KEY_INT0
ORG 0013H
LJMP KEY_INT1
ORG 0030H
MAIN: SETB EX0
SETB IT0
SETB EX1
SETB IT1
MOV R0,#01H
LCALL RD24
MOV 6FH,A
SETB EA
CLR P1.7
CLR P1.6
LCALL DELAY
SETB P1.6
SETB P1.7
MOV R6,#0H
MOV SCON,#080H
MOV 87H,#080H
L2: MOV A,R6
MOV C,P
MOV TB8,C
MOV SBUF,A
L4: JNB TI,L4
CLR TI
INC R6
MOV A,6FH
CJNE A,#00H,L5
LCALL DINGS
SJMP L6
L5: MOV R0,6FH
DELAY_ZHU: LCALL DINGSB
DJNZ R0,DELAY_ZHU
L6: CJNE R6,#03H,L2
MOV R6,#0H
SJMP L2
;************************************************************
;24C01讀寫子程序
;讀:R0:地址;A:數據;
;寫:R0:地址;R1:數據;P3.5数据,接5脚;P3.6时钟,接6脚
RD24:MOV A,R0
PUSH ACC
SETB P3.5
CLR P3.4
LCALL START24
MOV A,#0A0H
LCALL SHIFT8
LCALL ACK
POP ACC
LCALL SHIFT8
LCALL ACK
LCALL START24
MOV A,#0A1H
LCALL SHIFT8
LCALL ACK
SETB P3.5
MOV R7,#8
CLR A
SETB P3.5
RD000: RL A
SETB P3.4
MOV C,P3.5
MOV ACC.0,C
CLR P3.4
DJNZ R7,RD000
LCALL DELAY
LCALL DELAY
RET
WT24: MOV A,R0
MOV B,R1
PUSH ACC
SETB P3.5
CLR P3.4
LCALL START24
MOV A,#0A0H
LCALL SHIFT8
LCALL ACK
POP ACC
LCALL SHIFT8
LCALL ACK
MOV A,B
LCALL SHIFT8
LCALL ACK
LCALL STOP
LCALL DELAY
LCALL DELAY
RET
START24: CLR P3.5
SETB P3.5
SETB P3.4
CLR P3.5
CLR P3.4
RET
STOP: CLR P3.5
SETB P3.4
SETB P3.5
RET
ACK: SETB P3.4
CLR P3.4
RET
SHIFT8: MOV R7,#8
SH01: RLC A
MOV P3.5,C
SETB P3.4
CLR P3.4
DJNZ R7,SH01
RET
;*********************************
;定时
DELAY: MOV R5,#100
DELAY4: DJNZ R5,DELAY4
RET
;*********************************
;5S定时
DINGS: MOV R5,#40
DELAY2: MOV R4,#200
DELAY0: MOV R3,#200
DELAY1: DJNZ R3,DELAY1
DJNZ R4,DELAY0
DJNZ R5,DELAY2
RET
;**********************************
;1分钟定时
DINGSB: MOV R2,#10
DELAYB3: MOV R5,#240
DELAYB2: MOV R4,#200
DELAYB0: MOV R3,#200
DELAYB1: DJNZ R3,DELAYB1
DJNZ R4,DELAYB0
DJNZ R5,DELAYB2
DJNZ R2,DELAYB3
RET
;*********************************
KEY_INT0:PUSH ACC
PUSH PSW
CLR EX0
LCALL DELAY
JB P3.2,KEY_RET
WAIT_ON: JNB P3.2,WAIT_ON
LCALL DELAY
JNB P3.2,WAIT_ON
MOV A,6FH
CJNE A,#00H,SUBB1
SJMP KEY_RET
SUBB1: DEC ACC
MOV 6FH,A
KEY_RET: MOV R0,#01H
MOV R1,6FH
LCALL WT24
POP PSW
POP ACC
SETB EX0
RETI
;*********************************
KEY_INT1:PUSH ACC
PUSH PSW
CLR EX1
LCALL DELAY
JB P3.3,KEY_RET1
WAIT_ON1: JNB P3.3,WAIT_ON1
LCALL DELAY
JNB P3.3,WAIT_ON1
MOV A,6FH
CJNE A,#60,ADD1
SJMP KEY_RET1
ADD1: INC ACC
MOV 6FH,A
KEY_RET1: MOV R0,#01H
MOV R1,6FH
LCALL WT24
POP PSW
POP ACC
SETB EX1
RETI
;**********************************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -