单片机课程设计---全自动洗衣机控制系统的设计.docx_第1页
单片机课程设计---全自动洗衣机控制系统的设计.docx_第2页
单片机课程设计---全自动洗衣机控制系统的设计.docx_第3页
单片机课程设计---全自动洗衣机控制系统的设计.docx_第4页
单片机课程设计---全自动洗衣机控制系统的设计.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计报告全自动洗衣机控制系统的设计一、设计内容:1、 洗衣机的工作流程:启动打开进水电磁阀注水当水位达到一定高度时,关闭进水电磁阀,准备洗涤电机正传10秒电机暂停5秒电机反转10秒,电机停止打开排水阀排水当水位下降到一定高度时,准备脱水电机高速正传10秒,电机停止关闭排水阀,提示洗衣完毕(声音);2、 有电源指示灯,洗涤状态显示:进水、洗涤、排水、脱水;3、 显示系统运行的时间,格式是:mm-ss;4、 可以设置洗涤时间、水位高度;5、 设置停止键,在洗涤过程中随时可以按键终止,并使显示器清零;6、 可以根据实验装置实际,充分利用所学知识,加入其他功能,提倡创新(可加分);7、 也可以自己拟定题目,以实验装置为平台,完成课程设计,提倡创新(可加分)。二、设计要求1、 能较全面地应用课程中所学的基本理论和基本方法,完成从设计单元电路到设计简单系统的过渡;2、 能独立设计规定的系统;3、 能独立的完成实施过程,包括调试和排除故障。三、设计任务1、 根据单片机资源分配和使用,制定相应的设计方案;2、 说明设计原理、画出设计电路图;3、 软件设计整体流程图;4、 画出各模块的设计图;5、 调试分析,系统调试中碰到的问题和解决方案;6、 提交课程设计报告书,要求同组每人一份:设计任务与要求;设计原理、设计方案、设计电路图;软件设计整体流程图、各模块的设计图;设计、调试和实验中遇到的问题及解决方法;本次课程设计的收获、体会及改进意见和建议。四、设计过程总体流程图进水完成洗衣结束提示进水暂停5秒电机正转10秒开始结束达到低水位是否电机停止,开始排水是电机正转10秒否电机高速旋转10秒电机停止 洗衣机的主要控制功能是靠时间的定时操作来完成的,利用传感器来测量水位等。因此,对于步进电机的开/关和正/反转时间控制以及对于进排水阀门的开关时间控制,都可以利用定时操作程序来控制完成。 本系统硬件上主要由以下几部分组成:定时控制电路、洗衣机功能控制电路和数据采集电路。其中主要包括以下电路。定时控制电路:可以采用单片机内部定时器来实现。该电路定时向系统发出中断请求信号。功能控制电路:洗衣机的进水、洗涤、排水、脱水伴随定时器的控制电路。数据采集电路:主要是由电位器和a/d转换器组成,目的是模拟水位信息,以控制进水排水过程的结束。本次课程设计是利用实验室实验板上所提供的设施实现洗衣机控制系统,我们运用了实验板上的小灯的亮灭来模拟洗衣机的正反转洗衣过程,用单片机内部的定时器来控制电机正反转的时间。甩干脱水过程也是利用的步进电机高速旋转,编程技巧大体相同,但是速度有稍微一点的不同,。进水和排水过程模拟则利用实验板上的显示灯实现 定时器模块利用8031单片机的可编程定时/计数器t0、中断系统来实现时钟计数。(1) 把定时器设为工作方式1,定时时间为100ms,则计数溢出10次即得时钟计时最小单位秒。注释:8031内部定时器有三种工作方式:模式0、模式1、模式2。已知时钟频率为6mhz,模式0最长可定时16.384s,模式1最长可定时131.072s,模式2最长可定时512s。而我们实验需要1s为单位的计时,模式0定时过大,模式2定时过小,实际利用起来模式1最方便。(2)采用中断方式进行溢出次数累计,计满10次为秒计时(1秒);(3)从秒到分和从分到时的计时是通过累加和数值比较实现。 电子钟的时钟时间在六位数码管上进行显示,因此,在内部ram中设置显示缓冲区共8个单元。led6led5led4led3led2led17eh7dh7ch7bh7ah79h时十位时个位分十位分个位秒十位秒个位20h21h22h电子钟设置2个开关通过程序控制来完成电子钟的暂停和清零,分别为接入p3.4口的暂停和接入p3.5口的清零开关。(具体的定时程序参照的是实验板上的定时程序)功能模块1、步进电机我们采用的是四相步进电机,其工作方式有两种:四相四步为ab-bc-cd-da;四相八步为ab-b-bc-c-cd-d-ab。我们采用的是四相四步型的方式驱动通过p1.0-p1.3输入不同的电位获得,顺序如下:顺序相123401100101102001131001注释:由于我们组的试验箱上不存在步进电机,所以我们复用四个小灯来模拟步进电机的状态。2、洗衣结束提示由于在我们组实验装置上没有蜂鸣器,所以我们通过单片机的3.1口来控制一个小灯的闪烁来模拟蜂鸣器的效果。3、洗衣状态显示通过两个指示灯的亮灭来显示此时洗衣机的状态,如下图:00011011进水洗涤排水脱水数据采集模块具体两个的方案如下:1、用4个led灯的组合来表示水位的高低。4个led依次点亮,则说明进水水位的逐次升高 。此方案在一定程度上可以模拟洗衣机的进水状态,但人机交互较差,模拟洗衣机只能按照既定程序执行,不能客观的反应现实中洗衣机的进水工作状态, 2、用电位器来模拟水位信号,通过a/d转化芯片0809将水位模拟信号转化为数字量输入单片机处理。通过调节阻尼器,可以模拟水位的上升、下降。采集点较多,采集的信号较为连续,能够客观的反映洗衣机进水状态。根据一开始的思路,我们会采用电位器来模拟水位,通过电位器两端的电压传给ad来模拟水位的变化。后来因为实际的操作问题,我们最后采用了利用小灯来显示水位的高低。虽然人机交互比较差,但是更加形象。软件设计(流程图及源程序)洗涤程序是电机正转正转时间是否达到预定时间?否是暂停5秒电机反转否反转时间是否达到预定时间?结束洗涤wash:cjne r6,#00h,right cjne r5,#00h,del cjne r7,#00h,left mov 74h,#0fh mov 75h,#0ffh setb p3.2 clr p3.3 retright:dec r6 mov a,70h rr a mov 70h,a mov p1,a retdel:dec r5 retleft:dec r7 mov a,70h rl a mov 70h,a mov p1,a ret结束显示程序显示内容送入缓存区设置缓冲区指针取数据段码送入8155的b口延迟一段时间位选端口移向高位显示到达最高位是否缓冲区指针自加进水程序延时等待依次亮灯是否达到预定水位高度?否是结束进水tab:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h ;db 88h,83h,0c6h,0a1h,86h,8eh disp:setb 0d4h mov r1,#7eh mov r2,#20h mov r3,#00h dis1:mov dptr,#0ff21h mov a,r2 movx dptr,a mov dptr,#tab mov a,r1 movc a,a+dptr mov dptr,#0ff22h movx dptr,a dis2:djnz r3,dis2 dec r1 clr c mov a,r2 rrc a mov r2,a jnz dis1 mov a,#0ffh mov dptr,#0ff22h movx dptr,a clr 0d4h retmov a,#00h mov p1,a lcall delay setb p1.0 lcall delay setb p1.1 lcall delay setb p1.2 lcall delay setb p1.3 lcall delay lcall delay排水程序延时等待依次灭灯是否降到预定水位高度?结束排水脱水程序电机正转正转时间是否达到预定时间?否是结束脱水 pai: mov a,73h mov p1,a subb a,#1h rr a mov 73h,a cjne a,#00h,s setb p3.2 setb p3.3 mov 71h,#0fh s:nop retdep: mov a,72h cjne a,#00h,dep1 mov a,#00h mov p1,a clr p3.2 clr p3.3 clr tr0 ljmp shandep1:dec 72h mov a,70h rl a mov 70h,a mov p1,a ret五、设计过程中的问题及解决方法在此次课程设计的过程中,遇到了不少问题特别是对于硬件的设计,有好多东西在寝室的时候想当然的就是那样。但是到实验室后发现得出的现象确实有很大的出入,导致好多东西实现起来显得很难。对于洗衣机控制系统,看到硬件原来电路图,我们首先想到的是这个水位传感器电路怎么实现,很明显在这个实验板上无法做出一个水位传感器,但是不设计出来又不行,最后我们打算用电位器来模拟,但是我们调ad的时候遇上了很大的困难,这也是我们本次课程设计的一个遗憾吧,由于种种原因我们最终没有采用电位器来模拟水位的高低。最后我们采用小灯来模拟水位的高低,这样子是的整个实验更加形象一点,但是也使得整个系统略显呆板。同时由于我们组的实验板上一些器件的缺失,使得我们不得不选择替代物来模拟,比如通过四个小灯的状态来模拟四相四步的步进电机的状态,通过一个小灯的闪烁来模拟蜂鸣器的报警。六、收获和体会 本次课程设计时间虽然不是很长,但是通过10天的实验,我学会了很多,也体会到了课程设计在学习中的重要性. 平常在教室里学到的知识都是零散的,粗略的。但是通过在实验室的课程设计,我们学会了怎样把在书本的知识运用到实践中,这样我们才能更好的把学到的知识融会贯通,加以利用!通过此次洗衣机控制系统的设计,让我一开始就开动脑子,从怎么把这个系统设计出来,在脑中构思,怎么把一个个要求都表现出来,开始这些对我都比较陌生,甚至开始的时候都不知道从何下手,有时都有点手足无措!但是当我坚持下来后,发现其实设计起来也并不是想象中的那么难,只要我用心了,付出了一些思路都慢慢的清晰起来!从一开始的不懂到慢慢的知道该怎么样去做,这其中的过程也许真的很难,但是最后做完那一刻,心中却是会有那丝丝甜美之感!课程设计的过程中,我用到了8031 0809 8155等芯片,通过这次设计,我学会了灵活运用芯片,也深切的理解了其工作原理,内部结构和各引脚功能以及他们的工作方式等。我感觉汇编语言比c语言更难懂,因为是机器语言,让人看起来也比较费神,加上学习过程中,对汇编这不分知识掌握得也不是很牢固,所以做起来也确实困难重重,偶尔遇到一个不懂得难题,要翻上几本书才能解决,不过就是这样,在这个过程中,我明白了查资料的重要性,好多东西是自己见识得太少,有些不

温馨提示

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

评论

0/150

提交评论