如何使用ds18b20我的延时老是有问题晶振12Mhz

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 01:33:14

如何使用ds18b20我的延时老是有问题晶振12Mhz
如何使用ds18b20
我的延时老是有问题
晶振12Mhz

如何使用ds18b20我的延时老是有问题晶振12Mhz
#include
#include
#include
sbit DQ=P2^3;
unsigned char tempL=0; //临时变量低位
unsigned char tempH=0; //临时变量高位
double temperature; //温度值
/*void delay10(void) //误差 0us//10us
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=2;a>0;a--);
}
void delay15(void) //误差 0us//15us
{
unsigned char a;
for(a=6;a>0;a--);
}*/
void delay30(void) //误差 0us //30us
{
unsigned char a,b;
for(b=3;b>0;b--)
for(a=3;a>0;a--);
}
void delay45(void) //误差 0us //45us
{
unsigned char a;
for(a=21;a>0;a--);
}
/*void delay60(void) //误差 0us
{
unsigned char a,b;
for(b=3;b>0;b--)
for(a=8;a>0;a--);
}
void delay128(void) //误差 0us
{
unsigned char a,b;
for(b=25;b>0;b--)
for(a=1;a>0;a--);
}
*/
void delay500(void) //误差 0us//500us
{
unsigned char a,b;
for(b=71;b>0;b--)
for(a=2;a>0;a--);
}
/*void delay800(void) //误差 0us //800us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=2;b>0;b--)
for(a=197;a>0;a--);
}
void delay70(void) //误差 0us
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=32;a>0;a--);
}
void delay14(void) //误差 0us
{
unsigned char a,b,c,d;
for(d=1;d>0;d--)
for(c=1;c>0;c--)
for(b=1;b>0;b--)
for(a=1;a>0;a--);
}
void delay40ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=1;c>0;c--)
for(b=38;b>0;b--)
for(a=130;a>0;a--);
}
*/
void delay150ms(void) //误差 0us //150ms
{
unsigned char a,b,c;
for(c=3;c>0;c--)
for(b=116;b>0;b--)
for(a=214;a>0;a--);
}
/*void delay600ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=244;c>0;c--)
for(b=8;b>0;b--)
for(a=152;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
*/
void delay800ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=95;c>0;c--)
for(b=138;b>0;b--)
for(a=29;a>0;a--);
_nop_(); //if Keil,require use intrins.h
_nop_(); //if Keil,require use intrins.h
}
//
ReadTemperature(void)
{
Init_DS18B20(); //初始化
WriteOneChar(0xcc); //跳过读序列号的操作
WriteOneChar(0x44); //启动温度转换
delay800ms(); //转换需要一点时间,延时100~200ms
Init_DS18B20(); //初始化
WriteOneChar(0xcc); //跳过读序列号的操作
WriteOneChar(0xbe); //读温度寄存器(头两个值分别为温度的低位和高位)
tempL=ReadOneChar(); //读出温度的低位LSB
tempH=ReadOneChar(); //读出温度的高位MSB
//温度转换,把高低位做相应的运算转化为实际温度
temperature=((tempH*256)+(tempL))*0.0625;
delay150ms();
return(temperature);
}
试试这个

如何使用ds18b20我的延时老是有问题晶振12Mhz PIC单片机ds18b20测温度时,将AD转换的750ms延时使用中断延时的程序后,温度检测的变化几分才转换一次,为 如何提高自己的英语应用的能力我现在听力还可以,可是在使用的时候好像老是有想不起来的问题,有什么好主意吗? ds18b20数字温度传感器的封装如何解决环氧树脂的气泡问题?【真空灌胶机?】 断电延时继电器如何使用?我希望电路闭合10S后自动断开,谢谢 如何看懂电路图-有延时功能的单稳电路 时间继电器的通电延时和断电延时有何区别?四种延时触点是如何动作的?如何记忆其图形符号? 如何使用非离子乳化剂我用的乳化剂老是上面浮一层油 通电延时与断电延时有什么区别?顺便看一下这个题:时间继电器的四种延时触点是如何动作的? 我有个汽油喷灯使用过程中老是灭,灭完之后玆兹的往外喷一会气,喷一会油,请问是什么原因,如何解决, 我在知道里看到你的问题.能不能给我发下这个 【6.19 实例19——1线数字式温度传感器DS18B20实例】proteus关于这个的【6.19 实例19——1线数字式温度传感器DS18B20实例】 艹艹,我的问题怎么老是失效 为什么我的问题老是没人回答? 关于小学英语的一些问题,希望大哥哥大姐姐帮我一下呵呵,上课没好好听,老是分不清名词性的物主代词和形容词性的物主代词,请问名物代和形物代有哪些,如何使用? 我爸爸老是色色的看我,还摸我大腿.是不是有问题啊 温度传感器ds18b20的温度和电压有没有换算公式? 断电延时继电器 怎样接线我需要在断电后3秒后再通电1秒 我买了一个【断电延时继电器】 请问这个能实现这个功能吗还有请问 【断电延时继电器】 的接线问题谢谢 关于ds18b20的温度补偿我的论文是用DS18B20芯片,请问怎么添加温度补偿