这个是18b20温度传感器用11.0592MHz的晶振写的STC12系列单片机C程序怎么转换成24MHz的STC15系列单片机C程序????

#include    "system.h"
sbit DQ=P1^7;
void delay_18B20(u16 i)
 {
  while(i--);
 }


 void Init_DS18B20(void)
 {
  u8 x=0;
DQ=1;
delay_18B20(80);
DQ=0;
delay_18B20(800);
DQ=1;
delay_18B20(140);
x=DQ;
delay_18B20(200);
 }
 u8 ReadOneChar(void)
 {
  u8 i=0;
u8 dat=0;
for(i=8;i>0;i--)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0X80;
delay_18B20(40);
}
return(dat);
 }
 void WriteOneChar(u8 dat)
 {
  u8 i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ=dat&0x01;
delay_18B20(50);
DQ=1;
dat>>=1;
}
 }
 u16 ReadTemp(void)
 {
  u8 a=0;
u8 b=0;
u16 temp_value=0;
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0x44);
delay_18B20(100);
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0xbe);
delay_18B20(100);
a=ReadOneChar();
b=ReadOneChar();
temp_value=b<<8;
temp_value|=a;
return temp_value;
 }

你可能感兴趣的:(这个是18b20温度传感器用11.0592MHz的晶振写的STC12系列单片机C程序怎么转换成24MHz的STC15系列单片机C程序????)