📄 uvb_sensor.asm
字号:
CLRF M
CLRF ACCALO
CLRF ACCAHI
CLRF ACCBLO
CLRF ACCBHI
CLRF ACCCLO
CLRF ACCCHI
CLRF ACCDLO
CLRF ACCDHI
CLRF TEMP
CLRF SHI
CLRF GE
CLRF XIAO
POWER_AD
MOVLW B'11001001'
MOVWF ADCON0
BCF PIR1,ADIF
CLRF ACCBLO
CLRF ACCBHI
MOVLW 08H
MOVWF N
POWER_AGAIN
BSF ADCON0,2
SLEEP
DECFSZ N,F
GOTO POWER_AGAIN
CLRF ACCAHI
MOVLW 08H
MOVWF ACCALO
CALL D_DIVS
CALL SUB
BTFSS TEMP,0
GOTO POWER_BUZHU
MOVLW B'10000001'
MOVWF ADCON0
CLRF TEMPH
CLRF TEMPL
BCF INTCON,PEIE
BCF INTCON,GIE
BANKSEL ADCON1
BCF ADCON1,ADFM
BANKSEL PORTA
ADDDDDD
MOVLW .60
MOVWF COUNT
MOVLW 0A0H
MOVWF FSR
MOVLW .1
MOVWF FLAGE1
DDDDD
MOVLW 7FH
MOVWF INDF
INCF FSR,F
DECFSZ COUNT,F
GOTO DDDDD
GOTO X1
;以下为3053的AD采样
AD_3503
MOVLW .3
MOVWF JI
AD3503_AGAIN1
CALL TIME1MS
BSF ADCON0,2
WAIT_N1
BTFSS PIR1,ADIF
GOTO WAIT_N1
BCF PIR1,ADIF
MOVF ADRESH,W
SUBLW .135
BTFSS STATUS,C
GOTO INDF_0
GOTO AD3503_AGAIN1
INDF_0
DECFSZ JI,F
GOTO AD3503_AGAIN1
MOVLW .3
MOVWF JI
CALL DELAY
CLRF FLAGE1
MOVLW .60
MOVWF COUNT
MOVLW 0A0H
MOVWF FSR
MOVLW 80H
MOVWF MINL
MOVWF MAXL
CLRF MAXH
CLRF MINH
BCF PIR1,ADIF
CLRF ACCBLO
CLRF ACCBHI
AD3503_AGAIN
CALL TIME0MS
BSF ADCON0,2
WAIT_N
BTFSS PIR1,ADIF
GOTO WAIT_N
BCF PIR1,ADIF
INDF_1
MOVF ADRESH,W
BANKSEL PORTA
MOVWF INDF
INCF FSR,F
MOVF ADRESH,W
MOVWF TH1
CLRF TL1
MOVF MAXL,W
MOVWF TH2
CLRF TL2
CALL BI
BTFSC FLAGE,0
GOTO MIN_CULI
MOVF ADRESH,W
MOVWF MAXL
MIN_CULI
MOVF ADRESH,W
MOVWF TH1
CLRF TL1
MOVF MINL,W
MOVWF TH2
CLRF TL2
CALL BI
BTFSS FLAGE,0
GOTO CULIWAN
MOVF ADRESH,W
MOVWF MINL
CULIWAN
DECFSZ COUNT,F
GOTO AD3503_AGAIN
MOVLW .60
MOVWF COUNT
BCF STATUS,C
RLF MAXL
RLF MAXH
BCF STATUS,C
RLF MAXL
RLF MAXH
BCF STATUS,C
RLF MINL
RLF MINH
BCF STATUS,C
RLF MINL
RLF MINH
MOVF MAXH,W
MOVWF TH1
MOVF MAXL,W
MOVWF TL1
MOVLW .2
MOVWF TH2
MOVLW 0AH
MOVWF TL2
CALL BI
BTFSC FLAGE,0
GOTO AD_3503
MOVF MINH,W
MOVWF TH1
MOVF MINL,W
MOVWF TL1
MOVLW .1
MOVWF TH2
MOVLW 0F6H
MOVWF TL2
CALL BI
BTFSS FLAGE,0
GOTO AD_3503
MOVLW .2
SUBWF MAXH,F
MOVF MINL,W
SUBLW .0
MOVWF MINL
BTFSC STATUS,C
GOTO BUJIE
INCF MINH,F
BUJIE
MOVF MINH,W
SUBLW .2
MOVWF MINH
MOVF MAXH,W
MOVWF TH1
MOVF MAXL,W
MOVWF TL1
MOVF MINH,W
MOVWF TH2
MOVF MINL,W
MOVWF TL2
CALL BI
BTFSS FLAGE,0
GOTO MIN
GOTO MAX
MAX
MOVF MAXL,W
MOVWF ACCBLO
MOVF MAXH,W
MOVWF ACCBHI
GOTO DANGWEI
MIN
MOVF MINL,W
MOVWF ACCBLO
MOVF MINH,W
MOVWF ACCBHI
DANGWEI
BTFSC PORTA,2
GOTO TO
MOVF ACCBLO,W
MOVWF TEL
MOVF ACCBHI,W
MOVWF TEH
BCF STATUS,C
RLF ACCBLO,F
RLF ACCBHI,F
BCF STATUS,C
RRF TEH,F
RRF TEL,F
MOVF TEL,W
ADDWF ACCBLO,F
BTFSC STATUS,C
INCF ACCBHI,F
MOVF TEH,W
ADDWF ACCBHI,F
;
BSF PORTB,4
CALL TIMETEL
BCF PORTB,4
;
TO
CALL TO10
;以下为显示数值
;?和1区00H到08H为十位数,09H到11H为个位数,12H和13H为小数点,14H到1DH为小数,1EHA
;SHI
MOVLW B'10111000'
CALL OUTMI
MOVLW .0
CALL OUTMI
MOVLW .8
MOVWF N
INCF SHI,F
BCF STATUS,C
RLF SHI,F
DECF SHI,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
MOVLW B'10111001'
CALL OUTMI
MOVLW .0
CALL OUTMI
MOVLW .8
MOVWF N
MOVF SHI,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
;GE
MOVLW B'10111000'
CALL OUTMI
MOVLW .9
CALL OUTMI
MOVLW .8
MOVWF N
INCF GE,F
BCF STATUS,C
RLF GE,F
DECF GE,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
MOVLW B'10111001'
CALL OUTMI
MOVLW .9
CALL OUTMI
MOVLW .8
MOVWF N
MOVF GE,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
;XIAO
MOVLW B'10111000'
CALL OUTMI
MOVLW .20
CALL OUTMI
MOVLW .8
MOVWF N
INCF XIAO,F
BCF STATUS,C
RLF XIAO,F
DECF XIAO,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
MOVLW B'10111001'
CALL OUTMI
MOVLW .20
CALL OUTMI
MOVLW .8
MOVWF N
MOVF XIAO,W
MOVWF M
MOVWF M_TEMP
CALL WORD_NEXT_W_M
CALL TIME2MS
MOVLW 0AFH
CALL OUTMI
CALL OUTSI
;以下为显示波形部分
X1
CLRF DD
MOVLW .30
MOVWF COUNT
MOVLW 0A0H
MOVWF FSR
X2
MOVF INDF,W
MOVWF ACCBLO
CLRF ACCBHI
INCF FSR,F
BCF STATUS,C
RLF ACCBLO
RLF ACCBHI
RLF ACCBLO
RLF ACCBHI
MOVF ACCBLO,W
MOVWF MINL
MOVF ACCBHI,W
MOVWF MINH
CLRF N
CLRF ACCAHI
MOVLW .32
MOVWF ACCALO
CALL D_DIVS
BCF STATUS,C
RLF ACCBLO
RLF ACCBLO
CLRF N
BO_NEXT
MOVLW B'10111001'
CALL OUTMI
CALL OUTSI
MOVF DD,W
CALL OUTSI
CALL BO
CALL OUTSD
INCF N,F
MOVLW B'10111000'
CALL OUTMI
CALL OUTSI
MOVF DD,W
CALL OUTSI
CALL BO
CALL OUTSD
INCF N,F
MOVLW B'10111011'
CALL OUTMI
CALL OUTSI
MOVF DD,W
CALL OUTSI
CALL BO
CALL OUTSD
INCF N,F
MOVLW B'10111010'
CALL OUTMI
CALL OUTSI
MOVF DD,W
CALL OUTSI
CALL BO
CALL OUTSD
;波形
BTFSC FLAGE1,0
GOTO NNNN
CALL TIME2MS
NNNN
MOVLW 0AFH
CALL OUTMI
CALL OUTSI
INCF DD,F
X22
MOVF INDF,W
MOVWF TEL
CLRF TEH
INCF FSR,F
BCF STATUS,C
RLF TEL
RLF TEH
RLF TEL
RLF TEH
MOVF MINL,W
MOVWF ACCBLO
MOVF MINH,W
MOVWF ACCBHI
MOVF TEL,W
ADDWF ACCBLO,F
BTFSC STATUS,C
INCF ACCBHI,F
MOVF TEH,W
ADDWF ACCBHI,F
BCF STATUS,C
RRF ACCBHI,F
RRF ACCBLO,F
CLRF ACCAHI
MOVLW .32
MOVWF ACCALO
CALL D_DIVS
BCF STATUS,C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -