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

📄 toutestfini.asm

📁 单线温度传感器ds1820
💻 ASM
📖 第 1 页 / 共 2 页
字号:
   CALL  WAIT_5us 
    bcf   E_LCD
 
    MOVLW D'8'
    CALL  WAIT_5us
   
    bsf   RS_LCD      
    movlw  b'01000010' ;b
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'9'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X81
    MOVWF PORTB
    bsf   E_LCD
   MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD 
    MOVLW B'01001111'        ;o
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'9'
    CALL  WAIT_5us    



    BCF RS_LCD
    MOVLW 0X82       ;CHOISIR L'ADDRESS
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
 
    MOVLW D'8'
    CALL  WAIT_5us
   
    bsf   RS_LCD      
    MOVLW B'01001110'   ;n     
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'9'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X83
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    movlw b'01001010';j
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us     

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X84
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01001111'        
    
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us
   
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X85
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01010101'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us
   
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X86
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01010010'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
    return 
 
;=============================================
display_temp
               ;CHOISIR ADDRESS DE DDRAM
    BCF RS_LCD
    MOVLW 0X80
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
 
    MOVLW D'8'
    CALL  WAIT_5us
   
    bsf   RS_LCD      
    MOVF  REG_1,0       ;ECRIR 'SIGN'
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'9'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X81
    MOVWF PORTB
    bsf   E_LCD
   MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD 
    MOVLW B'00110000'        
    ADDWF REG_2,0     ;ECRIR 'PREMIER CHIFRE'
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'9'
    CALL  WAIT_5us    



    BCF RS_LCD
    MOVLW 0X82       ;CHOISIR L'ADDRESS
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
 
    MOVLW D'8'
    CALL  WAIT_5us
   
    bsf   RS_LCD      
    MOVLW B'00110000'        
    ADDWF REG_3,0          ;ECRIR 'DEUXIEME CHIFRE'
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'9'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X83
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVF  REG_4,0      ;ECRIR '.'
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us     

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X84
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'00000000'        
    ADDWF REG_5,0         ;ECRIR '5'
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us
   
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X85
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'11011111'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us
   
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X86
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01000011'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
    return
;=============================================
go_sleep
   BCF   RS_LCD
   bsf   E_LCD
   MOVLW B'00000001'      ;DISPLAY clear
   MOVWF PORTB            
   MOVLW D'3'             
   CALL  WAIT_5us 
   bcf   E_LCD
  
   MOVLW D'2'
   CALL  WAIT_1ms
   
   bcf VDD_LCD
;clrf PORTA
;clrf PORTB

   sleep
;============================================
  AFFICHE_ERROR
   BCF   RS_LCD
   bsf   E_LCD
   MOVLW B'00000001'      ;DISPLAY clear
   MOVWF PORTB            
   MOVLW D'3'             
   CALL  WAIT_5us 
   bcf   E_LCD
  
   MOVLW D'2'
   CALL  WAIT_1ms
  
  btfsc DS1820_SHORTED
  CALL  AFFICHE_E0
  btfsc DS1820_SHORTED
  call  wait_1s
  BTFSC DS1820_NO_DEVICE
  CALL  AFFICHE_E1
  BTFSC DS1820_NO_DEVICE
  call  wait_1s
  return
;===========================================
AFFICHE_E0
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X80
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01000101'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X81
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'00110000'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD
    return
;======================================
AFFICHE_E1
    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X83
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'01000101'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD

    MOVLW D'8'
    CALL  WAIT_5us

    BCF RS_LCD        ;CHOISIR ADDRESS DE DDRAM
    MOVLW 0X84
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
    CALL  WAIT_5us 
    bcf   E_LCD
     
    MOVLW D'8'
    CALL  WAIT_5us
   
    BSF RS_LCD         
    MOVLW B'00110001'        
    MOVWF PORTB
    bsf   E_LCD
    MOVLW D'3'             
   CALL  WAIT_5us 
    bcf   E_LCD 
    return
;======================================
end	

⌨️ 快捷键说明

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