人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產(chǎn)品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

DS18B20和PIC單片機通訊源程序

更新時間: 2019-03-22
閱讀量:2954

十年專注單片機方案開發(fā)的深圳英銳恩分享DS18B20和PIC單片機通訊源程序。

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


德化县| 台前县| 报价| 肇州县| 京山县| 邛崃市| 惠东县| 内黄县| 夏津县| 永嘉县| 来安县| 饶河县| 张家口市| 大洼县| 元朗区| 十堰市| 修水县| 临江市| 延长县| 延庆县| 宜君县| 兴安县| 博野县| 曲阜市| 三都| 瑞昌市| 东兰县| 凤山县| 叶城县| 海伦市| 绥棱县| 乐安县| 宁河县| 墨玉县| 乳源| 安义县| 潮安县| 河北区| 巴林左旗| 砀山县| 临西县|