基于单片机水温恒温箱温度控制系统(含AD)
【资源下载】下载地址如下:1501
https://docs.qq.com/doc/DTlRSd01BZXNpRUxl
本课题在设计中力求人性化的智能控制,以中央芯片STC89C52为核心,它是一款高性能、低功耗、高性能CMOS8位微控制器,单片机启动程序控制智能恒温宠物箱。再加上利用DS18B20温度传感器,组成了整个智能系统。
此智能恒温宠物箱装置,能实现如下功能:
- 通过低温控制加热器加热升高温度;
- 通过高温控制风扇抽风降低温度;
通过按键控制启动,停止,设置温度范围;
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char //宏定义
sbit SET=P3^1; //定义调整键
sbit DEC=P3^2; //定义减少键
sbit ADD=P3^3; //定义增加键
sbit BEEP=P3^6; //定义蜂鸣器
sbit ALAM=P1^2; //定义灯光报警
sbit ALAM1=P1^4;
sbit DQ=P3^7; //定义DS18B20总线I/O
bit shanshuo_st; //闪烁间隔标志
bit beep_st; //蜂鸣器间隔标志
sbit DIAN = P0^5; //小数点
uchar x=0; //计数器
signed char m; //温度值全局变量
uchar n; //温度值全局变量
uchar set_st=0; //状态标志
signed char shangxian=25; //上限报警温度,默认值为38
signed char xiaxian=16; //下限报警温度,默认值为5
//uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
uchar code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B};
//============================================================================================
//====================================DS18B20=================================================
//============================================================================================
/*****延时子程序*****/
void Delay_DS18B20(int num)
{
while(num--) ;
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1; //DQ复位
Delay_DS18B20(8); //稍做延时
DQ = 0; //单片机将DQ拉低
Delay_DS18B20(80); //精确延时,大于480us
DQ = 1; //拉高总线
Delay_DS18B20(14);
x = DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败
Delay_DS18B20(20);
}