51单片机对智能温控器的设计

控制/MCU

1878人已加入

描述

这是一款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); //定时器初始化

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分