1、i编号: 桂林电子科技大学信息科技学院毕业设计(论文)说明书题 目: 全自动洗衣机模拟控制器设计 院(系): 电子工程系 专 业: 测控技术与仪器 学生姓名: 学 号: 指导教师单位: 姓 名: 职 称: 题目类型:理论研究 实验研究 工程设计 工程技术研究 软件开发 应用研究2016 年 6 月 1 日摘 要从古至今,洗衣服都是一件难以避免的家务劳动,不管是手搓、棒击、冲刷还是甩打,都伴随着重复而繁琐的体力劳动。在机械化迅速发展的近现代,人们急切需要一台可以代替人工洗衣的机器。1874年美国人比尔布莱斯发明了手动洗衣机,其发明的洗衣机是由木桶内装上6块叶片,通过手柄和齿轮传动,使衣服在桶内转
2、动,从而实现洗衣的目的。随着蒸汽时代的到来,人们逐渐将蒸汽动力取代人力。1880年美国出现了第一台蒸汽洗衣机。之后,水力洗衣机、内燃机洗衣机也相继出现。直到1911年,美国试制成功第一台电动洗衣机 ,电动洗衣机的问世,标志着人类家务劳动自动化的开端。随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中。单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐,它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。本文以AT89S52单片机为核心,设计了全自动洗衣机模拟控制系统。控制系统主要由电源电路、数字控制电路、显示电路和机械控
3、制电路四大模块构成。电源电路为数字控制电路提供稳定的5V直流电压,为电动机提供9V直流电压;数字控制电路负责控制洗衣机的工作过程,主要由AT89S52单片机、按键、蜂鸣器、LED指示灯组成;显示电路由12864液晶显示器组成;机械控制电路主要由水位检测器、电动机、进水排水继电器组成。系统主要实现模拟全自动洗衣机的洗衣过程,虽不能和市场上洗衣机控制系统媲美,但是具有较高的学习与研究价值。关键词:全自动洗衣机;AT89S52单片机;模拟控制系统AbstractFrom the past to the present day, washing clothes with repeated and co
4、ckamamie physical labour, whatever by hand or by stick, scouring or swinging, is an inevitable house work. In the modern times, mechanization has developed fast, and individuals eager a machine to replace artificial labour.In 1874, American Bill Brace invented manual washing machine. The washing mac
5、hine contains six vanes on the inner wooden barrel, which are motivated by handle and gears, so that the clothes revolve with the gears, and reach the goal of washing. With the coming of Steam Age, the human labor is replaced by steam gradually. In 1880, the first steam washing machine appeard. And
6、then the water-powered washing machine and the washer powered by internal-combustion engine have taken on. Untill 1911, the first electric washing machine was invented, which indicates the beginning of the automation in house work.With the rapid development of digital technology, digital technology
7、has been widely used in the field of intelligent control. MCU to small volume, complete functions, low price, convenient development advantage has been favored by many electronic system designers, it is suitable for real-time control, industrial controller, intelligent instrument, intelligent interf
8、ace, intelligent weapon device and universal measurement and control unit. In this paper, the AT89S52 microcontroller as the core, the design of the full automatic washing machine simulation control system. The control system mainly consists of four modules: power supply circuit, digital control cir
9、cuit, display circuit and mechanical control circuit. Power supply circuit for digital control circuit provides a stable 5V DC voltage, 9V DC voltage to the motor; digital control circuit is responsible for the control of the working process of the washing machine, mainly consists of single-chip mic
10、rocomputer AT89S52, buttons, buzzer, LED indicator light; display circuit is composed by 12864 LCD display. The mechanical control circuit is mainly composed of water level detector, electric motor and water intake and drainage relay.This system mainly realizes the washing process of the automatic w
11、ashing machine, although it is not comparable with the control system of the washing machine on the market, but it has a high value for study and research.Key words: full automatic washing machine; AT89s52 single chip microcomputer; analog control system目 录1 设计要求及分类11.1 设计任务及要求11.2 洗衣机的分类12 总体设计方案22
12、.1 方案的比较与选择22.1.1控制系统的比较与选择22.1.2电动机驱动电路的比较与选择22.1.3水位监测模块的比较与选择32.1.4进排水控制模块的比较与选择32.1.5显示模块的比较与选择32.2 控制系统功能42.3 洗衣机运行过程43 硬件设计83.1 控制电路设计83.1.1 AT89S52单片机最小系统83.1.2 按键输入电路93.1.3 蜂鸣器报警模块93.2 显示电路设计103.3 水位监测电路设计123.4 进排水电路设计133.5 电机驱动电路设计144 软件设计154.1 程序总流程154.2 详细程序流程174.3 调试194.3.1 硬件调试194.3.2 软
13、件调试205 结论21谢辞22参考文献23附录24附录一 软件代码24附录二 系统电路图44附录三 系统PCB图44桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 46 页 共 44页引言随着生活节奏的加快和生活水平的提高,人们开始寻求可以帮助我们分担繁琐无味的家务劳动的机械化产品,我们统称为家电。而洗衣机就是最具代表性的家电之一,顾名思义,洗衣机就是代替人们手动洗衣服的家用电器。随着科学技术的发展,洗衣机的功能、样式、和性能都在不断的变化。最初的洗衣机是采用人工搅拌的方式驱动的,虽然并没有减少人们的工作强度,但从一定意义上为洗衣机的发展奠定了基础。随着蒸汽时代的来临,在洗衣机驱动方面
14、脱离了人工的范畴。随后又出现了内燃机和电动机的驱动方式。电动机的驱动方式具有简单方便、体积小、重量轻、干净卫生等优点,所以电动机的驱动方式一直沿用到现在。1874年美国人比尔布莱斯发明了手动洗衣机,其发明的洗衣机是由木桶内装上6块叶片,通过手柄和齿轮传动,使衣服在桶内转动,从而实现洗衣的目的。随着蒸汽时代的到来,人们逐渐将蒸汽动力取代人力。1880年美国出现了第一台蒸汽洗衣机。之后,水力洗衣机、内燃机洗衣机也相继出现。直到1911年,美国试制成功第一台电动洗衣机 ,电动洗衣机的问世,标志着人类家务劳动自动化的开端。在中国,由于历史原因,家用洗衣机起步较晚,直到1978年才正式生产家用洗衣机,但
15、由于改革开放与一些先进技术引进的的国家政策,我国工业化迅速发展,洗衣机也得到了不断的优化与创新,从最初的单杠洗衣机到后来的双杠洗衣机,再到现在的全自动洗衣机,都得利于我国科技技术的创新与发展。如今,我国洗衣机年产量约占世界产量的四分之一,位居世界首位。除了在数量和品种上满足国内市场需求外,还出口到欧洲、非洲、北美和东南亚等地,成为世界最具竞争力的洗衣机生产国之一。洗衣的工作步骤繁琐,需要多次控制洗衣机,所以人们又开始朝着全自动智能洗衣机的方向发展,全自动洗衣机也越来越受到人们的关注与青睐,成为洗衣机的发展趋势。1 设计要求及分类1.1 设计任务及要求设计任务:设计出由AT89S52控制器为核心
16、的全自动洗衣机模拟控制器,能选择洗衣程序,具有浸泡、强力、标准、轻柔、快速、单洗、漂洗脱水、单独脱水、留水停机(不放水)等全自动洗衣功能。具有执行驱动单元、水位检测、显示及按键控制等外围硬件电路。设计要求:采用AT89S52单片机为控制器芯片,具有人机交互界面,水位控制模拟,电机洗衣转动模拟,实现电机转速和正反转控制,由继电器模拟进排水阀的控制。使各部分电路结合控制形成完整的洗衣机模拟控制系统,实现洗衣工作流程。1.2 洗衣机的分类(1)波轮式洗衣机波轮式洗衣机的洗衣特点是微电脑控制洗衣及甩干功能、省时省力。缺点是耗电、耗水、衣物易缠绕、清洁性不佳。适合洗涤衣物有除需要特别洗涤之外的所有衣物。
17、轮式洗衣机流行于日本、中国、东南亚等地。(2)滚筒式洗衣机滚筒式洗衣机的洗衣特点是微电脑控制所有功能,衣物无缠绕。最不会损耗衣物的方式。缺点是耗时,时间是普通的几倍,而且一旦关上门,洗衣过程中无法打开,洁净力强。适合洗涤衣物有羊毛、羊绒以及丝绸、纯毛类织物。滚筒式洗衣机流行于欧洲、南美等主要穿毛、绵为主的地区,几乎100的家庭使用的都是滚筒洗衣机。(3)搅拌式洗衣机搅拌式洗衣机的洗衣特点是衣物洁净力最强,省洗衣粉。缺点是容易缠绕 相比前两种方式损坏性加大,噪音最大。适合洗涤衣物有除需要特别洗涤之外的所有衣物。搅拌式洗衣机在北美普遍使用。2 总体设计方案2.1 方案的比较与选择2.1.1控制系统
18、的比较与选择方案一:STM32。它是市面上性价比高、功能强大、处理速度快的一款32位高性能控制器,其内核ARM32位Cortex-M3 CPU,最高工作频率72MHz。单周期乘法和硬件除法。多用于复杂的计算和控制领域。开发方式分为数据库函数和寄存器两种,但开发相对复杂对于本系统来说,其内部资源丰富,运行稳定。方案二:PLC。PLC是可编程控制器,具有运行可靠性高,抗干扰能力强,配置完善,功能齐全等特点,在众多的领域都有运用。但是该控制器由于系统庞大也受到较大限制,对单项工程控制使用的成本较高,所以系统不采用PLC控制器。方案三:AT89S52是Atmel公司生产的一款8位微控制器,与80C51
19、产品指令和引脚完全兼容,有8KB的系统可编程Flash存储器,32个可编程I/O口,3个16位定时器/计数器,8个中断源和全双工UART串行通道。相对于STM32有控制简单,价格便宜等特点,所以在设计系统中采用AT89S52作为主控制芯片。2.1.2电动机驱动电路的比较与选择方案一:ULN2003。它是高耐压大电流复合晶体管阵列,由七个硅NPN复合管组成。ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。 ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。输入5VT
20、TL电平,输出可达500mA/50V。ULN2003多用于步进电机的控制。方案二:L298N。它是一种双H桥电机驱动芯片,供电电压一个桥可以提供2A的电流,供电电压范围广(2.5V48V),逻辑部分5V供电,接受5VTTL电平。正好与AT89S52相匹配,控制简单稳定,可以PWM调速,控制正反转。多用于控制直流电机。所以在系统中使用L298N做电机的驱动芯片。2.1.3水位监测模块的比较与选择方案一:用浮球放入与洗衣机相连的连通器内,连通器内水位与洗衣机内水位相同,浮球可以根据水位的升降而变动位置,小球随水位升高而升高,随水位降低而降低,再由测距模块测量浮球位置,便可以测出水位高低。这种方法测
21、量水位精确,不受环境影响,但是设计复杂。方案二:利用水位传感器测量水位,水位传感器的测量原理是水位传感器受到洗衣机内细长软管的压力大小计算水位的。洗衣机内水位越高,细长软管受到压力越大,水位越低,细长软管受到压力越小,传感器可根据细长软管的压力测量出水位。这种方法测量水位精度不足,但是设计简单,不容易出错。方案三:由于系统只用于模拟洗衣机工作控制过程,不需要建立实体模型,所以不使用上面两种方案,为了使程序能够运行,只需要模拟出水满和水空两种状态即可,所以使用两组红外对管来模拟水满和水空状态。2.1.4进排水控制模块的比较与选择方案一:采用市场上使用最为普遍的220V交流电磁阀进行排水和进水,该
22、电磁阀可以由单片机控制开关,进水速度快,是实体洗衣机最为常用的一种电磁阀之一。方案二:因为设计没有实体洗衣机,所以采用两个继电器控制两个LED灯的亮灭来模拟进水排水过程。当单片机控制进水时,进水继电器控制LED1亮,否则LED1熄灭。当单片机控制排水时,进水继电器控制LED2亮,否则LED2熄灭。2.1.5显示模块的比较与选择方案一:使用LED数码管进行显示。LED数码管显示有两种控制方式,一种是静态显示法,另一种动态扫描法。静态显示需要的器件多,接线复杂等缺点。动态扫描法占用单片机资源过多,且接线复杂。采用LED显示时只能显示阿拉伯数字和少量字符,显示局限性很强,对设计中需要显示运行状态并不
23、适用。方案二:使用1602液晶显示器,1602液晶显示器是市面上较为常见的液晶显示器之一,在许多设计中都会被使用,1602可以设置16*2字符显示,5*7点阵形式,具有方便的8位数据接口,和4个控制接口,具有线路与控制程序简单,显示局限性小等优点。可以显示多种字符,也可以显示自定义字符。在1602内部可以储存8个自定义字符或汉字,但由于设计系统需要显示汉字较多,所以暂不采用该液晶显示器。方案三:使用12864液晶显示器,12864是128*64的点阵液晶显示模块,12864液晶显示器也是市面上较为常见的显示器之一,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*1
24、6点阵)及64*256点阵显示RAM(GDRAM)。12864具有串行和并行数据传输方式,其并行方式也和1602一样具有8位数据接口,控制方式和1602基本相似。具有接线简单控制方便等优点,所以在设计中使用12864液晶显示器作为显示模块。2.2 控制系统功能系统设计采用AT89S52单片机作为该系统的主控芯片,对AT89S52进行程序编程,由单片机控制电机驱动模块、水位检测模块、进水排水模块、显示模块、输入模块和报警模块协调工作,完成用户选择模式的洗衣工作。该系统的洗衣模式分为全自动洗衣模式和单步洗衣模式,全自动洗衣模式是用户只需要将衣物丢入洗衣机内,选择相应的全自动洗衣模式,洗衣机自动检测
25、洗衣状态,从头到尾完成洗衣工作,不需要用户继续操作洗衣机。这种模式方便简单,极大的简略了用户操作。单步洗衣模式是为了用户的自由洗衣方式而设计的,有些衣服只需洗涤而不需要漂洗,或者不需要甩干等情况时,用户可根据自己的意愿选择相应的单步模式进行操作。洗衣机模拟控制系统的全自动洗衣方式根据衣物的材料不同、脏损程度不同、厚度不同等情况分为以下几种洗衣方式:标准、轻柔、强力、节能、流水停机。具体工作参数如表2-1所示。表2-1洗衣机自动模式工作参数工作模式漂洗次数是否甩干洗涤转速(r/m)洗涤时间(s)标准2是50030轻柔2是35030强力2是70030节能1是50015留水停机0否500302.3
26、洗衣机运行过程系统在接通电源后,出现待机画面,关闭机盖或按任意按键进入控制界面,在控制界面可以选择调节智能模式或单步模式,全自动洗衣模式是用户只需要将衣物丢入洗衣机内,选择相应的全自动洗衣模式,洗衣机自动检测洗衣状态,从头到尾完成洗衣工作,不需要用户继续操作洗衣机。这种模式方便简单,极大的简略了用户操作。单步洗衣模式是为了用户的自由洗衣方式而设计的,有些衣服只需洗涤而不需要漂洗,或者不需要甩干等情况时,用户可根据自己的意愿选择相应的单步模式进行操作。首先选取自动洗衣模式中的标准模式来解说全自动洗衣机的运行过程。在通电后的待机画面为桂林电子科技大学信息科技学院字样(该系统用作桂林电子科技大学信息
27、科技学院电子工程系毕设答辩),按选择键可进入控制面板,这时,如果洗衣机盖子是处于打开状态,则显示器上会出现“请将衣物放入洗衣机内并盖好机盖!”字样。该字样是为了防止机盖打开时系统运作误伤用户,在显示该字样时,系统全部工作会被停止,控制界面会被覆盖无法操作。从而实现了对用户的安全保护。盖好机盖后出现选择界面,可以根据需要选择自动模式和单步模式,按自动模式按键,会改变自动模式中的洗涤模式,自动模式中有标准模式、轻柔模式、强力模式、节能模式和流水停机模式。用户可根据自己需要选择相应模式。选择自动模式中的标准来了解该系统的洗衣运行过程。在选择好标准模式后,按“确定”键进入洗衣过程,首先由主控芯片控制进
28、水继电器打开,使进水指示灯亮起,此时为进水状态如图2-1所示。水位检测模块检测水满状态,这时用物品遮挡水满检测红外对管来模拟水位到达满状态。当检测到水满状态时,水位监测模块向主控芯片发送水满指令,主控芯片控制进水继电器断开,进水指示灯熄灭。进水过程完成。图2-1 进水状态实物图完成进水过程后,主控芯片开始计时,进入洗涤状态,洗涤是由直流电机带动扇叶模拟洗衣机滚筒转动如图2-2所示。在倒计时30s的过程中,主控芯片向电机控制芯片发送控制指令,使电机转动转速为400r/m,顺序为正传3s、停止1s、反转3s,这个过程为一个周期,主控芯片在30s内连续发送周期指令,直到30s时间到达,主控芯片完成计
29、时,并向电机驱动芯片发送停止指令,洗涤过程完成。图2-2 电机实物图在完成洗涤过程后,由主控芯片控制排水继电器打开,使排水指示灯亮起,模拟排水过程。水位检测模块检测水空状态,这时用物品遮挡水空检测红外对管来模拟水位到达空状态。当检测到水空状态时,水位监测模块向主控芯片发送水空指令,主控芯片控制排水继电器断开,排水指示灯熄灭。排水过程完成。图2-3 排水状态实物图完成排水过程后,因为衣物内存有大量的脏水,为了节约用水,应该将衣物内储存的大量污水去除再进行漂洗,所以需要进行脱水,而脱水并不需要甩干,所以只需要短时间转动。这时主控芯片开始计时,进入脱水状态,在倒计时5s的过程中,主控芯片向电机控制芯
30、片发送控制指令,使电机转动转速为2500r/m的高速转动,转动方向是顺时针方形(正传)。直到5s时间到达,主控芯片完成计时,并向电机驱动芯片发送停止指令,脱水过程完成。脱水过程完成后,要进行去除衣物内残余的洗衣化学物品,所以要进行漂洗,在漂洗前,又进入了进水状态。进水状态仍然是由主控芯片控制进水继电器打开,使进水指示灯亮起,此时为进水状态。如图2-4所示水位检测模块检测水满状态,这时用物品遮挡水满检测红外对管来模拟水位到达满状态。当检测到水满状态时,水位监测模块向主控芯片发送水满指令,主控芯片控制进水继电器断开,进水指示灯熄灭。进水过程完成。图2-4 水位监测模块实物图接下来便进入了第一次漂洗
31、,主控芯片开始计时,进入漂洗状态,漂洗时间是15s。在倒计时15s的过程中,主控芯片向电机控制芯片发送控制指令,使电机转动转速为400r/m,顺序为正传3s、停止1s、反转3s,这个过程为一个周期,主控芯片在15s内连续发送周期指令,直到15s时间到达,主控芯片完成计时,并向电机驱动芯片发送停止指令,漂洗过程完成。在完成漂洗过程后,由主控芯片控制排水继电器打开,使排水指示灯亮起,模拟排水过程。水位检测模块检测水空状态,这时用物品遮挡水空检测红外对管来模拟水位到达空状态。当检测到水空状态时,水位监测模块向主控芯片发送水空指令,主控芯片控制排水继电器断开,排水指示灯熄灭。排水过程完成。在日常生活中
32、,洗衣服一般会漂洗两次,所以在该系统的标准模式中设置了两次漂洗。第二次的漂洗和第一次一样,都是经过进水、漂洗、排水。电机转速及其工作时间都与第一次漂洗参数一致,根据第一次的的工作过程可以完成第二次的漂洗。这时,衣服已经清洗完成,为了使衣服迅速晾干,通常都会以高速转动来甩干,甩干的过程和脱水基本相似,区别只在于脱水时间测长短,甩干的时间为15s,依然是由主控芯片开始计时,进入甩干状态,在倒计时15s的过程中,主控芯片向电机控制芯片发送控制指令,使电机转动转速为2500r/m的高速转动,转动方向是顺时针方形(正传)。直到15s时间到达,主控芯片完成计时,并向电机驱动芯片发送停止指令,甩干过程完成。
33、甩干过程完成后,整个标准洗衣过程已经完成,这时蜂鸣器以0.5s蜂鸣,0.5s停止的频率报警,显示器上显示“完成”字样。这时提醒用户洗衣完成,用户需要按下“确定”键结束报警并完成本次洗衣。上面说明了自动模式的标准洗衣模式,根据不同需求,在自动模式中还设置有其他模式,但是洗衣过程与标准模式基本相似。轻柔模式相对于标准模式而言,洗衣过程一样,在洗涤过程中,正转与反转持续时间分别减少1s,转速由500r/m降低到350r/m,以确保对不同布料的洗涤要求。而强力模式是适用于较厚,较脏的衣物,强力模式与标准模式相比,也是执行过程一样,只有洗涤过程中转速由500r/m上升到700r/m,正传反转时间分别多加
34、1s上升到4s。为的是能够更大强度的去除污渍。而对于特别脏的衣物,设定了流水停机这一功能,在洗涤后就行长时间的浸泡,以确保能够最大程度的清除污渍。除了自动模式外,设计中还设有单步模式,单步模式的设计是为了让用户自由安排洗涤过程和漂洗次数,其工作方法和普通洗衣机工作方式相似,每次做完一个过程都需要用户自己操作选择下一步应该如何工作。在单步模式中,设有进水、洗涤、排水、脱水、漂洗、甩干六个模式,每个模式都说是自动模式中的单独一个步骤。例如按“单步”按键调节到“洗涤”模式,再按“确定”键。主控芯片开始计时,进入洗涤状态,在倒计时30s的过程中,主控芯片向电机控制芯片发送控制指令,使电机转动转速为40
35、0r/m,顺序为正传3s、停止1s、反转3s,这个过程为一个周期,主控芯片在30s内连续发送周期指令,直到30s时间到达,主控芯片完成计时,并向电机驱动芯片发送停止指令,这时蜂鸣器报警,显示器显示“完成”字样,按“确定”键结束。在自动模式和单步模式的配合下,全自动洗衣机基本上满足了人们洗衣的基本需求。既可以由洗衣机自动完成,也可以根据自己的意愿来单步完成,实现了自由多样化洗衣。3 硬件设计3.1 控制电路设计3.1.1 AT89S52单片机最小系统单片机最小系统又称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对AT89S52单片机来说,一般最小系统包括:单片机、复位电路和晶振电
36、路,如图3-1所示。图3-1单片机最小系统复位电路:复位电路由按键、电阻和电容串联组成,由图3-1与电容的电压恒定的性质可以知道,系统上电的同时RST脚会变为高电平,高电平的持续时间由RC电路中电阻与电容的大小决定。一般单片机的RST引脚有持续两个时钟周期的高电平时,单片机会进行复位操作,所以在系统设计中,R采用10K,C采用10uF。这样可以产生超过两个时钟周期的高电平,确保系统上电后自动复位。晶振电路:在一般的设计中多采用11.0592MHz晶振,原因一是可以在通讯中精确到19200波特率和9200波特率,使通讯兼容性较高。原因二是系统总线时钟频率是震荡频率12分频,这样可以粗略计算机器周
37、期。所以在设计中也采用11.0592MHz晶振。管脚设置:单片机的31脚是ROM读取设置脚,当31脚接高电平时,程序从内部ROM开始执行。当31脚接低电平时,程序直接从外部ROM开始执行。在设计中,因为程序内容较少,内部ROM足够使用,所以直接将31脚接VCC。3.1.2 按键输入电路一般的设计中按键的设计方法有独立按键和矩阵按键两种,矩阵按键又有逐行扫描法和线反转法,独立按键读值方便,但是占用I/O口较多,每个独立按键占用一个I/O口。矩阵按键可以使用很少的I/O口读取较多按键的状态,但是读值程序复杂。在设计中系统只用到4个按键,所以选用独立按键实现命令的输入。电路设计如图3-2所示。图3-
38、2独立按键输入电路在图3-2中将4个按键相“与”后接入中断0,然后在中断中做读值处理,这样避免了程序在做其他操作时无法读值的现象,当4个按键只要有一个按下时,经过与门电路后输出都为低电平,这时系统中断会触发,在中断中写入读值程序,就可以读取是哪一个按键按下的,按键Q1、Q2、Q3、Q4一端共地,另一端分别接P2.0、P2.1、P2.2、P2.3管脚,在中断触发时,读取P2.0、P2.1、P2.2、P2.3各个管脚的值,当P2.0电平为低时,按键值为0;当P2.1电平为低时,按键值为1;当P2.2电平为低时,按键值为2;当P2.3为低电平时,按键值为3。如果有任意两个按键同时为低电平时,说明按键
39、按错,则视为错误输入,不进行读值。这样一来,在中断中读值不仅可以解决系统运行中错过按键时间而没有读到值的情况,而且还避免了每个循环都要读取按键值得繁琐操作,节省了系统循环周期的长度,减少误差。3.1.3 蜂鸣器报警模块在洗衣机的人机交互中,声音报警是不可或缺的一部分。每次洗衣过程完成后,都要由蜂鸣器提醒用户,来完成接下来的操作。蜂鸣器报警模块中,由单片机的P2.7口控制三极管S8050的基极,S8050是常见的NPN型晶体三极管,主要运用于高频放大电路中,也可以当作开关电路使用。在这里将S8050作为电子开关使用,基极与单片机P2.7口串联一个100欧电阻,电阻作用是限流。发射极接地,集电极与
40、蜂鸣器负管脚相连,蜂鸣器正管脚接+5v电源。当P2.7口输出高电平时,三极管处于导通状态,这时蜂鸣器有电流流过,蜂鸣器发声。当P2.7口输出低电平时,三极管处于断开状态,这时蜂鸣器没有电流流过,蜂鸣器不工作。这样就可以使P2.7发射2HZ的方波,蜂鸣器就可以有节奏的报警了。设计电路如图3-3所示。图3-3蜂鸣器报警电路3.2 显示电路设计在设计中,需要显示洗衣机工作状态和定时时间。所以对显示器的要求就是可以显示较多汉字与显示空间。所以在制定方案时选用了12864液晶显示器,12864是128*64的点阵液晶显示模块,12864液晶显示器也是市面上较为常见的显示器之一,可显示汉字及图形,内置81
41、92个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM(GDRAM)。12864具有串行和并行数据传输方式,其并行方式也和1602一样具有8位数据接口,控制方式和1602基本相似。具有接线简单控制方便等优点。接线如图3-4所示。图3-4 LCD12864液晶接口电路表3-1 12864并行接口管脚管脚号管脚名称电平管脚功能描述1脚VSS0V电源地2脚VCC3.0-5V电源正3脚V0-对比度(亮度)调整4脚RS(CS)H/L寄存器选择信号5脚R/W(SID)H/L读/写操作选择信号6脚E(SCLK)H/L使能信号7脚DB0H/L八位三态并行数据总线8脚DB19
42、脚DB210脚DB311脚DB412脚DB513脚DB614脚DB715脚CS1H/L片选信号,当CS1=H时,液晶左半屏显示16脚CS2H/L片选信号,当CS2=H时,液晶右半屏显示17脚/RESETH/L复位信号,L有效18脚VOUT-输出-10V的负电压(单电源供电)19脚AVDD背光电源正20脚KVSS背光电源地LCD12864采用20管脚直列式封装,其管脚名称和功能描述如表3-1所示。设计的全自动智能模拟洗衣机模拟器在显示部分只使用了写入操作,没有使用读取操作,所以在学习时必须掌握写入原理及其写入过程,对于读取状态只做了解即可。图3-5是LCD12864的写入时序图。根据时序图3-5
43、可以看到,当RS和R/W引脚处于低电平时,向DB0DB7数据总线输入数据后使E从高电平向低电平的跳变时就可以将数据写入LCD12864中。图3-5 LCD12864液晶写入时序图3.3 水位监测电路设计在水位检测电路方案选择时,根据设计需要,以设计简单为原则,选择了以红外对管模拟水位状态的方案。当满水状态红外对管被遮住时,该电路经过处理后向主控芯片发送水满指令;当水空状态红外对管被遮住时,该电路经过处理向主控芯片发送水空指令。具体设计电路如图3-6与图3-7所示。图3-6 满水位监测电路 图3-7 空水位监测电路图3-6是水满状态红外对管电路图,D11为发射管,D12为接收管。当D11与D12
44、没被遮挡时,D12断开,U5A放大器正输入端管脚5为+5V,R15为滑动变阻器,两端分别接+5V和GND,中间接U5A放大器负输入端管脚4。此时放大器U5A构成比较器电路,基准电压为R15的分压大小。当D12没有接到红外反射时,5管脚为+5V,正输入端电压大于负输入端电压,输出端电压为+5V,输出端管脚2与主控芯片P2.7连接,并且和电阻R8、LED灯D19串联到5V电源上,这时D19两端压降为0。主控芯片的P2.7脚读取电压为高电平,这时模拟为水满状态红外对管没有检测到水满。当D11与D12被遮挡时,D12导通,放大器U5A正输入端电压为0V,正输入端电压低于负输入端电压,输出端电压为0V,
45、主控芯片P2.7管脚读取状态位低电平,此时模拟为水满状态红外对管检测到水满状态。而D19与R8两端的压降为5V,D19被点亮,显示水满状态。图3-7是水空状态红外对管电路图,D9为发射管,D10为接收管。当D9与D10没被遮挡时,D10断开,U5B放大器正输入端管脚7为+5V,R14为滑动变阻器,两端分别接+5V和GND,中间接U5B放大器负输入端管脚6。此时放大器U5B构成比较器电路,基准电压为R14的分压大小。当D10没有接到红外反射时,7管脚为+5V,正输入端电压大于负输入端电压,输出端电压为+5V,输出端管脚1与主控芯片P2.6连接,并且和电阻R10、LED灯D20串联到5V电源上,这
46、时D20两端压降为0。主控芯片的P2.6脚读取电压为高电平,这时模拟为水空状态红外对管没有检测到水空。当D9与D10被遮挡时,D10导通,放大器U5B正输入端电压为0V,正输入端电压低于负输入端电压,输出端电压为0V,主控芯片P2.6管脚读取状态位低电平,此时模拟为水空状态红外对管检测到水空状态。而D20与R10两端的压降为5V,D20被点亮,显示水空状态。在设计中,选用LM339作为放大器芯片,LM339是4电压比较器集成电路,该芯片的工作范围宽,单双电源供电均可使用,单电源工作电压范围是2V36V,双电源供电电压范围1V18V,消耗电流较小Icc=1.3mA,采用双列直插14脚所料封(DIP14)。引脚功能如表3-2所示。表3-2 LM339引脚功能引脚引脚功能符号引脚引脚功能符号1输出端2OUT28反向输入端3IN-(3)2输出端1OUT19正向输入端3IN+(3)3电源VCC10反相输入端4IN-(4)4反向输入端1IN-(1)11正向输入端4IN+(4)5正向输入端1IN+(1)12电源GND6反相输入端2IN-(2)13输出端4OUT47正向输入端2IN+(2)14输出端3OUT3