毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统

上传人:仙*** 文档编号:28608602 上传时间:2021-09-02 格式:DOC 页数:71 大小:3.94MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统_第1页
第1页 / 共71页
毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统_第2页
第2页 / 共71页
毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统_第3页
第3页 / 共71页
资源描述:

《毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于模糊控制单片机的全自动洗衣机自动控制系统(71页珍藏版)》请在装配图网上搜索。

1、目 录目 录1 绪论11.1全自动洗衣机的介绍1 1.1.1全自动洗衣机的发展背景1 1.1.2全自动洗衣机的发展前景1 1.1.3全自动洗衣机的设计目的2 1.1.4模糊控制理论简介21.2全自动洗衣机的设计方案3 1.2.1按键3 1.2.2洗衣机的自检3 1.2.3洗衣程序3 1.2.4显示4 1.2.5传感器42硬件电路介绍52.1 CPU选型52.289C51的存储器与寄存器72.3A/D转换器72.4传感器102.5显示器113软件设计143.1全自动洗衣机中的模糊控制143.1.1模糊控制器143.1.2模糊控制实现方法143.2软件流程图及代码15 3.2.1寄存器15 3.2

2、.2流程图及其代码163.3伟福仿真器523.3.1伟福仿真器简介523.3.2伟福仿真器特点53 结论54致谢55参考文献56附录A程序代码60附录B原理图69摘 要摘 要基于模糊控制的全自动洗衣机自动控制系统, 所有的电路都是在单片机的控制下工作的,目前通常采用的是Motorola公司的MC6805系列的单片机,而本设计中采用了Intel公司的89C51作为控制核心,以单片机89C51为核心结合接口芯片及外围电路以实现洗衣机的智能控制。其中模糊控制器的设计是关键环节,采用传感器检测洗衣过程必需的物理量,进入模糊控制器,通过模糊推理,实现对洗衣机自动识别衣质、衣量,自动识别肮脏程度,自动决定

3、水量,自动投入恰当的洗涤剂等功能的控制。本设计在洗涤过程中采用了实时模糊控制,提高洗衣质量,节约能源。硬件结构框图及软件流程图是该系统的重要组成部分,在整个控制过程中,模糊控制软件起了决定性的作用。关键词: 模糊控制;单片机;全自动洗衣机I河北工程大学毕业设计说明书1 绪 论1.1全自动洗衣机的介绍洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,而全自动式洗衣机因使用方便更加得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可选择不同的洗涤方式。1.1.1全自动洗衣机的发展背景从古到今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出

4、现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓、棒击、冲刷、甩打这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。1858年,汉密尔顿史密斯制成了世界上第一台洗衣机。1874年,“手洗时代”受到了前所未有的挑战,美国人比尔布莱克斯发明了世界上第一台人工搅动洗衣机。1911年美国人又研制了世界上第一台电动洗衣机。1920年美国的玛依塔格公司又把洗衣机的木制桶改为铝制桶体,第二年又把铝制桶体改为外层铸铝、内层为铜板的双层结构。1936年,他们又将搪瓷用于洗衣机桶体。与此同时,世界各地也相继出现了洗衣机。欧洲国家研究成功了喷流式洗衣机和滚筒式洗衣机。1932年后,美国一家公

5、司研制成功了第一台前装式滚筒全自动洗衣机,洗涤、漂洗和脱水都在同一个滚筒内自动完成,使洗衣机的发展跃上了一个新台阶。这种滚筒洗衣机,目前在欧洲、美洲等地得到了广泛的应用。第二次世界大战结束后,洗衣机得到了迅速的发展,研制出具有独特风格的波轮式洗衣机。这种洗衣机由于其波轮安装在洗衣桶底,又称涡卷式洗衣机。近几十年,在工业发达国家,全自动洗衣机制造技术又得到迅速发展,其年总产量及社会普及率均以达到相当高得水平。1.1.2全自动洗衣机的发展前景全自动洗衣机的发展首先表现在洗涤方式发生巨大变化。原先大多侧重于水流的改变、动力的加大。现在,超音波、电解水、臭氧和蒸汽洗涤的运用,使洗衣机的去污能力从单纯依

6、靠洗衣粉、洗涤剂的化学作用和强弱变化的水流机械作用,向更高层次的健康、环保洗涤方式转变,特别是电解水、超音波技术在洗衣机行业的运用几乎改变了洗衣机的历史洗衣不用或少用洗衣粉、洗涤剂,减少化学品对皮肤的损害和对环境的污染。电解水、臭氧、蒸汽的杀菌除味及消毒功能倍受青睐,引发了洗衣机消费健康潮。另一变化就是高度自动化、智能化、人性化。从半自动、全自动到现在流行的人工智能、模糊控制,只需按一下按钮一切搞定!同时,用户可以按照自己的洗衣习惯,自主选择时间和方式,自编和记忆程序让用户真正做到随心所欲。人性化还表现在使用的方便和舒适,如子母分洗洗衣机可以做到不同衣物分开洗;斜桶和顶开滚筒可以做到取放衣物方

7、便不需深弯腰;蒸汽烘干功能使得晾晒更加方便,DD直驱电机在节能降噪方面效果更加突出,等等。 另外,大容量成为不变的消费趋势。前几年,洗衣机容量多为4-5公斤,6公斤的大容量尚很少见。现在,7公斤的容量已经很普遍,8公斤也正常。现代人居空间不断扩大,对宽敞、舒适、方便要求更多,大能容小,大容量洗衣机一台可顶一套。业内人士表示,尖端洗涤技术的革新,所表现出的洗衣方式更加注重健康和个性化,已在市场发展中倍受欢迎。1.1.3全自动洗衣机的设计目的目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、暂停等七大功能,

8、在许多方面还不能达到人们的需求。这就要求设计者们有更高的专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设计出更节能、功能更全面、更人性化的全自动洗衣机。目前的洗衣机都没有实现全方面的兼容,大多洗衣的厂家都注重各自品牌的洗衣机的特长,突出一两个与别的洗衣机不同的个性化的功能,洗衣机的各项功能是由单片机控制实现的,单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。1.1.4模糊控制理论简介模糊控制是近代控制理论中建立在模糊集合轮上基础上的一种基于语言规则与模糊推理的控制理论,它是智能控制的一个重要分支。与传统控制理论相比,模糊控

9、制有两大不可比拟的优点:第一,模糊控制在许多应用中可以有效且便捷的实现人的控制策略和经验,这一优点自从模糊控制诞生以来就一直受到人们密切的关注;第二,模糊控制不需要被控对象的数学模型即可实现较好的控制,这是因为被控对象的动态特性已隐含在模糊控制器输入、输出模糊集及模糊规则中。所以模糊控制被越来越多的应用于各个领域,尤其是被广泛应用于家电系列中,基于模糊控制的洗衣机就是其中的一个典型实例。1.2全自动洗衣机的设计方案本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、漂洗、排水和脱水等阶段。控制系统主要由电源电路、数字控制电路和机械控制电路三大模块构成。电源采用三端集成固定稳压器78

10、05提供+5V电源,数字控制电路负责控制洗衣机的工作过程,主要由AT89S51单片机、三位共阴数码管、按键、蜂鸣器、LED指示灯组成;机械控制电路实现传感器检测、电机驱动、进水、排水等功能,主要由水位检测器、电动机、传动系统部件、进水排水电磁阀组成。1.2.1按键洗衣机面板上有6个按钮K1、K2、K3、K4、K5和K6K1为启动暂停键:按奇数次视为启动,偶数次视为暂停。K2用于洗衣程序选择:按一下选择洗涤,按两下选择漂洗,按三下选择脱水。K3用于洗衣方式选择:按一下选择标准洗方式,按两下选择快速洗方式,按三下选择轻柔洗方式。K4用于水位选择:按一下进水至低水位,按两下进水至中水位,按三下进水至

11、高水位。K5用于时间选择:按一下洗衣时间短,按两下洗衣时间适中,按三下洗衣时间长。1.2.2洗衣机自检洗衣机上电后,先进行自检,包括检查安全开关,排水阀状态,进水阀工作过程,电机的运转等,若发现异常现象则蜂鸣器响,报警灯亮。1.2.3洗衣程序洗涤过程通电后,若不选择洗衣周期,则洗衣机从洗涤过程开始。进入洗涤过程,首先进水阀接通,开始向洗衣机供水,当到达要求水位时,进水阀断电关闭,停止进水;电机M接通,带动波轮旋转,形成洗衣水流。电机M是一个正反转电机,可以形成往返水流,有利于洗涤衣物。漂洗过程与洗涤过程操作相同,只是时间短一些。脱水过程洗涤或漂洗过程结束后,电机M停止转动,排水阀M接通,开始排

12、水。排水阀动作的同时,电机M也接通,使电机可以带动内桶转动。当水位低到一定值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。1.2.4显示洗涤、漂洗及脱水时间都通过倒计时的方式显示在3个LED上,依次为分位,秒十位和秒个位,此外,还有发现异常现象时错误信息的显示。1.2.5参数处理要对洗衣机进行控制,首先要用各种传感器不断地检测相关的状态,以作为控制的依据。其中,污浊度传感器,温度传感器和负载传感器是模拟信号,需要经过A/D转换变成数字信号,而水位传感器本身就是数字信号,单片机接受到这些传感器的信号以后,经过一系列处理作出反应,从而控制洗衣机的工作。682 硬件电路介绍针对上文的

13、功能,硬件电路应包括七个部分:微处理器控制电路、显示电路、采样电路、电机控制电路、进水阀控制电路、排水阀控制电路和按键报警电路。通过这几个部分电路的协调工作,洗衣机能模拟人脑进行操作。2.1CPU选型PIC系列PIC单片机系列是美国微芯公司(Microchip)的产品,它的CPU采用RISC结构,分别有33、35、58条指令,属精简指令集。采用Harvard双总线结构,运行速度快,它能使程序存储器的访问和数据存储器的访问并行处理,这种指令流水线结构,在一个周期内完成两部分工作,一是执行指令,二是从程序存储器取出下一条指令,这样总的看来每条指令只需一个周期,这也是高效率运行的原因之一。此外,它还

14、具有低工作电压、低功耗、驱动能力强等特点。PIC系列单片机共分三个级别,即基本级、中级、高级。PIC系列单片机的I/O口是双向的,其输出电路为CMOS互补推挽输出电路。I/O脚增加了用于设置输入或输出状态的方向寄存器,当置位1时为输入状态,且不管该脚呈高电平或低电平,对外均呈高阻状态;置位0时为输出状态,不管该脚为何种电平,均呈低阻状态,有相当的驱动能力,低电平吸入电流达25mA,高电平输出电流可达20mA。该系列单片机的专用寄存器(SFR)并不像51系列那样都集中在一个固定的地址区间内(80FFH),而是分散在四个地址区间内。只有5个专用寄存器,得反复地选择对应的存储体,这多少给编程带来了一

15、些麻烦。AVR系列AVR单片机是Atmel公司推出的较为新颖的单片机,其显著的特点为高性能、高速度、低功耗。它取消机器周期,以时钟周期为指令周期,实行流水作业。AVR单片机指令以字为单位,且大部分指令都为单周期指令。而单周期既可执行本指令功能,同时完成下一条指令的读取。通常时钟频率用48MHz,故最短指令执行时间为250125ns。该系列的型号较多,但可用下面三种为代表:AT90S2313(简装型)、AT90S8515、AT90S8535(带A/D转换)。 通用寄存器一共32个(R0R31),前16个寄存器(R0R15)都不能直接与立即数打交道,因而通用性有所下降。AVR系列没有类似累加器A的

16、结构,它主要是通过R16R31寄存器来实现A的功能。在AVR中,没有像51系列的数据指针DPTR,而是由X(由R26、R27组成)、Y(由R28、R29组成)、Z(由R30、R31组成)三个16位的寄存器来完成数据指针的功能(相当于有三组DPTR),而且还能作后增量或先减量等的运行。51系列51系列优点之一是它从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,或布尔处理器。它的处理对象不是字或字节而是位。它不仅能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。虽然其他种类的单片机也具有位处理功能,但能进行位逻辑

17、运算的实属少见。51系列在片内RAM区间还特别开辟了一个双重功能的地址区间,十六个字节,单元地址20H2FH,它既可作字节处理,也可作位处理(作位处理时,合128个位,相应位地址为00H7FH),使用极为灵活。这一功能无疑给使用者提供了极大的方便,因为一个较复杂的程序在运行过程中会遇到很多分支,因而需建立很多标志位,在运行过程中,需要对有关的标志位进行置位、清零或检测,以确定程序的运行方向。而实施这一处理(包括前面所有的位功能),只需用一条位操作指令即可。有的单片机并不能直接对RAM单元中的位进行操作,如AVR系列单片机中,若想对RAM中的某位置位时,必须通过状态寄存器SREG的T位进行中转。

18、51系列的另一个优点是乘法和除法指令,这给编程也带来了便利。八位除以八位的除法指令,商为八位,精度嫌不够,用得不多。而八位乘八位的乘法指令,其积为十六位,精度还是能满足要求的,用的较多。作乘法时,只需一条指令就行了,即 MULAB(两个乘数分别在累加器A和寄存器B中。积的低位字节在累加器A中,高位字节在寄存器B中)。很多的八位单片机都不具备乘法功能,作乘法时还得编上一段子程序调用,十分不便。51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。低电平时,吸入电流可达20mA,具有一定的

19、驱动能力;而为高电平时,输出电流仅数十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线

20、,5个中断发源,指令与MCS-51系列完全兼容。选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。选用它设计制作全自动洗衣机控制电路,该电路的组成相对简单,工作原理清晰,易于理解。89C51引脚图如图2-1所示。图2-189C51引脚图2.289C51的存储器与寄存器89C51单片机存储器才用的是哈佛(Harvard)即程序存储器空间和数据存储器空间是各自独立的,两种存储器各自有自己的寻址方式和寻址空间。这种结构对于单片机“面向控制”的实际应用极为方便、有利。89C51单片机程序存储器和数据存储器的扩展能力分别可达64KB,寻址和操作简单方便。89C51的存储器

21、空间可划分为5类:程序存储器、内部数据存储器、特殊功能寄存器、为地址空间和外部数据寄存器。2.3A/D转换器A/D转换器种类很多,按及人口方案来分,可分为并行接口和串行接口两类。串行接口又分为三线式接口和两线式接口两种。由于89C51串行口有限,而本此设计也用到了很多串口,而且我们需要一个多通道的转换器,而MAX192正是满足这种要求,其转换精度也高,所以本次设计我们采用MAX192。MAX192是一种低功耗、单电源、8通道、串行的10位A/D转换器。由于该芯片在片外已有采样跟踪保持电路,内部时钟电路和内部参考电压源,所以在应用时,所需外围原件极少,与单片机连接也只占用4-5条口线,因此,用M

22、AX192构成的数据采集系统具有硬件结构简单、体积小和功耗低的优点。MAX192是美国美信公司设计的一个10位A/D转换器,它的信号输入有两种方式:8通道单端输入或4通道差分输入,具有极高转换速度。其4线串行接口与SPI、QSPI、MicroWire等串行总线兼容,具有内部时钟方式和外部时钟方式,内带4.096V的基准电压,也可用外部基准电压。MAX192的引脚图如图2-1所示。图2-1MAX192的引脚图MAX192的控制字MAX192控制字占一个字节,其格式见表2-1。表2-1 控制字节的定义Bit7(MSB)Bit6Bit5Bit4Bit3Bit2Bit1Bit0STARTSEL2SEL

23、1SEL0UIN/BIPSGL/DIFPD1PD0注 1.START:转换开始位。逻辑“1”有效。 2.SEL0-2:通道选择位。选择所需转换信号所连接的通道(见表3和表4)。 3.UNI/BIP:单/双极性信号转换模式选择位。1=单极性信号;0=双极性信号。对于单极性信号,模拟输入中0VVREF的电压被转换;对于双极性信号,-VREF/2+VREF/2的新号被转换。 4.SGL/DIF:输入信号形式选择位。“1”为单端信号输入,“0”为差分信号输入。 5. PD0PD1:时钟模式及省电模式选择位。MAX192单端方式(SGL/DIF=1)通道选择如表2-3所示。MAX192查分方式(SGL/

24、DIF=0)通道选择如表2-4所示。MAX192的时钟和掉电选择如表2-5所示。MAX192的工作原理MAX192器件采用逐次逼近转换技术及输入采样/保持电路把模拟信号转换成10位的数字信号输出,模拟信号有单端输入和差分输入两种输入方式,输入电压范围分单极性(0-40.96V)和双极性(-4.096/2-4.096/2V)两种,每做完一次A/D转换,需从串行数据输入端输入以“1”开始的8位控制字对器件初始化,内部控制逻辑控制A/D转换。当MAX192的CS端有效时,在时钟SCLK的每一个上升沿把一个最高位为“1”的控制字节的各位送入输入移位寄存器,控制器收到控制字节后,选择控制字节中给定的模拟

25、通道,并在SCLK的下降沿启动转换。在启动转换后,MAX192可以使用外部串行时钟或内部时钟来完成逐次逼近转换。在两种时钟方式中,数据的移入/输出都由外部时钟来完成。转换结束后的数据是由DOUT端读出的。应该注意,数据的输出是高位在先,低位在后,有效位为10位。在单极性输入方式下,输出的是标准二进制码,对于差分方式下的双极性输入,其输出是莫二补码。需要注意的是,在单极性输入方式下,转换完成后的10位数据在移位寄存器中存放时,在数据的首部添了一个“0”,在尾部添加了5个“0”,这样,要得到最终的正确结果,需要把这16位数(包括10位有效数据)右移5位。在编写采样程序时,送完一字节控制字,何时读转

26、换结果 ,有两种判断方法:一是看SSTRB信号是否变高,二是延时多少us(最大位10us)。表2-3 单端方式(SGL/DIF=1)通道选择SEL2SEL1SEL0CH0CH1CH2CH3CH4CH5CH6CH7AGND000+-100+-001+-101+-010+-110+-011+-111+-表2-4 查分方式(SGL/DIF=0)通道选择SEL2SEL1SEL0CH0CH1CH2CH3CH4CH5CH6CH7000+-001+-010+-011+-100-+101-+110-+111-+表2-5 时钟和掉电选择PD0PD1器件模式11外部时钟方式10内部时钟方式01速掉电模式(Fast

27、 Power-Down Mode)00全掉点模式 ( Full Power-Down Mode)2.4传感器本次设计中用到4个传感器,分别为:TS污浊度传感器、温度传感器、负载传感器和水位传感器。其中污浊度、温度和负载传感器输出的都是模拟信号,需要通过A/D转换才能作为单片机的控制信号,而水位传感器本身输出的就是数字信号,所以不需要通过A/D转换,直接可用做单片机的控制信号。TS污浊度传感器内部原理图如图2-2所示。浑浊度检测传感器的主要原理是光电耦合器,而普通的光电耦合器不能有效的检测洗衣机水的浑浊度。光电耦合器的光源必须是红外光才能准确的检测浑浊度。TS浊度传感器是GE公司开发的一种专门用

28、于家电产品的低成本传感器,主要用于洗衣机、洗碗机等产品的水污浊程度的测量。图2-2浊度传感器内部原理图温度传感器温度传感器有四种主要类型:热电偶、热敏电阻、电阻温度检测器(RTD)和IC温度传感器下)。IC温度传感器又包括模拟输出和数字输出两种类型。热电偶应用很广泛,因为它们非常坚固而且不太贵。热电偶有多种类型,它们覆盖非常宽的温度范围,从-200到2000。它们的特点是:低灵敏度、低稳定性、中等精度、响应速度慢、高温下容易老化和有漂移,以及非线性。另外,热电偶需要外部参考端。 我们常用温度传感器有DS18B20、AD590等,它们都是集成温度传感器。DS18B20输出是数字信号可以直接和单片

29、机相连,而且硬件连接电路少,但需要对其进行复杂的软件编程。AD590是美国模拟器件公司生产的单片集成两端感温电流源。它的主要特性如下:流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。AD590的测温范围为-55+150。AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。输出电阻为710MW。精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150范围内,非线性误差为0.3。本设计我们选用AD590作为温度传感器。AD590比

30、DS18B20精度更高、线性度误差小,且不需要温度报警和复杂的程序编程,非常适合用于洗衣机的温度检测传感器负载传感器根据模糊控制要求,负载检测时通过检测电动机的反电动势来实现的,而电动机的反电动势比单片机所用电压大的多,不能直接采样,必须经过隔离。采用线性光电耦合器既能隔离高电压和干扰,又能得到满意的检测信号。水位传感器原理图如图2-5所示。谐振式水位传感器,采用了新型的传感原理 ,把水位的高低 ,通过水位传感器直接变成水位与频率的对应关系。衣物的洗净度、水流强度、洗涤时间等参数的检测 ,对模糊控制洗衣机在节水、节能、减少洗涤时间方面起决定性的作用。图2-5水位传感器原理图2.5显示器显示器有

31、LED和LCD两种。LCD(Liquid crystal Display)是液晶显示器英文名称的缩写,液晶显示器是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特征,达到白底黑字或黑底白字显示的目的。LED(Light Emiting Diode)是发光二极管英文名称的缩写。LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。本次设计只是显示时间,所以采用LED就可以达到目的了。LED显示器的结构LED常用的LED为8段或7段。每一个段对应一个发光二极管。这种显示器有共阳极和共阴极2种。共阴极LED显示器的发光二极管的阴极连在一起,通常此公共阴

32、极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极LED显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管接低电平时,发光二极管被点亮,相应的段被显示。为了使LED显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为LED显示器提供代码,因为这些代码可使LED相应的段发光,从而显示不同字型,因此该代码称之为段码(或称为字型码)。LED显示器工作原理LED显示器有静态显示和动态显示2种方式。LED显示器工作于静态显示方式时,各位的共阴极(共阳极)连接在一起并接地(或+5V);每位的段码线(a-dp)分别与一个8位的锁存

33、器输出相连。之所以称之为静态显示,是因为各个LED的显示字符一经确定,相应锁存器锁存的段码输出将维持不变,直到送入另一个的段码为止。正因为如此,静态显示器的亮度都较高,但静态现实的缺点是占用口线太多,如果显示器的位数太多,则需要加锁存器,因此一般情况下采用动态显示。在多位LED显示时,为简化硬件电路,通常将所有位的段码线相应段并联在一起,由1个8位I/O口控制,形成段码线的多路复用,而各位的共阴极或共阳极分别由相应的I/O线控制,形成各位的分时选通。本次设计中我们采用的是3位共阴极数码管,其中段码线占用1个8位I/O口,而位选占用3位I/O口。由于各位的段码线并联,8位I/O口输出的段码对各个

34、显示位来说都是相同的。因此,在同一时刻,如果各位位选都处于选通状态的话,3位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用动态显示,即在某一时刻,只让一位的位选线处于选通状态,而其他各位的位选处于关闭状态,同时,段码线上输出相应位要显示的字符段码。这样,在同一时刻,3位LED中只有选通的那位显示字符,而其他2位则是熄灭的。同样,在下一时刻,只让下一位的位选处于选通状态,而其他各位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位都是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不

35、同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED显示器的余辉和人眼的视觉暂留作用,只要每位显示间隔足够短,则可以造成多位 同时亮的假象,达到同时显示的效果。LED不同位显示的时间间隔应根据实际情况而定。发光二极管从导通到发光有一定的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于临界闪烁频率,而且时间越长,占用CPU时间也越多,本次设计我们采用1ms延时。3 软件设计本次设计是基于模糊控制理论上的全自动洗衣机,用户只需要将衣物放进洗衣机,按下启动键,洗衣机就能自动完成洗涤-漂洗-脱水等一系列操作,当然本次设计中还考虑到半自动时的情况,用户可以根据自己

36、的需求自由选择洗衣机将要进行什么工作,这一点是通过按键来实现的。3.1全自动洗衣机中的模糊控制3.1.1模糊控制器洗衣机控制器是洗衣机的大脑,洗衣机的洗涤、漂洗、脱水等动作均由控制器加以控制,目前的全自动洗衣机采用控制器有模糊控制器和普通控制器两种,二者之间既有共同之处,又存在着差别。洗衣机模糊控制器与普通控制器的相同点就在于二者均采用微电脑技术,各自根据洗衣机的控制原理编制出程序,对洗衣机实施控制。洗衣机模糊控制器与普通控制器的主要区别在于二者控制思想不同。普通程序控制器虽然使洗衣机在功能较普通洗衣机增强许多,但就其控制思想而言,仍谈不上“先进”它只是根据时间原则去设定洗衣机的洗涤、漂洗和脱

37、水的运行时间,然后连续运行,完全不考虑其他因素。例如:洗衣服的多少、面料的软硬、衣服的肮脏程度等,均未加以考虑。而模糊控制器则是根据衣量的多少确定洗涤水量;根据面料软硬和肮脏程度确定洗涤时间等,这些都是控制规则,这些规则是人工经验的积累。一般的说,模糊控制器是利用人工智能方式,建立一组控制规则,编织成程序由微电脑执行。这样,就形成了人工智能控制模式。因此,在控制思想上大大优于普通程序控制器的控制思想。3.1.2模糊控制实现方法基本结构和控制过程模糊控制是利用负载、衣质、浊度、水温等检测所得到信息,进行分段评估计算使其模糊化,再根据模糊规则进行推理,最后根据所激活的规则进行解模糊判决,以决定最适

38、当和明确的水位、洗涤时间、洗涤方式以及脱水时间等。模糊控制洗衣机控制结构如图3-所示。图3-1模糊控制洗衣机控制结构模糊规则 洗涤量和水量的确定:如果检测到衣物量很多,则洗涤量多,水位高; 如果检测到衣物量较多,则洗涤量较多,水位适中; 如果检测到衣物量很少,则洗涤量少,水位低。 脱水时间的确定: 如果检测到衣物很多,则脱水时间长; 如果检测到衣物较多,则脱水时间适中; 如果检测到衣物很少,则脱水时间短。洗涤时间的确定: 如果检测到衣物很多,布质以棉布偏多且水温低,则洗衣时间长; 如果检测到衣物较多,布质以化纤偏多且水温偏高,则洗衣时间适中; 如果检测到衣物较少,布质以棉布偏多且水温偏高,则洗

39、衣时间适中; 如果检测到衣物很少,布质以化纤偏多且水温高,则洗衣时间短。 漂洗时间的确定: 如果检测到洗涤水很脏,则漂洗时间长; 如果检测到洗涤水较脏,则漂洗时间适中; 如果检测到洗涤水不脏,则漂洗时间短。3.2软件流程图及代码3.2.1寄存器本次编程中用到的寄存器如表3-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漂洗次数3A

40、H电机正转时间3BH电机反转时间3CH电机转速3D洗涤量投放时间40H显示分缓存器41H显示秒十缓存器42H显示秒个缓存器44H零水位45H低水位46H中水位47H高水位48H水位检测值50H启动/暂停键按键次数51H程序键按键次数52H选择键按键次数53H水量键按键次数54H时间键按键次数3.2.2流程图及其代码本次设计是分模块进行编写的,以下就是各模块的流程图及其代码。1.主程序流程图如图3-2所示。河北工程大学毕业设计说明书图3-2主程序流程图程序代码:MAIN: MOV SP,#60 LCALL ChiShi ;调初始化程序 SETB EA ;CPU允许中断 MOV TMOD,#10H

41、 ;设置定时器1方式 MOV 28H,#0AH ;装入定时中断次数LOOP: LCALL XianShi ;调显示子程序 LCALL JanPan ;调键盘扫描子程序 SJMP LOOP 2.显示子程序流程图如图3-3所示程序代码: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口

42、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-3显示子程序流

43、程图3.键盘扫描子程序流程图如图3-4所示 图3-4键盘扫描子程序流程图程序代码: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 L

44、CALL 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 ;调P

45、K5处理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: RET4.程序设置子程序流程图如图3-5所示。图

46、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: RET5.洗衣方式选择子程序流程图如图3-6所示。图3-6洗衣方式选择子程序流程图程序代码:PK3: INC 52H ;按

47、键次数加1 MOV A,52H ; MOV DPTR,#7F02H CJNE A,#1,L4 ;是第一次按下吗,不是转L4 MOV A,#0EFH ;是第一次按下,则标准洗涤指示灯亮 MOVX DPTR,A MOV A,52HL4: CJNE A,#2,L5 ;是第二次按下吗,不是转L5 MOV A,#0DFH ;是第二次按下,则快速洗涤指示灯亮 MOVX DPTR,A MOV A,52HL5: CJNE A,#3,RETURN ;是第三次按下吗,不是则返回 MOV A,#0BFH ;是第三次按下,则轻柔洗涤指示灯亮 MOVX DPTR,ARETURN: RET6.水量设置子程序流程图如图3-

48、7所示图3-7水量设置子程序流程图程序代码: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: RET7.时间设置子程序流程图如图3-8所示图3-8时间设置子程序流程图程序代码:PK5: INC 54H

49、 ;按键次数加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: RET8.A/D转换流程图如图3-9所示。9.自检子程序流程图如图3-10所示。图3-9A/

50、D转换流程图图3-10自检子程序流程图程序代码:ZiJian: MOV DPTR,#7F02H ;自检指示灯亮 MOV A,#0FBH MOVX DPTR,A JB P1.6,BaoJing1 ;读安全开关状态,异常则报警 JB P2.3,BaoJing2 ;读排水阀状态,异常则报警 MOV 45H,#08H ;置低水位值 MOV 47H,#09H ;置高水位值 MOV 44H, #00H ;置零水位值 CLR P2.4 ;开进水阀 LCALL ShuiJian ;调水位检测 MOV A,45HL10: CJNE A,48H,L10 ;到底水位了吗,到了启动电机 CLR P2.0 LACLL

51、ShuiJian MOV A,47HL11: CJNE A,48H,L11 ;到高水位了吗,到了开排水阀 CLR P2.3 LCALL ShuiJian MOV A,44HL12: CJNE A,48H,L12 ;是零水位吗,是则检测完毕 SETB P2.4 SETB P2.0 SETB P2.3 MOV A,#OFFH MOVX DPTR,ABaooJing1: MOV 40H,#0eH ;显示异常代码 MOV 41H,#0 MOV 42H,#1 CLR P1.7 ;蜂鸣器响,报警灯亮 JB P1.5,BaoJing1 ;判断是否有人为干扰 SETB P1.7BaoJing2: MOV 40

52、H,#0eH ;显示异常代码 MOV 41H,#0 MOV 42H,#2 CLR P1.7 ;蜂鸣器响,报警灯亮 JB P1.5,BaoJing2 ;判断是否有人为干扰 SETB P1.7 RET9.运转程序流程图如图3-11所示。图3-11运转程序流程图程序代码: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,

53、54H RET程序代码:JianCe: MOV 39H,#3 ;电机运转时间3S LCALL DianJi1 LCALL ShuiLiang LCALL JinShui MOV 39H,#30 ;电机运转时间30S LCALL DianJi1 LCALL YiLiang LCALL ShuiJian LCALL JinShui MOV 39H,#15 ;电机运转时间15S LCALL DianJi1 LCALL ZhiYi LCALL WenDu LCALL ShiJian RETDianJi1: CLR P2.0 ;开电机 SETB TR1 ;开定时器LOOP1: JNB 27H,LOOP1 CLR 27H DEC 39H CJNE 39H,#O,LOOP1 CLR TR0 SETB P2.0

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