基于单片机AT89C51的模拟洗衣机控制系统设计 联系客服

发布时间 : 星期二 文章基于单片机AT89C51的模拟洗衣机控制系统设计更新完毕开始阅读6a4e3fdf0975f46526d3e10a

}

四川信息职业技术学院毕业设计说明书(论文)

jinshui=0; //打开进水 delay(4); //延时 jinshui=1; //关掉进水 piaoxi=0; //打开漂洗 TR1=1; PXshanshuo=1; //打开定时器1 delay(20); //延时 piaoxi=1; //关掉漂洗 TR1=0; PXshanshuo=0; //关掉定时器1 zz=0; //正转 fz=0;//反转

paishui=0; //打开排水 delay(2); //延时 paishui=1; //关掉排水 tuoshui=0; TSshanshuo=1; //打开脱水 delay(2); //延时 tuoshui=1; TSshanshuo=0; //关掉脱水 jingji=1; //关闭进水

******************************单独运行方式************************ void dandufangshi() //单独方式 {

jinshui=0; //打开进水

delay(4); //延时 jinshui=1; //关掉进水 xidi=0;

XDshanshuo=1; //打开洗涤

TR1=1; //打开定时器1 delay(30); //延时 xidi=1; //关掉洗涤

XDshanshuo=0; //关掉定时器1

第 33 页 共 39 页

TR1=0;

四川信息职业技术学院毕业设计说明书(论文)

zz=0; //正转 fz=0; //反转 dandu=1;

*******************************排水运行方式************************ void paishuifangshi() //排水方式 {

paishui=0; //打开排水 delay(2); //延时 paishui=1; //关掉排水 tuoshui=0; TSshanshuo=1; //打开脱水

delay(2); //延时

tuoshui=1; TSshanshuo=1; //打开脱水

paishuiled=1; }

*******************************强弱切换程序************************ void QiangRuoQieHuan(); //强弱切换子程序

switch(qr)

//强洗 //弱洗

case 1:{qiangxi=0;ruoxi=1;}break; case 2:{qiangxi=1;ruoxi=0;}break;

case 3:{qr=1;}break; //强弱 }

*******************************主函数************************ void main()

EA=1 //打开中断总允许位 EX0=1; //打开外部中断0允许位 IT0=1; //设置外部中断为下降沿触发方式 EX1=1; //外部中断1中断

IT1=1; //设置边沿触发方式

第 34 页 共 39 页

}delayms(1);

四川信息职业技术学院毕业设计说明书(论文)

TMOD=0x11; //工作在方式三 TH0=(65536-50000)/256; //设定初值 TL0=(65536-50000)%6; //设定初值 ET0=1; //T0中断允许位 TR0=1; //启动定时器 TH1=(65536-50000)/256; //设定初值 TL0=(65536-50000)%6; //设定初值

ET0=1; //T0中断允许位

TR0=1; //启动定时器 TH1=(65536-50000)/256; //设定初值 TL0=(65536-50000)%6; //设定初值 ET1=1; //T1中断允许位 T2CON=0x01; //定时器2工作方式1 num=1;

qr=1; //关闭强弱 qidong=0; //打开启动 while(1) {

QiangRuoQieHuan(); //强弱切换子程序 switch(num) //程序LED指示

{

case 1:{biaozhun=0;jingji=1;dandu=1;paishuiled=1;}break; //标准

case 2:{biaozhun=1;jingji=0;dandu=1;paishuiled=1;}break; //经济

case 3:{biaozhun=1;jingji=1;dandu=0;paishuiled=1;}break; //单独 case 4:{biaozhun=1;jingji=1;dandu=1;paishuiled=0;}break; //排水

}delayms(1); if(qidong==1) {

while(1) {

第 35 页 共 39 页

}

}

}

}

{

四川信息职业技术学院毕业设计说明书(论文)

switch(num) //程序方式切换

case 1:{biaozhunfangshi();}break; //标准方式 case 2:{jingjifangshi();}break; //经济方式 case 3:{dandufangshi();}break; // 单独方式 case 4:{paishuifangshi();}break; //排水方式

}delayms(1); return;

*******************************中断 *********************************

void int0() interrupt 0 { }

void int0() interrupt 2 //盖开关

qidong++; //启动

if(qidong==2) //如果启动打开 {qidong=0;TR1=0;zz=0;fz=0;} //启动打开

//运行/暂停

EA=0; //关闭中断总允许位 TR0=0; //关闭定时器0 TR0=1; //启动定时器1 zz=0; //打开正转 fz=0; //打开反转 TR2=0; //关闭定时器2 TF2=0; //定时时间到,将定时器溢出标志位TF2清零 void time0() interrupt 1 //定时器中断0中断类型号1 {

TH0=(65536-50000)/256; //设定初值

第 36 页 共 39 页