PIC单片机控制DS18B20 源程序

发布者:钱老李最新更新时间:2017-12-07 来源: eefocus关键字:PIC  单片机控制  DS18B20 手机看文章 扫描二维码
随时随地手机看文章

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 0CC
    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


关键字:PIC  单片机控制  DS18B20 引用地址:PIC单片机控制DS18B20 源程序

上一篇:PIC摩托车防盗器原理图及程序
下一篇:PICC编程的位操作示例程序

推荐阅读最新更新时间:2024-03-16 15:48

PIC单片机实现双字节无符号数的乘法
一、编写子程序Mpy_16,实现双字节无符号数乘法。自行定义变量,其中: ACCALO ;存放乘数低 8 位 ACCAHI ;存放乘数高 8 位 ACCBLO ;存放被乘数低 8 位和乘积第 16~23 位 ACCBHI ;存放被乘数高 8 位和乘积第 24~31 位 ACCCLO ;存放乘积第 0~7 位 ACCCHI ;存放乘积第 8~15 位 编写Main主程序,使用乘数 0x4015和被乘数0x3321对编写的子程序进行测试,结果应为0x0CCC71B5。 程序框图: list p=16f877A ;标明所用的处理器类型 #include p16f877A.inc ;调用头文件 __CON
[单片机]
<font color='red'>PIC</font>单片机实现双字节无符号数的乘法
连结USB闪存盘与PIC微控制器的简单方案
本文介绍利用低成本PIC微控制器通过USB2.0全速桥接器芯片连接USB闪存盘之设计方法,其着眼于PIC微控制器及VNC1L智能型USB Host桥接器芯片之嵌入式接口的硬件设计,以及说明如何在PIC微控制器进行程序开发,使普遍存在的USB闪存盘能在广泛的嵌入式应用中作为卸除式的储存媒体。 背景简介 今日USB装置几乎无所不在,市面上充斥着各式各样的USB闪存盘和各种USB外围装置,由于这些装置大多是属于 USB Slave,应用领域也就局限在PC市场。近来USB闪存盘的价格快速滑落,刺激出新的应用,如何在原有产品上使用USB闪存盘成为许多公司的难点。想要在8与16位微控制器中增加USB Host的功能,设计过程、
[单片机]
PIC单片机闪烁程序
#INCLUDE P16F877.inc ;芯片型号 org 000h GOTO a1 org 1ch ;************************************************ ; 主程序 ;************************************************ a1 BSF STATUS,RP0 ;选择体1 BCF STATUS,RP1 MOVLW 00H ;设置RD口为输出口 MOVWF TRISD BCF STATUS,RP0 ;选择体0 MOVLW 00H ; MOVWF PORTD ;RD口输出低电平 CALL M001
[单片机]
PIC中档单片机的中断总结
与51或者其他系列的单片机相比,PIC 单片机的中断机制有其特殊之处,针对我们一些初学者存在的一些问题和疑惑,我在此做一个个人总结,不当的地方,请站友们指正。 先摘引三个对PIC中断理解的回帖,然后我再对中断活动的过程、应该注意的事项、及一个疑惑进行较详细的总结和解释。 --------------- john frank :关于pic中断有些不明白的地方 借用大虾的程序; ;******************** 中断服务代码 btfss INTCON,T0IE ; 判断是否为T0中断 goto other_int btfss INTCON,T0IF ; it ’s the t
[单片机]
PIC单片机的特点及应用
    摘要: 介绍了Microchip公司的PIC单片机PIC16C73的结构特点和工作原理,给出了用PIC16C73设计智能售电系统中PIC通信通道的硬件系统电路和系统软件的设计方法。     关键词: 单片机 哈佛结构 通信 PIC16C73 1 概述 Microchip公司生产的PIC16C72是一款基于EPROM的8位高性能微控制器。与其它价格相当的微控制器相比,它在执行速度和代码压缩方面都有很大的改进。由于随时可以买到需要的OPT(一次性编程)产品,因而缩短了利用PIC16C73进行产品设计开发的周期。 PIC16C73微控制器所具有的优越性能主要归功于它的精简指令集(RISC)和所采用的
[应用]
PIC单片机在线串行编程(ICSP)的实现
 ICSP(In-Circuit Serial Programming)即在线串行编程,通过保持RB6和RB7引脚为低电平,VDD 为编程电压,并将MCLR(VPP)引脚电压从VIL增加到VIHH,器件便进入编程/校验模式。此时,RB6为编程时钟线,RB7为编程数据线。在该模式下,RB6和RB7都是施密特触发器输入,当RB7驱动数据时,它是CMOS输出驱动。下面就随单片机小编一起来了解一下相关内容吧。 复位后,为使器件进入编程/校验模式,程序计数器(PC)指向00h地址。然后可向器件发送一个6位的命令,根据这一命令是装入还是读出,14位编程数据将被提供给器件或是从器件中读出。但是在线串行编程模式下,看门狗定时器电路不能产生器件复
[单片机]
LCD驱动器AY0438及其与PIC单片机的接口设计
1. 概述 AY0438是Microchip公司生产的一种完整的MCOS显示驱动器,可在单片机或微处理器的控制下直接驱动 LCD显示模块。它结构简单,使用方便。特别是在驱动32段LCD显示器方面,更能显示出它的精巧和方便。AY0438只用三条控制线即可连续不断地向与它相连的LCD显示器输送驱动信号。该器件内含32位锁存器,它既可对被显示的数据进行锁存,也可以锁存微处理器的状态或波形。 AY0438能够驱动任何标准的LCD显示器,也可以驱动与标准LCD显示器相类似的显示器相类似的显示模块。可显示用于7段、9段、14段或16段字符、十进制数的“+”“- ”号以及其它特殊字符。如果需要显示更多段位的数据或字符,则可将
[单片机]
LCD驱动器AY0438及其与<font color='red'>PIC</font>单片机的接口设计
PIC16F877A单片机在智能双电源装置中的应用
1. 智能双电源装置的简介 随着对供电可靠性的要求也越来越高,很多场合用两路电源来保证供电的可靠性。当常用电源异常,智能双电源装置能自动切换到备用电源,智能双电源装置就是这种在两路电源之间进行可靠切换、以保证供电的装置。在医院、宾馆和矿山等有广泛的应用。 智能双电源装置由开关本体和控制器两部分组成。开关本体由电机通过机械联锁机构控制常用电源的断路器和备用电源的断路器的分合,进而控制电源的切换。控制器通过对电压的采样来判断电源是否异常,如果出现异常应产生相应的切换。 2. PIC16F877A的简介 美国Microchip公司的PIC 8位单片机其生产史11年,但现在其产量已跃居世界第二位(仅次于Motoro
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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