功能介绍:采用51单片机作为主控CPU,采用ds18b20传感器采集温度,采用蜂鸣器进行报警提醒,采用独立按键设置温度的阈值,当温度大于设置阈值,蜂鸣器进行报警提醒农场主,防止温度过高导致大棚蔬菜损坏,程序有中文注释,新手容易看懂,文末有分享资料链接:
下面是实物演示视频和相关实物图片
75-基于51单片机农业蔬菜大棚DS18B20温度控制系统(程序+原理图+元件清单全套资料)
程序打开办法:特别注意:下载资料包以后一定要先解压!!!(建议解压到桌面上,文件路径太深会导致程序打开异常),解压后再用keil5打开。
程序部分展示:
sbit KEY0=P1^0; //按键加
sbit KEY1=P1^1; //按键减
sbit SPK=P1^3; //蜂鸣器
int tmp=26; // 预设温度
void Key_borad() //按键设置函数
{
if(KEY0==0) //如果按下加按键
{
while(KEY0==0); //释放
tmp++; //预设温度加一
}
if(KEY1==0) //如果按下减按键
{
while(KEY1==0); //释放
tmp--; //预设温度减一
if(tmp<0)
tmp=0;
}
write_com(0xc0+5);
write_dat(' ');
write_dat(' ');
write_dat(tmp%100/10+0x30);
write_dat(tmp%10+0x30);
write_dat('.');
write_dat('0');
write_dat('0');
write_dat(0xDF); write_dat('C');// ℃
}
void BEEP(uchar t)
{
uchar i;
for(i=0;i<100;i++)
{
SPK = ~SPK;
delayMs(t);
}
SPK = 1;
}
void main()
{
P1=0X0F;
LCD_Init(); //lcd1602初始化
sendChangeCmd();
write_string(0,0,"Temp: ");
write_string(0,1,"Set : ");
while(1)
{
sendChangeCmd(); //发送读取温度指令
display(getTmpValue());//读取温度
Key_borad(); //按键设置函数
if(Tp>tmp-1) //得到温度值 大于设置值
BEEP(1);
else
{_nop_();}
}
}
程序打开方法:采用keil5打开,文件中有软件安装包
原理图采用【AD】altium designer打开,文件中有安装包
下面是资料包里面包含的相关文件展示