DS18B20和PIC单片机通讯源程序

发布者:冰心独语u最新更新时间:2011-02-24 手机看文章 扫描二维码
随时随地手机看文章
ORG     PIC54
     GOTO    MAIN
     ORG     0
;----------------------
;----------------------------
DELAY22            
        MOVLW   D'200'               ; DELAY 2*250=500mS
        MOVWF    COUNT1
DE32    MOVLW   D'250'                ; 8*250=2mS
    MOVWF    COUNT2
DE42    NOP                          ; 1+2+1=5uS
        DECFSZ    COUNT2,1
        GOTO    DE42
        DECFSZ    COUNT1,1
        GOTO    DE32
        RETLW   0             
;--------------------------------
;       子程序!!!
;********************************
MAIN
        MOVLW  0FFH
        TRIS   RA
LOOP
        CALL   CONVERT
        CALL   DELAY22
        CALL   DELAY22
        CALL   GET_TEMP

        GOTO   LOOP
;------------------------
GET_TEMP
       CALL   INI
       MOVLW  0CCH
       MOVWF  COMD
       CALL   WR1820
       MOVLW  0BEH
       MOVWF  COMD
       CALL   WR1820
       CALL   RE1820
       MOVF   TEM_DATE,W
       MOVWF  TEM_DATEL
       CALL   RE1820
       MOVF   TEM_DATE,W
       MOVWF  TEM_DATEH
       RETLW  0
;------------------------
CONVERT
        CALL   INI
        MOVLW  0CCH
        MOVWF  COMD
        CALL   WR1820
        MOVLW  44H
        MOVWF  COMD
        CALL   WR1820
        RETLW  0

;---------DS1820---------
INI
     ;MOVLW  B'00100000'
     MOVLW  0
     TRIS   RA
     BSF    RA,3
     NOP
     BCF    RA,3
     MOVLW  D'200'
     MOVWF  COUNT1
L0
     DECFSZ COUNT1,1
     GOTO   L0
     ;MOVLW  B'01100000'
     MOVLW  0FH
     TRIS   RA
     MOVLW  D'30'
     MOVWF  COUNT1
L1
     DECFSZ COUNT1,1
     GOTO   L1
     BTFSC  RA,3
     GOTO   INI
L2
     MOVLW  D'80'
     MOVWF  COUNT1
L3
     DECFSZ COUNT1,1
     GOTO   L3
     BTFSS  RA,3
     GOTO   L0
     RETLW  0
;-------------------------
WR1820
     MOVLW   8
     MOVWF   COUNT2
WR0
     ;MOVLW   B'00100000'
     MOVLW   0
     TRIS    RA
     BCF     RA,3
     NOP
     NOP
     MOVLW   2
     MOVWF   COUNT1
WR1     
     DECFSZ  COUNT1,1
     GOTO    WR1
     ;MOVLW   B'01111111'
     MOVLW   0FH
     BTFSC   COMD,0
     BSF     RA,3
     BTFSC   COMD,0
     TRIS    RA
     BCF     STATUS,C
     RRF     COMD,1
     MOVLW   D'20'
     MOVWF   COUNT1
WR2
     DECFSZ  COUNT1,1
     GOTO    WR2
     BSF     RA,3
     ;MOVLW   B'01100000'
     MOVLW   0FH
     TRIS    RA
     DECFSZ  COUNT2,1
     GOTO    WR0
     RETLW   0
;--------------------------
RE1820
     MOVLW   8
     MOVWF   COUNT2
RE0
     ;MOVLW   B'00100000'
     MOVLW   0
     TRIS    RA
     BCF     RA,3      
     MOVLW   2
     MOVWF   COUNT1
RE1     
     DECFSZ  COUNT1,1
     GOTO    RE1
     ;MOVLW   B'01100000'
     MOVLW   0FH
     TRIS    RA
     NOP
     BTFSS   RA,3
     BCF     STATUS,C
     BTFSC   RA,3
     BSF     STATUS,C    
     RRF     TEM_DATE,1
     MOVLW   D'20'
     MOVWF   COUNT1
RE2
     DECFSZ  COUNT1,1
     GOTO    RE2
     DECFSZ  COUNT2,1
     GOTO    RE0
     BSF     RA,3
     RETLW   0
;-------------------------      
;****************************
;**************************
         END


引用地址:DS18B20和PIC单片机通讯源程序

上一篇:PIC单片机的浮点数及其与十进制数之间的相互转换
下一篇:把所有端口的同时置高置低,不断闪烁

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved