基于单片机实现对DS18B20智能温控器的设计方案
原标题:基于单片机实现对智能温控器的设计方案
这是一款源程序,程序功能:速成有时钟显示,使用DS18B20进行温度检测,控制温度可通过按键进行设置,输出通过继电器械驱动加热器进行加热。是一款功能较为完善的温度控制板,适合单片机爱好者进行温度控制的电子制作实作项目。电路简单,容易制作,调试容易。
#include‘reg51.h’
#include‘intrins.h’
#include‘absacc.h’
#defineucharunsignedchar
#defineuintunsignedint
#defineBUSY0x80//lcd忙检测标志
#defineDATAPORTP0//定义P0口为LCD通讯端口
#definePLAYE_ADDRXBYTE[0XBFFF]//语音报警地址
sbitRED_ALARM=P1^0;//红色指示灯
sbitWRITE_ALARM=P1^1;//白色指示灯
sbitGREEN_ALARM=P1^2;//绿色指示灯
sbitP1_4=P1^4;//时钟调整
sbitP1_5=P1^5;//时钟加
sbitP1_6=P1^6;//时钟减
sbitDQ=P1^7;//定义ds18b20通信端口
sbitLCM_RS=P2^0;//数据/命令端
sbitLCM_RW=P2^1;//读/写选择端
sbitLCM_EN=P2^2;//LCD使能信号
sbitad_busy=P3^2;//adc中断方式接口
sbitRECLED_EOC=P3^5;//ISD1420放音结束查询标志
sbitOUT=P3^7;
ucharad_data;//ad采样值存储
ucharseconde=0;//定义并初始化时钟变量
ucharminite=0;
ucharhour=12;
ucharmstcnt=0;
uchartemp1,temp2,temp;//温度显示变量
uchart,set;
ucharT;
bitON_OFF;
bitoutflag;
ucharcodestr0[]={“---::---OF”};
ucharcodestr1[]={“SET:CSA:。C”};
voiddelay_LCM(uint);//LCD延时子程序
voidinitLCM(void);//LCD初始化子程序
voidlcd_wait(void);//LCD检测忙子程序
voidWriteCommandLCM(ucharWCLCM,ucharBusyC);//写指令到ICM子函数
voidWriteDataLCM(ucharWDLCM);//写数据到LCM子函数
voidDisplayOneChar(ucharX,ucharY,ucharDData);//显示指定坐标的一个字符子函数
voidDisplayListChar(ucharX,ucharY,ucharcode*DData);//显示指定坐标的一串字符子函数
voidinit_TImer0(void);//定时器初始化
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。