基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx

上传人:b****5 文档编号:16336894 上传时间:2022-11-23 格式:DOCX 页数:16 大小:202.29KB
下载 相关 举报
基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx_第1页
第1页 / 共16页
基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx_第2页
第2页 / 共16页
基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx_第3页
第3页 / 共16页
基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx_第4页
第4页 / 共16页
基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx

《基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

基于的51单片机全自动洗衣机设计北理工Word文档下载推荐.docx

//菜单按键

sbitkey_on=P3^5;

//开始按键

sbitkey_off=P3^6;

//结束按键

sbitkey_se=P3^7;

//菜单选择按键

sbitled_in=P0^0;

//进水指示灯

sbitled_xi=P0^1;

//洗衣指示灯

sbitled_pao=P0^2;

//泡洗指示灯

sbitled_xx=P0^3;

//脱水指示灯

sbitled_out=P0^4;

//出水指示灯

sbitled_over=P0^5;

//洗衣结束指示灯

sbitled_work=P0^6;

//电机工作指示灯

sbitled_wring=P0^7;

//报警指示灯

sbitother=P3^1;

//脱水电源控制开关

sbitanther=P3^0;

//洗衣电源控制开关

//******************************//

ucharcodenum[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

//

//*****************************//

charsec=0;

//时间秒

charmin=0;

//时间分

ucharcount=0;

//中断计数

ucharflag0=0;

//洗衣机工作状态标志

ucharflag1=0;

//进水次数标志

ucharflag2=0;

//出水次数标志

ucharflag3=0;

//泡洗次数标志

ucharerr=0;

//报警标志

ucharquan=0;

//正反转计数

//**********************************//

//函数声明

//*************************************//

voiddelay();

//延时函数

voidin();

//进水子程序

voidout();

//出水子程序

voidover();

//结束子程序

voidxi();

//洗衣子程序

voidpao();

//泡衣子程序

voidxx();

//脱水子程序

voidon();

//工作on处理子程序

voidse();

//显示菜单选择

voidSEG_display();

//显示时间子程序

voidkey_scan();

//按键扫描子程序

voiddelay(uinti)

{

uintx,y;

for(x=i;

x>

0;

x--)

for(y=120;

y>

y--);

}

//工作on处理子程序

//********************************//

voidon()

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;

P0=0xff;

if(flag0==0)

in();

if(flag0==1)

xi();

if(flag0==2)

pao();

if(flag0==3)

xx();

if(flag0==4)

out();

//结束子程序

//*********************************//

voidover()

{other=0;

anther=0;

mo_r=0;

mo_l=0;

led_over=0;

EA=0;

//进水子程序

voidin()

{anther=0;

other=0;

led_in=0;

flag1++;

mo_r=0;

mo_l=0;

min=0;

sec=8;

//洗衣子程序

voidxi()

{anther=1;

led_work=0;

led_xi=0;

mo_r=1;

min=1;

sec=36;

quan=0;

//泡衣子程序

voidpao()

{

anther=1;

led_pao=0;

flag3++;

sec=35;

//脱水子程序

voidxx()

{other=1;

led_xx=0;

mo_l=1;

sec=50;

//出水子程序

voidout()

led_out=0;

flag2++;

sec=5;

//显示菜单选择

voidse()

if(flag0>

=5)

flag0=0;

{

led_in=0;

}

led_xi=0;

led_pao=0;

led_xx=0;

led_out=0;

//菜单处理子程序

voidmenu()

sec=0;

SEG_display();

while

(1)

if(key_on==0)

{

delay(5);

if(key_on==0)

{

while(!

key_on);

on();

break;

}

}

//**************************//

if(key_off==0)

if(key_off==0)

key_off);

over();

if(key_se==0)

if(key_se==0)

key_se);

flag0++;

se();

}

//按键扫描子程序

voidkey_scan()

if(key_menu==0)

delay(5);

if(key_menu==0)

while(!

key_menu);

menu();

if(key_on==0)

on();

if(key_off==0)

over();

//显示子程序

voidSEG_display()

P1=0x01;

P2=num[min/10];

delay(10);

P1=0x02;

P2=num[min%10];

P1=0x04;

P2=num[sec/10];

P1=0x08;

P2=num[sec%10];

//主函数

voidmain()

led_in=0;

while

(1)

SEG_display();

key_scan();

//定时器0中断处理程序

voidtimer0()interrupt1

count++;

if(count==20)

{

count=0;

sec--;

if((flag0==1)||(flag0==2))

quan++;

switch(quan)

case1:

mo_r=1;

mo_l=0;

break;

case10:

mo_r=0;

case15:

mo_l=1;

case25:

default:

;

if(quan==30)

quan=0;

//**********************************//

if((sec==0)&

&

(min!

=0))

min--;

sec=59;

if((sec<

0)&

(min==0)&

(flag0==0))//进水结束

{

switch(flag1)

flag0=1;

xi();

case2:

flag0=2;

pao();

case3:

case4:

err=1;

led_wring=0;

(flag0==1))//洗衣结束

flag0=4;

out();

(flag0==2))//泡衣结束

switch(flag3)

flag0=4;

out();

(flag0==4))//出水结束

switch(flag2)

flag0=0;

in();

flag0=3;

xx();

err=1;

//***********************************//

(flag0==3))

{sec=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1