⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uvb_sensor.asm

📁 磁场测量仪器的源代码 包括:1.传感器AD转换程序 2.LCD汉显使用说明 基于16F873单片机。 12232LCD 在MPLAB里调试成功
💻 ASM
📖 第 1 页 / 共 4 页
字号:
  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 + -