您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 自贡分类信息网,免费分类信息发布

解析温度传感器DS18B20 89C51单片机C语言程序

2022/7/17 5:26:16发布69次查看
解析温度传感器ds18b20 89c51单片机c语言程序
温度传感器扫描枪自80年代诞生之后,得到了迅猛的发展和广泛的应用,从最直接的图片、照片、胶片到各类图纸图形以及文稿资料都可以用扫描枪输入到计算机中,进而实现对这些图像信息的处理、管理、使用、存储或输出。
#*宏定义 字符型数据 整型数据 *
#
dd;
dq=p2^2; 定义ds18b20总线io
;
c[10] = {03, 006, 05, 04, 066, 06,
07, 007, 07, 06};
c[] = {00, 0fe, 0fd, 0fb, 0f7, 0ef, 0df, 0bf, 07f};
*****延时子程序*****
d_ds18b20( )
{
(--) ;
}
() 延时子程序 入口参数
{
;
=0;({++;}
;
}
*****初始化ds18b20*****
i_ds18b20()
{
=0; dq = 1; dq复位
d_ds18b20(2); 稍做延时
dq = 0; 单片机将dq拉低
d_ds18b20(80); 精确延时,大于480
dq = 1; 拉高总线
d_ds18b20(14);
= dq; 稍做延时后,如果=0则初始化成功,=1则初始化失败 d_ds18b20(20);
}
*****读一个字节*****
roc()
{
=0; = 0;
(=8;0;--)
{
dq = 0;给脉冲信号
=1;
dq = 1;给脉冲信号
(dq)
|=080;
d_ds18b20(8);
}
();
}
*****写一个字节*****
woc()
{
=0;(=8; 0; --)
{
dq = 0;
dq = 001;
d_ds18b20(10);
dq = 1;
=1;
}
}
*****读取温度*****
rt()
{
=0; =0; =0;=0; i_ds18b20();
i_ds18b20();
woc(0cc); 跳过读序号列号的操作
woc(044); 启动温度转换
d_ds18b20(20);
i_ds18b20();
woc(0cc); 跳过读序号列号的操作
woc(0be); 读取温度寄存器
=roc(); 读低8位
=roc(); 读高8位
=; =8;
=|; =*00625; = *10+05; 放大10倍输出并四舍五入
();
}
()
{
(1)
{
=rt(); 是3位数的 是温度扩大了10倍
p0 = c[100];
p1 = c[1];
(100);
dd=100;=-dd*100;
p0 = c[10];
p1 = c[2];
(100);
p0 = 080;
p1 = c[3];
(100);
p0 = c
[%10];
p1 = c[4];
(10);
自贡分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录