当前位置:首页 > (完整版)基于单片机的全自动洗衣机控制系统设计毕业设计
4. 系统软件设计
4.1 软件整体结构设计
该系统的主要程序图框如图3.1所示。系统程序可以分为:主程序,定时器中断1程序,定时器中断0程序,外部中断0和外部中断1程序,延时程序,数码管显示程序,等几部分组成。定时中断1和外部中断0来控制电控水龙头进水,利用定时器中断0记录洗衣时间,通过外部中断1判断水是否放完,来进行脱水,定时中断1记录脱水时间。下面分别以各部分的程序流程图进行分析程序
4.2主程序结构设计与分析
首先,开机可以先进行选择强洗和弱洗(弱洗是电动机进行正反转每10s交替运行)并且相应指示灯亮。连续按下“程序”键可进行相应功能的选择,当进水时间、洗衣时间、脱水时间、洗涤次数、脱水时间以及强洗或弱洗设置完成后,按下“启动”键系统开始工作,进水龙头打开,当进水时间到或水加满开始进行洗衣,当洗衣时间到,开始进行脱水。当脱水时间到,若洗涤次数不到,继续下一次洗涤,否则结束工作且蜂鸣器报警5秒,工作结束。其应用程序如下:
是
main() {
int a; P1=0xff;
3.1 主程序图框
图
TMOD=0x11;//定时器0和定时器1同时工作在模式0; ET0=1; //打开内部中断0 ET1=1; //打开内部中断1 led7=0; while(d) {
shao_maio();
if(b==1200)//b=20刚好1秒 { b=0; m=m-1; if(m<0) { m=0; } if(t<0) { t=0; }
shao_maio(); }
/*************进水控制****************************/ shao_maio(); if(b1==1200)
//扫描数码管
{ }
if(jins_time==0) {
sw1=1;//关闭水龙头 jins_time=1;
EX0=1; //开外部中断0 EA=1;//开总中断 TMOD=0x11; jins_time=1;
ET0=1; //打开内部中断0 TR0=1; if(x==4)
{
sn1=0;//4 点亮洗衣剩余时间指示灯 b1=0;
jins_time=jins_time-1;
sn2=1;//2 sn3=1;//1
ET0=1; //打开内部中断0
TR0=1;
}
//if(x==3)//洗衣剩余时间
共分享92篇相关文档