基于51单片机的全自动洗衣机课设
基于MCS51单片机的洗衣机课程设计报告书
引言从古到今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓、棒击、冲刷、甩打……这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。
1858年,汉密尔顿·史密斯制成了世界上第一台洗衣机。
1874年,“手洗时代”受到了前所未有的挑战,美国人比尔·布莱克斯发明了世界上第一台人工搅动洗衣机。
1911年美国人又研制了世界上第一台电动洗衣机。
1920年美国的玛依塔格公司又把洗衣机的木制桶改为铝制桶体,第二年又把铝制桶体改为外层铸铝、内层为铜板的双层结构。
1936年,他们又将搪瓷用于洗衣机桶体。
与此同时,世界各地也相继出现了洗衣机。
欧洲国家研究成功了喷流式洗衣机和滚筒式洗衣机。
1932年后,美国一家公司研制成功了第一台前装式滚筒全自动洗衣机,洗涤、漂洗和脱水都在同一个滚筒内自动完成,使洗衣机的发展跃上了一个新台阶。
这种滚筒洗衣机,目前在欧洲、美洲等地得到了广泛的应用。
第二次世界大战结束后,洗衣机得到了迅速的发展,研制出具有独特风格的波轮式洗衣机。
这种洗衣机由于其波轮安装在洗衣桶底,又称涡卷式洗衣机。
近几十年,在工业发达国家,全自动洗衣机制造技术又得到迅速发展,其年总产量及社会普及率均以达到相当高得水平。
1.节洗衣机控制器的概述1.1课题开发背景随着人民生活水平的提高,越来越多的人需要用洗衣机。
现在洗衣机越来越高度自动化,只要衣服放入洗衣机,简单的按两个键,就会自动注水,一些先进的电脑控制洗衣机,还能自动的感觉衣物的重量,自动的添加适合的水量和洗涤剂,自动的设置洗涤的时间和洗涤的力度,洗涤完以后自动的漂洗甩干,更有些滚筒洗衣机还会将衣物烘干,整个洗衣的过程完成以后还会用动听的音乐声提醒用户,用户可以在洗衣的过程做其它的事,节省了不少的时间。
总之,每一项技术的进步极大地推动了洗衣过程自动化程度的提高。
1.2目的意义本次设计的洗衣机摔制器是为了满足不同用户的不同需求。
基于51单片机的智能洗衣控制系统设计
基于51单片机的智能洗衣控制系统设计1. 引言智能家居技术的发展为我们的生活带来了诸多便利,其中智能洗衣控制系统是其中的一项重要应用。
本文旨在基于51单片机设计一种智能洗衣控制系统,通过对洗衣机的控制和监测,提高洗衣质量和用户体验。
2. 智能洗衣控制系统设计原理2.1 51单片机介绍51单片机是一种常用的微控制器,具有体积小、功耗低、易于编程等特点。
在本设计中,我们选择51单片机作为主要的控制器。
2.2 智能洗衣系统功能需求智能洗衣系统应具备以下功能需求:2.2.1 温度控制:根据用户设定的温度要求,自动调节水温。
2.2.2 洗涤程序选择:根据用户选择不同类型的布料和污渍程度,自动调节洗涤程序。
2.2.3 水位监测:通过传感器实时监测水位情况,并根据需要自动添加或排放水量。
2.2.4 电机驱动:通过电机驱动实现转筒运转、排放水等功能。
...3 实验结果与分析在实际实验中,我们成功地实现了基于51单片机的智能洗衣控制系统,并进行了多组洗衣实验。
通过对洗衣机的控制和监测,系统能够根据用户设定的要求进行智能化的洗涤操作,并在完成后自动停止。
4 总结与展望通过本次研究,我们成功地设计并实现了一种基于51单片机的智能洗衣控制系统。
该系统具备温度控制、洗涤程序选择、水位监测和电机驱动等功能,能够提高洗衣质量和用户体验。
然而,目前该系统还存在一些局限性,如对于特殊布料和污渍处理不够精细等。
未来工作可以进一步优化系统设计,并结合更多的传感器和算法来提高智能化程度。
5 致谢本次研究得到了指导教师的悉心指导与帮助,在此向他们表示诚挚的感谢。
同时也感谢参与本研究工作并提供支持与帮助的各位同学们。
6 附录附录中包含了本次研究中使用到的关键代码、电路图、数据表格等详细信息,以供读者参考。
通过对基于51单片机的智能洗衣控制系统的设计,本文详细介绍了系统的原理、功能需求、硬件设计和软件设计等方面。
通过实验验证了系统的可行性,并对实验结果进行了分析。
的单片机全自动洗衣机设计方案(北理工)
全自动洗衣机课程设计基于51单片机,C语言实现。
基本要求模拟全自动洗衣机工作过程。
以电机替代洗衣机电机。
显示洗衣机工作的状态<进水、浸泡、洗衣、脱水、结束)。
显示工作剩余时间<洗衣程序可自定义,时间精度:秒)。
洗衣时交替正、反转。
扩展要求洗衣和脱水时电机转速不同。
增加水位传感器输入。
故障报警。
增加声音提示。
其它自定义功能。
设计用Preteus仿真:仿真图如下:C文件函数代码:#include<reg51.h>//****************************//#define uchar unsigned char#define uint unsigned int//*******************************////***************************//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。
基于51单片机的全自动洗衣机控制设计
《单片机技术与应用》课程设计洗衣机控制设计专业班级:学号:姓名:目录一、设计目的要求 (3)二、设计要目标 (3)三、硬件设计 (4)1、系统设计流程 (4)1.1系统模块划分 (5)2、模块设计 (7)2.1AT89C51单片机控制模块的设计 (7)2.1.1 AT89C51介绍 (7)2.1.2AT89C51单片机的主要管脚功能 (7)2.2单片机系统复位电路 (8)2.3标准时钟电路 (9)2.4控制电路设计 (10)2.5显示电路设计 (10)2.6数码管显示电路设计 (11)2.7水位检测电路 (13)2.7.1进水控制电路 (13)2.7.2排水控制电路 (14)2.8水位监测模块 (14)2.9报警电路设计 (15)3.0电机控制系统设计 (15)四、软件设计 (18)1、系统设计流程 (18)1.1系统模块划分 (18)2、模块设计 (19)2.1主程序 (19)2.1.1 主程序执行 (19)12.2三个运行方案程序 (20)2.2.1 三个运行方案执行 (20)五、结果讨论 (22)5.1仿真原理图: (22)六、工作总结 (25)附录 (26)原理图: (26)参考文献 (26)2一、设计目的要求设计要求(1)洗衣机可选择多种洗涤状态,用户只需要选择洗涤模式,洗衣机自动选择洗涤程序,完成洗涤。
(2)暂停功能。
不管洗衣机工作在什么状态,当按下暂停键时,洗衣机必须暂停工作,待驱动键按下后洗衣机又能按原来所选择的工作方式继续工作。
(3)声光显示功能。
洗衣机各种工作方式的选择和各种工作状态均有声光提示或显示。
(4)本设计包含硬件和软件设计。
(5)因为是全自动洗衣机,程序将完成洗涤、脱水的全过程。
(6)脱水完成后,蜂鸣器蜂鸣,通知用户洗涤完成。
二、设计要目标本系统控制的对象为套桶式单缸低波轮全自动洗衣机,其功能要求如下:1.强、弱洗涤功能。
强洗时正、反转驱动时间各为4秒,间歇时间为1秒;标准洗时正、反转驱动时间各为3秒,间歇时间为1秒弱洗洗时正、反转驱动时间各为2秒,间歇时间为1秒2.三种洗衣工作程序,即标准程序强洗程序、弱洗程序和甩干程序。
基于的51单片机全自动洗衣机设计(北理工)
全自动洗衣机课程设计基于51单片机,C语言实现。
基本要求模拟全自动洗衣机工作过程。
以电机替代洗衣机电机。
显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。
显示工作剩余时间(洗衣程序可自定义,时间精度:秒)。
洗衣时交替正、反转。
扩展要求洗衣和脱水时电机转速不同。
增加水位传感器输入。
故障报警。
增加声音提示。
其它自定义功能。
设计用Preteus仿真:仿真图如下:C文件函数代码:#include<reg51.h>//****************************//#define uchar unsigned char#define uint unsigned int//*******************************////***************************//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; // 报警指示灯sbit other = P3^1; // 脱水电源控制开关sbit anther = P3^0; // 洗衣电源控制开关//******************************//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;x>0;x--)for(y=120;y>0;y--);}//******************************// // 工作on处理子程序//********************************// 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 = 35;quan = 0;}//*********************************// // 脱水子程序//*********************************// void xx(){ other=1;anther=0;P0 = 0xff;led_xx = 0;mo_r = 0;mo_l = 1;min = 0;sec = 50;}//*********************************// // 出水子程序//*********************************// void out(){ anther=0;other=0;P0 = 0xff;led_out = 0;flag2++;mo_r = 0;mo_l = 0;min = 0;sec = 5;}//*********************************// // 显示菜单选择//*********************************// void se(){P0 = 0xff;if(flag0 >= 5)flag0 = 0;if(flag0 == 0){led_in = 0;}if(flag0 == 1){led_xi=0;}if(flag0 == 2){led_pao=0;}if(flag0 == 3){led_xx=0;}if(flag0 == 4){led_out=0;}}//********************************// // 菜单处理子程序//**********************************// void menu(){min = 0;sec = 0;mo_r=0;mo_l=0;SEG_display();while(1){if(key_on == 0){delay(5);if(key_on == 0){while(!key_on);on();break;}}//**************************// if(key_off == 0){delay(5);if(key_off == 0){while(!key_off);over();break;}}//****************************//if(key_se == 0){delay(5);if(key_se == 0){while(!key_se);flag0++;se();}}}}//*********************************// // 按键扫描子程序//*********************************// void key_scan(){if(key_menu == 0){delay(5);if(key_menu == 0){while(!key_menu);menu();}}//********************************// if(key_on == 0){delay(5);if(key_on == 0){while(!key_on);on();}}//*********************************// if(key_off == 0){delay(5);if(key_off == 0){while(!key_off);over();}}}//*******************************// // 显示子程序//*********************************// void SEG_display(){P1=0x01;P2 = num[min/10];delay(10);P1 = 0x02;P2 = num[min%10];delay(10);P1 = 0x04;P2 = num[sec/10];delay(10);P1 = 0x08;P2 = num[sec%10];delay(10);}//*********************************// // 主函数//*********************************// void main(){led_in=0;anther=0;other=0;while(1){SEG_display();key_scan();}}//**********************************// // 定时器0中断处理程序//**********************************//void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count = 0;sec--;if((flag0==1)||(flag0==2)){quan++;switch(quan){case 1:mo_r=1;mo_l=0;break;case 10:mo_r=0;mo_l=0;break;case 15:mo_r=0;mo_l=1;break;case 25:mo_r=0;mo_l=0;break;default:;}if(quan==30){quan=0;}}//**********************************//if((sec == 0)&&(min != 0)){min--;sec = 59;}//**********************************// if((sec<0)&&(min==0)&&(flag0==0)) //进水结束{switch(flag1){case 1:flag0=1;xi();break;case 2:flag0=2;pao();break;case 3:flag0=2;pao();break;case 4:flag0=2;pao();break;default: err=1;led_wring = 0;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束{flag0 = 4;out();}//**********************************//if((sec<0)&&(min==0)&&(flag0==2)) //泡衣结束{switch(flag3){case 1:flag0=4;out();break;case 2:flag0=4;out();break;case 3:flag0=4;out();break;default: err=1;led_wring = 0;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==4)) //出水结束{switch(flag2){case 1:flag0=0;in();break;case 2:flag0=0;in();break;case 3:flag0=0;in();break;case 4:flag0=3;xx();break;default: err= 1;led_wring = 0;}}//***********************************// if((sec<0)&&(min==0)&&(flag0==3)){ sec = 0;over();}}}。
(整理)单片机课程设计全自动洗衣机.
河北工业大学计算机硬件技术基础(Mcs-51)课程设计任务书学院班级设计人学号_一、题目:全自动洗衣机(5)二、目的与要求:1.目的:1.进一步加深对MCS-51单片机内部结构和程序设计方法的理解。
2.提高综合运用MCS-51单片机的软硬件进行程序设计的能力。
2.基本要求:(1)要求使用面向对象和结构化程序设计的编程思路。
(2)学校的刷卡式全自动洗衣机给同学们的生活带来了很大便利,现利用MCS—51单片机,通过延时、定时、中断等操作实现全自动洗衣机工作过程的模拟控制。
3.设计说明:运用了中断,延时等来模拟全自动洗衣机工作的全过程,用指示的点亮,熄灭来表示洗衣机的正转反转及开盖,刷卡,注水,脱水等全部过程。
三、设计方法和基本原理:1.问题描述:分析全自动洗衣机的工作过程:接通电源后,打开洗衣机盖子放入衣物和洗衣粉,盖上盖子。
通过刷卡启动注水,利用外部中断0模拟注水达标志位,停止注水并开始洗衣。
洗衣过程为:正转10秒(利用延时实现),间歇4秒,然后反转10秒,间歇4秒,再正转(这里认为已洗静),然后开始排水,同样利用延时模拟排水达标志位,排水结束,如此循环往复3次(注水—洗涤—排水过程),认为洗衣过程结束。
然后开始脱水操作,利用定时器,定时时间到,打开洗衣机盖子取出衣物,等待下一次刷卡,即下一次洗衣任务。
试验中用各指示灯的亮灭来表示洗衣过各环节的相应状态。
2.涉及到的硬件:LED指示灯四、程序清单:ORG 8000HLJMP MAINORG 8003HLJMP INT0SMAIN : CLR P1.0 ;开盖灯亮CLR P1.7 ; 电源指示灯亮MOV R1,#03HSTEB EASETB EX0SETB IT0JB P3.3 ,YY0AJMP MAINYYY0: SETB P1.0MOV 20H.0 ,#01HCLR P1.6CLR P1.1 ;注水灯亮LP: JB 20H.0 , LPAJMP YYY1INT0S: CLR P1.2 ;中断灯亮CLR 20H.0RETIYYY1: SETB P1.1SETB P1.2CLR P1..3 ;正转灯亮MOV 40H, #10H ;正转10秒YY0: LCALL DELAYDJNZ 40H, Y0SETB P1.3 ;间歇4秒MOV 41H, #04HYY1: LCALL DELAYDJNZ 41H, YY1CLR P1.4 ;反转10秒MOV 42H, #10HYY2: LCALL DELAYDJNZ 42H, YY2SETB P1.4MOV 43H, #04HYY3: LCALL DELAYDJNZ 43H, YY3CLR P1.3MOV 44H, #10HYY4: LCALL DELAYDJNZ 44H, YY4SETB P1.3YYY2: SETB P1.6 ;排水灯灭阀开MOV 45H, #05HYY5: LCALL DELAYDJNZ 45H,YY5DJNZ R1 ,YY0 ;循环洗涤3次YYY3: CLR P1.5 ;脱水MOV 46H, #10HYY6: LCALL DELAYDJNZ 46H,Y6SETB P1.5 ;脱水结束JB P3.3 , YY7 ;等待下次刷卡YY7: AJMP MAINDELAY: MOV R5, #100 ;延时子程序DEL Y: MOV R7, #40DEL1: MOV R6, #123DEL2: DJNZ R6, DEL2DJNZ R7, DEL1DJNZ R5, DEL YEND五.程序调试:(1)将所编写的程序在WIN51文件下进行编译,看是否有错误出现,根据编译提示进行修改,进行编译,如果还不能达到要求的结果,继续进行修改,直到所编写的程序0个错误0个警告。
基于某地51单片机全自动洗衣机设计
全自动洗衣机课程设计基于51单片机,C语言实现。
基本要求模拟全自动洗衣机工作过程。
以电机替代洗衣机电机。
显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。
显示工作剩余时间(洗衣程序可自定义,时间精度:秒)。
洗衣时交替正、反转。
扩展要求洗衣和脱水时电机转速不同。
增加水位传感器输入。
故障报警。
增加声音提示。
其它自定义功能。
设计用Preteus仿真:仿真图如下:C文件函数代码:#include<reg51.h>//****************************//#define uchar unsigned char#define uint unsigned int//*******************************////***************************//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; // 报警指示灯sbit other = P3^1; // 脱水电源控制开关sbit anther = P3^0; // 洗衣电源控制开关//******************************//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;x>0;x--)for(y=120;y>0;y--);}//******************************// // 工作on处理子程序//********************************// 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 = 35;quan = 0;}//*********************************// // 脱水子程序//*********************************// void xx(){ other=1;anther=0;P0 = 0xff;led_xx = 0;mo_r = 0;mo_l = 1;min = 0;sec = 50;}//*********************************// // 出水子程序//*********************************// void out(){ anther=0;other=0;P0 = 0xff;led_out = 0;flag2++;mo_r = 0;mo_l = 0;min = 0;sec = 5;}//*********************************// // 显示菜单选择//*********************************// void se(){P0 = 0xff;if(flag0 >= 5)flag0 = 0;if(flag0 == 0){led_in = 0;}if(flag0 == 1){led_xi=0;}if(flag0 == 2){led_pao=0;}if(flag0 == 3){led_xx=0;}if(flag0 == 4){led_out=0;}}//********************************// // 菜单处理子程序//**********************************// void menu(){min = 0;sec = 0;mo_r=0;mo_l=0;SEG_display();while(1){if(key_on == 0){delay(5);if(key_on == 0){while(!key_on);on();break;}}//**************************// if(key_off == 0){delay(5);if(key_off == 0){while(!key_off);over();break;}}//****************************//if(key_se == 0){delay(5);if(key_se == 0){while(!key_se);flag0++;se();}}}}//*********************************// // 按键扫描子程序//*********************************// void key_scan(){if(key_menu == 0){delay(5);if(key_menu == 0){while(!key_menu);menu();}}//********************************// if(key_on == 0){delay(5);if(key_on == 0){while(!key_on);on();}}//*********************************// if(key_off == 0){delay(5);if(key_off == 0){while(!key_off);over();}}}//*******************************// // 显示子程序//*********************************// void SEG_display(){P1=0x01;P2 = num[min/10];delay(10);P1 = 0x02;P2 = num[min%10];delay(10);P1 = 0x04;P2 = num[sec/10];delay(10);P1 = 0x08;P2 = num[sec%10];delay(10);}//*********************************// // 主函数//*********************************// void main(){led_in=0;anther=0;other=0;while(1){SEG_display();key_scan();}}//**********************************// // 定时器0中断处理程序//**********************************//void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count = 0;sec--;if((flag0==1)||(flag0==2)){quan++;switch(quan){case 1:mo_r=1;mo_l=0;break;case 10:mo_r=0;mo_l=0;break;case 15:mo_r=0;mo_l=1;break;case 25:mo_r=0;mo_l=0;break;default:;}if(quan==30){quan=0;}}//**********************************//if((sec == 0)&&(min != 0)){min--;sec = 59;}//**********************************// if((sec<0)&&(min==0)&&(flag0==0)) //进水结束{switch(flag1){case 1:flag0=1;xi();break;case 2:flag0=2;pao();break;case 3:flag0=2;pao();break;case 4:flag0=2;pao();break;default: err=1;led_wring = 0;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束{flag0 = 4;out();}//**********************************//if((sec<0)&&(min==0)&&(flag0==2)) //泡衣结束{switch(flag3){case 1:flag0=4;out();break;case 2:flag0=4;out();break;case 3:flag0=4;out();break;default: err=1;led_wring = 0;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==4)) //出水结束{switch(flag2){case 1:flag0=0;in();break;case 2:flag0=0;in();break;case 3:flag0=0;in();break;case 4:flag0=3;xx();break;default: err= 1;led_wring = 0;}}//***********************************// if((sec<0)&&(min==0)&&(flag0==3)){ sec = 0;over();}}}。
基于单片机的全自动洗衣机系统设计
基于单片机的全自动洗衣机系统设计一、本文概述随着科技的进步和人们生活水平的提高,家用电器在日常生活中扮演着越来越重要的角色。
全自动洗衣机作为其中的一种,其便捷性和高效性受到了广大用户的青睐。
传统的洗衣机设计在智能化、节能性、操作简便性等方面仍有待提升。
为此,本文提出了一种基于单片机的全自动洗衣机系统设计,旨在通过技术创新和智能控制,为用户提供更加人性化、高效且节能的洗衣体验。
本文将详细介绍该系统的设计原理、硬件构成、软件编程以及实际应用效果。
我们将对单片机的选择及其在系统中的作用进行阐述,同时分析洗衣机控制系统中所需的传感器和执行器。
接着,我们将深入探讨软件设计的关键技术和算法,包括控制逻辑的实现、人机交互界面的设计以及故障检测和处理机制。
我们将通过实际测试和用户体验反馈,对该系统的性能进行评估和优化。
本文旨在提供一种基于单片机的全自动洗衣机系统设计方案,为相关领域的研究和实践提供有益的参考和借鉴。
通过不断优化和创新,我们期待这种智能化、高效且节能的洗衣机能够在未来得到更广泛的应用,为人们的生活带来更多便利和舒适。
二、系统总体设计全自动洗衣机系统的设计,基于单片机作为核心控制器,旨在实现洗衣机的全自动化和智能化。
整个系统由单片机、电机驱动模块、水位检测模块、洗涤剂投放模块、温度控制模块、显示模块和用户交互模块等多个子模块组成。
我们选择一款性能稳定、价格适中且易于编程的单片机作为本系统的核心控制器。
该单片机将负责接收用户输入指令、处理传感器信号、控制各功能模块以及实现与显示模块的通信。
通过编程,单片机能够实现对洗衣机的全面控制,包括启动、停止、调整洗涤方式、设定洗涤时间等功能。
电机驱动模块是洗衣机的动力来源,负责驱动洗衣机的电机进行旋转。
我们选用一款能够驱动电机正反转且具备调速功能的驱动模块,通过单片机输出的PWM信号实现对电机转速的精确控制。
电机驱动模块还具备过流保护功能,以确保系统的安全可靠。
单片机课程设计---单片机控制全自动洗衣机
2.5控制功能及过程
洗衣机的三大功能是实现衣服的洗涤、漂洗和脱水,加上进水,我们把这四个洗衣机动作编排成4个代码。打开电源开关,洗衣机将进入洗衣过程选择状态,此时数码管显示00,用户按启动、暂停键可以显示不同的过程代码(在01-09之间循环显示以指示选择不同的洗衣过程)。3秒内若无按键动作,蜂鸣器开始鸣叫6下(时间长度共3秒)以提醒用户;开始进入相应过程的洗衣程序,此后启动暂停按钮只起暂停或继续洗衣程序执行作用,数码管显示完成本次洗衣的剩余时间。
(2)漂洗过程:漂洗的目的在于清除衣物上的洗涤液,因此,漂洗过程与洗涤过程的电器动作是完全相同的。
(3)脱水过程:洗涤或漂洗过程结束后,电动机停止转动,排水阀通电,打开排水阀门排水。当水位低到一定程度时,满足安全条件,脱水电动机接通,电机带动脱水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出。
(3)洗涤动作洗涤动作指的是电机周期性的“正转-停止-反转-停止”。不同的洗衣过程,控制电机执行“正转-停止-反转-停止”的时间是不同的,标准洗涤过程可取:正转1.6秒-0.56秒-反转1.6秒-停止0.56秒。对于轻柔洗涤和强力洗涤过程,这个时间要作相应调整。洗涤过程中若遇水位开关断开或用户要求补水(重新选择水位),则要停止洗涤动作并打开进水阀进水直至水位满足要求再继续。
2.3、设计总方框图
水位开关
安全开关
程序选择/启动/暂停
பைடு நூலகம்洗衣机单片机控制系统方框图
基于单片机洗衣机通过控制系统设定洗衣程序在洗涤脱水桶内自动完成注水、洗涤、漂洗、排水和脱水全过程。洗衣时控制系统打开进水电磁阀开始注水;当洗涤脱水桶内的水位达到系统设定值时单片机发送一个低电平通知控制系统关闭进水电磁阀,同时启动电机洗衣。电机在系统的控制下进行正转、停、反转通过传动带动波轮执行洗涤程序;当洗涤时间终了,控制系统切断电机电路打开排水电磁阀开始排水;然后再次注水,洗衣机进入漂洗状态,完成漂洗程序(通常为2次漂洗)后,开始排水,同时排水电磁阀的动作并且松开为脱水程序作好准备;排水结束后系统控制电机单方向高速运转完成脱水程序;当脱水程序终了系统控制排水电磁阀和电机断电,排水阀复位。
基于51单片机的全自动洗衣机课设
1 课题分析v4扦测无错但有-处警告1.1目的意义目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、暂停等七大功能,在许多方面还不能达到人们的需求。
这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。
目前的洗衣机都没有实现全方面的兼容,大多洗衣的厂家都注重各自品牌的洗衣机的特长,突出一两个与别的洗衣机不同的个性化的功能,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。
用单片机设计出简单操作省水省电的洗衣机,在方便日常生活和节约资源方面都有重要意义由于个人能力有限,我能设计的洗衣机比前沿科技产品要差很多。
所以我这次课设的主要目的在于通过操作掌握知识,通过查找资料和尝试分析培养自己的能力。
把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中。
在实例中深入理解一些理论知识,并从中有所收获,就是意义所在。
1.2 国内外情况当今世界是技术、知识大爆炸的年代,只要人们有需要,就有可能生产出某种产品来满足人们的需要。
洗衣机的发展正是这样,人们在生活中发现了它的某些不便,就会在实际中不断地改进和完善它,新型的洗衣机正是在这种情况下诞生的。
1、超声波洗衣机超声振动产生空穴现象,在洗涤中通过边生产气泡边消失的运动,产生强水压,再加入小量洗衣剂,振动纤维,超声乳化,去污,水中气泡上升,产生了从洗涤桶中央向外侧翻动的水流,使衣服之间相互摩擦,并与洗涤剂充分接触产生很有效的洗涤作用。
这种洗衣机洗涤桶小,桶内无运动部件,无机械电气故障,修理方便。
词典均匀性好,不缠绕,不伤布料,洗净效果好,省水,省电。
2、电磁洗衣机这种洗衣机洗涤桶内有4个洗涤头,上面各有有个夹子,把衣物伸展夹住,每个洗涤头上有有个电磁线圈,接通电源发生2500次/秒的微击振动,使衣物在洗涤液中洗涤。
基于单片机的自动洗衣机设计
基于单片机的自动洗衣机设计基于单片机的自动洗衣机设计1 总体方案设计分析1.1全自动洗衣机控制方法选择在全自动洗衣机中,现在比较通用的控制手段是利用单片机或者PLC两种方法,本课设选用的是单片机。
之所以选用单片机主要考虑了以下原因,首先,单片机具有较强的抗干扰能力,当受到外部强干扰,程序出错时,可以自动使系统复位重新执行程序。
并且采用无噪声、无电磁干扰的双向晶闸管作为控制元件,控制电磁阀和电机。
其次,单片机具有欠压和过压保护,欠压时,控制器不工作;超压时,保护电路起作用。
再次,单片机还具有瞬间掉电保护功能,电源短时间停电后,电压恢复时,能够维持原来运行程序的工作状态并继续完成洗衣程序。
最后,各种操作和洗衣机的运行状态均可以用LED显示。
此外,在硬件规模方面,单片机相当于将一个基本规模的单板机所具有的资源复合在一块芯片上,因此具有相当的规模;在功能方面,单片机已经超过了PLC的功能;在指令系统方面,如果将单片机的指令系统PLC的指令系统相比较,除单片机的数据传送能力较弱一点之外,单片机的指令系统已大大超过PLC;此外,无论在性价比方面,还是在体积、重量方面相比较,单片机都比PLC优越得多。
综合上述原因本章设采用单片机来完成。
二、方案构思全自动洗衣机由洗衣系统和控制电路组成。
其控制电路分为机械和电脑型,电脑型控制电路是以单片机作为控制电路的核心。
自动洗衣机的洗衣程序,键盘上有两个按钮01键和02键。
01键设为开始按钮;02键设为停止按钮,其功能是按下停止按钮后洗完一个周期后停止,中间不能停。
洗衣机的标准洗衣程序是;开始--进水--洗涤--排水--进水--清洗--排水--脱水。
1.洗涤过程通电后,洗衣机进入暂停状态,以便放好衣物并且等待按下开始按钮。
当按下开始按钮01时,进入洗涤过程。
首先进水阀打开,开始进水,向洗衣机供水;当到达预定水位时,进水阀关闭,停止进水;步进电动机接通电源,开始旋转,形成洗衣水流。
单片机课程设计---单片机控制全自动洗衣机
单片机课程设计---单片机控制全自动洗衣机单片机课程设计单片机控制全自动洗衣机在现代生活中,洗衣机已经成为了家庭中不可或缺的电器之一。
而全自动洗衣机更是以其便捷、高效的特点受到了广大消费者的喜爱。
本次课程设计旨在利用单片机技术实现对全自动洗衣机的控制,以提高洗衣机的性能和智能化程度。
一、全自动洗衣机的工作原理全自动洗衣机的工作过程通常包括洗涤、漂洗、脱水等几个主要环节。
在洗涤环节,洗衣机通过电机带动内筒旋转,使衣物在水中不断翻滚,同时加入洗涤剂以去除污渍。
漂洗环节则是用清水冲洗衣物,去除残留的洗涤剂。
脱水环节通过高速旋转内筒,将衣物中的水分甩干。
为了实现这些功能,洗衣机需要对水位、电机转速、洗涤时间、漂洗次数等参数进行精确控制。
这就需要一个可靠的控制系统来协调各个部件的工作,而单片机正是这样一个理想的选择。
二、单片机控制系统的硬件设计1、单片机选型选择合适的单片机是整个控制系统设计的关键。
考虑到洗衣机控制系统的功能需求和成本因素,我们选用了_____型号的单片机。
该单片机具有足够的 I/O 端口、定时器/计数器和存储空间,能够满足洗衣机控制的要求。
2、传感器模块为了实现对水位和衣物重量的检测,我们使用了水位传感器和压力传感器。
水位传感器可以实时监测洗衣机内的水位高度,从而控制进水阀的开关。
压力传感器则可以通过测量内筒的压力变化来估算衣物的重量,以便确定合适的洗涤参数。
3、电机驱动模块洗衣机的电机需要正反转和调速控制,因此我们选用了专用的电机驱动芯片。
该芯片能够接收单片机发出的控制信号,实现对电机的精确驱动。
4、显示与按键模块为了方便用户操作和了解洗衣机的工作状态,我们设计了液晶显示模块和按键模块。
用户可以通过按键设置洗涤模式、洗涤时间等参数,液晶显示屏则会实时显示洗衣机的工作状态和剩余时间。
5、电源模块整个控制系统需要稳定的电源供应。
我们使用了变压器将市电降压,然后通过整流、滤波和稳压电路为单片机和其他模块提供所需的直流电源。
《2024年基于单片机的全自动洗衣机系统设计》范文
《基于单片机的全自动洗衣机系统设计》篇一一、引言随着科技的进步和人们生活水平的提高,全自动洗衣机已经成为了现代家庭不可或缺的家电之一。
为了提高洗衣机的智能化程度和用户体验,本文提出了一种基于单片机的全自动洗衣机系统设计。
该系统通过单片机控制,实现了洗衣过程的自动化、智能化,提高了洗衣效率,同时也方便了用户的使用。
二、系统设计概述本系统以单片机为核心控制器,通过连接各种传感器、执行器等外部设备,实现对洗衣过程的自动化控制。
系统主要由单片机控制模块、电机驱动模块、水位检测模块、温度检测模块、洗衣程序模块等组成。
三、硬件设计1. 单片机控制模块:本系统采用单片机作为核心控制器,负责接收用户输入的指令,控制各个模块的工作。
单片机具有体积小、功耗低、性能稳定等优点,能够满足系统的需求。
2. 电机驱动模块:电机驱动模块负责驱动洗衣机的洗涤电机和脱水电机。
本系统采用PWM(脉宽调制)技术,通过单片机控制电机驱动模块的开关,实现对电机的精确控制。
3. 水位检测模块:水位检测模块通过传感器实时检测洗衣机内的水位,将检测结果反馈给单片机,以便单片机根据水位情况调整洗衣程序。
4. 温度检测模块:温度检测模块通过温度传感器实时检测洗衣机内的水温,将检测结果反馈给单片机,以便单片机根据水温情况调整洗涤时间和洗涤剂的使用量。
5. 洗衣程序模块:洗衣程序模块根据用户的选择和洗衣的实际需求,通过单片机控制电机驱动模块、水位检测模块和温度检测模块等外部设备,实现对洗衣过程的自动化控制。
四、软件设计本系统的软件设计主要包括单片机的程序设计、人机交互界面设计和洗衣程序的设计。
1. 单片机的程序设计:单片机的程序设计是实现系统功能的关键。
本系统采用C语言进行编程,通过编写相应的程序代码,实现单片机的控制功能。
2. 人机交互界面设计:人机交互界面是用户与系统进行交互的窗口。
本系统采用LCD显示屏作为人机交互界面,通过编写相应的程序代码,实现用户与系统的交互功能。
全自动洗衣机单片机课程设计
一、设计目标1、全自动洗衣机用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。
不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED 显示屏上显示过程代码。
在运行的时候能显示完成整个过程的剩余时间。
2、洗衣机主要功能:进水、洗涤、脱水、排水具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水二、设计过程洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。
上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。
同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。
通过软件编程达到对整个洗衣过(112、(2)转)择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。
此外,还需编出显示子程序,延时子程序供主程序不断调用。
1、流程图(1 (2否是否是是否(3)脱水子程序流程图是否否=1在选MOV A, 50H ;高位是否为零CJNE A, #0AH, DISPLAY05 DISPLAY05:JNC DISPLAY06XRL A, #0F0H ;高位为零不显示MOV 50H, ADISPLAY06:JNB 20H.0, DISPLAY01 ;是否需闪烁MOV A, 51HCJNE A, #25D, DISPLAY02; DISPLAY02:JC DISPLAY01MOV 50H, #0FFH ;暗显示(不亮)DISPLAY01:MOV A, 50H ;显示低位ANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, @A+DPTR;MOV P2, A;SETB P0.6CLR P0.7LCALL DELAY10MSMOV A, 50H ;显示高位SWAP AANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, @A+DPTR;MOV P2, A;CLR P0.6SETB P0.7LCALL DELAY10MSINC 51H ;累计时间MOV A, #50D ;XRL A, 51H ;JNZ DISPLAY03 ;50次的20ms 未到MOV 51H, A ;INC 52H ;1sMOV A, #60D;XRL A, 52H ;JNZ DISPLAY03MOV 52H, A ;INC 53H ;1min DISPLAY03:JNB 20H.0, DISPLAY04;MOV A, TOTALTIME ;计算剩余时间CLR CSUBB A, 53H ;MOV B, #10D ;16进制转换到10进制DIV ABSWAP AXRL A, B ;MOV 50H, A ;DISPLAY04:POP PSWPOP ACCRETDISPLAYTAB: ;共阳数码管反向编码DB 03H, 9FH, 25H, 0DH, 99H;01234DB 49H, 41H, 1FH, 01H, 09H;56789DB 11H, 0C1H, 63H, 85H, 61H;ABCDEDB 0FFH ;暗;重算时间;入口数据:A=总时间(分)CALUTIME:MOV TOTALTIME, ACLR AMOV 52H, A ;秒MOV 53H, A ;经过的分钟RET;鸣叫一下, 时长120msPLAY:SETB P1.6MOV R0, #12D;PLAY1:LCALL DISPLAYDJNZ R0, PLAY1CLR P1.6RET;鸣叫六下, 时长240ms*12 ALARM:SETB P1.6MOV R1, #11D; ALARM2:MOV R0, #12D; ALARM3:LCALL DISPLAYDJNZ R0, ALARM3CPL P1.6DJNZ R1, ALARM2RET;;;;;洗涤用子程序;洗涤时暂停按键XDPAUSE:JB P0.0, XDPS01LCALL DISPLAYJB P0.0, XDPS01PUSH 52HPUSH 53HCLR 20H.0 ;不闪烁MOV A, P1PUSH ACCMOV P1, #00HLCALL PLAYXDPS02:LCALL DISPLAYJNB P0.0, XDPS02 ;等待按键释放XDPS03:LCALL DISPLAYJB P0.0, XDPS03LCALL DISPLAYJB P0.0, XDPS03LCALL PLAYXDPS04:LCALL DISPLAYJNB P0.0, XDPS04 ;等待按键释放POP ACCMOV P1, ACCSETB 20H.0POP 53HPOP 52HXDPS01:RET;洗涤时延迟0.32sDELAY320MS:MOV R2, #14D;SJMP XDELAY01;洗涤时延迟0.56sXDELAY560MS:MOV R2, #28DSJMP XDELAY01;洗涤时延迟1sXDELAY1S:MOV R2, #50DSJMP XDELAY01;洗涤时延迟1.6sDELAY1600MS:MOV R2, #80DXDELAY01:LCALL DISPLAYLCALL XDPAUSE ;暂停按键LCALL IFINWATER ;水位开关DJNZ R2, XDELAY01RET;洗涤前进水子程序INWATER:JNB P0.2, PI1;SETB P1.2MOV A, 53H;ADD A, #20D;MOV 59H, A;PI3:MOV A, 53H;XRL A, 59H;JNZ PI2LCALL ERRORE4SJMP INWATERPI2:JNB P0.2, PI4;LCALL DISPLAYLCALL XDPAUSESJMP PI3PI4:CLR P1.2PI1:RET;洗涤时是否再进水IFINWATER:JNB P0.2, IF1;MOV A, P1;PUSH ACCMOV P1, #00H;LCALL INWATER ;进水POP ACCMOV P1, A;IF1:RET;不能进水报警ERRORE4:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E4HLCALL ALARME4PK2:LCALL DISPLAYJNB P0.1, E4PK2;LCALL DISPLAYJNB P0.1, E4PK2E4PK3:LCALL DISPLAYJB P0.1, E4PK3LCALL DISPLAYJB P0.1, E4PK3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;排水时延迟1sDELAY1000MS:MOV R2, #50D;DLY51:LCALL DISPLAYLCALL XDPAUSE ;暂停按键DJNZ R2, DLY51;RET;排水子程序OUTWATER:CLR ASETB P1.3JB P0.2, OUTW1MOV R7, #60DOUTW2:LCALL DELAY1000MSJB P0.2, OUTW4DJNZ R7, OUTW2LCALL ERRORE1SJMP OUTWATER OUTW4:CLR CMOV A, #60DSUBB A, R7OUTW1:ADD A, #60DMOV R7, AOUTW3:LCALL DELAY1000MSDJNZ R7, OUTW3RET;不能排水报警ERRORE1:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E1HLCALL ALARME1PK2:LCALL DISPLAYJNB P0.1, E1PK2;LCALL DISPLAYJNB P0.1, E1PK2E1PK3:LCALL DISPLAYJB P0.1, E1PK3LCALL DISPLAYJB P0.1, E1PK3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;脱水时暂停按键TPKEY:JB P0.0, TPK1;LCALL DISPLAYJB P0.0, TPK1;PUSH 52HPUSH 53HCLR 20H.0LCALL PLAYMOV A, P1;PUSH ACCJNB ACC.0, TPK6CLR P1.0MOV R0, #250 ;延迟5秒TPK5:LCALL DISPLAYDJNZ R0, TPK5TPK6:MOV P1, #00H;TPK2:LCALL DISPLAYJNB P0.0, TPK2;TPK3:LCALL DISPLAYJB P0.0, TPK3LCALL DISPLAYJB P0.0, TPK3LCALL PLAYSETB 20H.0SETB P1.3MOV R0, #250 ;延迟5秒TPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTPK1:RET;脱水时开盖, 脱水时安全报警IFOPEN:ERRORE2:JNB P0.1, TTPK1;LCALL DISPLAYJNB P0.1, TTPK1;PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACC; LCALL ALARMJNB ACC.0, TTPK6CLR P1.0MOV R0, #250 ;延迟5秒TTPK5:LCALL DISPLAYDJNZ R0, TTPK5TTPK6:MOV P1, #00H;MOV 50H, #0E2HTTPK2:LCALL DISPLAYJB P0.1, TTPK2;TTPK3:LCALL DISPLAYJB P0.1, TTPK2LCALL DISPLAY; JB P0.1, TTPK3SETB 20H.0SETB P1.3MOV R0, #250 ;延迟5秒TTPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTTPK1:RET;脱水时延迟4sDELAY4S:MOV R2, #200D;DLY431:LCALL DISPLAYLCALL TPKEY ;暂停按键LCALL IFOPEN ;安全开关DJNZ R2, DLY431;RET;脱水时延迟3sDELAY3S:MOV R2, #150D;DLY321:LCALL DISPLAYLCALL TPKEY ;暂停按键LCALL IFOPEN ;安全开关DJNZ R2, DLY321;RET;主程序开始;选择程序:30H, 程序开始20H.1=1 MAIN:MOV SP, #60H;CLR 20H.0CLR 20H.1MOV A, #00H;MOV P1, A;MOV 50H, A;MOV 51H, A;MOV 52H, A;MOV 53H, A;MOV 30H, A;LP1: ;有无按键LCALL DISPLAYJB P0.0, LP1;LCALL DISPLAY ;按键去抖动JB P0.0, LP1;LP3:INC 30HMOV A, #0AH ;共有九种可选择XRL A, 30H;JNZ LP2MOV 30H, #01H;LP2:LCALL PLAYMOV 50H, 30H;LP4:LCALL DISPLAYJNB P0.0, LP4 ;等待按键释放CLR AMOV 52H, A;LP5:LCALL DISPLAYMOV A, 52H;XRL A, #03H ;3秒延迟到否JZ START ;开始洗衣JB P0.0, LP5;SJMP LP3 ;重选洗衣程序START:LCALL ALARMSETB 20H.1CLR AMOV 52H, A;MOV A, 30H;DEC AMOV B, #03H;MUL ABMOV DPTR, #PROCTAB;JMP @A+DPTRPROCTAB:LJMP PROC1 ;洗衣程序1LJMP PROC2 ;洗衣程序2LJMP PROC3 ;洗衣程序3LJMP PROC4 ;洗衣程序4LJMP PROC5 ;洗衣程序5LJMP PROC6 ;洗衣程序6LJMP PROC7 ;洗衣程序7LJMP PROC8 ;洗衣程序8LJMP PROC9 ;洗衣程序9PROC1:MOV A, #59DLCALL CALUTIMESETB 20H.0LCALL INWATER ;进水MOV A, #57DLCALL CALUTIME;洗涤3分钟MOV R7, #42D;XIDI0:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI0MOV R6, #01D ;共4次*3分钟=12分钟MOV R7, #30D ;停2分钟XIDI01:LCALL XDELAY1SDJNZ R7, XIDI01MOV R7, #14D ;洗涤1分钟XIDI03:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI03DJNZ R6, XIDI02MOV R7, #30D ;停2分钟XIDI04:LCALL XDELAY1SDJNZ R7, XIDI04LJMP PROC3 ;以下同过程3PROC2:;(待完成)LJMP overPROC3:MOV A, #42DLCALL CALUTIMESETB 20H.0LCALL INWATER ;进水MOV A, #40DLCALL CALUTIME;洗涤15分钟MOV R7, #8D; XIDI:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI;快速洗涤15秒MOV R7, #11DQXIDI:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDIMOV A, #25DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #23DLCALL CALUTIME;第一次脱水MOV R7, #04D ;间隙脱水30秒TS1:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS1SETB P1.0 ;长脱水90秒MOV R7, #10D ;TS2:LCALL DELAY4SDJNZ R7, TS2CLR P1.0MOV R7, #250 ;延迟5秒TS25:LCALL DISPLAYDJNZ R7, TS25CLR P1.3MOV A, #20DLCALL CALUTIME;第一次漂洗LCALL INWATERMOV A, #18DLCALL CALUTIME;洗涤2分钟MOV R7, #08D ; XIDI1:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI1 ;快速洗涤15秒MOV R7, #11DQXIDI1:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDI1MOV A, #16DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #14DLCALL CALUTIME;第二次脱水MOV R7, #04DTS21:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS21SETB P1.0MOV R7, #10D ; TS22:LCALL DELAY4SDJNZ R7, TS22CLR P1.0MOV R7, #250 ;延迟5秒TS26:LCALL DISPLAYDJNZ R7, TS26CLR P1.3MOV A, #12DLCALL CALUTIME;第二次漂洗LCALL INWATERMOV A, #10DLCALL CALUTIME;洗涤2分钟MOV R7, #08D ; XIDI2:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI2;快速洗涤15秒MOV R7, #11DQXIDI2:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDI2PROC8:SETB 20H.0 ;过程8需要闪烁MOV A, #08DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #06DLCALL CALUTIME;最后脱水MOV R7, #04D ;间隙脱水30秒TS31:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS31SETB P1.0 ;长脱水5分钟?MOV R7, #05DTS32:LCALL DELAY4SDJNZ R7, TS32CLR P1.0MOV R6, #06TS28:MOV R7, #250 ;延迟5秒*6=30秒TS29:LCALL DISPLAYDJNZ R7, TS29DJNZ R6, TS28CLR P1.3LJMP OVER OVER:LCALL ALARMSETB P0.6CLR P0.7MOV P2, #03HSJMP $END四、设计体会通过此次对全自动洗衣机的课程设计,对单片机的知识进一步掌握,也巩固了之前学习到的知识。
基于单片机全自动洗衣机控制器设计
摘要单片机又称“单片机微型计算机”、“微控制器”、“嵌入式微控制器”。
单片机适用于控制领域,是由CPU、RAM、ROM以及I/O接口电路集成在一起的芯片。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各种单片机中最为典型和最有代表性的一种。
通过这次课程设计对它的进一步了解、学习与应用,从而达到设计、开发软硬件的能力。
本设计根据全自动洗衣机控制系统的要求和特点,设计了一种基于51单片机的全自动洗衣机控制器。
该控制器以单片机AT89C51为控制核心,结合外围信号采集放大电路、键盘扫描电路、液晶显示电路和继电器控制电路,实现了对空压机内压力的智能控制。
压力传感器将采集的数据经模数转换后传送给单片机,单片机将得到的数据分别与键盘预先设定的上限压力值和下限压力值比较,如果数据大于上限压力值,关闭电机并报警,如果数据小于下限压力值,启动电机并报警,整个过程LCD 实时显示上限压力值、下限压力值、实际压力值和系统工作状态。
关键字:单片机;全自动;显示模块;键盘输入;稳压电源。
目录摘要 (I)第1章绪论 (1)1.1设计背景 (1)1.2国内外现状及水平 (2)1.3课题研究内容 (2)第2章系统方案设计 (3)2.1微型空压机设计方框图 (3)2.2方案论证 (3)第3章电路设计 (5)3.1工作原理 (5)3.2AT89C51介绍 (6)3.3A/D转换电路设计 (9)3.4键盘电路设计 (12)3.5显示电路设计 (15)3.6报警电路设计..................................................... 错误!未定义书签。
3.7电机控制电路设计............................................. 错误!未定义书签。
第4章程序设计............................................................. 错误!未定义书签。
基于51单片机的全自动洗衣机控制系统设计
基于51单片机的全自动洗衣机控制系统设计摘要:本文介绍了基于51单片机的全自动洗衣机控制系统的设计。
该系统可以自动完成洗涤、漂洗、脱水等工作。
系统采用了多种传感器和执行器,如流量传感器、温度传感器、电机等,以检测和控制洗衣机的各项参数。
设计使用了C语言编程完成,通过设计电路和编写程序使得全自动洗衣机可以更加方便、可靠地使用。
关键词:51单片机;全自动洗衣机;控制系统。
引言:洗衣机作为现代家庭中必备的家电设备之一,已经成为人们生活中不可或缺的家电产品。
在现代生活节奏加快的背景下,为了节省人们的宝贵时间,并且避免可能的工作失误,现代洗衣机越来越普及和流行。
在现代洗衣机中,全自动洗衣机的功能和性能已经得到了更进一步的提升。
通过使用多种传感器和执行器,洗衣机可以自动完成洗涤、漂洗、脱水等工作,从而更加方便、快捷地满足人们的需求。
本文针对现有洗衣机存在的一些问题,在51单片机的控制下,设计了一种基于51单片机的全自动洗衣机控制系统,该系统可以实现洗涤、漂洗、脱水等功能,并且结合流量传感器、温度传感器等多种传感器与执行器,实现对洗衣机各项参数的检测和控制,从而确保系统更加安全、可靠地工作。
系统设计:1. 系统框架搭建首先,本文基于51单片机完成了洗衣机的系统框架搭建。
包括用户界面、主控程序、PWM输出控制、电机控制等模块。
用户可以通过操作面板进行洗衣机参数的设定,通过主控程序控制各个执行器,实现对洗衣机的控制。
2. 传感器的使用在洗衣机的设计中,我们使用了多种传感器,并利用单片机对其进行控制。
其中,流量传感器可以检测洗衣机内的水位,并控制水泵的工作来达到控制水流量的目的。
温度传感器可以检测洗涤水的温度,并控制加热器的工作来调整洗涤温度。
通过这些传感器,可以充分地检测和控制洗衣机的各项参数,从而保证洗衣机的顺利工作。
3. 执行器的使用在洗衣机的设计中,我们还使用了多种执行器。
其中,电机是最重要的执行器之一。
我们使用电机来控制洗衣筒的旋转,通过PWM输出控制可以调整电机的转速。
基于51单片机的全自动洗衣机控制系统设计
基于51单片机的全自动洗衣机控制系统设计王聪1 引言全自动洗衣机作为家用电器,已经走入了千家万户的生活中,成为了我们生活的必需品。
目前中国的洗衣机市场需求特别大而且潜力巨大,人们对洗衣机的要求也越来越高。
目前洗衣机的功能很多,但是并不能完全满足人们的需求,这就要求设计者们在进行设计以及改进是更加贴近生活,符合民意,将人们的需求变为设计的根本,创造出更节能、更安全、更干净舒适的全自动洗衣机。
目前的洗衣机市场竞争压力大,各个厂商在设计和制造时往往只能单一提现洗衣机的几个功能,体现出自己的个性化而并不能全面兼备。
这就给我们带来了生活上的不便,我们需要更加智能而且全面的洗衣机。
所以,本论文就全自动洗衣机的选择与性能设计进行讨论与设计。
此次设计需要解决的问题有:如何选择本次设计的全自动洗衣机类型;分析此类全自动洗衣机的优缺点,提出课题设计方案方向;就全自动洗衣机的安全性与清洁性进行设想与设计;单片机与传感器的选择、安置以及各自实现的功能;电路及控制系统的设计。
1.1课题的提出及意义本次所选择的题目为基于单片机的全自动洗衣机的控制系统的设计。
在我们日常生活中,全自动洗衣机主要可以分为波轮式洗衣机和滚筒式洗衣机。
在选择洗衣机的类型之前,要对两种洗衣机的应用范围、工作方式、内部结构进行了解调查。
通过走访邻里和网上调查,了解相对小样本下两种洗衣机的使用情况以及在使用过程中出现的一系列问题,根据使用数量的多少和出现问题的程度,选择使用量和出现问题较多的洗衣机。
选题人自行调查两种洗衣机的工作方式、工作1流程、工作原理以及软硬件的构成,自行观察两种洗衣机的实际运行过程以及运行结束后水、衣服的清洁程度。
通过对比两种洗衣机的运行过程以及运行模式,选择洗衣较为干净,运行更接近于手洗模式的洗衣机,选定为我们此次研究对象。
通过选题人的对比和观察,此次研究对象选择为滚筒式全自动洗衣机。
本课题针对于当下全自动洗衣机的研究现状以及能够实现的功能,结合自身的生活需求和常见问题,能够做出基本满足本课题选择的滚筒式全自动洗衣机的控制系统设计。
基于51单片机的全自动洗衣机控制器设计
基于51单片机的全自动洗衣机控制器设计随着科技的进步和人们生活质量的提高,洗衣机已经成为现代家庭中必不可少的家电之一。
然而,传统的洗衣机控制方式往往存在操作复杂、功能单一等问题,无法满足用户对于高效、智能洗涤的需求。
因此,本文将介绍一种基于51单片机的全自动洗衣机控制器的设计,实现洗涤、漂洗、脱水等功能的自动化控制。
一、系统硬件设计1、控制器核心选择本设计选用51单片机作为控制器核心,利用其丰富的I/O口和定时器资源,实现对洗衣机的控制。
通过外接按键和蜂鸣器等元件,实现洗涤方式的选择、启动/停止控制等功能。
2、电源模块设计为了确保洗衣机的稳定运行,本设计采用220V交流电作为电源输入,通过变压器进行降压处理,再经整流滤波后得到稳定的直流电压,为控制器和其他部件供电。
3、输入输出模块设计输入模块主要包括按键和传感器。
其中,按键用于选择洗涤方式,传感器则用于检测水位、水温等信息。
输出模块主要包括继电器和蜂鸣器,继电器用于控制洗衣机的启动/停止,蜂鸣器则用于提示用户洗涤过程的状态。
二、系统软件设计1、程序初始化在程序开始运行时,首先进行初始化操作,包括配置定时器、设置I/O口状态等。
2、洗涤过程控制根据用户选择的洗涤方式,程序将通过定时器控制电机的运转时间,实现不同洗涤模式的自动化控制。
同时,通过检测水位、水温等信息,自动调整洗涤时间和水的温度,提高洗涤效果。
3、漂洗过程控制在洗涤过程结束后,程序将自动进入漂洗阶段。
通过控制进水和排水阀的开闭时间,实现自动漂洗。
同时,根据洗涤过程中收集的衣物量和洗涤效果,智能调整漂洗次数和时间,确保衣物清洗干净。
4、脱水过程控制在漂洗过程结束后,程序将自动进入脱水阶段。
通过控制电机转速和脱水时间,实现衣物的高效脱水。
同时,为了保护衣物和机器的安全,程序将根据衣物的种类和重量信息,智能调整脱水时间和转速,确保脱水过程的顺利进行。
5、报警提示功能为了方便用户及时了解洗涤过程的状态,本设计还实现了报警提示功能。
基于51单片机洗衣机课程设计报告
单片机原理及系统课程设计专业:自动控制班级:控1102姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2014年1月13日基于51单片机的洗衣机设计1 设计目的、要求及原理1.1设计目的由单片机控制实现洗衣机的各项功能,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。
用单片机设计出简单操作省水省电的洗衣机,在方便日常生活和节约资源方面都有重要意义。
由于个人能力有限,我能设计的洗衣机比前沿科技产品要差很多。
所以我这次课设的主要目的在于通过亲手操作,查找资料,培养自己的分析设计能力。
把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中。
在实例中深入理解一些理论知识,并从中有所收获,就是意义所在。
1.2设计要求通过仿真软件模拟洗衣机的基本工作过程,如进水、洗涤、排水、漂洗、脱水等。
1.3设计方法利用89C51单片机的P0,P1,P2,P3串行输入输出功能,控制数码管、电机、发光二极管的工作状态模拟洗衣机的基本工作过程。
2 设计方案及原理2.1 设计方案洗衣机的主要工作程序是:进水—洗涤—排水—进水—漂洗—排水—脱水—排水。
上述工作程序中,主要包含三个过程,洗涤过程、漂洗过程、脱水过程。
(1) 洗涤过程:放好待洗物,启动开关,进水阀通电,向洗衣机供水,当供水达到预定时间后,进水阀断电关闭,停止供水。
洗涤电动机接通电源,带动波轮(或桶)旋转,产生各种形式的水流搅动衣物进行洗涤。
通过电动机不停的正转、反转,形成洗涤水对洗涤物产生强烈的翻滚作用。
同时,衣物之间、衣物与四周桶壁之间产生互相摩擦和撞击力,以次达到洗涤衣物的目的。
(2) 漂洗过程:漂洗的目的在于清除衣物上的洗涤液。
因此,在洗涤结束之后,换水进行漂洗。
漂洗过程与洗涤过程的电器动作是完全相同的。
为了完全漂净衣服上的洗衣粉等,所以要多次漂洗,在这次设计中漂洗次数设定为三次。
(3) 脱水过程:漂洗后,需要对衣物进行脱水以便晾干,节省水资源,所以脱水是洗衣过程中必不可少的环节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 课题分析目的意义目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、暂停等七大功能,在许多方面还不能达到人们的需求。
这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。
目前的洗衣机都没有实现全方面的兼容,大多洗衣的厂家都注重各自品牌的洗衣机的特长,突出一两个与别的洗衣机不同的个性化的功能,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。
用单片机设计出简单操作省水省电的洗衣机,在方便日常生活和节约资源方面都有重要意义由于个人能力有限,我能设计的洗衣机比前沿科技产品要差很多。
所以我这次课设的主要目的在于通过操作掌握知识,通过查找资料和尝试分析培养自己的能力。
把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中。
在实例中深入理解一些理论知识,并从中有所收获,就是意义所在。
国内外情况当今世界是技术、知识大爆炸的年代,只要人们有需要,就有可能生产出某种产品来满足人们的需要。
洗衣机的发展正是这样,人们在生活中发现了它的某些不便,就会在实际中不断地改进和完善它,新型的洗衣机正是在这种情况下诞生的。
1、超声波洗衣机超声振动产生空穴现象,在洗涤中通过边生产气泡边消失的运动,产生强水压,再加入小量洗衣剂,振动纤维,超声乳化,去污,水中气泡上升,产生了从洗涤桶中央向外侧翻动的水流,使衣服之间相互摩擦,并与洗涤剂充分接触产生很有效的洗涤作用。
这种洗衣机洗涤桶小,桶内无运动部件,无机械电气故障,修理方便。
词典均匀性好,不缠绕,不伤布料,洗净效果好,省水,省电。
2、电磁洗衣机这种洗衣机洗涤桶内有4个洗涤头,上面各有有个夹子,把衣物伸展夹住,每个洗涤头上有有个电磁线圈,接通电源发生2500次/秒的微击振动,使衣物在洗涤液中洗涤。
因不用电机驱动,无噪声,省水50%,省电75%。
3、高温泡沫洗衣机日本大阪大研制的一种不用水用高温泡沫来洗净衣物的洗衣机。
洗涤剂罐于洗衣机低部,放衣物后拨动开关,开始鼓风,将空气送入罐中产生泡沫,由加热到70oC高温泡沫洗净衣物,然后进入洗衣桶旁边的消泡装置,一般洗5~10分钟/次,21L/1kg干衣。
4、真空洗衣机原苏联研制的衣中不用洗衣粉或洗涤剂的洗衣机,真空泵将洗衣桶内吸成真空状态,桶中水运动产生气泡爆破并去污。
洗净度高,不损衣、无噪声、造价高。
实际上是采用冷沸腾洗涤原理,在几秒钟内从洗涤桶的上部那空气抽空出。
稀薄空气与水如沸腾壮,衣物在泡沫旋涡钟搅动,~2分钟就能洗净衣物,一般洗衣服7~10分钟即可完成全过程。
相对于这些先进洗衣机,由于我国洗衣机厂起步晚,加上技术方面的一些问题,国产洗衣机的很多机型都存在一些弊病。
噪声大,麻电和漏水,进水不畅或进水不止或排水不畅,工作周期不平稳、振动大,损伤洗涤物,洗涤效果不佳,脱水桶自动性不佳,脱水不良,重量大,容量不合理。
具体来说,洗衣机的问题存在于结构、质量、原材料和模具及管理方面1、结构类型方面我国洗衣机多属波轮式。
今后波轮式仍然是主要型式。
为了适应国外市场的不同需求,要适当地生产些新型式的滚筒式和搅拌式洗衣机,进而生产具有波轮式、搅拌式两种洗衣机优点的新机型。
为了使波轮式洗衣机洗涤更合理,应努力将全自动洗衣机提高到电脑型的水平。
双桶洗衣机再提高漂洗的条件下,以重点生产全自动型喷淋式洗衣机为宜。
同时要注意避免新水流洗衣机一味地提高波轮式的转数极其转动时间或增高波轮筋高的倾向,以免损伤衣率和缠绕率回升增高,降低了新水流洗衣机的优越性。
2、质量方面我国洗衣机的质量问题,具体反映再功能、外观和可靠性三方面,与国外存在再较大的差距。
把国内外洗衣机放再一起,从功能、电源插头、面板装饰、旋钮结合,塑料件的光整度(光洁、毛刺和变形),外箱和螺丝钉的成形及防锈,皮带的耐磨及噪音进排水阀和水位开关发质量,电脑控制各种功能的能力,电脑的抗电压波动、抗干扰防静电的能力,以及传感器的灵敏度等方面,很容易看出哪几台是国产货,再加上装配工艺较落后,致使我国洗衣机的质量稳定性差,出口有一定的困难。
目前我国洗衣机无故障运行水平约为250~500小时,而国外同类产品达1500~2000小时,即十年不需修理。
我国的洗衣机出口,,切不可立足于搞好售后服务,否则将带来很多麻烦。
因此提高洗衣机的质量要从提高零部件的质量入手。
关键电器件和传动件应组织专业分工,制定标准,组织攻关,进行认证,在改进功能方面、外观质量和可靠性三方面,进行全面整理,提高水平。
3、原材料和模具方面洗衣机的原材料主要是塑料和薄钢板,目前均供不应求,需进口。
一旦进口受阻,生产便要停滞下来。
质量好的原材料生产的塑料件注塑工艺和塑料模具的质量问题。
另外,塑料的各种规格来源也不足,靠进口,成本就降不下来,以每台洗衣机10公斤塑料件计,年产1000万台需塑料10完吨,现在远远不能满足需求。
薄钢板若以6公斤台粗计,年产1000万台每年需薄钢板6万吨,目前50%还供应不上。
我国洗衣机要维持生产,大型模具的设计、制造和使用寿命,应组织攻关解决。
4、管理方面各洗衣机厂从国外引进的设备和技术的消化吸收还没有落在实处,有的厂只是计划了一下,软件技术既没有消化,也没有吸收,照老办法生产,甚至买来就一直锁在柜子里。
现在出口洗衣机和前几年引进类似,盲目自我竞争,各自为政,因此在出口管理方面,应协调一致,出口业务进行,统一对外。
设计思路外界物质,时间等多方因素所限,这次课设不能进行实物操作。
所以只能在proteus软件中进行硬件的设计,分析及仿真。
再用keil进行程序的编写与调试。
然后将proteus中画好得硬件原理图与keil中运行无误的程序相连接。
通过观察原理图中仿真情况进行修改,至达到想要结果。
下面对这两个软件作简要介绍:Proteus:Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
Keil:Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
2 硬件设计系统总体设计一台洗衣机大体可分为5部分,分别为按键控制部分、显示部分、进水部分、排水部分、电机部分。
这5部分按键控制为输入,其余为输出。
如图图总体结构图相关器件电磁继电器分别直接驱动洗衣机的这些工作部件。
电磁继电器是一种常用继电器,内有电磁铁心及磁力开关,通电就可使开关切换。
之所以选用这个器件,是因为它一方面可使电路进一部简化,另一方面还可使强.弱两类电完全隔离,保证主板的安全。
ULN2003A为7相反相驱动器,用其作为中间反相器,其中的4个反相器可分别驱动4个SP1110继电器,1个驱动蜂鸣器。
ULN2003A还有隔离功能,可保护主板。
74LS139为双2-4线译码器,选用它可解决CPU I/O线数量的不足。
从控制要求可知,洗衣机有4种不同的显示来加以区别。
74LSW139双2-4线译码器仅占用CPU的和两口线即可提供4种不同显示的驱动,其逻辑关系是:,为“11”时D9亮,指示高水位;为“10”时D8亮,指示中2水位;为“01”时D7亮,指示中1水位;为“00”时D6亮,指示低水位。
74LS47为共阳极BCD译码器,可把BCD码译为共阳极七段码。
相关电路设计在总体分析时知道总电路分为按键控制部分、显示部分、进水部分、排水部分、电机部分五部分。
按键输入部分和显示部分比较简单,进水和排水部分大致相同。
所以主要说明进水部分和电机部分2.3.1进水部分如图所示,进水部分的主要工作部分是电磁继电器,进行洗涤时,盛水桶内的水量必须达到水位设定要求。
洗衣机的进水和水位判断,是由水位开关K5和进水阀的开合来进行控制的。
当桶内没有水或水量达不到设定水位时,单片机程序将控制进水阀打开,开始注水;当桶内的水位达到设定水位时,水位开关K5受压闭合,程序就可进入下一步(洗涤)处理。
若水位越线即K6闭合则控制排水阀打开进行排水直到K5打开为止。
进入下一过程。
图进水电路图2.3.2 电机部分电机部分电路设计如图所示。
电机是洗衣机的动力源,它的转动带动洗衣桶和波轮的转动,从而时现对衣物的洗涤。
电机的状态有3种,即正转.反转及停止状态。
电机一般工作在这三种状态的不断转换之中,从而实现洗涤。
但在脱水时,只工作在正转高速状态。
用电磁继电器分离强弱电源来保证安全。
续流二极管保护继电器。
图电机电路总体电路设计洗衣机的过容安全保护和脱水安全保护及防震动功能采用中断处理方式。
这两个中断分别对应于CPU的外部中断“0”和外部中断“1”。
中断为下跳沿触发分别对k8和K9进行监测。
开盖(安全保护)或不平衡(防振动)中断信号通过K9加到。
本系统对开盖和不平衡中断采取相同的处理方法,因此,共用外部中断“1”。
在洗衣机未进入工作状态期间,为输入线,用于监测启动键的状态,当启动键按下时,洗衣机即进入工作状态。
,被设为输入键分别用于模式设定和水位设定,接K2和K3,确定后课按K1确认并进入洗衣状态。
D6为低水位,D7为中1水位,D8为中2水位,D9为高水位。