资料编号:178 下面是仿真功能视频演示:
180-基于stm32单片机室内环境温湿度光照强度检测系统Proteus仿真
功能讲解:
采用stm32单片机最为控制CPU,DS1302时钟芯片,ds18b20采集温度,HIH5030湿度传感器,LCD12864液晶显示屏,光照传感器,蜂鸣器来组成室内环境采集系统,可以采集室内的光照强度、温度、湿度、以及显示当前的时间,并且可以设置温度上限报警值,超过报警值蜂鸣器进行报警,并且串口打印显示报警状态,此仿真极大程度上模拟出当前的室内环境相关参数的采集,全套资料齐全:
下面是仿真展示:
下面是程序展示:
void DS18B20_Rst(void)
{
DS18B20_IO_OUT(); //SET PA8 OUTPUT
DS18B20_DQ_OUT=0; //拉低DQ
Delay_DS18B20_1us(750); //拉低750us
DS18B20_DQ_OUT=1; //DQ=1
Delay_DS18B20_1us(15); //15US
}
//等待DS18B20的回应
//返回1:未检测到DS18B20的存在
//返回0:存在
u8 DS18B20_Check(void)
{
u8 retry=0;
DS18B20_IO_IN(); //SET PA8 INPUT
while (DS18B20_DQ_IN&&retry<200)
{
retry++;
Delay_DS18B20_1us(1);
};
if(retry>=200)return 1;
else retry=0;
while (!DS18B20_DQ_IN&&retry<240)
{
retry++;
Delay_DS18B20_1us(1);
};
if(retry>=240)return 1;
return 0;
}
//从DS18B20读取一个位
//返回值:1/0
u8 DS18B20_Read_Bit(void)
{
u8 data;
DS18B20_IO_OUT(); //SET PA8 OUTPUT
DS18B20_DQ_OUT=0;
Delay_DS18B20_1us(2);
DS18B20_DQ_OUT=1;
DS18B20_IO_IN(); //SET PA8 INPUT
Delay_DS18B20_1us(12);
if(DS18B20_DQ_IN)data=1;
else data=0;
Delay_DS18B20_1us(50);
return data;
}
//从DS18B20读取一个字节
//返回值:读到的数据
下面是该资料的分享链接: