单片机课程设计基于89C51的全自动洗衣机控制器设计

上传人:仙*** 文档编号:114506662 上传时间:2022-06-28 格式:DOC 页数:23 大小:4.79MB
收藏 版权申诉 举报 下载
单片机课程设计基于89C51的全自动洗衣机控制器设计_第1页
第1页 / 共23页
单片机课程设计基于89C51的全自动洗衣机控制器设计_第2页
第2页 / 共23页
单片机课程设计基于89C51的全自动洗衣机控制器设计_第3页
第3页 / 共23页
资源描述:

《单片机课程设计基于89C51的全自动洗衣机控制器设计》由会员分享,可在线阅读,更多相关《单片机课程设计基于89C51的全自动洗衣机控制器设计(23页珍藏版)》请在装配图网上搜索。

1、 课程设计单片机系统课 程 设 计成绩评定表设计课题 基于89C51的全自动洗衣机控制器设计 学院名称 : 电气工程学院 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 设计时间 : 指导教师意见:成绩: 签名: 年 月 日单片机系统课 程 设 计课程设计名称:基于89C51的全自动洗衣机控制器设计 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计地点: 课程设计时间: 单片机系统 课程设计任务书学生姓名专业班级学号题 目课题性质工程设计课题来源自拟指导教师主要内容(参数)利用89C51设计全自动洗衣机,实现以下功能:1. 可以实现自动洗涤功

2、能2. 衣物脱水功能3. 洗衣机完成一次洗涤之后会发出警报,提示已经洗完任务要求(进度)第1-2天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第34天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述.第56天:软件设计,编写程序。第78天:实验室调试。第910天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅不少于6000字。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第2版)M北京:国防工业出版社,20042 熊志奇微机自动配料控制系统J电子技术应用,1997,(10):

3、30-32 3 周建洪自动配料控制系统的研制J工矿自动化,2003,(06):27-294 张庆彬,毕丽红,王铸工业自动配料系统的精度分析J自动化技术与应用, 2005,(05):79815 中国电子网http:/www。21IC。com审查意见系(教研室)主任签字: 年 月 日 目录1概述32 总体方案设计42.1全自动洗衣机的工作流程42.2硬件组成53 硬件电路设计53。1 89C5153.2 晶振电路53。3 复位电路63.4 启动电路63。5注水电路,放水电路63.6洗涤电机控制电路73。7警报电路104 软件设计114.1 主程序流程图114.2 中断服务程序流程图134.3子函数

4、流程图145 总结146 参考文献15附录A16附录B171概述当今社会,洗衣机已经渗透到各个家庭了,人们对于这种东西已经不会再陌生,也越来越离不开洗衣机。洗衣机的便利让人们节省了许许多多的时间,而且洗涤之后的效果也比人手洗的更加干净。而自从推出了全自动洗衣机之后,洗衣机变得更加可靠。全自动洗衣机就是将洗衣的全过程(泡浸洗涤-漂洗脱水)预先设定好N个程序,洗衣时选择其中一个程序,打开水龙头和启动洗衣机开关后洗衣的全过程就会自动完成,无需人操作,只需要按下开始按钮便可。其工作原理可以简述为:洗衣机的洗涤过程主要是在机械产生的排渗、冲刷等机械作用和洗涤剂的润湿、分散作用下,将污垢拉入水中来实现洗净

5、的目的。首先充满于波轮叶片间的洗涤液,在离心力的作用下被高速甩向桶壁,并沿桶壁上升。在波轮中心处,因甩出液体而形成低压区,又使得洗涤液流回波轮附近。这样,在波轮附近形成了以波轮轴线为中心的涡流。衣物在涡流的作用下,作螺旋式回转,吸入中心后又被甩向桶壁,与桶壁发生摩擦。又由于波轮中心是低压区,衣物易被吸在波轮附近,不断地与波轮发生摩擦,如同人工揉搓衣物,污垢被迫脱离衣物.其次,当衣物被放进洗涤液之后,由于惯性作用运动缓慢,在水流与衣物之间存在着速度差,使得两者发生相对运动,水流与衣物便发生相对摩擦,这种水流冲刷力同样有助于污垢离开衣物.再次由于洗衣涌形状的不规则,当旋转着的水流碰到桶壁后,其速度

6、和方向都发生了改变,形成湍流。在湍流的作用下,衣物做无规则地运动并翻滚,其纤维不断被弯曲、绞纽扣拉长,衣物相互相摩擦,增大了洗涤的有效面积,提高衣物的洗净的均匀性。简单来说,洗衣机的洗涤功能主要来源于两大原理,相对运动和离心力。相对运动是指在电机实行正转时,突然反转,使的本来正转的衣物与反转的衣物相互摩擦或者与带有洗衣液的水相撞从而去除污渍.离心力是指衣物随着水的旋转方向而逐渐离开中心,从而能使得衣物贴近桶壁。2 总体方案设计2.1全自动洗衣机的工作流程(1) 注入水,待水面达到一定高度的时候将停止注水,触发启动信号;(2) 单片机收到启动信号之后,对单片机的I/O口进行分配,用I/O口的高低

7、电平来控制电机.此过程是用单片机控制电机的正反转,正反转时间相同,以达到除去污染物的功能;(3) 应用定时器控制其工作时间,洗涤时间为30分钟;(4)当定时时间到了,可以停止洗涤了;(5)放水,启动放水电机;(6) 此步骤为脱水过程,脱水过程就是让电机正转,定时5分钟;(7)脱水完成之后,将停止电机运作。图2-112。2硬件组成硬件功能图图2213 硬件电路设计各元件电路分析3.1 89C51单片机是本次设计的核心部分,通过对单片机进行编程,从而实现I/O口电平的高低变化,以此来控制要控制的对象;3.2 晶振电路单片机的工作需要时钟,而晶振电路是给单片机提供时钟的一个外部电路;图313。3 复

8、位电路复位电路是当单片机运行时需要恢复至原始状态时而需要设计的电路,实际设计时,只需要给RESET一个10ms以上的高电平就可以实现复位了;图323.4 启动电路启动电路比较简单,给I/O口一个低电平即可动作;图3-33.5注水电路,放水电路如下图所示,单片机P1。2、P1。3口通过1K上拉电阻给8050NPN型三极管的基极供电,M1为供水电机,M2为放水电机;图343.6洗涤电机控制电路该部分电路可设计成两种电路,一种是控制直流电机,另一种是用直流电路控制交流电机。1 控制直流电机法图3-5该控制电路为控制直流电机法,这是一个典型的H桥电路,当P1.0输入高电平时,Q21导通,此时Q63的基

9、极得到一个低电平,Q61截止,Q63导通。P1。1输入低电平,Q22截止,Q60基极得到一个高电平,Q60导通,Q62截止,此时电机M10得到一个向左的电流,此时为反转,正转则反之.此法简单容易控制,不过有缺点,因为受到三极管的耐压限制,只能运用于低压直流电机上,实际可靠性不高.2 直流电流控制三相交流电动机法图3-6图37这种方法需要用到电气控制,用直流中间继电器控制交流接触器的线圈通断.该部分分为两个电路,一个直流部分,一个交流部分。直流部分见图3-6,交流部分见图37.当P1.0口为高电平,Q20导通,KA1无电流通过,KM1不得电.当P1。0为低电平,Q20截止,此时KA1线圈得电吸合

10、,KA1常开闭合,KM1得电,此为正转,反转则控制P1.1口为0,P1。0为1。经查证,该款直流中间继电器MY2NJDC24V额定电压220VAC,最大开关电压250VAC,线圈吸合电流为36.9mA,当Q20截止时,流过KA1上的电流I= 24V/250=96mA36.9mA,所以是可以吸合的。3.7警报电路当P1。4口输出一个低电平,Q34导通,此时蜂鸣器响起,触发警报,提示已经完成工作。4 软件设计4.1 主程序流程图图411图411便是本次全自动洗衣机设计电路的主函数部分,总体思路比较简单。对外部中断0的初始化和对定时器0的初始化。首先是设置定时器0的工作方式,选定为工作方式1。定时器

11、工作方式1是16位定时器,有高八位和低八位。选定为定时器,令D2位为0,GATE位为门控位,在本次设计中没用到,使之置0.由图4-13可以知道,当M1=0,M0=1时,工作方式为1,于是应该使TMOD的值设定为0000 0001 B,即是01H。图4-1-2图413第二步则是装初值。装初值之前,必须要了解51单片机的计数/定时方法。51单片机的定时器是从65536(假设是方式1)到0从高到低的顺序来进行计数定时的,于是TH0=(65536要定时的时间)/256,TH0为高八位数据;同样可以得到低八位TL0=(65536要定时的时间)256.第三步设置TCON。因为要用到外部中断0,所以需要把外

12、部中断0的触发方式选择一下。IT0是选择外部中断0的触发方式位,当IT0=0时为电平触发方式,当IT0=1时为边沿触发方式。一般常用的外部中断触发方式为边沿触发方式,即是IT0=1。图414第四步是设置中断允许寄存器IE.在主函数中,总共需要打开四个中断允许位,外部中断0中断允许位,定时器0中断允许位,总中断允许位。需要做的只是让ET0=1,EX0=1,EA=1即可。图4-15最后一步就是等待中断服务函数的到来,在C语言中可以用while(1);来实现。4。2 中断服务程序流程图图421如图42-1所示,这是整个控制程序的中心部分,中断服务函数。总共采用了两个中断源,一个是外部中断0,一个是定

13、时器中断0.总体思路是从按键中检测是否有按键按下,然后打开注水开关,而后打开定时器开始计时。每隔50ms进入一次定时器中断.以1s为基准,让50ms循环20次便得到1s,而后以1s为基准,需要定时多长的时候就直接可以使用1s基准。注水完成之后便是洗涤过程,启动电机的正反转,持续30min,正转反转一次5s。洗涤过程完成之后,打开放水电机,放水5min,放水完成之后脱水,脱水完成启动警报,结束.程序详细运行过程:检测是否有键盘按下,如果有,则触发外部中断0,在外部中断0函数内部使P1。2输出低电平,打开注水电机,打开定时器0,开始计时。直到5min后停止注水,标志位置1。当标志位置1时,开始进行

14、洗涤过程。驱动电机正反转,正转置P1。1为1,反转置P1。0为0;反转置P1。1为0,P1。0为1。正反转各五秒,一个周期为10秒,总共要持续30min,也即是需要循环180次.当洗涤30min之后,应该令标志位置2.当标志位为2时,放水电机打开,定时5min.完成后进行脱水处理。脱水处理的主要办法是令电机正转5min。5min后标志位置3。当标志位为3时,打开警铃,告知已经完成洗涤,响铃10s.响铃完成之后,标志位清零.所有数据复位,定时器关闭,回到主函数等待下一次中断响应。4.3子函数流程图子函数比较简单,主要有注水电机的驱动程序,洗涤时正反转电机的驱动程序,放水电机的驱动程序,脱水时电机

15、的驱动程序以及驱动蜂鸣器的程序。这些子函数比较简单,都是进行一个I/O口的高低电平输出,然后用定时器进行延时。在此处便不作流程图,子程序见附录。5 总结本次设计相当来说比较简单,对单片机的控制要求不高,只是使用到了中断系统,定时器和几个I/O口,最难的是对硬件电路的设计.硬件电路设计中最难搞的一点就是参数的选取,对于一个完整的电路图而已,要取得电路中的元件参数是难点。对于不同的电压,要选取什么信号的三极管,其最大开关电流是多少,放在电路中会不会烧坏,电阻要选多少才能有效限流等等这些问题,都是一些初学者比较难以搞懂的东西。尤其是交流控制直流那部分,一开始有些想不通,我曾经尝试过用一个NPN型三极

16、管当开关,在集电极处直接接交流负载(交流负载为一个电阻和一个交流接触器线圈串联,而且有24VAC供电),在交流电路和直流电流之间用一个电容连接.(该电容是用来阻挡直流电进入交流电路的)后来觉得不妥,因为即使三极管基极输出高电平,集电极处该有低电平,但是,对于交流电而已,电容本身也是一个阻抗,而且电容一般是uF级别,非常小,从而得到的阻抗也不小,从而可能导致电容上分担了大部分电压,使通过线圈的电流并未减小到线圈释放的程度,从而无法关断电机。因此没有采用此方案,而是采用了24V直流中间继电器来进行过渡,让直流中间继电器的常开触点控制KM1和KM2,达到了不错的效果。设计是一个循行渐进的过程,从中一

17、点一点制作,其实并不会很难,从中还可以学到不少的知识。6 参考文献1 百度百科全自动洗衣机http:/baike。baidu。com/link?url=WwNobnBnfYPyOHx8h2LIlydWDKIXbPleYT0IlBAgj2O9vxkal7nnwD8W6vETfl0OAXSlCqo8A7qCFYt7LfAP1a2 百度百科-三极管8050http:/baike。附录A总体电路图附录B源程序includereg51。hsbit P10=P10;sbit P11=P11;sbit P12=P12;sbit P13=P13;sbit P14=P14;define uchar unsign

18、ed char#define uint unsigned intuint num,num1,num2,flag,num3,num4,num5,num6,t;void init()/中断,定时器的初始化TMOD=0X01;TH0=(65536-50000)/256;TL0=(6553650000)256;EA=1;IT0=1;EX0=1;ET0=1;void dry()/脱水过程,驱动主电机正转if(t=1)P11=1;P10=0;if(num6=300)P11=1;P10=1;num6=0;flag=3;num5=0;void bell()/驱动蜂鸣器10sP14=0;if(num5=10)P

19、14=1;flag=0;TR0=0;num1=0;num2=0;num3=0;num4=0;num5=0;num6=0;void yinwait5min()/驱动注水电机5minif(num1=300)num1=0;P12=0;flag=1;num2=0;void fangwait5min()/驱动放水电机5minif(num4=300)num4=0;P13=0;t=1;num6=0;void xidi()/驱动洗涤电机if(num2=100)P11=1;P10=0;if(num2=200)P10=1;P11=0;num2=0;num3+;if(num3=180)num3=0;flag=2;P

20、11=1;P10=1;num4=0;void main()init();while(1);/等待中断到来void ext0() interrupt 0 /外部中断0函数P12=0;TR0=1;while(flag=0); /等待标志位置1while(flag=1); /等待标志位置2while(flag=2); /等待标志位置3while(flag=3); /等待标志位置0void time_0() interrupt 1 /定时器中断0函数TH0=(6553650000)/256;TL0=(65536-50000)256;num+;if(num=20) num=0; num1+; num2+; num4+; num5+; num6+;if(flag=0)yinwait5min();if(flag=1)xidi();if(flag=2)fangwait5min();dry();if(flag=3)bell();21

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