求一个ds18b20数字温度测量的C程序程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 13:09:37
求一个ds18b20数字温度测量的C程序程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示,

求一个ds18b20数字温度测量的C程序程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示,
求一个ds18b20数字温度测量的C程序
程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示,

求一个ds18b20数字温度测量的C程序程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示,
#include"reg51.h"
#include"intrins.h"
unsigned char templ=0;
unsigned char temph=0;
unsigned char tempdot=0;
bit fuhao_flag=0;
float temperature=0;
unsigned char t=0;
unsigned char tab[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};
unsigned char ledbitpos=0;
sbit dq=P1^0;
sbit num_shiwei=P2^5;
sbit num_gewei=P2^4;
sbit fuhaowei=P2^3;
sbit shiwei=P2^2;
sbit gewei=P2^1;
sbit dot=P2^0;
void Delay5us(unsigned char n)
{
unsigned char i;
i=n;
do
{
_nop_();_nop_();_nop_();
i--;
}
while(i);
return;
}
void Delay5ms(unsigned char n)
{
unsigned char i;
i=n;
do
{
Delay5us(200);
Delay5us(200);
Delay5us(200);
Delay5us(200);
Delay5us(200);
i--;
}
while(i);
}
bit init_ds18b20(void)
{
bit bresult=0;
EA=0;
dq=1;
Delay5us(8);
dq=0;
Delay5us(90);
dq=1;
Delay5us(6);
bresult=dq;
Delay5us(20);
EA=1;
return bresult;
}
bit readbit()
{
bit b;
dq=0;
_nop_();
_nop_();
_nop_();
_nop_();
dq=1;
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
b=dq;
Delay5us(4);
return b;
}
unsigned char readonechar(void)
{
unsigned char i=0;
unsigned char dat=0;
EA=0;
for(i=8;i>0;i--)
{
dat=_cror_(dat,1);
if(readbit())
dat|=0x80;
else
dat|=0x00;
}
EA=1;
return dat;
}
void writebit(bit dq1)
{
unsigned char j;
if(!dq1)
{
dq=0;
for(j=35;j>0;j--);
dq=1;
}
else
{
dq=0;
for(j=2;j>0;j--);
dq=1;
for(j=33;j>0;j--);
}
}
void writeonechar(unsigned char command)
{
unsigned char i;
EA=0;
for(i=0;i>4;
tempdot=(10*(templ & 0x0f))/16;
templ=templ>>4;
t=temph

求一个ds18b20数字温度测量的C程序程序比较简单,电路图已上传.P0作为段选,P2位选,希望能得到完整的程序,包括:ds18b20初始化,读字节,写字节,读温度,温度处理,和温度的4位数码管显示, 51单片机与DS18B20程序11.0592MHz的51单片机,Ds18b20检测温度,传给单片机,求C程序!保证时序的! 求一个基于LabVIEW的温度测量的程序,最好是多点测量的! ds18b20多点温度测量,显示几个温度DS18B20可以进行多点的温度测量,那呢显示的时候是几个温度呢, 数字温度传感器DS18B20是怎么实现温度补偿的?我想问的是怎么写程序控制DS18B20? ds18b20温度是几位的呀 用LCD1602和DS18B20显示温度和时间C语言程序用51单片机实现 ,时间部分用2个按钮实现对时间的调整 是的, ds18b20初始化程序,最后一个return ds18b20的负温度采集小弟最近写了一个ds18b20的程序,正温度的显示很完美,但是负温度的显示每个都却有近1度的误差,关于温度采集的程序如下,请给我找出原因:TEML=Readebyte();TEMH=Readebyte();if((TEMH 数字温度日历表 的C语言 程序怎么写啊? 求DS18b20简便测试方法不要测试程序,这我都知道,最好是用万用表怎么测量, 有关温度报警器的程序,有关DS18B20的程序已写好,求助有关蜂鸣器报警和温度上下限设置的程序 用DS18b20写温度程序!并用1602显示!我想加多一个功能!当温度超过某一直!就报警!怎么写这段程序呀? ds18b20温度传感器测量油料温度,怎么样保证油库安全? 编一个DS18B20的51程序,读温度时总为0xffff写0xcc度温度时问题来了,看图(下面线为采样,每格50um) 在运行数字温度计仿真(proteus)时,怎样初始化温度? 为什么只显示0,我的DS18B20读取温度程序应该没问题就是调整proteus上的+-号,也改变不了温度.续接上面unsigned int Readtemp()//读取温度{ unsigned ds18b20 温度读回程序我看到郭天祥基于TX 51D中的ds18b20程序,所以抽取了它的读取程序 ,程序如下声明硬件ds18b20电路是VCC供电的,数据传输口即2口连接P2^2口,那么,只有基本的复位和时钟,我可以读 一线式数字温度传感器DS18B20,一线式数字温度传感器DS18B20的“一线式”是什么意思,感激不尽.