DS18B20函数库建立实验

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.效果演示:

时间: 2024-10-14 04:21:33

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

PHP中的PDO函数库

PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. PDO中包含三个预定义的类 PDO中包含三个预定义的类,它们分别是 PDO.PDOStatement 和 PDOException. 一.PDO PDO->be

php总结8——mysql函数库、增删改

8.1 mysql函数库 php的函数   .php中用来操作mysql函数库的函数 常用函数 mysql_connect("主机名称/ip","用户名","密码")--->建立php到mysql的连接,返回资源----> mysql_error()  返回上一个mysql操作的文本错误信息 @ 错误抑制符 一般来说,mysql_connect和mysql_error() 一起使用,用如下方式表示: <?php $link[em

MySQL函数库

MySQL函数库,这个函数库是一个外部函数库!这个函数提供了对于MySQL数据库进行操作的常用函数,如连接MySQL服务器.打开数据库.执行SQL语句等.所以这个函数库的功能对于我们来说是非常重要的! 其实,MySQL数据库是整个程序开发的最底层,我们在程序开发时,就必须为其添加一层漂亮的外衣,这层漂亮的外衣就是图形化用户界面(Graphical User Interface,简称GUI,又称图形用户接口),也就是使用者只需要具体基本的计算机知识,然后通过鼠标,就可以实现某些复杂的功能!其实,我

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

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这是一个简单的入门向导,涉及到GitHub.AppVeyor和Nuget.org. 最近在开发钉钉相关东西,遂简单包装了一个钉钉SDK并开源(https://github.com/keyroads/DingtalkSDK),这就涉及到如何进行持续集成并自动发布Nuget包的问题.之前一直都是使用TFS或者VSTS来做CI,既然是一个托管在GitHub中的开源项目,就从大家常用的持续集成平台(A

PHP函数库(other)

PHP函数库(other) Session函数: session_abort — Discard session array changes and finish session session_abort() finishes session without saving data. Thus the original values in session data are kept. 返回值:没有你返回值. session_cache_expire — 返回当前缓存的到期时间 session_

PHP PDO函数库详解

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/565 PDO是一个"数据库访问抽象层",作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 目前而言,实现"数据库抽象层"任重而道远,使用PDO这样的"数据库访问抽象层"是一个不错的选择. 目前而言,实现"数据库抽象层"

C++常用库函数 C函数库 cstdio

常用的C/C++函数库, cstdio(stdio.h) 标准输入输出库.C Standard Input and Output Library 1. 实例 1 #include <cstdio> 2 int main(){ 3 FILE * pfile; 4 char char1[20]; 5 for(int i=1;i<=10;i++){ 6 //用sprintf把文件(包括相对路径)的名字放到char1里面 7 sprintf(char1,"rename/%d.txt&q

动态函数库的制作和使用

>>>>>>接静态函数库的制作和使用>>http://www.cnblogs.com/hfxin2001-eric-daddy/p/5809010.html 2 动态函数库的制作和使用 动态函数库的制作步骤可以用下图来描述,具体包括 (1)  编写函数的.c文件(例如add.c.sub.c.mul.c和div.c) (2)  编写Makefile,然后make,实现函数的编译和归档入库 函数的编译:使用gcc –c add.c -fPIC只编译不链接函数.c

PHP PDO函数库具体解释

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/565 PDO是一个"数据库訪问抽象层",作用是统一各种数据库的訪问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效. 眼下而言,实现"数据库抽象层"任重而道远,使用PDO这种"数据库訪问抽象层"是一个不错的选择. 眼下而言,实现"数据库抽象层"任