当前位置:首页 > 单片机 > 单片机
[导读] PIC单片机控制DS18B20 源程序ORG   PIC54   GOTO  MAIN   ORG   0;----------------------;----------------------------DELAY22           MOV LW  D"200"        ; DELA

PIC单片机控制DS18B20 源程序

ORG   PIC54
   GOTO  MAIN
   ORG   0
;----------------------
;----------------------------
DELAY22      
     MOV LW  D"200"        ; DELAY 2*250=500mS

     MOV WF  COUNT1
DE32   MOV LW  D"250"        ; 8*250=2mS
   MOV WF  COUNT2
DE42  NOP             ; 1+2+1=5uS
    DECFSZ  COUNT2,1
    GOTO  DE42
    DECFSZ  COUNT1,1
    GOTO  DE32
    RETLW  0      
;--------------------------------
;    子程序!!!
;********************************
MAIN
     MOV LW 0FFH
    TRIS  RA
LOOP
    CALL  CONVERT
    CALL  DELAY22
    CALL  DELAY22
    CALL  GET_TEMP


    GOTO  LOOP
;------------------------
GET_TEMP
    CALL  INI
    MOV LW 0CCH
    MOV WF COMD
    CALL  WR1820
    MOV LW 0BEH
    MOV WF COMD
    CALL  WR1820
    CALL  RE1820
    MOV F  TEM_DATE,W
    MOV WF TEM_DATEL
    CALL  RE1820
    MOV F  TEM_DATE,W
    MOV WF TEM_DATEH
    RETLW 0
;------------------------
CONVERT
    CALL  INI
     MOV LW 0CCH
     MOV WF COMD
    CALL  WR1820
     MOV LW 44H
     MOV WF COMD
    CALL  WR1820
    RETLW 0

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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在单片机通信系统中,数据帧是实现设备间可靠对话的核心载体。不同于网络通信中成熟的TCP/IP协议,单片机通信往往需要自定义数据帧格式,而帧头、帧尾与校验机制则是保障数据传输准确性的三大关键。

关键字: 单片机 数据帧

随着嵌入式技术的不断发展,时序分析工具和方法也在不断进步,未来将朝着智能化、自动化的方向发展,为开发者提供更高效的调试手段。但无论技术如何发展,扎实的时序分析基础都是嵌入式开发者不可或缺的能力,只有深入理解通信时序的本质...

关键字: 时序 单片机

在嵌入式系统设计中,不同架构、不同厂商的单片机协同工作早已成为常态。从8位的51系列到32位的STM32,从精简指令集的PIC到复杂指令集的AVR,这些性能各异的单片机如何突破硬件差异实现数据交互,是嵌入式开发中的核心课...

关键字: 嵌入式 单片机

在嵌入式系统开发中,单片机的时钟系统是整个系统的"心脏",所有的指令执行、外设操作、定时器中断都依赖于精准的时钟信号。但在实际开发过程中,很多开发者都会遇到单片机时钟不准的问题,表现为定时器计时偏差、UART通信波特率错...

关键字: 控制系统 单片机

在单片机开发与调试过程中,复位电路作为保障芯片正常启动的核心模块,其稳定性直接影响程序烧录与系统运行。实际应用中,不少开发者会遇到“接稳压电源可正常烧录,接入电池后却无法烧录程序”的故障,此类问题多与复位电路设计、电池供...

关键字: 单片机 复位电路 时序匹配

在单片机的世界里,“字节”(Byte)是一个贯穿始终的核心概念。从存储数据到执行指令,从变量定义到外设通信,字节无处不在。很多初学者在学习单片机时,往往更关注复杂的程序逻辑和外设驱动,却忽略了字节这个基础知识点,导致在后...

关键字: 单片机 字节

在单片机的数字逻辑中,我们通常最关注的是高电平和低电平两种状态,它们构成了二进制数字世界的基础。然而,除了这两种状态之外,还有一种至关重要但常常被忽视的状态——高阻态(High Impedance State)。高阻态就...

关键字: 单片机 高阻态

对于PIC入门者来说,不需要盲目追求高端开发板,一块功能均衡、资料丰富的入门款就能满足需求。比如Microchip官方推出的PIC16F84A开发板,它搭载经典的8位PIC内核,引脚布局清晰,自带LED、按键等基础外设,...

关键字: PIC 单片机

该低功耗器件支持5V运行,在实现高性能的同时,能有效保障系统简洁性与成本效益

关键字: MCU 单片机 工业自动化
关闭