ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:26.69KB ,
资源ID:3953203      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3953203.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于单片机的洗衣机设计.docx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于单片机的洗衣机设计.docx

1、单片机原理及系统课程设计报告 单片机原理及系统课程设计 评语: 考勤10分 守纪10分 过程30分 设计报告30分 答辩20分 总成绩(100分) 专 业: 自动控制 班 级: 姓 名: 学 号: 指导教师: 兰州交通大学自动化与电气工程学院 2014 年 1

2、月 12 日 基于AT89C51单片机的全自动洗衣机设计 1 设计目的及要求 1。1设计目的 洗衣机已成为人们日常生活中必不可少的一部分,但是传统的基于继电器的控制,已不能满足人们对洗衣机的要求.因此设计了基于单片机的洗衣机控制电路系统,由单片机控制实现洗衣机的各项功能.单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。由于个人能力有限,所设计的洗衣机比前沿科技产品要差很远。所以这次课程设计的主要目的在于通过亲手操作,查找资料,培养自己的分析设计能力,把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中,在实例中深入理解一些理论

3、知识,并从中有所收获。 1。2设计要求 模拟全自动洗衣机工作过程。以电机替代洗衣机电机。显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。显示工作剩余时间(洗衣程序可自定义,时间精度:秒).洗衣时交替正、反转。 2 设计方案及原理 2.1设计方案 利用AT89C51单片机的P0,P1,P2,P3串行口的输入输出功能,控制数码管、电动机、发光二极管的工作状态,进而模拟洗衣机的基本工作过程。 洗衣机的主要工作过程是:进水—洗涤—漂洗-换水—漂洗-换水—漂洗-换水—脱水—结束.上述工作过程中,包含三个过程:洗涤过程、漂洗过程、脱水过程. (1) 洗涤过程:放好待洗物,启动开关,进水

4、阀通电,向洗衣机供水,供水结束后,洗涤电动机接通电源,通过电机不停的正转、反转,形成洗涤水对洗涤物产生强烈的翻滚作用;同时衣物之间、衣物与四周桶壁之间产生互相摩擦和撞击力,达到洗涤衣物的目的。 (2) 漂洗过程:漂洗的目的在于清除衣物上的洗涤液,因此,漂洗过程与洗涤过程的电机动作是完全相同的. (3) 脱水过程:漂洗过程结束后,电动机停止转动,排水阀通电,打开排水阀门排水。当排水到一定程度,满足安全条件时,脱水电动机接通,电机带动脱水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出. 全部洗衣工作完成后,结束指示的LED灯点亮,表示衣物已经洗好,洗衣机就会自动停止工作。 2.2 设

5、计原理 系统设计包括晶振和复位模块,电机驱动模块,LED显示模块,按键控制模块以及数码管显示模块五部分。利用AT89C51单片机芯片,芯片左排引脚外接晶振和复位电路,通过74LS245锁存器连接至数码管,控制数码管稳定显示.右排引脚外接电机驱动电路和各开关以及LED灯。通过人工按压相应的开关,接通电机驱动电路相应的接线端子,实现电机正反转以及LED显示.总体设计原理框图如图1所示。 图1 系统原理框图 通过对开关的操作实现选择想要进行的任何操作。当选择好模式后进入该模式.该模式的参数已装入在单片机中,在单片机中程序的控制下进行工作。 程序实现的主要功能是洗涤,漂洗和脱水的控制。其中洗涤

6、时间设初值为136s,由于洗衣过程中电机要不停的正反转,所以用P3.2和P3。3控制。通过流经电机两端电平的高低控制电流的流向,从而改变电机的转向,实现正反转。漂洗过程和洗涤过程较为相似,由于漂洗要多次进行,所以用进水次数标志位flag1控制,当flag1为2,3,4时为漂洗过程。脱水过程是在出水次数flag2的控制下进行。当flag2为4时脱水,当脱水时间到达0后,脱水结束,洗衣结束.上述三个过程中电机工作利用晶体管组成的驱动电路进行驱动。 3 硬件设计 3。1主要元器件 在本设计中主要使用了以下元器件:AT89C51单片机芯片、74LS245芯片 、晶体振荡器、数码管、发光二极管、直

7、流电动机、三极管。 3。2 硬件连接图 该设计主要应用80C51单片机,外接一些必要的扩展电路,构成系统电路原理图,如图2所示。 图2 硬件连接图 3。3 系统设计原理 该设计采用模块化的方法,系统原理图分为五个模块,分别为晶振和复位模块,电机驱动模块,LED显示模块,按键控制模块以及数码管显示模块. 晶振和复位模块主要通过51单片机的内部振荡方式,产生原始的时钟频率。电机驱动模块主要包含电阻、三极管放大器和一个电机,通过与51单片机的P3。0—P3.3引脚连接,用于驱动相应的洗衣、漂洗和脱水程序。LED显示模块主要通过与51单片机的P0口8个引脚连接,当按下相应按键时,对应的LE

8、D指示灯点亮,实现对洗衣机控制过程的指示。按键控制模块,其连接于P3口部分引脚上,实现对洗衣过程的选择及控制。数码管显示模块,其直接与单片机的P2口相连。 4 软件设计 4。1 主程序流程图 按下K1键,洗衣机进入待命状态;当按下K2键后,洗衣机才进入工作状态.其主程序及流程图见附录2.1. 4.2 洗涤过程流程图 电机正反转均为15s,程序及流程图见附录2。2. 4.3 漂洗过程流程图 漂洗前先打开排水阀排水5s。然后启动电动机漂洗,一次漂洗结束后,接着判断漂洗次数即flag3的值,若flag3 为3则漂洗结束,若flag3不为3,则再次执行漂洗操作,进入下一循环。程序及流程图

9、见附录2。3. 5 系统仿真及实际调试 系统仿真结果图如图3所示。 图3 系统仿真结果图 6 总结 经过一个学期的时间完成了基于单片机的洗衣机控制系统的设计,本系统是基于单片机及其接口技术、计算机技术、微电子技术综合应用的设计.实现了对洗衣机整个洗衣过程的控制包括用户参数输入、洗衣、脱水和结束演奏四个阶段。控制系统主要由电源电路、控制电路两大模块构成。电源电路为控制电路提供稳定的5V直流电压,为电动机提供电;控制电路负责控制洗衣机的工作过程,主要由AT89C51单片机、四位共阳数码管、按键、LED指示灯、电动机、进水排水电磁阀组成。在系统设计中查阅了大量相关的中文和外文资料以及各芯片

10、的厂家技术资料手册借鉴了很多前人成熟的经验。 对于以上之粗浅体会进一步的总结和提高,需要有更多的社会实践来提供,我也相信在不久的将来踏入社会,类似这样的设计绝不在少数,只要我们努力学习、勇于实践、勤学好问我们就会懂得以前不明白或不懂的道理,就会很快地成长和成熟起来。我也相信凭着我自强不息勇于拼搏的精神一定能够很快的适应类似设计的需要,适应这个多变的社会,充分发挥长处朝我们的方向不断前进前进再前进! 参考文献 [1] 王思明,张金敏,苟军年等 单片机原理及应用系统设计[M] 科学出版社 2012:176—189 [2] 谭浩强 C程序设计(第四版) [M] 清华大学出版社 2010:36

11、—60 附录 附录一 源程序 #include #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; //

12、 结束按键 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; // 电机工作指示灯 s

13、bit 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=

14、0; // 洗衣机工作状态标志 uchar flag1=0; // 进水次数标志 uchar flag2=0; // 出水次数标志 uchar flag3=0; // 泡洗次数标志 uchar quan=0; // 正反转计数 //**********************************// void delay(); // 延时函数 void in(); // 进水子程序 void out(); // 出水子程序 void over(); // 结束子程序 void xi(); // 洗

15、衣子程序 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处理子程序 //**********************

16、**********// 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(); } // 结束子程序 //*************

17、********************// 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; } // 洗衣子程序 //********

18、************************// 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; f

19、lag3++; 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; P

20、0=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

21、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);

22、 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);

23、 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(

24、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]; d

25、elay(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(); } } /

26、/ 定时器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;bre

27、ak; 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; } //***********

28、**********************// 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; } } //**********************************// if((

29、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();bre

30、ak; } } //**********************************// 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; } } //********************

31、***************// if((sec〈0)&&(min==0)&&(flag0==3)) { sec=0; over(); } } } 附录2 附录2。1主程序 void main() { led_in=0; anther=0; other=0; while(1) { SEG_display(); key_scan(); } } // 定时器0中断处理程序 //**********************************// void timer0() interrupt

32、 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

33、 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)) //进水结束 {

34、 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; } } //**********************************// if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束 { flag0=4; out(); }

35、 //**********************************// 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; } } //**********************************// if((sec〈0)&&(min==0)

36、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; } } //***********************************// if((sec〈0)&&(min==0)&&(flag0==3)) { sec=0; over();

37、 } } } 附录图2.1 主程序流程图 2.2洗涤过程程序 void xi() { anther=1; other=0; P0=0xff; led_work=0; led_xi=0; mo_r=1; mo_l=0; min=0; sec=30; quan=0; } 附录图2.2 洗涤程序流程图 2。3 漂洗子程序 void pao() { anther=1; other=0; P0=0xff; led_pao=0; led_work=0; flag3++; mo_r=1; mo_l=0; min=0; sec=10; quan=0; } 附录图2.3 漂洗程序流程图 15

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服