这是一款51单片机智能温控器C言语源程序,程序功用:速成有时钟显现,运用DS18B20进行温度检测,操控温度可经过按键进行设置,输出经过继电器械驱动加热器进行加热。是一款功用较为完善的温度操控板,合适单片机喜好者进行温度操控的电子制造实作项目。电路简略,简单制造,调试简单。
#include ‘reg51.h’
#include ‘intrins.h’
#include‘absacc.h’
#define uchar unsigned char
#define uint unsigned int
#define BUSY 0x80 //lcd忙检测标志
#define DATAPORT P0 //界说P0口为LCD通讯端口
#define PLAYE_ADDR XBYTE[0XBFFF] //语音报警地址
sbit RED_ALARM=P1^0; //赤色指示灯
sbit WRITE_ALARM=P1^1; //白色指示灯
sbit GREEN_ALARM=P1^2; //绿色指示灯
sbit P1_4=P1^4; //时钟调整
sbit P1_5=P1^5; //时钟加
sbit P1_6=P1^6; //时钟减
sbit DQ = P1^7; //界说ds18b20通讯端口
sbit LCM_RS=P2^0; //数据/指令端
sbit LCM_RW=P2^1; //读/写挑选端
sbit LCM_EN=P2^2; //LCD使能信号
sbit ad_busy=P3^2; //adc中止方法接口
sbit RECLED_EOC=P3^5; //ISD1420放音完毕查询标志
sbit OUT=P3^7;
uchar ad_data; //ad采样值存储
uchar seconde=0; //界说并初始化时钟变量
uchar minite=0;
uchar hour=12;
uchar mstcnt=0;
uchar temp1,temp2,temp; //温度显现变量
uchar t,set;
uchar T;
bit ON_OFF;
bit outflag;
uchar code str0[]={“— : : —OF”};
uchar code str1[]={“SET: C SA: 。 C”};
void delay_LCM(uint); //LCD延时子程序
void initLCM( void); //LCD初始化子程序
void lcd_wait(void); //LCD检测忙子程序
void WriteCommandLCM(uchar WCLCM,uchar BusyC); //写指令到ICM子函数
void WriteDataLCM(uchar WDLCM); //写数据到LCM子函数
void DisplayOneChar(uchar X,uchar Y,uchar DData); //显现指定坐标的一个字符子函数
void DisplayListChar(uchar X,uchar Y,uchar code *DData); //显现指定坐标的一串字符子函数
void init_TImer0(void); //定时器初始化