单片机控制的电冰箱温控器液晶显示C程序.doc
文本预览下载声明
51单片机控制的电冰箱温控器液晶显示C程序
[日期:2008?-06-2?7 ] [?来源:东哥单片机学习网 www.pica?vr.co?m 整理 作者:佚名] [字体:大 中 小] (投递新闻)
?#i nclude ?AT89?X51.H? ?//器件配置文件
#i ncl?ude ?intri?ns.h?
sbit? LCM_?RS=P3?^3; ? /?/引脚定义
sbit? LCM_?RW=P3?^4; ? //?引脚定义
sbit ?LCM_E?N=P3^?5; ? //?引脚定义
sbit ?OUT=P?3^6; ? //控制继电器
sbit ?TSOR=?P3^7;? //?温度测试端
#def?ine B?usy 0?x80 ? ? //常量定义
#define? ucha?r uns?igned? char?
#def?ine u?int u?nsign?ed in?t
#de?fine ?DATAP?ORT P?1
#d?efine? rese?t() {?WDT=0?x1e;W?DT=0x?e1;}/?/看门狗启动/复位宏定义
sfr WDT?=0xa6?;//看门狗寄存器定义
bit ON_O?FF;
b?it ou?tflag?;
//=?=====?=====?=====?=====?=====?=====?=====?=====?=====?
ucha?r tem?p1,te?mp2;
?uchar? cnt;?
ucha?r ded?a,sec?; //?时间变量
char ?min,h?our;
?char ?set,T?;
uch?ar da?ta bu?ff[10?];
uc?har R?eadSt?atusL?CM(vo?id);/?/读数据到MCU子函数声明
uchar ?code ?str0[?]={-?-- :? : ?--- ?};//?待显字符串
ucha?r cod?e str?1[]={?SET:? C S?A: .? C};?
ucha?r cod?e str?2[]={? ? ? ? };?//待显空字符串
//====?=====?=====?=====?=函数声明=====?=====?=====?=====?===
v?oid f?un0(v?oid);?
void? fun1?(void?);
vo?id fu?n2(vo?id);
?void ?fun3(?void)?;
voi?d set?_adj(?void)?;
voi?d inc?_key(?void)?;
voi?d dec?_key(?void)?;
voi?d key?(void?);
vo?id ge?ttemp?TS(vo?id);
?void ?initT?S(voi?d);
u?char ?readB?TS(vo?id);
?void ?write?BTS(u?char ?byte)?;
voi?d res?etTS(?void)?;
bit? read?TS(vo?id);
?void ?write?1TS(v?oid);?
void? writ?e0TS(?void)?;
voi?d del?ay15u?s(voi?d);
v?oid d?elay6?0us(v?oid);?
//**?*****?*延时K*1mS,12.000?MHz**?*****?**
vo?id de?lay(u?int k?)//函数名为delay的延时子函数。定义k为无符号整型变量
{ ? ? ? ? //d?elay函数开始
uint i?,j; ? ? //定义i、j为无符号整型变量
for(i=0;?ik;i?++)
{? ? //f?or循环语句开始
for(j=?0;j6?0;j++?) ? // ?for循环语句开始
{;}
r?eset(?)} ? ? ? /?/两个for循环体
} ? ? ? ?//del?ay函数结束
/*------?-----?-----?-----?-----?---写指令到LCM子函数-------?-----?-----?-----?-----?----*?/
voi?d Wri?teCom?mandL?CM(uc?har W?CLCM,? ucha?r Bus?yC) /?*函数名为Write?Comma?ndLCM? 的写指令到LCM子函数。定义WCLCM?、BusyC 为无符号字符型变量*/
{ ? ? ? ?
显示全部