基于89C51的全自动洗衣机控制系统 程序.doc

上传人:h**** 文档编号:139881 上传时间:2018-07-10 格式:DOC 页数:11 大小:98.50KB
下载 相关 举报
基于89C51的全自动洗衣机控制系统 程序.doc_第1页
第1页 / 共11页
基于89C51的全自动洗衣机控制系统 程序.doc_第2页
第2页 / 共11页
基于89C51的全自动洗衣机控制系统 程序.doc_第3页
第3页 / 共11页
基于89C51的全自动洗衣机控制系统 程序.doc_第4页
第4页 / 共11页
基于89C51的全自动洗衣机控制系统 程序.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 1 /*头文件 */凌阳, 拇指 凌阳 #include 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*数据类型宏定义 */凌阳, 拇指 凌阳 #define 凌阳, 拇指 凌阳 uchar unsigned 凌阳, 拇指 凌阳 char 凌阳, 拇指 凌阳 #define uint unsigned 凌阳, 拇指 凌阳 int 凌阳, 拇指 凌阳 /*使能、禁止宏定义 */凌阳, 拇指 凌阳 #define Enable(); EA=1;凌阳, 拇指 凌阳 #define Disable(); EA=0;凌阳, 拇指 凌阳 /*程序选择功能标志宏定义 */凌阳, 拇指 凌阳 #define

2、BIAOZHUN 0 凌阳, 拇指 凌阳 #define JINGJI 1 凌阳, 拇指 凌阳 #define DANDU 2 凌阳, 拇指 凌阳 #define PAISHUI 3 凌阳, 拇指 凌阳 /*强弱选择功能标志宏定义 */凌阳, 拇指 凌阳 #define QIANGXI 0 凌阳, 拇指 凌阳 #define RUOXI 1 凌阳, 拇指 凌阳 /*进水、排水时间限制宏定义 */凌阳, 拇指 凌阳 #define T_JinShui 10 /4min*60s 凌阳, 拇指 凌阳 #define T_PaiShui 10 /1min*60s 凌阳, 拇指 凌阳 #define T

3、_XiDi 10 /6min*60s 凌阳, 拇指 凌阳 #define T_PiaoXi_1 10 /4min*60s 凌阳, 拇指 凌阳 #define T_PiaoXi_2 10 /2min*60s 凌阳, 拇指 凌阳 #define T_TuoShui 10 /2min*60s 凌阳, 拇指 凌阳 /*电机控制宏定义 */凌阳, 拇指 凌阳 #define ZHENGZHUAN 0 凌阳, 拇指 凌阳 #define STOP 1 凌阳, 拇指 凌阳 #define FANZHUAN 2 凌阳, 拇指 凌阳 #define ZhengZhuan(); PIN_Motor_A 凌阳, 拇

4、指 凌阳 = 凌阳, 拇指 凌阳 0; 凌阳, 拇指 凌阳 PIN_Motor_B 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 #define Stop(); PIN_Motor_A 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1; 凌阳, 拇指 凌阳 PIN_Motor_B 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳 ,拇指 凌阳 #define FanZhuan(); PIN_Motor_A 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1; 凌阳, 拇指 凌阳 PIN_Motor_B 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 /*

5、暂停、继续控制宏定义 */凌阳, 拇指 凌阳 #define ZanTing(); ET0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0; 凌阳, 拇指 凌阳 ET1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0; 凌阳, 拇指 凌阳 Stop();凌阳, 拇指 凌阳 #define JiXu(); ET0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1; 凌阳, 拇指 凌阳 ET1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1; 凌阳, 拇指 凌阳凌阳, 拇指 凌阳 /*管脚定义 */凌阳, 拇指 凌阳 /都是低有效 , 拇指因 LED 是灌电流 , 拇指 而 PNP 也是低电平时导通

6、 凌阳, 拇指 凌阳 sbit LED_BiaoZhun = P10; /标准程序显示灯 凌阳, 拇指 凌阳 sbit LED_JingJi = P11; /经济程序显示灯 凌阳, 拇指 凌阳 sbit LED_DanDu = P12; /单独程序显示灯 凌阳, 拇指 凌阳 sbit LED_PaiShui = P13; /排水程序显示灯 凌阳, 拇指 凌阳 sbit LED_QiangXi = P14; /强洗状态灯 凌阳, 拇指 凌阳 sbit LED_RuoXi = P15; /弱洗状态灯 凌阳, 拇指 凌阳 sbit LED_XiDi = P16; /洗涤状态灯 凌阳, 拇指 凌阳 s

7、bit LED_PiaoXi = P17; /漂洗状态灯 凌阳, 拇指 凌阳 sbit LED_TuoShui = P20; /脱水状态灯 凌阳, 拇指 凌阳 2 sbit PIN_BaoJing = P21; /报警喇叭 凌阳, 拇指 凌阳 sbit PIN_JinShui = P22; /进水控制 凌阳, 拇指 凌阳 sbit PIN_PaiShui = P23; /排谁控制 凌阳, 拇指 凌阳 sbit PIN_Motor_A = P24; /电机脚 A 凌阳, 拇指 凌阳 sbit PIN_Motor_B = P25; /电机脚 B 凌阳, 拇指 凌阳 sbit K_SEL_Cheng

8、Xu = P30; /选择程序键 凌阳, 拇指 凌阳 sbit K_SEL_QiangRuo = P31; /选择强弱键 凌阳, 拇指 凌阳 sbit p32 = P32; /凌阳, 拇指 凌阳 sbit p33 = P33; /凌阳, 拇指 凌阳 sbit SW_ShuiWei = P36; /水位开关 凌阳, 拇指 凌阳 sbit SW_AnQuan = P37; /安全开关 凌阳, 拇指 凌阳 /*函数申明 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Programme_PaiShui(void);凌阳, 拇指 凌阳 /*数据定义 */凌阳, 拇指 凌阳 uchar flag_

9、SEL_ChengXu; /默认为标准程序 , 拇指 凌阳, 拇指 凌阳 bit flag_SEl_QiangRuo; /默认为强洗 , 拇指 1为弱洗 凌阳, 拇指 凌阳 bit flag_Run; /运行标志 , 拇指 1为运行 凌阳, 拇指凌阳 /bit flag_ZanTing; /暂停标志 , 拇指 1为暂停 凌阳, 拇指 凌阳 bit flag_JinShui; /进水标志 , 拇指 1为进水 凌阳, 拇指 凌阳 bit flag_PaiShui; /排水标志 , 拇指 1为排水 凌阳, 拇指 凌阳 bit flag_XiDi; /置洗涤标志 凌阳, 拇指 凌阳 bit flag_

10、PiaoXi; /置漂洗标志 凌阳, 拇指 凌阳 bit flag_TuoShui; /脱水标志 凌阳, 拇指 凌阳 bit flag_BaoJing; /报警标志 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 _50ms; /每 50ms 加一次的变量 凌阳, 拇指 凌阳 uint s; /秒 凌阳, 拇指 凌阳 uint T_S; /定时总时间 凌阳, 拇指 凌阳 uchar T_Motor; /电机控制时间 凌阳, 拇指 凌阳 /*延时程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Delay_10ms(uint 凌阳, 拇指 凌阳 T1) 凌阳, 拇指 凌阳 uint

11、 凌阳, 拇指 凌阳 t1,t2;凌阳, 拇指 凌阳 for(t1=0;t1T1;t1+)凌阳, 拇指 凌阳 for(t2=0;t21250;t2+);/10ms 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*管脚初始化程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Pin_Init(void) 凌阳, 拇指 凌阳 LED_BiaoZhun = 0; /默认为标准程序 , 拇指灯亮 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_JingJi = 1; /经济程序显示灯 , 拇指灭 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_DanDu = 1; /单独程序显示灯 , 拇指灭 凌

12、阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_PaiShui = 1; /排水程序显示灯 , 拇指灭 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_QiangXi = 0; /默认为强洗状态 , 拇指灯亮 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_RuoXi = 1; /弱洗状态灯 , 拇指灭 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_XiDi = 1; /洗涤状态灯 , 拇指运行后灯亮 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 LED_PiaoXi = 1; /漂洗状态灯 , 拇指运行后灯亮 凌阳, 拇指 凌阳 3 凌阳, 拇指 凌阳 LED_TuoShui = 1; /脱水状态

13、灯 , 拇指运行后灯亮 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 PIN_BaoJing = 1; /报警喇叭 , 拇指不叫 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 PIN_JinShui = 1; /进水控制 , 拇指关 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 PIN_PaiShui = 1; /排谁控制 , 拇指关 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 PIN_Motor_A = 1; /电机脚 A, 拇指不走 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 PIN_Motor_B = 1; /电机脚 B, 拇指 不走 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*中断初始化程序 */凌阳, 拇指

14、凌阳 void 凌阳, 拇指 凌阳 ExInt_Init(void) 凌阳, 拇指 凌阳 IT0 = 1;凌阳, 拇指 凌阳 EX0 = 1;凌阳 ,拇指 凌阳 IT1 = 1;凌阳, 拇指 凌阳 EX1 = 1;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*定时器 0 初始化程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Timer0_Init(void) /其中没 ET0 是为以后控制暂停用的 凌阳, 拇指 凌阳 TMOD 凌阳, 拇指 凌阳 = TMOD 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 0X01; /定时方式 1 凌阳, 拇指 凌阳 TH0 = 0X3C; /50m

15、s 凌阳, 拇指 凌阳 TL0 = 0XB0; 凌阳, 拇指 凌阳 TR0 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 _50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 s 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*定时器 1 初始化程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Timer1_Init(void) /其中没 ET1 是为以后控制暂停用的 凌阳, 拇指 凌阳 TMOD 凌阳, 拇指 凌阳 = TMOD 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 0X10; /定时方式 1 凌阳, 拇

16、指 凌阳 TH1 = 0X3C; /50ms 凌阳, 拇指 凌阳 TL1 = 0XB0;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*电机初始化程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 T_Motor_Ctl(uchar 凌阳, 拇指 凌阳 t1,uchar 凌阳, 拇指 凌阳 t2,uchar 凌阳, 拇指 凌阳 t3)凌阳, 拇指 凌阳 if(!flag_SEl_QiangRuo)/强洗 凌 阳, 拇指 凌阳 T_Motor 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 t1;凌阳, 拇指 凌阳 if(flag_SEl_QiangRuo)/弱洗 凌 阳, 拇指 凌阳 T_Mo

17、tor 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 t2;凌阳, 拇指 凌阳 if(flag_TuoShui)/脱水 凌阳, 拇指 凌阳 T_Motor 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 t3;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*电机初始化程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Motor_Init(void)凌阳, 拇指 凌阳 ZhengZhuan();凌阳, 拇指 凌阳 T_Motor_Ctl(4,3,5);凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*解除报警 */凌阳, 拇指 凌阳 4 void 凌阳, 拇指 凌阳 No_BaoJing(void)凌

18、阳, 拇指 凌阳 flag_BaoJing= 凌阳, 拇指 凌阳 0; /置报警标志 凌阳, 拇指 凌阳 PIN_BaoJing = 凌阳, 拇指 凌阳 1; /报警喇叭 凌阳, 拇指 凌阳 /进水、排水已没时间限制了 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*外部中断 0 程序为运行或者暂停 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 int0(void) 凌阳, 拇指 凌阳 interrupt 凌阳, 拇指 凌阳 0 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(!p32)凌阳, 拇指 凌阳 Delay_10ms(1); /延时 10ms 左右 , 拇指 去抖动 凌阳, 拇指

19、凌阳 if(!p32)凌阳, 拇指 凌阳 if(!flag_Run)凌阳, 拇指 凌阳 flag_Run 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1; /置运行标志 凌阳, 拇指 凌阳 else 凌阳, 拇指 凌阳 if(flag_BaoJing)凌阳, 拇指 凌阳 No_BaoJing(); 凌阳, 拇指 凌阳 else 凌阳, 拇指 凌阳 static 凌阳, 拇指 凌阳 bit 凌阳, 拇指 凌阳 flag_ZanTing;凌阳, 拇指 凌阳 flag_ZanTing 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 flag_ZanTing;凌阳, 拇指 凌阳 if(flag_ZanTi

20、ng)凌阳, 拇指 凌阳 ZanTing();凌阳, 拇指 凌阳 if(!flag_ZanTing) / 凌阳, 拇指 凌阳 这里用 else, 拇指 编译出错 。 食指 ? 凌阳, 拇指 凌阳 JiXu();凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 else 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!p32) 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!p32) 凌阳, 拇指 凌阳 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*报警程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 BaoJing(void)凌阳, 拇指

21、 凌阳 flag_BaoJing= 凌阳, 拇指 凌阳 1; /置报警标志 凌阳, 拇指 凌阳 PIN_BaoJing = 凌阳, 拇指 凌阳 0; /报警喇叭 凌阳, 拇指 凌阳 TR0 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*时间到处理程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Ok_Timer(void)凌阳, 拇指 凌阳 s 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 if(flag_JinShui 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 flag_PaiShui) /进水中 、排水中 凌阳, 拇指 凌阳 Ba

22、oJing(); /报警程序 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(flag_JinShui 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 flag_PaiShui)凌阳, 拇指 凌阳 else 凌阳, 拇指凌阳 flag_XiDi 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0; /清洗涤标志 凌阳, 拇指 凌阳 flag_PiaoXi = 凌阳, 拇指 凌阳 0; /清漂洗标志 凌阳, 拇指 凌阳 flag_TuoShui= 凌阳, 拇指 凌阳 0; /清脱水标志 凌阳, 拇指 凌阳 Stop();凌阳, 拇指 凌阳 5 /end 凌阳, 拇指 凌阳 else 凌阳, 拇指

23、 凌阳 凌阳, 拇指 凌阳 /*电机控制程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Motor(void)凌阳, 拇指 凌阳 static 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 s_Motor;凌阳, 拇指 凌阳 s_Motor+;凌阳, 拇指 凌阳 if(s_Motor=T_Motor)凌阳, 拇指 凌阳 static 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 Motors;凌阳, 拇指 凌阳 s_Motor 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 Motors+;凌阳, 拇指 凌阳 if(Motors=3)凌阳, 拇指 凌

24、阳 Motors 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 switch(Motors)凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 ZHENGZHUAN 凌阳, 拇指 凌阳 : 凌阳, 拇指 凌阳 ZhengZhuan();凌阳, 拇指 凌阳 T_Motor_Ctl(4,3,5);凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 STOP : 凌阳, 拇指 凌阳 Stop();凌阳, 拇指 凌阳 T_Motor_Ctl(1,2,2);凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 FANZHUAN

25、 凌阳, 拇指 凌阳 : 凌阳, 拇指 凌阳 FanZhuan();凌阳, 拇指 凌阳 T_Motor_Ctl(4,3,5);凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 default : break;凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 switch 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*定时器 0 中断程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Timer0(void) 凌阳, 拇指 凌阳 interrupt 凌阳, 拇指 凌阳 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 TR0 凌阳, 拇指

26、 凌阳 = 凌阳, 拇指 凌阳 0; /停止计数 凌阳, 拇指 凌阳 TH0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0X3C; /重装定时器值 凌阳, 拇指 凌阳 TL0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0XB0;凌阳, 拇指 凌阳 TR0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 _50ms+; 凌阳, 拇指 凌阳 if(_50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 20) /1s 到 凌阳, 拇指 凌阳 _50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 s+; 凌阳, 拇指 凌阳 if(s 凌阳, 拇指 凌

27、阳 = 凌阳, 拇指 凌阳 T_S) /定时到 凌阳, 拇指 凌阳 Ok_Timer();凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 if(flag_XiDi 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 flag_PiaoXi 凌阳, 拇指 凌阳 | 凌阳, 拇指 凌阳 flag_TuoShui)凌阳, 拇指 凌阳 Motor(); /电机控制程序 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(_50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 20) 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 Timer0()凌阳, 拇指 凌阳 /*外

28、部中断 1 程序为水位到或者盖开处理 */凌阳, 拇指 凌阳 6 void 凌阳, 拇指 凌阳 int1(void) 凌阳, 拇指 凌阳 interrupt 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 if(!p33)凌阳, 拇指 凌阳 Delay_10ms(1); /延时 10ms 左右 , 拇指 去抖动 凌阳, 拇指 凌阳 if(!p33)凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!p33) 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!p33) 凌阳, 拇指 凌阳 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*定时器

29、 1 中断程序作为闪烁 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 Timer1(void) 凌阳, 拇指 凌阳 interrupt 凌阳, 拇指 凌阳 3 凌阳, 拇指 凌阳 static 凌阳, 拇指 凌阳 uchar 凌阳, 拇指 凌阳 _50ms; /每 50ms 加一次的变量 凌阳, 拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0; /停止计数 凌阳, 拇指 凌阳 TH1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0X3C; /重装定时器值 凌阳, 拇指 凌阳 TL1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0XB0;凌阳, 拇指 凌阳 TR1 凌

30、阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 _50ms+;凌阳, 拇指 凌阳 if(_50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 14) /0.7s 到 凌阳, 拇指 凌阳 _50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 if(flag_XiDi) /洗涤中 凌阳, 拇指 凌阳 LED_XiDi 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 LED_XiDi; /洗涤状态灯闪烁 凌阳, 拇指 凌阳 if(flag_PiaoXi) /漂洗中 凌阳, 拇指 凌阳 LED_PiaoXi 凌阳, 拇指 凌阳 = 凌 阳, 拇指 凌阳 LED

31、_PiaoXi; /漂洗状态灯闪烁 凌阳, 拇指 凌阳 if(flag_TuoShui) /脱水中 凌阳, 拇指 凌阳 LED_TuoShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 LED_TuoShui; /脱水状态灯闪烁 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(_50ms 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 14) 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*程序选择程序 */凌阳 ,拇指 凌阳 void 凌阳, 拇指 凌阳 SEL_ChengXU(void) 凌阳, 拇指 凌阳 if(!K_SEL_ChengXu) /程序选择键 凌阳,

32、拇指 凌阳 Delay_10ms(1); /延时 10ms 左右 , 拇指 去抖动 凌阳, 拇指 凌阳 if(!K_SEL_ChengXu)凌 阳, 拇指 凌阳 while(!K_SEL_ChengXu);凌 阳, 拇指 凌阳 flag_SEL_ChengXu+;凌 阳, 拇指 凌阳 if(flag_SEL_ChengXu=4)凌 阳, 拇指 凌阳 flag_SEL_ChengXu 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 switch(flag_SEL_ChengXu)凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 BIAOZHUN : LED_BiaoZhun=

33、 凌阳, 拇指 凌阳 0; /亮 凌阳, 拇指 凌阳 LED_JingJi = 凌阳, 拇指 凌阳 1; /灭 凌阳, 拇指 凌阳 LED_DanDu = 凌阳, 拇指 凌阳 1; /灭 凌阳, 拇指 凌阳 LED_PaiShui = 凌阳, 拇指 凌阳 1; /灭 凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 JINGJI : LED_BiaoZhun= 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_JingJi = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 LED_DanDu = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 7 LED_PaiSh

34、ui = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 case 凌阳 ,拇指 凌阳 DANDU : LED_BiaoZhun= 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_JingJi = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_DanDu = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 LED_PaiShui = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 case 凌阳, 拇指 凌阳 PAISHUI 凌阳, 拇指 凌阳 : LED_BiaoZhun= 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_Ji

35、ngJi = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_DanDu = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 LED_PaiShui = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 break;凌阳, 拇指 凌阳 default : break;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 switch 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!K_Sel_ChengXu) 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!K_Sel_ChengXu) 凌阳, 拇指

36、凌阳 1 凌阳, 拇指 凌阳 /END 凌阳, 拇指 凌阳 /*强弱选择程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 SEL_QiangRuo(void) 凌阳, 拇指 凌阳 if(!K_SEL_QiangRuo) /强弱选择键 凌阳, 拇指 凌阳 Delay_10ms(1); /延时 10ms 左右 , 拇指 去抖动 凌阳, 拇指 凌阳 if(!K_SEL_QiangRuo)凌 阳, 拇指 凌阳 while(!K_SEL_QiangRuo);凌 阳, 拇指 凌阳 flag_SEl_QiangRuo 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 flag_SEl_QiangRuo;

37、凌阳, 拇指 凌阳 if(!flag_SEl_QiangRuo) 凌阳, 拇指 凌阳 LED_QiangXi = 凌阳, 拇指 凌阳 0; /强洗状态 , 拇指灯亮 凌阳, 拇指 凌阳 LED_RuoXi = 凌阳, 拇指 凌阳 1; /弱洗状态灯 , 拇指灭 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!flag_SEl_QiangRuo) 凌阳, 拇指 凌阳 else 凌阳, 拇指 凌阳 LED_QiangXi = 凌阳, 拇指 凌阳 1; /强洗状态 , 拇指灯亮 凌阳, 拇指 凌阳 LED_RuoXi = 凌阳, 拇指 凌阳 0; /弱洗状态灯 , 拇指灭 凌阳, 拇指 凌

38、阳 /end 凌阳, 拇指 凌阳 else 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!K_SEL_QiangRuo) 凌阳, 拇指 凌阳 2 凌阳, 拇指 凌阳 /end 凌阳, 拇指 凌阳 if(!K_SEL_QiangRuo) 凌阳, 拇指 凌阳 1 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*进水程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 JinShui(void)凌阳, 拇指 凌阳 PIN_JinShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 flag_JinShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳,

39、拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 Timer0_Init();凌阳, 拇指 凌阳 T_S 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 T_JinShui;凌阳, 拇指 凌阳 while(SW_ShuiWei);凌 阳, 拇指 凌阳 PIN_JinShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 8 flag_JinShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 TR0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 TF0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌

40、阳 0; 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*排水程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 PaiShui(void)凌阳, 拇指 凌阳 PIN_PaiShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 flag_PaiShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 Timer0_Init();凌阳, 拇指 凌阳 T_S 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 T_PaiShui;凌阳, 拇指 凌阳 while(!SW_ShuiWei

41、);凌 阳, 拇指 凌阳 TR0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 TF0 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 Delay_10ms(500);/延时 50s, 拇指经验值 5000 凌阳, 拇指 凌阳 PIN_PaiShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 flag_PaiShui 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 0; 凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*洗 涤程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 XiDi(void)凌阳, 拇指 凌阳 flag_X

42、iDi 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 Timer0_Init();凌阳, 拇指 凌阳 T_S 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 T_XiDi;凌阳, 拇指 凌阳 Motor_Init();凌阳, 拇指 凌阳 while(flag_XiDi);凌 阳, 拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌 阳, 拇指 凌阳 0;凌阳, 拇指 凌阳 LED_XiDi 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 凌阳, 拇指 凌阳 /*漂洗程序 */凌阳, 拇指 凌阳 void 凌阳, 拇指 凌阳 PiaoXi(uchar 凌阳, 拇指 凌阳 t)凌阳, 拇指 凌阳 flag_PiaoXi 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 TR1 凌阳, 拇指 凌阳 = 凌阳, 拇指 凌阳 1;凌阳, 拇指 凌阳 Timer0_Init();凌阳, 拇指 凌阳 T_S 凌阳,

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。