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

DS18B20函数库建立实验的更多相关文章
- 如何持续集成/交付一个开源.NET函数库到Nuget.org
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:这是一个简单的入门向导,涉及到GitHub.AppVeyor和Nuget.org. 最 ...
- PHP PDO函数库详解
PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力:与ADODB和MDB2相比,PDO更高效.目前而言,实现“ ...
- 【C语言入门教程】5.6 函数库和文件
函数库是为代码复用建立的,将同一类型,需要在不同的程序里使用的函数放置在一起,就组成了一个函数库.如 C 语言的标准库,它集合了开发者常用的函数.开发者自行编写的函数也可以组成函数库,通常称之为自定义 ...
- 安卓开发经验分享:资源、UI、函数库、测试、构建一个都不能少(转)
除了高超的武艺,每位黑忍者还需要装备最好的武器.在软件开发的世界里,好的工具能让我们的生活变得更轻松,在更短的时间里写出更棒的代码. 时光回到2008年,那时安卓还很年轻.只有几个相关的博客和谷歌官方 ...
- PHP函数库(other)
PHP函数库(other) Session函数: session_abort — Discard session array changes and finish session session_ab ...
- PHP PDO函数库具体解释
文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/565 PDO是一个"数据库訪问抽象层",作用是统一各种数据库的訪问接口 ...
- cgic: CGI的C函数库
下载回源码包以后,就3个文件:cgic.c 函数库capture.c 一个很简单的CGI例子,仅仅输出两行提示文字cgictest.c 一个演示读取form表单数据的CGI例子 首先在 ...
- 【OpenGL游戏开发之三】OpenGl核心函数库汇总
OpenGl核心函数库 glAccum 操作累加缓冲区 glAddSwapHintRectWIN 定义一组被SwapBuffers拷贝的三角形 glAlphaFunc允许设置alpha检测功能 glA ...
- 初识函数库libpcap
由于工作上的需要,最近简单学习了抓包函数库libpcap,顺便记下笔记,方便以后查看 一.libpcap简介 libpcap(Packet Capture Library),即数据包捕获函数库, ...
随机推荐
- 柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test)
柯尔莫哥洛夫-斯米尔诺夫检验(Колмогоров-Смирнов检验)基于累计分布函数,用以检验两个经验分布是否不同或一个经验分布与另一个理想分布是否不同. 在进行cumulative probab ...
- innerHeight,clientHeight,offsetHeight,scrollWidth等的区别和用法
要理解这几个属性,首先要搞明白body,documentElement的区别 1.body是DOM对象里的body子节点,即<body>标签2.documentElement是整个节点树的 ...
- hiho一下 第六十四周 Right-click Context Menu
题目链接:hihocoder 第64周 题意概述: 上下文菜单是panel(面板)包括很多section(分区),一个分区里面至少包含一个菜单项.每一个菜单项都对应有一个子panel,这个panel可 ...
- C#(winform)为button添加背景图片
1.既然是添加背景图片 所以这里应该使用 Button.BackgroudImage = "" ;来设置图片 而不应该使用 Button.Image = "" ...
- linux下mysql基础从安装到基本使用
在LINUX下安装MYSQL #需要的安装包(按照先后顺序) libdbi-devel--2.1 libdbi--2.1 libdbi-drivers- perl-DBI-.el5 perl-DBD- ...
- thinkphp框架中“关联操作”的完整定义详解
在复杂的关联操作中,如果要给关联定义增加可选的属性,我们可以采用完整定义的方式. 完整定义的格式是: protected $_link = array( '关联表名1' => arr ...
- python模块介绍二。
全局变量 全局变量 python在一个.py文件内部自动添加了一些全局变量 print(vars()) #查看当前的全局变量 执行结果: {'__package__': None, '__loader ...
- [bzoj2517]矩形覆盖
Description 给定一个$l\;\times\;w$的矩形,和$n$个圆,求最小的$k$使得每个圆的半径$\;\times\;k$后,能覆盖整个矩形. Input 第一行一个整数$T$,表示数 ...
- Jenkins 2.x版本的安装步骤(Windows)
一.登录官网https://jenkins.io/index.html 二.选择LTS版本(长期支持的版本) 如果想要下载其它版本可以进入列表选择,在最顶部有操作系统可以选择 三.安装好后,第一次会进 ...
- Linux给用户添加sudo权限
一.linux给用户添加sudo权限: 有时候,linux下面运行sudo命令,会提示类似: xxxis not in the sudoers file. This incident will be ...