基于51单片机洗衣机课程设计报告

上传人:仙*** 文档编号:87862285 上传时间:2022-05-10 格式:DOC 页数:15 大小:61KB
收藏 版权申诉 举报 下载
基于51单片机洗衣机课程设计报告_第1页
第1页 / 共15页
基于51单片机洗衣机课程设计报告_第2页
第2页 / 共15页
基于51单片机洗衣机课程设计报告_第3页
第3页 / 共15页
资源描述:

《基于51单片机洗衣机课程设计报告》由会员分享,可在线阅读,更多相关《基于51单片机洗衣机课程设计报告(15页珍藏版)》请在装配图网上搜索。

1、-单片机原理及系统课程设计评语:考勤10分守纪10分过程30分设计报告30分辩论20分总成绩(100分)专 业: 自动控制 班 级: 控1102 姓 名:学 号:指导教师: 交通大学自动化与电气工程学院2014 年 1月 13 日基于51单片机的洗衣机设计1 设计目的、要求及原理1.1设计目的由单片机控制实现洗衣机的各项功能,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。用单片机设计出简单操作省水省电的洗衣机,在方便日常生活和节约资源方面都有重要意义。由于个人能力有限,我能设计的洗衣机比前沿科技产品要差很多。所以我这次课设的主要目的在于通过亲手

2、操作,查找资料,培养自己的分析设计能力。把这学期课程中零散的知识进展整合,将理论的知识联系到实际的生活中。在实例中深入理解一些理论知识,并从中有所收获,就是意义所在。1.2设计要求通过仿真软件模拟洗衣机的根本工作过程,如进水、洗涤、排水、漂洗、脱水等。1.3设计方法利用89C51单片机的P0,P1,P2,P3串行输入输出功能,控制数码管、电机、发光二极管的工作状态模拟洗衣机的根本工作过程。2 设计方案及原理2.1 设计方案洗衣机的主要工作程序是:进水洗涤排水进水漂洗排水脱水排水。上述工作程序中,主要包含三个过程,洗涤过程、漂洗过程、脱水过程。(1) 洗涤过程:放好待洗物,启动开关,进水阀通电,

3、向洗衣机供水,当供水到达预定时间后,进水阀断电关闭,停顿供水。洗涤电动机接通电源,带动波轮(或桶)旋转,产生各种形式的水流搅动衣物进展洗涤。通过电动机不停的正转、反转,形成洗涤水对洗涤物产生强烈的翻滚作用。同时,衣物之间、衣物与四周桶壁之间产生互相摩擦和撞击力,以次到达洗涤衣物的目的。(2) 漂洗过程:漂洗的目的在于去除衣物上的洗涤液。因此,在洗涤完毕之后,换水进展漂洗。漂洗过程与洗涤过程的电器动作是完全一样的。为了完全漂净衣服上的洗衣粉等,所以要屡次漂洗,在这次设计中漂洗次数设定为三次。(3) 脱水过程:漂洗后,需要对衣物进展脱水以便晾干,节省水资源,所以脱水是洗衣过程中必不可少的环节。漂洗

4、过程完毕后,电动机停顿转动,排水阀通电,翻开排水阀门排水。当排水到达预定时间后,脱水电动机接通,电机带动脱水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出。全部洗衣工作完成后,表示完毕的LED灯点亮,表示衣物已经洗好,洗衣机在这时就会自动停顿工作。2.2 设计原理本设计用51单片机实现对洗衣机的控制,通过功能选择开关可以选择洗衣机的工作模式。中选择好模式后洗衣机进入相应的工作状态。该模式的参数已装入单片机中,洗衣机在单片机中预先装入程序的控制下进展工作。程序实现的主要功能是洗涤,漂洗和脱水的控制。其中洗涤时间设为96s,用sec和min控制,其中sec代表分钟min代表秒。并且通过改变它

5、们的值可以改变洗涤时间。用P3.2和P3.3控制电机的正反转通过它们上下不同的电平控制电流的方向,从而改变电机的转向。漂洗过程和洗涤过程较为相似,由于漂洗要屡次进展,所以用进水次数标志位flag1控制漂洗的次数,当flag1=2、3、4时为漂洗过程。脱水过程是在出水次数flag2的控制下进展。当flag2=4时脱水,当脱水时间到达0后,脱水完毕,洗衣完毕,表示停顿的指示灯亮。ATA89C51按键输入工作状态显示电机控制时间显示图1 系统组成框图3 硬件设计3.1系统主要元器件在本设计中主要使用了以下元器件:AT89C51芯片、74LS245芯片、四数码管、发光二极管、直流电动机、三极管等。3.

6、2 设计原理图洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性采用5l系列单片机作为控制核心,主要包括功能选择及控制电路、洗衣机工作状态显示及输出控制电路。控制电机正反转以及进水阀和排水阀的开启和关闭。如图2所示为设计原理图。图2 硬件连接图4 软件设计4.1 主程序流程图按下K1键,洗衣机从待命状态。当按下K2键后,51单片机通过预先装入的程序控制各引脚的状态,让洗衣机才进入工作状态,以实现进水、洗衣、排水、漂洗、脱水、报警等根本功能。主程序流程图如图3所示。图3 主程序流程图. z-5 系统仿真及实际调试5

7、.1 仿真结果图4 :系统仿真结果5.1 问题分析本电路为模拟洗衣机工作过程,所以进水和排水局部只能用输出引脚上的发光二极管表示工作状态,报警电路为脱水过程的保护电路,当脱水未完毕翻开洗衣机盖的时候,报警电路工作并断开电机电源,防止发生事故。6 总结在本设计过软,硬件的配合设计,很好的实现了洗衣机的控制功能。本系统构造简单,控制功能强大,自动化程度高等特点。系统软硬件设计采用模块化的设计方法,各模块功能相对独立,最后把它们整合在一起,大大的缩短了系统的设计周期。为保证洗衣机及人身平安,设计了报警电路。本设计还考虑半自动的设计,用户可以根据自己的需求自由选择洗衣机的工作方式,这一点是通过功能选择

8、键实现的。通过这次单片机课程设计,不仅稳固了课本上所学的知识,而且更加深刻地认识到了单片机在生活中的重要地位,通过这次课程设计让我对单片机系统设计的过程与方法有了一定的认识,很好的培养了自己的创新设计能力。. z-参考文献1 朝青.单片机原理及接口技术M.:航空航天,1999.2 顾滨.单片微计算机原理、开发及应用M.:高等教育,2000.3 王思明,金敏,苟军年等.单片机原理及应用系统设计M:科学,2021.4 房小翠.单片机实用系统设计技术M.:国防工业,1990. z-附录1 源程序*include*define uchar unsigned char*define uint unsig

9、ned int/*/sbit mo_r=P32; /电机右控制线sbit mo_l=P33; /电机左控制线/*/sbit key_menu=P34; / 菜单按键sbit key_on=P35; / 开场按键sbit key_off=P36; / 完毕按键sbit key_se=P37; / 菜单项选择择按键/*/sbit led_in=P00;/进水指示灯sbit led_*i=P01; / 洗衣指示灯sbit led_pao=P02;/泡洗指示灯sbit led_*=P03; / 脱水指示灯sbit led_out=P04; / 出水指示灯sbit led_over=P05; / 洗衣完

10、毕指示灯sbit led_work=P06; / 电机工作指示灯sbit led_wring=P07;/报警指示灯sbit other=P31; /脱水电源控制开关sbit anther=P30; /洗衣电源控制开关/*/uchar code num10=0*c0,0*f9,0*a4,0*b0,0*99,0*92,0*82,0*f8,0*80,0*90;/*/char sec=0; / 时间秒char min=0; / 时间分uchar count=0; / 中断计数uchar flag0=0; / 洗衣机工作状态标志uchar flag1=0; / 进水次数标志uchar flag2=0;

11、/ 出水次数标志uchar flag3=0; / 泡洗次数标志uchar err=0; / 报警标志uchar quan=0; / 正反转计数/*/void delay(); / 延时函数void in(); / 进水子程序void out(); / 出水子程序void over(); / 完毕子程序void *i(); / 洗衣子程序void pao(); / 泡衣子程序void *(); / 脱水子程序void on(); / 工作on处理子程序void se(); / 显示菜单项选择择void SEG_display(); / 显示时间子程序void key_scan(); / 按键扫描

12、子程序void delay(uint i)uint *,y;for(*=i;*0;*-) for(y=120;y0;y-); /*工作on处理子程序*/void on()TMOD=0*01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; P0 = 0*ff;if(flag0=0) in();if(flag0=1) *i();if(flag0=2) pao();if(flag0=3) *();if(flag0=4) out();/*完毕子程序*/void over()other=0;anther=0;P0=0*ff;mo

13、_r=0;mo_l=0;led_over=0;EA=0; /*进水子程序*/void in()anther=0;other=0;P0=0*ff;led_in=0;flag1+;mo_r=0;mo_l=0;min=0;sec=8;/*洗衣子程序*/void *i() anther=1; other=0; P0=0*ff; led_work=0; led_*i=0; mo_r=1; mo_l=0; min=1; sec=36; quan=0;/ /*泡衣子程序*/void pao() anther=1;other=0;P0=0*ff;led_pao=0;led_work=0;flag3+;mo_r

14、=1;mo_l=0;min=1;sec=35;quan=0;/*脱水子程序*/void *()other=1;anther=0;P0=0*ff;led_*=0;mo_r=0;mo_l=1;min=0;sec=50; /*出水子程序*/void out()anther=0;other=0;P0=0*ff;led_out=0;flag2+;mo_r=0;mo_l=0;min=0;sec=5; /*显示菜单项选择择*/void se()P0=0*ff;if(flag0 = 5)flag0=0; if(flag0=0)led_in=0;if(flag0=1)led_*i=0;if(flag0=2)le

15、d_pao=0;if(flag0=3)led_*=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);f

16、lag0+;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=0*01;P2=nummin/10;delay(10);P1=0*02;P2=nummin%10;delay

17、(10);P1=0*04;P2=numsec/10;delay(10);P1=0*08;P2=numsec%10;delay(10);/*主函数*/void main()led_in=0;anther=0;other=0;while(1)SEG_display();key_scan(); /*定时器0中断处理程序*/void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=20) count=0;sec-;if(flag0=1)|(flag0=2) quan+;switch(qua

18、n) 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(sec0)&(min=0)&(flag0=0) /进水完毕 switch(flag1) case 1:flag0=1;*i();break;case 2:flag0=2;pao();break;case 3:flag0=2;

19、pao();break;case 4:flag0=2;pao();break;default: err=1;led_wring = 0; /*/if(sec0)&(min=0)&(flag0=1) /洗衣完毕 flag0=4; out(); /*/if(sec0)&(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(sec0)&(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;*();break;default: err=1;led_wring=0; /*/if(sec0)&(min=0)&(flag0=3) sec=0; over(); . z

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!