[模拟空调]加标注。ok

上传人:kms****20 文档编号:40841550 上传时间:2018-05-27 格式:DOC 页数:27 大小:55.50KB
返回 下载 相关 举报
[模拟空调]加标注。ok_第1页
第1页 / 共27页
[模拟空调]加标注。ok_第2页
第2页 / 共27页
[模拟空调]加标注。ok_第3页
第3页 / 共27页
[模拟空调]加标注。ok_第4页
第4页 / 共27页
[模拟空调]加标注。ok_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《[模拟空调]加标注。ok》由会员分享,可在线阅读,更多相关《[模拟空调]加标注。ok(27页珍藏版)》请在金锄头文库上搜索。

1、 模拟空调模拟空调 加标注。加标注。okok#include#includesbit cs1=P10;sbit cs2=P11;sbit wr=P12;/ad 转换和数码管共用 wrsbit pwm=P13;/pwm 高低输入端sbit bj=P14;/蜂鸣器sbit rd=P15;sbit cs=P16;sbit eoc=P17;sbit led0=P30;/电源sbit led1=P31;/高速sbit led2=P32;/中速sbit led3=P33;/低速sbit led4=P34;/压缩机sbit led5=P35;/室外风机sbit led6=P36;/四通换向阀sbit ka1

2、=P37;/继电器控制bit dt=0;/压缩机保护标志位 1bit dg=0;/灯光标志位bit dj=0;/风速标志bit kai=0;/启停标志位bit kg=0;/恢复关机前状态标志位bit guang=0;/上电程序标志位bit dct=0;/通风保存标志位bit bh=1;/压缩机保护标志位 2bit css=0;/除湿计时标志位bit kx=0;/压缩机保护标志位 3bit jdq=1;/温度防反复突变标志位unsigned char dma=0x88,0x83,0xc6,0xa1,0x86,0x8e,0x89,0xc7,0x8c,0xce,0xc1,0x91,zz=0,suz=

3、0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf,c1=5,c2=4,zd=0,zx=0,zd1=1,wm=0x7f,0xbf,0xef,0xf7,0xfd,0xfe,ch=20,zhi=0,msn=0,str6=0,0,2,5,0,0,js=0,mao2,zlj4,ccc=0,kei=0,klk3;unsigned char bc0,bc1,bc2,bc3,bc4,bc5,bc6,pm,hs1=0,hs2=50;unsigned int csh=0,jdq1=0;void delay(int pq);/延时void chu

4、();/中断设置及初始化void anjian();/按键控制void xianshi();/数码显示void wendu();/lm35 温度转换void shangdian();/按键后执行操作void zhileng();/制冷模式void zhire();/制热模式void chushi();/除湿模式void tongfeng();/通风模式void zidong();/制动模式void zdfl();/制冷模式的自动风void zdfr();/制热模式的自动风void zdftf();/通风模式的自动风void zdfcs();/除湿模式的自动风void main()chu();/

5、中断设置wendu();/温度转换doguang=0;/开启上电标志doanjian();/按键if(jdq=1)/判断若过了三秒就再次转换温度wendu();jdq=0;/设为 0,等待三秒while(kai=0);/判断是否开机if(kg!=0)/若是非上电, ,只是关机后开机,恢复关机前状态pwm=pm;ka1=bc0;led1=bc1;led2=bc2;led3=bc3;led4=bc4;led5=bc5;led6=bc6;kg=0;kai=1;TR0=1;doanjian();/按键if(jdq=1)/三秒wendu();jdq=0;switch(str5)/判断是何种模式,case

6、 7:zhileng();break;/若是 7,进入制冷模式case 6:zhire() ;break;/若是 6 进入制热模式case 3:chushi() ;break;/若是 3 进入除湿模式case 5:tongfeng();break;/若是 5 进入通风模式case 0:zidong() ;break;/若是 0 进入自动模式while(kai=1);/关机TR0=0;/关中断,使电机不转guang=1;/关上电, ,是按键无效kai=0;/置零, ,回到上面等待开机pm=pwm;bc0=ka1;bc1=led1;bc2=led2;bc3=led3;bc4=led4;bc5=le

7、d5;bc6=led6;/保存开机前状态led1=1;led2=1;led3=1;led4=1;led5=1;led6=1;/除电源,让其他灯灭ka1=1;/继电器断开,温度停pwm=1;/电机停hs2=0;bh=0;/液压保护清零kg=1;kai=0;while(1);void time0() interrupt 1TH0=(65536-200)/256;TL0=(65536-200)%256;msn+;if(msn=20)/pwm 设置msn=0;if(str4!=0led2=1;led3=0;if(msn1)pwm=1;else pwm=0;if(str4=2)/若风速是 2,进入中速l

8、ed1=1;led2=0;led3=1;if(msn2)pwm=1;elsepwm=0;if(str4=6)/若风速是 6,进入高速led1=0;led2=1;led3=1;if(msn3)pwm=1;elsepwm=0;else if(str4=0break;/若是 7【制冷模式】进case 6:zdfr();break;/若是 6【制热模式】进case 3:zdfcs();break;/若是 3【除湿模式】进case 5:zdftf();break;/若是 5【通风模式】进void time1() interrupt 3TH1=(65536-10000)/256;TL1=(65536-10

9、000)%256;if(jdq=0)/继电器保护位jdq1+;if(jdq1=300)/三秒后标志置一,允许温度转换jdq1=0;jdq=1;if(bh=0)/压缩机保护led4=1;hs1+;if(hs1=60)/六白毫秒加一hs1=0;hs2+;if(hs210)/六秒后, ,压缩标志位置一,允许启动压缩机hs2=0;hs1=0;bh=1;dt=0;if(str5!=3)/当不为除湿模式时进入klk0=0;/第一次进入除湿位 0,否则为一css=0;/除湿计时标志位清零csh=0;/除湿计时数清零if(css=1)/除湿计时标志csh+;if(guang=0)shangdian();/按键

10、相应模式,及风俗等处理if(dg=0)/数码显示标志位xianshi();if(str5!=5/第一次进入除湿时,标志否则位一str2=klk1;str3=klk2;pwm=pm;ka1=bc0;led1=bc1;led2=bc2;led3=bc3;led4=bc4;led5=bc5;led6=bc6;void chu()/初始化时,设置led0=0;/电源指示灯亮TMOD=0x11;/开 t0,t1 中断TH0=(65536-200)/256;TL0=(65536-200)%256;TH1=(65536-10000)/256;TL1=(65536-10000)%256;EA=1;ET0=1;

11、ET1=1;TR1=1;TR0=0;void zdfcs()/除湿模式时,的自动风TR0=1;led1=1;led2=1;led3=0;if(msn1)/一直为低速运行pwm=1;else pwm=0;void zdftf()/除湿模式时,的自动风TR0=1;if(zhi=25)/当室温大于 25 度时led1=0;/室内风机高速运行led2=1;led3=1;if(msn3)pwm=1;elsepwm=0;else if(zhi=20elsepwm=0;else if(zhi1)pwm=1;else pwm=0;void zdfr()/制热模式下的,自动风TR0=1;if(zhi3)pwm=

12、1;elsepwm=0;else if(zhizz-5)/室温小于设置温减两度时led1=1;led2=0;/室内风机中速运行led3=1;if(msn2)pwm=1;elsepwm=0;else if(zhi=zz-2)/室温大于等于设置温度减两度时led1=1;led2=1;led3=0;/低速运行if(msn1)pwm=1;else pwm=0;void zdfl()/制冷时的自动风TR0=1;if(zhi=zz+5)/室温大于等于设置温度 5 度时led1=0;/高速led2=1;led3=1;if(msn3)pwm=1;elsepwm=0;if(zhi(zz+2)elsepwm=0;

13、if(zz+2=zhi)/室温小于设置温度加两度时led1=1;led2=1;led3=0;/低速if(msn1)pwm=1;else pwm=0;void zhileng()/制冷模式if(zhizz)/室内温度大于设置温度TR0=1;if(dt=0)/判断压缩机是否停止保护,是进led4=0;/开启压缩机bh=1;/开启压缩机保护kx=0;led5=0;/开启室外风机led6=1;/开启四通换向阀dj=1;/允许电机转else if(zhizhi)/当设定值大于室内温度是TR0=1;if(dt=0)/判断压缩机保护时间是否已过led4=0;/是启动压缩机kx=0;/时下一次保护时。可进bh

14、=1;/关闭计时led5=0;led6=0;ka1=0;/加热dj=1;/允许电机转void chushi()/除湿模式TR0=1;ka1=1;/关闭加热if(klk0=0)/判断是否第一次进入,if(dt=0)/是,判断压缩机是否停止保护led4=0;/是,启动压缩机kx=0;bh=1;led5=0;/第一次进入,保存当前值led6=1;dj=1;str4=7;klk0=1;if(zhi=zz+1)/当室温大于设定值加一度时if(dt=0)/开启压缩机led4=0;kx=0;bh=1;led5=0;led6=1;dj=1;str4=7;if(zhi=1500js=1;led3=1;led4=

15、1;if(kx=0)bh=0;dt=1;kx=1;led5=1;csh=0;else if(csh=1000led3=0;if(dt=0)led4=0;kx=0;bh=1;led5=0;csh=0;js=0;led6=1;dj=1;str4=7;void tongfeng()/通风模式if(dct=0)/第一次进入,保存相应值bc0=ka1;bc1=led1;bc2=led2;bc3=led3;bc4=led4;bc5=led5;bc6=led6;str5=5;klk1=str2;klk2=str3;str2=11;str3=11;dj=1;led4=1;if(kx=0)bh=0;dt=1;kx=1;led5=1;led6=1;ka1=1;dct=1;/使第二次进入不再从新保存void zidong()/自动模式dodj=1;if(jdq=1)/三秒检测一次温度wendu();jdq=0;anjian();if(zz-5)=zhi)/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号