📄 hst1l.asm
字号:
BSF PORTF,3
BSF PORTF,6
BSF INTCON3,3
RETURN
GZFH BSF AA3,0
MOVLW 64H
MOVWF ERRCOUNT0
MOVLW 0AH
MOVWF ERRCOUNT1
BSF INTCON3,3
RETURN
;******************** TEST SUBROUTINE ****************************
CESHI
BCF INTCON,1
BCF INTCON,4
BCF PIE1,2
BSF SIGN1,3
BSF PORTE,0
BSF PORTE,1
BSF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 04H
CPFSEQ ERR
BRA SHIYAN
FANHUI
; BCF SIGN1,3
; BCF INTCON3,0
NOP
BSF INTCON,4
BCF INTCON,1
BSF PIE1,2
RETURN
SHIYAN
MOVLW 01H
CPFSEQ ERR
BRA SY1
MOVLW 0AH
MOVWF ERR2
BRA TESTIR3
SY1 MOVLW 02H
CPFSEQ ERR
BRA SY2
MOVLW 0EH
MOVWF ERR2
BRA TESTIR3
SY2 MOVLW 03H
CPFSEQ ERR
BRA SY3
MOVLW 14H
MOVWF ERR2
BRA TESTIR3
SY3 MOVLW 05H
CPFSEQ ERR
BRA SY4
MOVLW 01H
MOVWF ERR2
BRA TESTIR3
SY4 MOVLW 06H
CPFSEQ ERR
BRA SY5
MOVLW 03H
MOVWF ERR2
BRA TESTIR3
SY5 MOVLW 07H
CPFSEQ ERR
BRA SY6
MOVLW 05H
MOVWF ERR2
BRA TESTIR3
SY6 MOVLW 00H
CPFSEQ ERR
BRA TESTIR3
MOVLW 07H
MOVWF ERR2
;*******************TESTIR3 SUBROUTINE***************************
TESTIR3
BCF PORTE,0 ;IS Ir3 OFF?
BSF PORTE,1
BCF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 05H
CPFSEQ ERR
BRA TESTIR31
BRA TESTIR2
TESTIR31
MOVLW 11H
MOVWF IR200
MOVLW 01H
CPFSEQ ERR
BRA TS11
MOVLW 0AH
MOVWF ERR1
BRA BIJIAO
TS11
MOVLW 02H
CPFSEQ ERR
BRA TS21
MOVLW 0CH
MOVWF ERR1
BRA BIJIAO
TS21
MOVLW 03H
CPFSEQ ERR
BRA TS31
MOVLW 10H
MOVWF ERR1
BRA BIJIAO
TS31
MOVLW 04H
CPFSEQ ERR
BRA TS41
MOVLW 14H
MOVWF ERR1
BRA BIJIAO
TS41
MOVLW 06H
CPFSEQ ERR
BRA TS51
MOVLW 03H
MOVWF ERR1
BRA BIJIAO
TS51
MOVLW 07H
CPFSEQ ERR
BRA TS61
MOVLW 04H
MOVWF ERR1
BRA BIJIAO
TS61
MOVLW 08H
CPFSEQ ERR
BRA TS71
MOVLW 05H
MOVWF ERR1
BRA BIJIAO
TS71
MOVLW 09H
CPFSEQ ERR
BRA TS81
MOVLW 06H
MOVWF ERR1
BRA BIJIAO
TS81
MOVLW 08H
MOVWF ERR1
; BRA FANHUI
BRA BIJIAO
TEST1
INCF JSQ ;THE TIME OF IG IS OVER?
MOVF TT20,0
CPFSEQ JSQ
BRA QXJS
BCF PORTB,4
BCF PORTB,5 ;SHUT OFF
CALL DELAY10
BSF PORTB,4
BSF PORTB,5
BCF PORTF,6
BCF PORTF,1
BSF PIE1,2
BSF INTCON,4
; BCF SIGN2,0
YANSHI2
INCF JSQ1
CALL DELAY10
MOVLW 0FFH
MOVWF YANSHI
CPFSEQ JSQ1
BRA QXJS0
NOP
NOP
BCF INTCON,1
; BSF PORTF,6
; BSF PORTF,1
CLRF IR200
CLRF ERR1
CLRF ERR2
CLRF JSQ
CLRF JSQ1
CLRF SHIYAN
; BSF INTCON,6
; BSF INTCON,7
BRA YANSHI2
QXJS0 CALL DELAY10
BRA YANSHI2
QXJS CALL DELAY10
BRA TEST1
IR3TK
BCF PORTB,4
BCF PORTB,5
CALL DELAY10
BSF PORTB,4
BSF PORTB,5
BCF PORTF,6
BCF PORTF,2
BSF PIE1,2
BSF INTCON,4
; BCF SIGN2,0
IR3TK2
INCF JSQ1
CALL DELAY10
MOVLW 0FFH
MOVWF YANSHI
CPFSEQ JSQ1
BRA QXJS1
NOP
NOP
; BSF PORTF,6
NOP
; BSF PORTF,2
BCF INTCON,1
CLRF IR200
CLRF ERR1
CLRF ERR2
CLRF JSQ
CLRF JSQ1
CLRF SHIYAN
BRA IR3TK2
QXJS1 CALL DELAY10
BRA IR3TK2
;******************** TESTIR2 SUBTOUTINE***************************
TESTIR2
BSF PORTE,0 ;IS Ir2 OFF?
BCF PORTE,1
BCF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 05H
CPFSEQ ERR
BRA $+4
BRA TESTIR1
MOVLW 10H
MOVWF IR200
MOVLW 01H
CPFSEQ ERR
BRA TS1
MOVLW 07H
MOVWF ERR1
BRA BIJIAO
TS1 MOVLW 02H
CPFSEQ ERR
BRA TS2
MOVLW 08H
MOVWF ERR1
BRA BIJIAO
TS2 MOVLW 03H
CPFSEQ ERR
BRA TS3
MOVLW 09H
MOVWF ERR1
BRA BIJIAO
TS3 MOVLW 04H
CPFSEQ ERR
BRA TS4
MOVLW 0AH
MOVWF ERR1
BRA BIJIAO
TS4 MOVLW 06H
CPFSEQ ERR
BRA TS5
MOVLW 02H
MOVWF ERR1
BRA BIJIAO
TS5 MOVLW 07H
CPFSEQ ERR
BRA TS6
MOVLW 03H
MOVWF ERR1
BRA BIJIAO
TS6 MOVLW 08H
CPFSEQ ERR
BRA TS7
MOVLW 04H
MOVWF ERR1
BRA BIJIAO
TS7 MOVLW 09H
CPFSEQ ERR
BRA TS8
MOVLW 05H
MOVWF ERR1
BRA BIJIAO
TS8 MOVLW 06H
MOVWF ERR1
BIJIAO MOVF ERR2,0
CPFSLT ERR1
BRA BIJIA1
BTFSS IR200,0
BRA TEST1
BRA IR3TK
BIJIA1 CPFSEQ ERR1
BRA BIJIA2
BTFSS IR200,0
BRA TEST1
BRA IR3TK
BIJIA2 BRA FANHUI
TESTIR1
BCF PORTE,0
BCF PORTE,1
BCF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 04H
CPFSEQ ERR
BRA $+4
BRA FANHUI
BSF PORTE,0
BSF PORTE,1
BSF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 04H
CPFSEQ ERR
BRA $+4
BRA FANHUI
MOVLW 13H
MOVWF IeH
MOVLW 88H
MOVWF IeL
BCF SIGN1,3
BSF BZW,1
BSF INTCON,4
BCF INTCON,1
BSF PIE1,2
;GOTO I2CIR10
GOTO FANHUI
TESTZD CLRF TMP0
MOVFF PORTG,TMP0
MOVLW 0FH
ANDWF TMP0,1
MOVLW 00H
CPFSEQ TMP0
BRA TSZD4001
BRA TEST4000
TSZD4001
MOVLW 01H
CPFSEQ TMP0
BRA TSZD5000
BRA TEST4000
TSZD5000
MOVLW 02H
CPFSEQ TMP0
BRA TEST6300
BRA TEST5000
TEST6300
BSF PORTE,0
BSF PORTE,1
BSF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 00H
CPFSEQ ERR
BRA ZD10
MOVLW 56H
MOVWF IeH
MOVLW 22H
MOVWF IeL
RETURN
ZD10 MOVLW 01H
CPFSEQ ERR
BRA ZD14
MOVLW 7BH
MOVWF IeH
MOVLW 0CH
MOVWF IeL
RETURN
ZD14 MOVLW 02H
CPFSEQ ERR
BRA ZD20
MOVLW 0ACH
MOVWF IeH
MOVLW 044H
MOVWF IeL
RETURN
ZD20 MOVLW 03H
CPFSEQ ERR
BRA ZD01
MOVLW 0F6H
MOVWF IeH
MOVLW 18H
MOVWF IeL
RETURN
ZD01 MOVLW 05H
CPFSEQ ERR
BRA ZD03
MOVLW 0CH
MOVWF IeH
MOVLW 4EH
MOVWF IeL
BCF BZW,1
RETURN
ZD03 MOVLW 06H
CPFSEQ ERR
BRA ZD05
MOVLW 24H
MOVWF IeH
MOVLW 0EAH
MOVWF IeL
RETURN
ZD05 MOVLW 56H
MOVWF IeH
MOVLW 022H
MOVLW IeL
RETURN
TEST4000
BSF PORTE,0
BSF PORTE,1
BSF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 00H
CPFSEQ ERR
BRA ZD1040
MOVLW 36H
MOVWF IeH
MOVLW 0B0H
MOVWF IeL
RETURN
ZD1040 MOVLW 01H
CPFSEQ ERR
BRA ZD1440
MOVLW 4EH
MOVWF IeH
MOVLW 20H
MOVWF IeL
RETURN
ZD1440 MOVLW 02H
CPFSEQ ERR
BRA ZD2040
MOVLW 6DH
MOVWF IeH
MOVLW 60H
MOVWF IeL
RETURN
ZD2040 MOVLW 03H
CPFSEQ ERR
BRA ZD0140
MOVLW 9CH
MOVWF IeH
MOVLW 40H
MOVWF IeL
RETURN
ZD0140 MOVLW 05H
CPFSEQ ERR
BRA ZD0340
MOVLW 00H
MOVWF IeH
MOVLW 00H
MOVWF IeL
BCF BZW,1
RETURN
ZD0340 MOVLW 06H
CPFSEQ ERR
BRA ZD0540
MOVLW 17H
MOVWF IeH
MOVLW 70H
MOVWF IeL
RETURN
ZD0540 MOVLW 27H
MOVWF IeH
MOVLW 10H
MOVLW IeL
RETURN
TEST5000
BSF PORTE,0
BSF PORTE,1
BSF PORTE,2
MOVFF PORTE,ERR
MOVLW 0F0H
ANDWF ERR,1
SWAPF ERR
MOVLW 00H
CPFSEQ ERR
BRA ZD1050
MOVLW 44H
MOVWF IeH
MOVLW 05CH
MOVWF IeL
RETURN
ZD1050 MOVLW 01H
CPFSEQ ERR
BRA ZD1450
MOVLW 61H
MOVWF IeH
MOVLW 0A8H
MOVWF IeL
RETURN
ZD1450 MOVLW 02H
CPFSEQ ERR
BRA ZD2050
MOVLW 88H
MOVWF IeH
MOVLW 0B8H
MOVWF IeL
RETURN
ZD2050 MOVLW 03H
CPFSEQ ERR
BRA ZD0150
MOVLW 0C3H
MOVWF IeH
MOVLW 50H
MOVWF IeL
RETURN
ZD0150 MOVLW 05H
CPFSEQ ERR
BRA ZD0350
MOVLW 09H
MOVWF IeH
MOVLW 0C4H
MOVWF IeL
BCF BZW,1
RETURN
ZD0350 MOVLW 06H
CPFSEQ ERR
BRA ZD0550
MOVLW 1DH
MOVWF IeH
MOVLW 4CH
MOVWF IeL
RETURN
ZD0550 MOVLW 30H
MOVWF IeH
MOVLW 0D4H
MOVLW IeL
RETURN
;******************** OMSINT SUBROUTINE ***************************
OMSINT BCF PIE1,2
BCF PIR1,2
CLRF TMR1H
CLRF TMR1L
OMS11 BSF T1CON,0
BSF T2CON,2
BSF PIE1,2
BSF PIE1,1
CLRF TMR2
RETURN
;***************************
ACTION2 BTFSC NOTM,3
BRA OMS10 ;HAVE BEEN SHUTTEN OFF
BTFSC FLAG1,2 ;IF IR3 DISABLE?
BRA OMS0 ;NOT DISABLE
CLRF NOTM ;CLEAR THE SIGN OF OFF OF NO DELAY
BRA OMS12 ;EXIT
OMS0 BTFSS SIGN2,1 ;JUDGE IA IS BIG CHANEL,OR NOT?
BRA OMS13 ;IA IS LITTEL CHANEL
CLRF WREG
CPFSEQ IAMAXH ;JUDGE IA IS BIGGER THAN NOTIME?
BRA OMS2
MOVF IAMAXL,0
CPFSLT NOTIME
BRA OMS3
OMS2 BTFSC NOTM,0
BRA OMS9 ;SEND THE ORDER OF SHUT OFF
BSF NOTM,0
BRA OMS1
OMS13 MOVFF IAMINH,COM1H
MOVFF IAMINL,COM1L
MOVFF II31,COM0H
MOVFF II30,COM0L
CALL FIBJ
BTFSC FLAG1,1
BRA OMS2
OMS3 BCF NOTM,0
OMS1 BTFSS SIGN2,2 ;JUDGE THE IB IS BIG CHANEL?
BRA OMS14 ;TURN TO IC
CLRF WREG
CPFSEQ IBMAXH ;JUDGE IB IS BIGGER THAN NOTIME?
BRA OMS6
MOVF IBMAXL,0
CPFSLT NOTIME
BRA OMS4
OMS6 BTFSC NOTM,1 ;JUDGE THE SIGN BIT OF OFF?
BRA OMS9 ;SHUT OFF
BSF NOTM,1
BRA OMS5
OMS14 MOVFF IBMINH,COM1H
MOVFF IBMINL,COM1L
MOVFF II31,COM0H
MOVFF II30,COM0L
CALL FIBJ
BTFSC FLAG1,1
BRA OMS6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -