欢迎来到天天文库
浏览记录
ID:55417915
大小:44.00 KB
页数:13页
时间:2020-05-12
《液晶显示电箱温度控制器.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、液晶显示电冰箱温控器源程序#include//器件配置文件#includesbitLCM_RS=P3^3;//引脚定义sbitLCM_RW=P3^4;//引脚定义sbitLCM_EN=P3^5;//引脚定义sbitOUT=P3^6;//控制继电器sbitTSOR=P3^7;//温度测试端#defineBusy0x80//常量定义#defineucharunsignedchar#defineuintunsignedint#defineDATAPORTP1#defin
2、ereset(){WDT=0x1e;WDT=0xe1;}//看门狗启动/复位宏定义sfrWDT=0xa6;//看门狗寄存器定义bitON_OFF;bitoutflag;//==============================================uchartemp1,temp2;ucharcnt;uchardeda,sec;//时间变量charmin,hour;charset,T;uchardatabuff[10];ucharReadStatusLCM(void);//读数据到MCU子函数
3、声明ucharcodestr0[]={"---::---"};//待显字符串ucharcodestr1[]={"SET:CSA:.C"};ucharcodestr2[]={""};//待显空字符串//====================函数声明=======================voidfun0(void);voidfun1(void);voidfun2(void);voidfun3(void);voidset_adj(void);voidinc_key(void);voiddec_key(v
4、oid);voidkey(void);voidgettempTS(void);voidinitTS(void);ucharreadBTS(void);voidwriteBTS(ucharbyte);voidresetTS(void);bitreadTS(void);voidwrite1TS(void);voidwrite0TS(void);voiddelay15us(void);voiddelay60us(void);//********延时K*1mS,12.000MHz*********voiddelay
5、(uintk)//函数名为delay的延时子函数。定义k为无符号整型变量{//delay函数开始uinti,j;//定义i、j为无符号整型变量for(i=0;i6、harWCLCM,ucharBusyC)/*函数名为WriteCommandLCM的写指令到LCM子函数。定义WCLCM、BusyC为无符号字符型变量*/{//WriteCommandLCM函数开始if(BusyC)ReadStatusLCM();/*若BusyC为"1",则调用ReadStatusLCM子函数进行忙检测*/DATAPORT=WCLCM;//将变量WCLCM中的指令传送至P1口LCM_RS=0;//选中指令寄存器LCM_RW=0;//写模式LCM_EN=0;//置LCM_EN端为低电平LCM7、_EN=0;//置LCM_EN端为低电平,延时一会儿LCM_EN=1;//置LCM_EN端为高电平,写入使能}//WriteCommandLCM函数结束/*----------------------------写数据到LCM子函数-------------------------------*/voidWriteDataLCM(ucharWDLCM)/*函数名为WriteDataLCM的写数据到LCM子函数。定义WDLCM为无符号字符型变量*/{//WriteDataLCM函数开始ReadStatusLC8、M();//调用ReadStatusLCM子函数检测忙信号DATAPORT=WDLCM;//将变量WDLCM中数据传送至P1口LCM_RS=1;//选中数据寄存器LCM_RW=0;//写模式LCM_EN=0;//置LCM_EN端为低电平LCM_EN=0;//置LCM_EN端为低电平,延时一会儿LCM_EN=1;//置LCM_EN端为高电平,写入使能}//WriteDataLCM函数结束/*------------
6、harWCLCM,ucharBusyC)/*函数名为WriteCommandLCM的写指令到LCM子函数。定义WCLCM、BusyC为无符号字符型变量*/{//WriteCommandLCM函数开始if(BusyC)ReadStatusLCM();/*若BusyC为"1",则调用ReadStatusLCM子函数进行忙检测*/DATAPORT=WCLCM;//将变量WCLCM中的指令传送至P1口LCM_RS=0;//选中指令寄存器LCM_RW=0;//写模式LCM_EN=0;//置LCM_EN端为低电平LCM
7、_EN=0;//置LCM_EN端为低电平,延时一会儿LCM_EN=1;//置LCM_EN端为高电平,写入使能}//WriteCommandLCM函数结束/*----------------------------写数据到LCM子函数-------------------------------*/voidWriteDataLCM(ucharWDLCM)/*函数名为WriteDataLCM的写数据到LCM子函数。定义WDLCM为无符号字符型变量*/{//WriteDataLCM函数开始ReadStatusLC
8、M();//调用ReadStatusLCM子函数检测忙信号DATAPORT=WDLCM;//将变量WDLCM中数据传送至P1口LCM_RS=1;//选中数据寄存器LCM_RW=0;//写模式LCM_EN=0;//置LCM_EN端为低电平LCM_EN=0;//置LCM_EN端为低电平,延时一会儿LCM_EN=1;//置LCM_EN端为高电平,写入使能}//WriteDataLCM函数结束/*------------
此文档下载收益归作者所有