您当前的位置:五五电子网电子知识单片机-工控设备ARM单片机DS18B20在16F877A上的实现(3) 正文
DS18B20在16F877A上的实现(3)

DS18B20在16F877A上的实现(3)

点击数:7141 次   录入时间:03-04 11:48:07   整理:http://www.55dianzi.com   ARM单片机

;***********************************************************************
;二进制转BCD码
;***********************************************************************
_BCD     CLRF      SHI            ;保存地址清零
         CLRF      GE            
         MOVF      BIN_L,F        ;组合码自己给自己赋值,测试是否为0

SKPNZ                    ;不为0则跳到下一步
         RETLW     00H
SHI_     MOVLW     D'10'
         SUBWF     BIN_L,W        ;BIN_L减10,结果存到W寄存器
         BTFSS     STATUS,C       ;执行减法后,如果无借位
         GOTO      GE_
         MOVWF     BIN_L
         INCF      SHI
         GOTO      SHI_ 
GE_      MOVF      BIN_L,W
         MOVWF     GE
         RETLW     00H             
;=======================================================================

;***********************************************************************
;延时200ms
;***********************************************************************
DELAY_MAX
         MOVLW    0FFH
         MOVWF    Y1
         MOVLW    0FFH
         MOVWF    Y2
         DECFSZ   Y2
         GOTO     $-1
         DECFSZ   Y1
         GOTO     $-5
         RETLW    00H
;=======================================================================

;***********************************************************************
;延时6ms
;***********************************************************************
DELAY
         MOVLW    03FH
         MOVWF    Y1
         MOVLW    020H
         MOVWF    Y2
         DECFSZ   Y2
         GOTO     $-1

DECFSZ   Y1
         GOTO     $-5
         RETLW    00H
;=======================================================================

;***********************************************************************
;延时750us子程序
;***********************************************************************
DELAY_750US
         MOVLW    09H
         MOVWF    Y1
         MOVLW    01AH
         MOVWF    Y2
         DECFSZ   Y2
         GOTO     $-1
         DECFSZ   Y1
         GOTO     $-5
         RETLW    00H
;=======================================================================

;***********************************************************************
;查表子程序,用于显示段码数字
;数码管为共阳数码管
;***********************************************************************
TABLE
      ADDWF    PCL,F
      RETLW    0C0H               ;"0"
      RETLW    0F9H               ;"1"
      RETLW    0A4H               ;"2"
      RETLW    0B0H               ;"3"
      RETLW    99H                ;"4"
      RETLW    92H                ;"5"
      RETLW    82H                ;"6"
      RETLW    0F8H               ;"7"
      RETLW    80H                ;"8"
      RETLW    90H                ;"9"

;=======================================================================




本文关键字:暂无联系方式ARM单片机单片机-工控设备 - ARM单片机