📄 netprogram1.h
字号:
include
#include
/**************宏定义***************/
#define uchar unsigned char
#define uint unsigned int
/**************LED地址***************/
#define LEDcom1 XBYTE[0X4FF0]
#define LEDcom2 XBYTE[0X4FF1]
#define LEDcom3 XBYTE[0X4FF2]
#define LEDcom4 XBYTE[0X4FF3]
#define LEDcom5 XBYTE[0X4FF4]
#define LEDcom6 XBYTE[0X4FF5]
#define LEDcom7 XBYTE[0X4FF6]
#define LEDcom8 XBYTE[0X4FF7]
sbit TMDAT=P1^0; //控制线兼数据线
unsigned char Temp_Integer=0; //温度整数部分
unsigned char Temp_Decimal=0; //温度小数部分
unsigned char fg=0; //温度正负标志
//-------------------------------------------------------------------------------------
//函数名称:delayus
//入口参数:count
//函数功能:延时子程序
//-------------------------------------------------------------------------------------
void delayus(uint count)
{
uint i;
while(count--)
{
for(i=0;i<125;i++){}
}
}
//-------------------------------------------------------------------------------------
//函数名称:Reset_18B20
//入口参数:无
//函数功能:
//-------------------------------------------------------------------------------------
void Reset_18B20(void)
{
uint i;
TMDAT=0;
i=103;
while(i>0) i--; //大约900us
TMDAT=1;
i=4;
while(i>0) i--;
}
//-------------------------------------------------------------------------------------
//函数名称:Wait_18B20
//入口参数:无
//函数功能:等待DS18B20应答
//-------------------------------------------------------------------------------------
void Wait_18B20(void)
{
uint i;
while(TMDAT);
while(~TMDAT);
i=4;
while(i>0) i--;
}
//-------------------------------------------------------------------------------------
//函数名称:Readbit_18B20
//入口参数:无
//返回值: dat
//函数功能:在总线上读一位
//-------------------------------------------------------------------------------------
bit Readbit_18B20(void)
{
uint i=0;
bit dat=0;
TMDAT=0;i++;
TMDAT=1;i++;i++;
dat=TMDAT;
i=8;
while(i>0) i--;
return(dat);
}
//-------------------------------------------------------------------------------------
//函数名称:Readbyte_18B20
//入口参数:无
//返回值: dat
//函数功能:读一个字节
//-------------------------------------------------------------------------------------
uchar Readbyte_18B20(void)
{
uchar i=0,j=0,dat=0;
for(i=1;i<=8;i++)
{
j=Readbit_18B20();
dat=(j<<7)|(dat>>1);
}
return(dat);
}
//-------------------------------------------------------------------------------------
//函数名称:Writebyte_18B20
//入口参数:dat
//函数功能:写命令
//-------------------------------------------------------------------------------------
void Writebyte_18B20(uchar dat)
{
uint i=0;
uchar j=0;
bit testb=0;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)
{
TMDAT=0; //写1
i++;i++;
TMDAT=1;
i=8;while(i>0) i--;
}
else
{
TMDAT=0; //写0
i=8;while(i>0) i--;
TMDAT=1;
i++;i++;
}
}
}
//-------------------------------------------------------------------------------------
//函数名称:Start_Convert
//入口参数:无
//函数功能:开始转换
//-------------------------------------------------------------------------------------
void Start_Convert(void)
{
Reset_18B20();
Wait_18B20();
delayus(1);
Writebyte_18B20(0xcc);
Writebyte_18B20(0x44);
}
//-------------------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -