1.主代码:

/* 温度传感器  */
#include "DS18B20.h"
#include"def.h"

u16 get_temp (void)
{
    float tt;
    u16 temp;
    u8 a,b;
    ds_delay(40);
    dsic_init();
    write_byte(0xcc);
    write_byte(0x44);
    ds_delay(40);
    dsic_init();
    write_byte(0xcc);
    write_byte(0xbe);
    ds_delay(40);
    a = read_byte();
    b = read_byte();
    temp = b;
    temp <<= 8;
    temp = temp|a;
    tt = temp*0.0625;
    temp = tt*10+0.5;
    return temp;
}

void ds_delay(u16 i)
{
    while(--i);
}

void dsic_init (void)
{
    ds_dat = 1;
    ds_delay (2);
    ds_dat = 0;
    ds_delay (250);
    ds_dat = 1;
    ds_delay (100);
}
u8 read_byte (void)
{
    u8 i = 0;
    u8 dat = 0;
    for(i=8;i>0;i--)
    {
        ds_dat = 0;
        _nop_();
        dat >>= 1;
        ds_dat = 1;
        ds_delay(2);
        if(ds_dat)
        {
            dat |= 0x80;
        }
        ds_delay(11);
    }
    return (dat);
}
void write_byte(u8 dat)
{
    u8 i = 0;
    for(i=8;i>0;i--)
    {
        ds_dat = 0;
        _nop_();
        ds_dat = dat&0x01;
        ds_delay(11);
        ds_dat = 1;
        dat >>= 1;
        ds_delay(2);
    }
}

#include <reg52.h>
#include"lcd1602.h"
#include"DS18B20.h"
#include"def.h"
void main(void)
{
    float temperature ;
    lcd_init();
    while(1)
    {
        temperature = get_temp ();
        dispy1(temperature);
    }
}
2.效果演示:

DS18B20函数库建立实验的更多相关文章

  1. 如何持续集成/交付一个开源.NET函数库到Nuget.org

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这是一个简单的入门向导,涉及到GitHub.AppVeyor和Nuget.org. 最 ...

  2. PHP PDO函数库详解

    PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.目前而言,实现“ ...

  3. 【C语言入门教程】5.6 函数库和文件

    函数库是为代码复用建立的,将同一类型,需要在不同的程序里使用的函数放置在一起,就组成了一个函数库.如 C 语言的标准库,它集合了开发者常用的函数.开发者自行编写的函数也可以组成函数库,通常称之为自定义 ...

  4. 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)

    除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...

  5. PHP函数库(other)

    PHP函数库(other) Session函数: session_abort — Discard session array changes and finish session session_ab ...

  6. PHP PDO函数库具体解释

    文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/565 PDO是一个"数据库訪问抽象层",作用是统一各种数据库的訪问接口 ...

  7. cgic: CGI的C函数库

    下载回源码包以后,就3个文件:cgic.c      函数库capture.c   一个很简单的CGI例子,仅仅输出两行提示文字cgictest.c  一个演示读取form表单数据的CGI例子 首先在 ...

  8. 【OpenGL游戏开发之三】OpenGl核心函数库汇总

    OpenGl核心函数库 glAccum 操作累加缓冲区 glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形 glAlphaFunc允许设置alpha检测功能 glA ...

  9. 初识函数库libpcap

    由于工作上的需要,最近简单学习了抓包函数库libpcap,顺便记下笔记,方便以后查看 一.libpcap简介    libpcap(Packet Capture Library),即数据包捕获函数库, ...

随机推荐

  1. java中的重绘

    void java.awt.Container.validate()Validates this container and all of its subcomponents.这个函数更新容器及其全部 ...

  2. Ubuntu disk error

    I have heard that ext file system is easy to crash. Today i forced to shutdown Ubuntu. As a result,i ...

  3. 前端构建工具 webpack

    一.自我初级认知  (是什么?     能干什么,有卵用?       有选择为什么要选你?(比较优势在哪) )     适合的才是最好的 模块打包器(module bundler)     根据项目 ...

  4. 【转】JSP中文乱码问题终极解决方案

    原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...

  5. 【BZOJ 3165】【HEOI 2013】Segment

    往区间上覆盖一次函数,做法是用线段树维护标记永久化. 每次都忘了线段树要4倍空间,第一次交总是RE,再这么手残的话考场上就真的要犯逗了. #include<cstdio> #include ...

  6. java-二维码编写zxing

    zxing 这个是google的 下载地址 http://code.google.com/p/zxing/downloads/list 二维码源码案例 package com.utils; impor ...

  7. Android中图像变换Matrix的原理、代码验证和应用(二)

    第二部分 代码验证 在第一部分中讲到的各种图像变换的验证代码如下,一共列出了10种情况.如果要验证其中的某一种情况,只需将相应的代码反注释即可.试验中用到的图片: 其尺寸为162 x 251. 每种变 ...

  8. HTTP协议学习---(九)cookie

    Cookie是HTTP协议中非常重要的东西, 之前拜读了Fish Li 写的[细说Cookie], 让我学到了很多东西.Fish的这篇文章写得太经典了. 所以我这篇文章就没有太多内容了. 最近我打算写 ...

  9. 12 抽象函数-abstract

    只有函数的定义,没有函数体的函数被称为抽象函数 1.抽象函数就是没有函数体的函数 2.抽象类使用abstract来定义 3.抽象类不能生产对象,但是可以拥有构造函数 abstract void fun ...

  10. java获取json格式中的值

    先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入json.jar package web; import or ...