【资源下载】下载地址如下:
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
设计总体思路如下: AT89C51单片机接收到来自DS18B20传感器所检测到的温度,通过单片机内部程序的处理转换,把当前的温度示数显示在LCD-1602型号的 LCD显示模块电路上。检测范围是15摄氏度到25摄氏度。除了温度外,系统还可以根据用户自己所需的温度范围进行自行的设定,过程简单易操作。当用传感器检测到的温度值高于设置温度最大值时通过单片机程序的调用控制继电器闭合动作,使降温装置通电工作,直到温度降至设定最高值以下,这时就解除报警电路。同理可得,当用传感器检测到的温度值低于设置温度最小值时通过单片机程序的调用控制继电器闭合动作,使升温装置通电工作,直到温度升至设定最低值以上时,这时就解除报警电路又继续正常监控运行。
内附本人毕业论文,知网查重5.6%,未入库,直接可使用;答辩PPT;仿真及程序;做到一整套齐全。
#include "delay.h" #include "1602.h" #include "18b20.h" #define KeyPort P3 //定义按键 bit ReadTempFlag; //定义读温度标志 sbit sound=P1^0; //蜂鸣器端口 sbit zenwen=P1^1; //继电器控制增温设备端口 sbit jiangwen=P1^2; //继电器控制降温设备端口 unsigned char num,con; //定义按键,调整选择位 unsigned char idata displaytemp1[16]; //定义显示第一行临时存储数组 unsigned char idata displaytemp2[16]; //定义显示第二行临时存储数组 unsigned char wendu_buf[2]; //定义最高温度和最低温度数组 int temp; float temperature; void Init_Timer0(void); //定时器初始化 unsigned char KeyScan(void); //键盘扫描 void temperature_change(void); //调节高温低温值 void alarm(void); //温度控制及报警 /*------------------------------------------------ 主函数 ------------------------------------------------*/ void main (void) { LCD_Init(); //初始化液晶 DelayMs(5); //延时有助于稳定 LCD_Clear(); //清屏 Init_Timer0(); //定时器0初始化 wendu_buf[0]=25; //设定最高值为25度 wendu_buf[1]=15; //设定最低值为15度 点击并拖拽以移动