单片机智能温度检测控制系统程序设计-u球体育app下载

单片机 > 单片机程序设计 > 详情

单片机智能温度检测控制系统程序设计

发布时间:2023-03-24 发布时间:
|

实验说明:
根据自己使用的lcd1602是否带有转接板,如果带有转接板的即为4位,需在lcd.h头文件中将宏#define lcd1602_4pins打开,我们这里使用的lcd1602是8位,所以默认将该宏注释。


实验接线:
1,lcd1602液晶模块-->单片机管脚
参考lcd1602液晶显示实验接线(开发攻略内在对应的实验章节内实验现象有接线说明)
2,独立按键模块-->单片机管脚
k1-->p34
k2-->p35
k3-->p32
3,蜂鸣器模块-->单片机管脚
beep-->p15
4,led模块-->单片机管脚
d1-->p24
5,led模块-->单片机管脚
d1-->p24
6,继电器模块-->单片机管脚
relay-->p14
7,直流电机模块-->单片机管脚
in1-->p10(参考直流电机实验接线)
8,eeprom模块-->单片机管脚
参考eeprom实验接线
9,ds18b20模块-->单片机管脚
参考ds18b20温度传感器实验接线

实验现象:
首先它能显示环境的温度并能设置上下限阀值,这是最基本的功能,系统上电的时候显示的是当前环境温度和设定的温度阀值,我们可以通过按键来修改温度上下限阀值。我们看,按下这个k1键会进入温度阀值设置界面,每按一下,切换一次阀值设置(上下阀值)界面,按第3次时,会自动回到主界面,如此循环。


在进入温度阀值设计界面时,可以通过k2、k3键对阀值进行加减,这里我们只对温度整数部分进行设置,小数部分我们就不需要了,将设置好的上下限阀值保存到at24c02(eeprom)内,当下一次开启系统时只需从at24c02内读取保存的阀值数据,而不需要重复设置上下限阀值。这样的话,我们用3个按键就实现了温度上下限阀值的设定,这是温度检测控制系统基本的功能。假如我们把温度上限设置为32°c,下限设置为30°c。


另外还有恒定温度的功能。当设定好上下限阀值时,系统即会把当前的温度与设定的上下限阀值对比,如果高于上限温度,开启散热进行降温,同时报警;如果低于下限温度,开启加热,同时报警;如果当前温度处于下限和上限温度之间时,关闭散热、加热及报警。从而可将温度控制在阀值的范围内。


单片机源程序如下:

#include "public.h"

#include "lcd.h"

#include "temp.h"

#include "i2c.h"



sbit k3=p3^2; //设置温度上下限

sbit k1=p3^4; //加

sbit k2=p3^5; //减


sbit led=p2^4; //报警指示灯


sbit beep=p1^5; //蜂鸣器报警

sbit relay=p1^4; //加热设备

sbit moto=p1^0; //电机散热



char set_templ=22,set_temph=40; //设定温度上下限默认值

u16 temp_val; //检测的实际温度

u8 mode; //温度模式


void temp_datapros()

{

short temp;

u8 temp_buf[5];

temp=ds18b20readtemp();

temp_val=temp;

if(temp<0)

{

temp=-temp;

lcd_dispstring(2 5,0,"-");

}

else

{

lcd_dispstring(2 5,0," ");

}


temp_buf[0]=temp/100 0x30;

temp_buf[1]=temp0/10 0x30;

temp_buf[2]='.';

temp_buf[3]=temp0 0x30;

temp_buf[4]='


『本文转载自网络,u球体育app下载的版权归原作者所有,如有侵权请联系删除』

热门文章 更多
stm32cubemx新建工程 基本io配置过程
网站地图