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

📄 uvb_sensor.asm

📁 磁场测量仪器的源代码 包括:1.传感器AD转换程序 2.LCD汉显使用说明 基于16F873单片机。 12232LCD 在MPLAB里调试成功
💻 ASM
📖 第 1 页 / 共 4 页
字号:
     RLF    ACCBLO
     RLF    ACCBLO
     CLRF   N
BO_NEXTT  
     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   NNNNN
     CALL   TIME2MS
NNNNN
     MOVLW  0AFH
     CALL   OUTMI
     CALL   OUTSI
     
     INCF   DD,F



     DECF   FSR,F
     DECFSZ COUNT,F
     GOTO   X2
     MOVLW  .16
     MOVWF   XIAO
XIAO1
     MOVLW  B'10111000'
     CALL   OUTMI
     CALL   OUTSI
     MOVF   XIAO,W
     CALL   OUTMI
     MOVLW  00H
     CALL   OUTMD
     DECFSZ XIAO,F
     GOTO   XIAO1
     MOVLW  .19
     MOVWF  GE
     MOVLW  .8
     MOVWF  SHI
XIAO2
     MOVLW  B'10111000'
     CALL   OUTMI
     CALL   OUTSI
     MOVF   GE,W
     CALL   OUTMI
     MOVLW  00H
     CALL   OUTMD
     INCF   GE,F
     DECFSZ SHI,F
     GOTO   XIAO2
     MOVLW  .16
     MOVWF   XIAO
XIAO3
     MOVLW  B'10111001'
     CALL   OUTMI
     CALL   OUTSI
     MOVF   XIAO,W
     CALL   OUTMI
     MOVLW  00H
     CALL   OUTMD
     DECFSZ XIAO,F
     GOTO   XIAO3
     MOVLW  .19
     MOVWF  GE
     MOVLW  .8
     MOVWF  SHI
XIAO4
     MOVLW  B'10111001'
     CALL   OUTMI
     CALL   OUTSI
     MOVF   GE,W
     CALL   OUTMI
     MOVLW  00H
     CALL   OUTMD
     INCF   GE,F
     DECFSZ SHI,F
     GOTO   XIAO4


     BTFSC  FLAGE1,0
     GOTO   AD_3503
     GOTO   ADDDDDD
     

POWER_BUZHU
     BSF    PORTB,4
KONG
     NOP
    ; GOTO    NOP             ?????????????????????????????????????
;******************子程序0***********************************

TIME1MS
     MOVLW   .15
     MOVWF   TEMPL
TIEM1MSNN
     MOVLW   .5
     MOVWF   TEMPH
TIEM1MSN
     DECFSZ  TEMPH,F
     GOTO    TIEM1MSN
     DECFSZ  TEMPL,F
     GOTO    TIEM1MSNN
     RETURN


TIME0MS
     MOVLW   .50
     MOVWF   TEMPL
TIEM0MSNN
     MOVLW   .5
     MOVWF   TEMPH
TIEM0MSN
     DECFSZ  TEMPH,F
     GOTO    TIEM0MSN
     DECFSZ  TEMPL,F
     GOTO    TIEM0MSNN
     RETURN
TIME2MS
     MOVLW   .255
     MOVWF   TEMPL
TIEM2MSNN
     MOVLW   .15
     MOVWF   TEMPH
TIEM2MSN
     DECFSZ  TEMPH,F
     GOTO    TIEM2MSN
     DECFSZ  TEMPL,F
     GOTO    TIEM2MSNN
     RETURN 
TIMETEL
     MOVF    ACCBLO,W
     MOVWF   TMR00
TIMETELL
     MOVLW   .32
     MOVWF   TEMPL
TIEM22
     MOVLW   .15
     MOVWF   TEMPH
TIEM222
     DECFSZ  TEMPH,F
     GOTO    TIEM222
     DECFSZ  TEMPL,F
     GOTO    TIEM22
     DECFSZ  TMR00,F
     GOTO    TIMETELL
     RETURN              
;减法
SUB
         CLRF      TEMP
         MOVLW     01H
         SUBWF     ACCBHI,W
         BTFSC     STATUS,DC
         INCF      TEMP,F
         RETURN
SUB2
         CLRF      TEMP
         MOVLW     02H
         SUBWF     ACCBHI,W
         BTFSC     STATUS,DC
         INCF      TEMP,F
         RETURN
;******************子程序1***********************************
;乘法子程序
D_MPYS
         CALL      SETUP
MLOOP 
         RRF       ACCDHI
         RRF       ACCDLO
         BTFSC     STATUS,C
         CALL      D_ADD
         RRF       ACCBHI
         RRF       ACCBLO
         RRF       ACCCHI
         RRF       ACCCLO
         DECFSZ    TEMP
         GOTO      MLOOP        
         RETLW     0
;加法子程序
D_ADD
         MOVF      ACCALO,W
         ADDWF     ACCBLO,F
         BTFSC     STATUS,C
         INCF      ACCBHI
         MOVF      ACCAHI,W
         ADDWF     ACCBHI,F
         RETLW     0
SETUP
         MOVLW     .16
         MOVWF     TEMP
         MOVF      ACCBHI,W
         MOVWF     ACCDHI
         MOVF      ACCBLO,W
         MOVWF     ACCDLO
         CLRF      ACCBHI
         CLRF      ACCBLO
         RETLW     0

;******************子程序2***********************************
;除法程序
D_DIVS
         CALL      SETUP
         CLRF      ACCCHI
         CLRF      ACCCLO
DLOOP
         BCF       STATUS,C
         RLF       ACCDLO
         RLF       ACCDHI
         RLF       ACCCLO
         RLF       ACCCHI
         MOVF      ACCAHI,W
         SUBWF     ACCCHI,W
         BTFSS     STATUS,Z
         GOTO      NOCHK
         MOVF      ACCALO,W
         SUBWF     ACCCLO,W
NOCHK 
         BTFSS     STATUS,C
         GOTO      NOGO 
         MOVF      ACCALO,W
         SUBWF     ACCCLO,F
         BTFSS     STATUS,C
         DECF      ACCCHI,F
         MOVF      ACCAHI,W
         SUBWF     ACCCHI,F
         BSF       STATUS,C
NOGO 
         RLF       ACCBLO
         RLF       ACCBHI
         DECFSZ    TEMP
         GOTO      DLOOP
         RETLW     0
;******************子程序3***********************************
;二进制变十进制
TO10
         MOVLW     .100
         MOVWF     ACCALO
         CLRF      ACCAHI
         CALL      D_DIVS
         MOVF      ACCBLO,W
         MOVWF     SHI
         MOVF      ACCCHI,W
         MOVWF     ACCBHI
         MOVF      ACCCLO,W
         MOVWF     ACCBLO
         MOVLW     .10
         MOVWF     ACCALO
         CLRF      ACCAHI
         CALL      D_DIVS
         MOVF      ACCBLO,W
         MOVWF     GE
         MOVF      ACCCLO,W
         MOVWF     XIAO
         RETURN
;*******************子程序4**********************************
DELAY
          
LOOP0
          MOVLW  .75
          MOVWF  M
LOOP1
          MOVLW  .132
          MOVWF   N
LOOP2
          DECFSZ N,F
          GOTO   LOOP2
          DECFSZ M,F
          GOTO   LOOP1
          
          RETURN
DELAY2S
          MOVLW  .15
          MOVWF  SHI
          
LOOP00
          MOVLW  .255
          MOVWF  M
LOOP11
          MOVLW  .255
          MOVWF   N
LOOP22
          DECFSZ N,F
          GOTO   LOOP22
          DECFSZ M,F
          GOTO   LOOP11
          DECFSZ SHI,F
          GOTO   LOOP00
          
          RETURN
;*******************子程序5**********************************
;液晶
;初始化
INTITM
        MOVLW      0E2H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0AEH
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0A4H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0A9H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0A0H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0EEH
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      00H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0C0H
        CALL       OUTMI
        CALL       OUTSI
        MOVLW      0AFH
        CALL       OUTMI
        CALL       OUTSI
        RETURN
;命令和数据输出
OUTMI
        BANKSEL    PORTB
        BSF        PORTB,2
        BSF        PORTB,2
        BCF        PORTB,0
        BCF        PORTB,0
        MOVWF      PORTC
        MOVWF      PORTC
        BCF        PORTB,2
        BCF        PORTB,2
        RETURN
OUTMD
        BANKSEL    PORTB
        BSF        PORTB,2
        BSF        PORTB,2
        BSF        PORTB,0
        BSF        PORTB,0
        MOVWF      PORTC
        MOVWF      PORTC
        BCF        PORTB,2
        BCF        PORTB,2
        RETURN
OUTSI
        BANKSEL    PORTB
        BCF        PORTB,0
        BCF        PORTB,0
        BSF        PORTB,1
        BSF        PORTB,1
        MOVWF      PORTC
        MOVWF      PORTC
        BCF        PORTB,1
        BCF        PORTB,1
        RETURN
OUTSD
        BANKSEL    PORTB
        BSF        PORTB,0
        BSF        PORTB,0
        BSF        PORTB,1
        BSF        PORTB,1
        MOVWF      PORTC
        MOVWF      PORTC
        BCF        PORTB,1
        BCF        PORTB,1
        RETURN
;***********************子程序6*****************************

WORD_NEXT_M
     MOVF   M_TEMP,W
     MOVWF  M
     CALL   WORD
     
     CALL   OUTMD
     
     DECFSZ N,F
     GOTO   WORD_NEXT_M
     RETURN
WORD_NEXT_S
     MOVF   M_TEMP,W
     MOVWF  M
     CALL   WORD
     
     CALL   OUTSD

     DECFSZ N,F
     GOTO   WORD_NEXT_S
     RETURN
;**********************子程序7******************************
BI
     CLRF   FLAGE
     MOVF   TL2,W
     SUBWF  TL1,F
     BTFSC  STATUS,C
     GOTO   BI1
     INCF   TH2,F
BI1
     MOVF   TH2,W
     SUBWF  TH1,F
     BTFSC  STATUS,C
     GOTO   BI2
     MOVLW  01H
     MOVWF  FLAGE
BI2
     RETURN
;***********************子程序******************************
SUB1
     COMF   ACCALO
     INCF   ACCALO
     BTFSC  STATUS,Z
     DECF   ACCAHI
     COMF   ACCAHI
     RETLW  0
;***********************子程序8***************************
WORD_NEXT_W_M
     MOVF   M_TEMP,W
     MOVWF  M
     CALL   WORD_W
     
     CALL   OUTMD
    
     DECFSZ N,F
     GOTO   WORD_NEXT_W_M
     RETURN
WORD_NEXT_W_S
     MOVF   M_TEMP,W
     MOVWF  M
     CALL   WORD_W
     
     CALL   OUTSD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -