基于DS18B20和四位LED的温度自动控制系统
1:采用DS18B20采集温度,精度在0.1度。
2:采用89S52芯片。
3:采用四位共阳LED数码显示,亮度高。
4:可以设定两个控制温度A,达到设定值继电器A工作,低于设定值继电器A断开。
5:可以设定两个控制温度B,达到设定值继电器B工作,低于设定值继电器B断开。
6:超温/低温报警,超过或低于设定温度值1-99度蜂鸣器报警。
7:可以设定多个报警及保护工作模式,
P1.0--P1.7:对应LED的笔划位
P2.4--P2.7:对应LED的段位
P3.2:DS18B20
P2.0:设定键。
02.1:加温键。
P2.2:减温键。
P1.0:报警输出端。
P1.3:继电器A
P1.4:继电器B
不明白的可以加我QQ:1239300456
#include <AT89X52.h>
#include "DS18B20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P2_0 //定义调整键
#define DEC P2_2 //定义减少键
#define ADD P2_1 //定义增加键
#define BEEP P1_0 //定义蜂鸣器
#define BEEQ P1_3 //A控制输出端
#define BEEA P1_4 //B控制输出端
bit shanshuo_st;
bit beep_st;
bit beeq_st;
bit beea_st;
sbit DIAN = P0^7;
uchar x=0;
signed char m;
uchar n;
uchar set_st=0;
signed char shangxian=22;
signed char xiaxian=21;
signed char xiaxianc=20;
signed char xiaxiand=19;
uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};
void Delay(uint num)
{
while( --num );