文档详情

全自动洗衣机程序.doc

发布:2017-02-07约字共11页下载文档
文本预览下载声明
#includereg51.h #define uchar unsigned char #define uint unsigned int sbit anther = P3^0; // 洗衣电源控制开关 sbit other = P3^1; // 脱水电源控制开关 sbit mo_r = P3^2; //电机右控制线 sbit mo_l = P3^3; //电机左控制线 sbit key_menu = P3^4; // 菜单按键 sbit key_on = P3^5; // 开始按键 sbit key_off = P3^6; // 结束按键 sbit key_se = P3^7; // 菜单选择按键 sbit led_in = P0^0; // 进水指示灯 sbit led_xi = P0^1; // 洗涤指示灯 sbit led_pao = P0^2; / /漂洗指示灯 sbit led_xx = P0^3; // 排水指示灯 sbit led_out = P0^4; // 脱水指示灯 sbit led_over = P0^5; // 洗衣结束指示灯 sbit led_work = P0^6; // 电机工作指示灯 sbit led_wring = P0^7; // 报警指示灯 uchar code num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; char sec = 0; // 时间秒 char min = 0; // 时间分 uchar count=0; // 中断计数 uchar flag0=0; // 洗衣机工作状态标志 uchar flag1=0; // 进水次数标志 uchar flag2=0; // 出水次数标志 uchar flag3=0; // 泡洗次数标志 uchar err =0; // 报警标志 uchar quan = 0;//正反转计数 void delay();// 延时函数 void in(); // 进水子程序 void out(); // 出水子程序 void over(); // 结束子程序 void xi(); // 洗衣子程序 void pao(); // 泡衣子程序 void xx(); // 脱水子程序 void on(); // 工作on处理子程序 void se(); // 显示菜单选择 void SEG_display(); //显示时间子程序 void key_scan(); // 按键扫描子程序 void delay(uint i) { uint x,y; for(x=i;x0;x--) for(y=120;y0;y--); } void on() { 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(); } void over() { other=0; anther=0; P0 = 0xff; mo_r=0; mo_l=0; led_over = 0; EA=0; } void in() { anther=0; other=0; P0 = 0xff; led_in = 0; flag1++; mo_r = 0; mo_l = 0; min = 0; sec = 8; } void xi() { anther=1; other=0; P0 = 0xff; led_work = 0; led_xi = 0; mo_r = 1; mo_l = 0; min = 1; sec = 36; quan = 0; } void pao() { anther=1; other=0; P0 = 0xff; led_pao = 0; led_work = 0; flag3++; mo_r = 1; mo_l = 0; min = 1; sec =
显示全部
相似文档