




免费预览已结束,剩余23页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘要i1 绪论31.1全自动洗衣机的介绍及设计目的31.2全自动洗衣机的设计方案3 1.2.1按键3 1.2.2洗衣程序4 2硬件电路介绍52.1 cpu选型52.2 89c51的存储器与寄存器62.3 显示器73软件设计83.1软件流程图及代码8 3.1.1寄存器8 3.1.2流程图及其代码9设计心得与体会26参考文献27摘 要基于模糊控制的全自动洗衣机自动控制系统, 所有的电路都是在单片机的控制下工作的,目前通常采用的是motorola公司的mc6805系列的单片机,而本设计中采用了intel公司的89c51作为控制核心,以单片机89c51为核心结合接口芯片及外围电路以实现洗衣机的智能控制。其中模糊控制器的设计是关键环节,采用传感器检测洗衣过程必需的物理量,进入模糊控制器,通过模糊推理,实现对洗衣机自动识别衣质、衣量,自动识别肮脏程度,自动决定水量,自动投入恰当的洗涤剂等功能的控制。本设计在洗涤过程中采用了实时模糊控制,提高洗衣质量,节约能源。硬件结构框图及软件流程图是该系统的重要组成部分,在整个控制过程中,模糊控制软件起了决定性的作用。ii1 绪 论1.1全自动洗衣机的介绍洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,而全自动式洗衣机因使用方便更加得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可选择不同的洗涤方式。1.1.1全自动洗衣机的设计目的目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、暂停等七大功能,在许多方面还不能达到人们的需求。这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。目前的洗衣机都没有实现全方面的兼容,大多洗衣的厂家都注重各自品牌的洗衣机的特长,突出一两个与别的洗衣机不同的个性化的功能,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。1.2全自动洗衣机的设计方案本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、漂洗、排水和脱水等阶段。控制系统主要由电源电路、数字控制电路和机械控制电路三大模块构成。电源采用三端集成固定稳压器7805提供+5v电源,数字控制电路负责控制洗衣机的工作过程,主要由at89s51单片机、三位共阴数码管、按键、蜂鸣器、led指示灯组成;机械控制电路实现传感器检测、电机驱动、进水、排水等功能,主要由水位检测器、电动机、传动系统部件、进水排水电磁阀组成。1.2.1按键洗衣机面板上有6个按钮k1、k2、k3、k4、k5和k6k1为启动暂停键:按奇数次视为启动,偶数次视为暂停。k2用于洗衣程序选择:按一下选择洗涤,按两下选择漂洗,按三下选择脱水。k3用于洗衣方式选择:按一下选择标准洗方式,按两下选择快速洗方式,按三下选择轻柔洗方式。k4用于水位选择:按一下进水至低水位,按两下进水至中水位,按三下进水至高水位。k5用于时间选择:按一下洗衣时间短,按两下洗衣时间适中,按三下洗衣时间长。1.2.2洗衣程序洗涤过程通电后,若不选择洗衣周期,则洗衣机从洗涤过程开始。进入洗涤过程,首先进水阀接通,开始向洗衣机供水,当到达要求水位时,进水阀断电关闭,停止进水;电机m接通,带动波轮旋转,形成洗衣水流。电机m是一个正反转电机,可以形成往返水流,有利于洗涤衣物。漂洗过程与洗涤过程操作相同,只是时间短一些。脱水过程洗涤或漂洗过程结束后,电机m停止转动,排水阀m接通,开始排水。排水阀动作的同时,电机m也接通,使电机可以带动内桶转动。当水位低到一定值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。2 硬件电路介绍针对上文的功能,硬件电路应包括七个部分:微处理器控制电路、显示电路、采样电路、电机控制电路、进水阀控制电路、排水阀控制电路和按键报警电路。通过这几个部分电路的协调工作,洗衣机能模拟人脑进行操作。2.1 cpu选型51系列51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不仅能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑运算的实属少见。51系列在片内ram区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20h2fh,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00h7fh),使用极为灵活。这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。有的单片机并不能直接对ram单元中的位进行操作,如avr系列单片机中,若想对ram中的某位置位时,必须通过状态寄存器sreg的t位进行中转。51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令就行了,即 mulab(两个乘数分别在累加器a和寄存器b中。积的低位字节在累加器a中,高位字节在寄存器b中)。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。51系列的i/o脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各i/o口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。低电平时,吸入电流可达20ma,具有一定的驱动能力;而为高电平时,输出电流仅数十a甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力。其原因是高电平时該脚也同时作输入脚使用,而输入脚必须具有高的输入阻抗,因而上拉的电流必须很小才行。作输出脚使用,欲进行高电平驱动时,得利用外电路来实现,i/o脚不通,电流经r驱动led发光;低电平时,i/o脚导通,电流由该脚入地,led灭(i/o脚导通时对地的电压降小于1v,led的域值1.51.8v)。综上所述,我们本次设计采用51系列,而51系列的典型产品是8051。8051是一种40引脚双列直播式芯片。它含有4kb可反复烧录及擦除内存和128字节的ram,有32条可编程控制的i/o线,5个中断发源,指令与mcs-51系列完全兼容。选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。选用它设计制作全自动洗衣机控制电路,该电路的组成相对简单,工作原理清晰,易于理解。89c51引脚图如图2-1所示。图2-189c51引脚图2.2 89c51的存储器与寄存器89c51单片机存储器才用的是哈佛(harvard)即程序存储器空间和数据存储器空间是各自独立的,两种存储器各自有自己的寻址方式和寻址空间。这种结构对于单片机“面向控制”的实际应用极为方便、有利。89c51单片机程序存储器和数据存储器的扩展能力分别可达64kb,寻址和操作简单方便。89c51的存储器空间可划分为5类:程序存储器、内部数据存储器、特殊功能寄存器、为地址空间和外部数据寄存器。2.3显示器本次设计中我们采用的是3位共阴极数码管,其中段码线占用1个8位i/o口,而位选占用3位i/o口。由于各位的段码线并联,8位i/o口输出的段码对各个显示位来说都是相同的。因此,在同一时刻,如果各位位选都处于选通状态的话,3位led将显示相同的字符。若要各位led能够显示出与本位相应的显示字符,就必须采用动态显示,即在某一时刻,只让一位的位选线处于选通状态,而其他各位的位选处于关闭状态,同时,段码线上输出相应位要显示的字符段码。这样,在同一时刻,3位led中只有选通的那位显示字符,而其他2位则是熄灭的。同样,在下一时刻,只让下一位的位选处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位都是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于led显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位 同时亮的假象,达到同时显示的效果。led不同位显示的时间间隔应根据实际情况而定。发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于临界闪烁频率,而且时间越长,占用cpu时间也越多,本次设计我们采用1ms延时。283 软件设计3.1软件流程图及代码3.1.1寄存器 表3-1寄存器寄存器注释r4,r5比较标准值r4高位,r5低位r6,r7a/d转换结果r6高位,r7低位20h衣量多位21h衣量少位22h衣量适中位23h化纤多位24h棉多位27h1s中断标志位2ah1s中断次数30h,31h洗涤时间32h,33h漂洗时间34h,35h脱水时间36h,37h排水时间38h漂洗次数3ah电机正转时间3bh电机反转时间3ch电机转速3d洗涤量投放时间40h显示分缓存器41h显示秒十缓存器42h显示秒个缓存器44h零水位45h低水位46h中水位47h高水位48h水位检测值50h启动/暂停键按键次数51h程序键按键次数52h选择键按键次数53h水量键按键次数54h时间键按键次数3.1.2流程图及其代码本次设计是分模块进行编写的,以下就是各模块的流程图及其代码。1.主程序流程图如图3-2程序代码: main: mov sp,#60 lcall chushi ;调初始化程序 setb ea ;cpu允许中断 mov tmod,#01h ;设置定时器t0方式1 mov 28h,#0ah ;装入定时中断次数 loop: lcall xianshi ;调显示子程序 lcall janpan ;调键盘扫描子程序 sjmp loop 图3-2主程序流程图图3-3 键盘扫描子程序流程图 程序代码:jianpan: jb p1.0,k2 ;判断是k1键按下吗,不是则转k2 lcall dl10ms ;调10ms延时消抖 jb p1.0,k2 ;再次读p1.0状态,若仍为0,则k1键确实按下 lcall pk1 ;调 pk1处理k2: jb p1.1,k3 ;判断是k2键按下吗,不是则转k3 lcall dl10ms ;调10ms延时消抖jb p1.1,k3 ;再次读p1.0状态,若仍为0,则k2键确实按下lacll pk2 ;调 pk2处理k3: jb p1.2,k4 ;判断是k3键按下吗,不是则转k4 lcall dl10ms ;调10ms延时消抖 jb p1.2,k4 ;再次读p1.2状态,若仍为0,则k3键确实按下 lcall,pk3 ;调pk3处理k4: jb p1.3,k5 ;判断是k4键按下吗,不是则转k5 lcall dl10ms ;调10ms延时消抖 jb p1.3,k5 ;再次读p1.3状态,若仍为0,则k4键确实按下 lcall pk4 ;调pk4处理k5: jb p1.4,return ;判断是k5键按下吗,不是则转k6 lcall dl10ms ;调10ms延时消抖 jb p1.4,return ;在此读p1.4状态,若仍为0,则k4键确实按下 lcall pk5 ;调pk5处理return: retpk1: inc 50h ;按键次数加1 mov a,50h ;判断是奇数次按下吗 mov b,#2 div ab mov a,b jz a,zaiting ;若为偶数次按下,则转暂停状态 lcall yunzhuan ;若为奇数次按下,则进入运转程序zanting: inc 50h ;按键次数加1 mov a,50h ;判断是奇数次按下吗 mov b,#2 div ab mov a,b jz a,zanting ;若为偶数次按下,则暂停 lcall yunzhuan ;若为奇数次按下,则进入运转程序return: ret2. 显示子程序流程图如图3-4所示 程序代码:xianshi: mov r0,40h ;置缓冲器指针初值 mov r2,#01h ;置位选初值 mov a,r2ld0: mov dptr,#7f03h ;位选送8155c口 mov dptr,a dec dptr dec dptr mov a,r0 add a,#0dh ;加偏移量 movc a,a+pcdir1: movx dptr,a ;段码送8155a口 acall dl1ms ;调1ms延时 inc r0 mov a,r2 jb acc.2,ld1 ;三位都显示完了吗 rl a ;没完,显示位右移 mov a,r2 ajmp ld0ld0: retdseg: db 3fh,06h,5bh,4fh,66h,6dh db 7dh,07h,7fh,6fh,77h,7ch db 39h,5eh,79h,71h,73h,3eh db 31h,6eh,1ch,23h,40h,03h db 18h,00dl1ms: mov r7,02hdl: mov r6,#0ffhdl6: djnz r6,dl6 djnz r7,dlld1: ret图3-4显示子程序流程图 3.程序设置子程序流程图如图3-5所示。图3-5程序设置子程序流程图程序代码:pk2: inc 51h ;按键次数加1 mov a,51h cjnz a,#1,l2 ;是第一次按下吗,不是转l2 lcall xidi ;是第一次按下,则调用洗涤子程序l2: cjnz a,#2,l3 ;是第二次按下吗,不是转l3 lcall piaoxi ;是第二次按下,则调用漂洗子程序l3: cjnz a,#3,return ;是第三次按下吗,不是则返回 lxall tuoshui ;是第三次按下,则调用脱水子程序return: ret4.水量设置子程序流程图如图3-6所示图3-6水量设置子程序流程图程序代码:pk4: inc 53h ;按键次数加1 mov a,53h cjne a,#1,l6 ;是第一次按下吗,不是转l6 mov 45h, #08h ;是第一次按下,则进水至低水位l6: cjne a,#2,l7 ;是第二次按下吗,不是转l7 mov a,46h,#09h ;是第二次按下,则进水至中水位l7: cjne a,#3,returen ;是第三次按下吗,不是则返回 mov a,47h,#10h ;是第三次按下,则进水至高水位return: ret5.时间设置子程序流程图如图3-7所示图3-7时间设置子程序流程图程序代码:pk5: inc 54h ;按键次数加1 mov a,54h cjne a,#1,l8 ;是第一次按下吗,不是转l8 mov 48h,#01h ;是第一次按下,则时间选择5min mov 49h,#2chl8: cjne a,#2,l9 ;是第二次按下吗,不是转l9 mov 48h,#02h ;是第二次按下,则时间选择10min mov 49h,#58hl9: cjne a,#3,return ;是第三次按下吗,不是则返回 mov 48h,#38h ;是第三次按下,则时间选择15min mov 49h,#40hreturn: ret6. 运转程序流程图如图3-8所示。图3-8运转程序流程图程序代码:yunzhuan: lcall panduan ;调判断子程序 jz ld1 ;为1为全自动 lcall jianpanld1: lcall jiance lcall xidi lcall paishui retpanduan: orl a,51h ;各按键次数相与,为1为全自动 orl a,52h orl a,53h orl a,54h ret7.时间确定子程序流程图如图3-9所示图3-9时间确定子程序流程图程序代码:shijian: mov a,20h ;各位相与确定洗涤时间 anl a,23h anl a,26h jz ld9 mov a,21h anl a,24h anl a,25h jz ld10 mov 30h,#02h ;洗涤时间适中 mov 31h,#58h mov 83h,#9 ;洗涤倒计时暂存 mov 84h,#5mov 85h,#9ajmp returnld9: mov 30h,#38h ;洗涤时间长 mov 31h,#40h mov 83h,#0eh mov 84h,#5 mov 85h,#9 ajmp returnld10: mov 30h,#01h ;洗涤时间短 mov 31h,#2ch mov 83h,#4 mov 84h,#5 mov 85h,#9return: ret8.进水子程序流程图如图3-10所示程序代码:jinshui: clr p2.4 ;开进水阀 loop4: lcall shuijian ;调水位检测 mov a,48h cjne a,45h,ld11 ;检测值与标准值比较 ajmp l10ld11: cjne a,46h,ld12 ajmp l10ld12: cjne a,47h,loop4l10: setb p2.4 ;若水位到了,关闭进水阀 ret图3-10进水子程序流程图9.漂洗子程序流程图如图3-11所示。图3-11漂洗子程序流程图程序代码:piaoxi: mov dptr,#7f02h ;漂洗灯亮mov a,#0fdhmovx dptr,alcall puanduan ;判断是全自动吗jz ld4 ;是全自动转 lcall jianpanld4: lcall yipiao ;调一漂lcall erpiao ;调二漂djnz 38h,ld4 ;两次漂洗都完了吗mov dptr,#7f02h ;灭漂洗灯mov a,#0fehmovx dptr,aret10.脱水子程序流程图如图3-12所示。 图3-12 脱水子程序流程图程序代码tuoshui: mov dptr,#7f02h ;脱水灯亮mov a,#0f7hmovx dptr,alcall puanduan ;判断是全自动吗jz ld15 ;是全自动转lcall jianpanld15: mov 3ch,#0b0h ;置脱水转速clr p2.3 ;开排水阀clr p2.0 ;启动电机setb tr1 ;开定时器mov 40h,80h ;显示脱水倒计时时间mov 41h,81hmov 42h,82hloop9: jnb 27h,loop9clr 27hdec 34hcjne 34h,#00h,loop9dec 35hcjne 35h,#00h,loop9 ;脱水时间到了吗clr tr1 ;到了,关定时器setb p2.3 ;关排水阀setb p2.0 ;停止电机mov dptr,#7f02h ;灭脱水灯mova,#0ffhmovx dptr,aret11.排水子程序流程图如图3-13所示。图3-13排水子程序流程图程序代码paishui: clr p2.0 ;启动电机clr p2.3 ;开排水阀和排水灯mov dptr,#7f02h ;读8155pb口状态movx a,dptranl a,#0ffh ;判断是洗涤还是漂洗cjne a,#0feh,ld16lcall zhuodu1 ;是洗涤调污浊度1检测ld16: cjne a,#0fdh,ld17 lcall zhuodu ;是漂洗调污浊度检测ld17: setb tr1 ;开定时器 lcall shuijian ;调水位检测 cjne 48h,#00h,ld18 ;是0水位吗ld18: setb p2.0 ;是停止电机setb p2.3 ;关排水阀,灭排水灯ajmp return ;返回loop10: jnb 27h,loop10 ;不是0水位,判断5分钟到了吗clr 27hdec 36hcjne 36h,#00h,loop10dec 37hcjne 37h,#00h,loop10 lcall baojing3 ;到了,报警return: retbaojing3: mov 40h,#0ehmov 41h,#0mov 42h,#3clr p1.7jb p1.5,baojing3setb p1.7ret 设计心得与体会本课题设计的模糊控制洗衣机系统,充分应用了模糊控制技术,单片机在测控领域的应用技术,既有硬件设计又有软件编程,实现洗衣机的真正全自动控制,一个按钮就能完成洗衣的全过程。本设计系统的特点有:分别由ts浊度传感器、负载传感器和水温传感器检测到衣物的污浊度,重量,质地和水温,通过洗衣之前的模糊推理来决定洗涤剂的投放时间、洗涤时间、水位、脱水时间。在洗涤过程中采取实时模糊控制,洗涤时间和漂洗时间由实时模糊控制器决定。既能保证洗净衣物又使洗涤时间短,减少衣物的磨损。使洗衣机具有智能化,最大限度地提高洗涤效果,节约能源及水量,使洗衣机达到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金华东阳市人民医院招聘编外人员8人考前自测高频考点模拟试题含答案详解
- 2025重庆广播电视集团所属企业招聘人工智能工程师解决工程师4人笔试历年参考题库附带答案详解
- 2025华夏银行社会招聘模拟试卷附答案详解(模拟题)
- 2025辽宁沈阳市能源集团所属铁法能源公司招聘57人笔试历年参考题库附带答案详解
- 2025贵州习水县红景公司招聘3人笔试历年参考题库附带答案详解
- 2025福建漳州片仔癀药业股份有限公司市属国企应届毕业生专场招聘福建农林大学“青春筑梦国企同行”和华阳体育馆书记市长送岗笔试历年参考题库附带答案详解
- 2025广东佛山市高明区选聘9名公办初中校长考前自测高频考点模拟试题带答案详解
- 2025江西赣州市宁都县翠微旅游资源开发有限公司职业经理人招聘1人笔试历年参考题库附带答案详解
- 2025九洲集团成都创智融合科技有限公司招聘系统岗等测试(四川)笔试历年参考题库附带答案详解
- 2025“才聚齐鲁成就未来”山东黄金集团井下技能工人招聘2025人笔试历年参考题库附带答案详解
- 华附国际部英语数学试卷
- 高龄妊娠孕期管理课件
- 2025即时零售行业规模消费场景及头部平台美团京东淘宝对比分析报告
- 高密财政债务管理办法
- 观光园艺课件教学
- 英语的历史课件
- 华兴数控WA-32XTA用户手册
- 生成式AI在动画短片场景设计中的创新应用
- 《铁路路基施工与维护》高职高速铁路施工与维护全套教学课件
- 2025-2030年中国手持三维激光扫描仪行业市场深度分析及发展趋势与投资前景研究报告
- 2025-2030中国中药材银杏叶行业供需格局及未来销售渠道趋势报告
评论
0/150
提交评论