基于单片机的洗衣机设计
《2024年基于单片机的全自动洗衣机系统设计》范文

《基于单片机的全自动洗衣机系统设计》篇一一、引言随着科技的不断进步和人们对生活品质要求的提高,全自动洗衣机已成为现代家庭和商业洗衣的必备设备。
为了满足市场对高效、智能、节能的洗衣机的需求,本文将介绍一种基于单片机的全自动洗衣机系统设计。
该设计旨在通过单片机控制,实现洗衣机的自动化、智能化操作,提高洗衣效率,降低能耗。
二、系统设计概述本系统采用单片机作为核心控制器,通过与洗衣机的各个部件(如电机、水位传感器、温度传感器、洗涤程序控制器等)相连,实现对洗衣机的全面控制。
系统设计包括硬件设计和软件设计两部分。
三、硬件设计1. 单片机控制器:选用性能稳定、功能强大的单片机作为核心控制器,负责整个系统的控制和协调。
2. 电机驱动模块:连接洗衣机的电机,通过单片机控制电机的启停、正反转等操作。
3. 水位传感器:检测洗衣机内的水位,将水位信息反馈给单片机,以便控制进水和排水。
4. 温度传感器:检测洗涤水的温度,将温度信息反馈给单片机,以便控制加热器的加热功率和加热时间。
5. 洗涤程序控制器:根据用户选择的洗涤程序,控制电机的运转速度、时间和洗涤方式。
6. 电源模块:为整个系统提供稳定的电源供应。
四、软件设计1. 主程序:负责整个系统的初始化和控制,调用各个模块的子程序,实现洗衣机的自动化操作。
2. 电机控制子程序:根据用户选择的洗涤程序,控制电机的启停、正反转等操作。
3. 水位检测子程序:通过读取水位传感器的信息,判断洗衣机内的水位是否达到设定值,以便控制进水和排水。
4. 温度检测子程序:通过读取温度传感器的信息,判断洗涤水的温度是否达到设定值,以便控制加热器的加热功率和加热时间。
5. 洗涤程序选择子程序:根据用户选择的洗涤程序,控制电机的运转速度、时间和洗涤方式。
五、系统功能与特点1. 自动化:系统采用单片机控制,实现洗衣过程的自动化操作,用户只需设置洗涤程序和启动洗衣机,其余工作由系统自动完成。
2. 智能化:系统具有智能检测功能,能自动检测水位、温度等信息,并根据这些信息调整洗涤程序,实现智能化的洗衣操作。
基于MCS-51单片机的洗衣机控制系统设计

基于MCS-51单片机的洗衣机控制系统设计单片机技术日新月异的发展,单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等特点在过程控制、机电一体化、智能化仪表、家用电器等方面得到了广泛应用。
本文采用MCS一51单片机作为洗衣机控制系统的核心,硬件线路及控制程序的设计是该系统的重要组成部分。
硬件线路设计主要包括电源、功能及控制系统、洗衣机状态显示、输出控制电路的设计。
控制程序设计主要包括主程序、内部定时中断服务程序、外部中断中断服务程序的设计。
一、洗衣机功能要求洗衣机的主要工作程序是:洗涤--脱水--漂洗--脱水--漂洗--脱水。
上述工作程序中,包含三个过程,洗涤过程、漂洗过程、脱水过程。
1、洗涤过程:放好待洗物,启动开关,进水阀通电,向洗衣机供水,当供水达到预定水位时,水位开关接通,进水阀断电关闭,停止供水。
洗涤电动机接通电源,带动波轮(或桶)旋转,产生各种形式的水流搅动衣物进行洗涤。
通过电动机不停的正转、停转、反转,反复循环,形成洗涤水对洗涤物产生强烈的翻滚作用,同时,衣物之间、衣物与四周桶壁之间产生互相摩擦和撞击力,以次达到洗涤衣物的目的。
2、漂洗过程:漂洗的目的在于清除衣物上的洗涤液,因此,漂洗过程与洗涤过程的电器动作是完全相同的。
3、脱水过程:洗涤或漂洗后,需要对衣物进行脱水以便晾干,节省水资源,所以脱水是洗衣过程中必不可少的环节。
洗涤或漂洗过程结束后,电动机停止转动,排水阀通电,打开排水阀门排水。
当水位低到一定程度时,满足安全条件,脱水电动机接通,电机带动脱水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出。
全部洗衣工作完成后,由蜂鸣器发出音响,表示衣物已洗干净。
二、洗衣机硬件电路设计根据洗衣机的基本功能,硬件电路设计需要考虑:水流强度的问题、洗涤、漂洗、脱水时间设定长短的问题、工作时间或剩余时间f 显示、工作过程中的暂停、启动、复位、洗完后的报警等问题。
采用5l系列单片机作为控制核心,主要包括电源部分、功能设置及控制电路、洗衣机状态显示及输出控制电路。
基于51单片机的智能洗衣控制系统设计

基于51单片机的智能洗衣控制系统设计1. 引言智能家居技术的发展为我们的生活带来了诸多便利,其中智能洗衣控制系统是其中的一项重要应用。
本文旨在基于51单片机设计一种智能洗衣控制系统,通过对洗衣机的控制和监测,提高洗衣质量和用户体验。
2. 智能洗衣控制系统设计原理2.1 51单片机介绍51单片机是一种常用的微控制器,具有体积小、功耗低、易于编程等特点。
在本设计中,我们选择51单片机作为主要的控制器。
2.2 智能洗衣系统功能需求智能洗衣系统应具备以下功能需求:2.2.1 温度控制:根据用户设定的温度要求,自动调节水温。
2.2.2 洗涤程序选择:根据用户选择不同类型的布料和污渍程度,自动调节洗涤程序。
2.2.3 水位监测:通过传感器实时监测水位情况,并根据需要自动添加或排放水量。
2.2.4 电机驱动:通过电机驱动实现转筒运转、排放水等功能。
...3 实验结果与分析在实际实验中,我们成功地实现了基于51单片机的智能洗衣控制系统,并进行了多组洗衣实验。
通过对洗衣机的控制和监测,系统能够根据用户设定的要求进行智能化的洗涤操作,并在完成后自动停止。
4 总结与展望通过本次研究,我们成功地设计并实现了一种基于51单片机的智能洗衣控制系统。
该系统具备温度控制、洗涤程序选择、水位监测和电机驱动等功能,能够提高洗衣质量和用户体验。
然而,目前该系统还存在一些局限性,如对于特殊布料和污渍处理不够精细等。
未来工作可以进一步优化系统设计,并结合更多的传感器和算法来提高智能化程度。
5 致谢本次研究得到了指导教师的悉心指导与帮助,在此向他们表示诚挚的感谢。
同时也感谢参与本研究工作并提供支持与帮助的各位同学们。
6 附录附录中包含了本次研究中使用到的关键代码、电路图、数据表格等详细信息,以供读者参考。
通过对基于51单片机的智能洗衣控制系统的设计,本文详细介绍了系统的原理、功能需求、硬件设计和软件设计等方面。
通过实验验证了系统的可行性,并对实验结果进行了分析。
基于单片机的洗衣机的控制系统设计

基于单片机的洗衣机的控制系统设计一、洗衣机控制系统的功能需求分析洗衣机的主要功能是对衣物进行洗涤、漂洗和脱水。
为了实现这些功能,控制系统需要具备以下几个方面的能力:1、洗涤模式选择:用户能够根据衣物的材质和脏污程度选择不同的洗涤模式,如标准洗、快速洗、强力洗等。
2、水位控制:根据衣物的数量自动或手动选择合适的水位,以达到节约用水和提高洗涤效果的目的。
3、洗涤时间控制:不同的洗涤模式对应不同的洗涤时间,控制系统需要准确地控制洗涤过程的时间。
4、转速控制:在脱水阶段,需要根据衣物的重量和材质控制电机的转速,以确保脱水效果和保护衣物。
5、故障检测与报警:能够检测洗衣机运行过程中的故障,如电机过载、水位异常等,并及时发出报警信号。
二、硬件设计1、单片机选型选择一款适合洗衣机控制系统的单片机是至关重要的。
需要考虑单片机的性能、引脚数量、存储容量、价格等因素。
常见的单片机如STM32 系列、ATmega 系列等都可以满足需求。
2、传感器模块(1)水位传感器:用于检测洗衣机内的水位高度,常见的有压力式水位传感器和电容式水位传感器。
(2)衣物重量传感器:通过测量电机的负载来估算衣物的重量,从而为水位和洗涤时间的选择提供依据。
(3)转速传感器:用于检测电机的转速,以实现对脱水转速的精确控制。
3、电机驱动模块洗衣机的电机通常为交流电机或直流无刷电机,需要相应的驱动电路来控制电机的正反转、转速和启停。
可以使用专门的电机驱动芯片,如 L298N 等。
4、显示与按键模块为了方便用户操作和了解洗衣机的工作状态,需要设计显示模块和按键模块。
显示模块可以采用液晶显示屏(LCD)或数码管,按键模块可以采用薄膜按键或机械按键。
5、电源模块为整个控制系统提供稳定的电源,通常采用交流 220V 市电经过变压器降压、整流、滤波和稳压后得到所需的直流电源。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、传感器的校准、显示模块的初始化等。
基于单片机的洗衣机智能控制系统方案

全自动洗衣机的设计一、设计要求洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。
全自动洗衣机是常见的家用电器。
它能够按照预设模式自动地完成衣物的洗涤、漂洗和脱水,也可以单独地进行洗涤、漂洗和脱水操作,这些过程一般按时间进行控制。
通常在给定的模式下,根据衣物多少允许用户设置不同的水位,当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机,即可开始洗衣操作,为了提高洗衣效率,电机一般先正转若干秒,然后再反转若干秒。
另外,每个洗衣机都有容量限制,当洗衣量大于它的额定容量容量时,控制系统报警并且不启动。
本设计要实现的功能有:(1)用户参数的输入:用户根据衣物的数量和质地确定洗涤时间、漂洗次数、脱水时间,然后通过按键输入具体的参数。
(2)参数和时间的显示:灵活地运用数码显示管会带来许多方便,它可以用来显示用户实时所处的洗衣功能状态以及所剩时间。
(3)实时控制的实现:单片机在获取了用户输入的参数后,对其进行分析处理,然后按照计算结果对洗衣过程进行实时控制。
(4)水位检测的实现:水位的高低影响着整个洗衣过程的进行,因此需要水位检测器将水位的变化发送给单片机,单片机根据水位的情况确定下一步应该做什么。
(5)洗衣过程的实现:一般的洗衣过程包括注水、洗涤、漂洗、排水和脱水这些步骤。
在洗衣过程中,系统主要控制进水电磁阀、排水电磁阀的打开和关闭,电机的正转、反转和停止。
(6)洗衣完毕的通知:当洗衣过程结束后,蜂鸣器就报警通知用户洗衣完毕。
二、设计分析本设计在设计洗衣机的控制系统时,洗衣机通过控制系统设定洗衣程序,在内桶(洗涤脱水桶)自动完成注水、洗涤、漂洗、浸泡、排水和脱水全过程。
洗衣时,控制系统打开进水电磁阀,开始注水;当洗涤脱水桶内的水位达到系统设定值时,水位检测器向单片机发送一个低电平,通知控制系统关闭进水电磁阀,同时启动电机洗衣。
基于单片机的全自动洗衣机控制系统设计

山东协和学院工学院,山东济南 250109【摘要】采用了STC89C52单片机进行设计控制系统,控制系统主要是四个部分构成:用户参数输入、洗涤、脱水、最后报警。
以单片计算机为主体构成的主要控制系统,主要控制系统是以STC89C52单片机为内核,使用键盘、蜂鸣器、电源、水位传感器等为核心,完成对洗衣机内各步骤的管理。
【关键词】STC89C52单片机洗衣机控制系统1总体方案设计1.1设计任务1.研究内容:利用单片机实现了一种新型的洗衣机控制装置。
利用MCU作为主机,通过对所需的外部电路进行扩充,实现了对全自动洗衣机的控制。
2.主要功能:(1)标准:12 min的浸洗、2 min的冲洗、3 min的脱水;(2)快速:4 min的浸洗,2 min的冲洗,2 min的脱水;(3)轻柔:3 min的浸洗,3 min的冲洗,2 min的脱水;(4)调试模式:整个的处理时间为1分钟;(5)有开机/停机按键的操作:先按下菜单,然后再按下选单,选好要做的工作,当工作完成后,再按下停止。
(6)具有脱水功能。
(7)具有指示功能:入水时显示,洗净时显示,排干时显示,漂洗时显示,脱水时显示。
1.2洗衣机的设计方案本控制系统由按钮输入、浸洗、洗涤、漂洗、排气、再洗涤等五个环节构成的。
本控制系统由主回路和单片机系统,外围硬件回路构成[8]。
用STC89C52单片机控制器为基础,以二个共阳数码管,键盘,蜂鸣器,水位传感器,以及发光二极管等为中心元件;由继电器,充气三极管,发电机,以及步进马达驱动器等组成的外围硬件。
1.2.1 按键在洗衣机的控制器上有四个按键,分别是K1、K2、K3、K4K1是单选按键,使用K4前先将K1按下,避免出现错误。
K2是开机按键、K3是停止按键、K4是菜单。
1.2.2 洗衣程序(1)水洗工序接通电源后,如果没有选择清洗时间,那么洗衣机将从清洗程序启动。
进入清洗程序,先加水,当加水指示灯点亮,启动加水,达到所需的时间后,加水停止;马达 M开启,推动水轮转动,产生洗涤水。
基于单片机的智能洗衣机控制系统设计

基于单片机的智能洗衣机控制系统设计一、本文概述随着科技的快速发展和人们生活水平的提高,家电产品逐渐向着智能化、自动化的方向发展。
洗衣机作为家庭日常生活中不可或缺的家电设备,其性能的优化和智能化升级显得尤为重要。
本文将详细介绍一种基于单片机的智能洗衣机控制系统设计,旨在提高洗衣机的自动化程度,改善用户体验,并实现节能环保的目标。
该控制系统以单片机为核心,结合传感器技术、电机控制技术、人机交互技术等多个领域的知识,实现洗衣机的智能控制。
通过传感器实时监测洗衣过程中的水量、温度、衣物重量等参数,单片机根据这些参数自动调节洗涤程序,以达到最佳的洗涤效果。
同时,系统还具备人机交互功能,用户可以通过简单的操作界面选择洗涤程序、设定洗涤参数,实现个性化洗涤。
本文首先将对智能洗衣机控制系统的总体设计方案进行介绍,包括硬件和软件的设计思路。
然后,详细阐述各个功能模块的实现方法,包括传感器模块、电机控制模块、人机交互模块等。
接着,对系统的硬件和软件进行集成和调试,确保系统的稳定性和可靠性。
对智能洗衣机控制系统进行性能测试和实验验证,以评估其实际应用效果。
通过本文的研究和设计,期望能够推动洗衣机行业的智能化升级,为用户提供更加便捷、高效、节能的洗涤体验。
也希望本文的研究方法和成果能够为相关领域的研究人员和技术人员提供有益的参考和借鉴。
二、单片机基础知识单片机(Microcontroller Unit,MCU)是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
单片机也被称为微控制器,它的应用领域非常广泛,包括智能家居、医疗设备、工业控制、航空航天等。
单片机的主要特点包括:集成度高,体积小,功耗低,可靠性高,控制功能强,扩展灵活,以及易于实现智能化控制等。
基于单片机的全自动洗衣机系统设计

基于单片机的全自动洗衣机系统设计一、本文概述随着科技的进步和人们生活水平的提高,家用电器在日常生活中扮演着越来越重要的角色。
全自动洗衣机作为其中的一种,其便捷性和高效性受到了广大用户的青睐。
传统的洗衣机设计在智能化、节能性、操作简便性等方面仍有待提升。
为此,本文提出了一种基于单片机的全自动洗衣机系统设计,旨在通过技术创新和智能控制,为用户提供更加人性化、高效且节能的洗衣体验。
本文将详细介绍该系统的设计原理、硬件构成、软件编程以及实际应用效果。
我们将对单片机的选择及其在系统中的作用进行阐述,同时分析洗衣机控制系统中所需的传感器和执行器。
接着,我们将深入探讨软件设计的关键技术和算法,包括控制逻辑的实现、人机交互界面的设计以及故障检测和处理机制。
我们将通过实际测试和用户体验反馈,对该系统的性能进行评估和优化。
本文旨在提供一种基于单片机的全自动洗衣机系统设计方案,为相关领域的研究和实践提供有益的参考和借鉴。
通过不断优化和创新,我们期待这种智能化、高效且节能的洗衣机能够在未来得到更广泛的应用,为人们的生活带来更多便利和舒适。
二、系统总体设计全自动洗衣机系统的设计,基于单片机作为核心控制器,旨在实现洗衣机的全自动化和智能化。
整个系统由单片机、电机驱动模块、水位检测模块、洗涤剂投放模块、温度控制模块、显示模块和用户交互模块等多个子模块组成。
我们选择一款性能稳定、价格适中且易于编程的单片机作为本系统的核心控制器。
该单片机将负责接收用户输入指令、处理传感器信号、控制各功能模块以及实现与显示模块的通信。
通过编程,单片机能够实现对洗衣机的全面控制,包括启动、停止、调整洗涤方式、设定洗涤时间等功能。
电机驱动模块是洗衣机的动力来源,负责驱动洗衣机的电机进行旋转。
我们选用一款能够驱动电机正反转且具备调速功能的驱动模块,通过单片机输出的PWM信号实现对电机转速的精确控制。
电机驱动模块还具备过流保护功能,以确保系统的安全可靠。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.单片机原理及系统课程设计专业:自动控制班级:姓名:学号:指导教师:交通大学自动化与电气工程学院2014年1 月12日基于AT89C51单片机的全自动洗衣机设计1 设计目的及要求1.1设计目的洗衣机已成为人们日常生活中必不可少的一部分,但是传统的基于继电器的控制,已不能满足人们对洗衣机的要求。
因此设计了基于单片机的洗衣机控制电路系统,由单片机控制实现洗衣机的各项功能。
单片机的体积小,控制功能灵活,因此,设计出基于单片机的全自动洗衣机控制电路系统具有很强的实用性。
由于个人能力有限,所设计的洗衣机比前沿科技产品要差很远。
所以这次课程设计的主要目的在于通过亲手操作,查找资料,培养自己的分析设计能力,把这学期课程中零散的知识进行整合,将理论的知识联系到实际的生活中,在实例中深入理解一些理论知识,并从中有所收获。
1.2设计要求模拟全自动洗衣机工作过程。
以电机替代洗衣机电机。
显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。
显示工作剩余时间(洗衣程序可自定义,时间精度:秒)。
洗衣时交替正、反转。
2 设计方案及原理2.1设计方案利用AT89C51单片机的P0,P1,P2,P3串行口的输入输出功能,控制数码管、电动机、发光二极管的工作状态,进而模拟洗衣机的基本工作过程。
洗衣机的主要工作过程是:进水—洗涤—漂洗—换水—漂洗—换水—漂洗—换水—脱水—结束。
上述工作过程中,包含三个过程:洗涤过程、漂洗过程、脱水过程。
(1) 洗涤过程:放好待洗物,启动开关,进水阀通电,向洗衣机供水,供水结束后,洗涤电动机接通电源,通过电机不停的正转、反转,形成洗涤水对洗涤物产生强烈的翻滚作用;同时衣物之间、衣物与四周桶壁之间产生互相摩擦和撞击力,达到洗涤衣物的目的。
(2) 漂洗过程:漂洗的目的在于清除衣物上的洗涤液,因此,漂洗过程与洗涤过程的电机动作是完全相同的。
(3) 脱水过程:漂洗过程结束后,电动机停止转动,排水阀通电,打开排水阀门排水。
当排水到一定程度,满足安全条件时,脱水电动机接通,电机带动脱水桶高速旋转,利用离心力把衣服上的水从桶壁的小眼里甩出。
全部洗衣工作完成后,结束指示的LED灯点亮,表示衣物已经洗好,洗衣机就会自动停止工作。
2.2 设计原理系统设计包括晶振和复位模块,电机驱动模块,LED显示模块,按键控制模块以及数码管显示模块五部分。
利用AT89C51单片机芯片,芯片左排引脚外接晶振和复位电路,通过74LS245锁存器连接至数码管,控制数码管稳定显示。
右排引脚外接电机驱动电路和各开关以及LED灯。
通过人工按压相应的开关,接通电机驱动电路相应的接线端子,实现电机正反转以及LED显示。
总体设计原理框图如图1所示。
图1 系统原理框图通过对开关的操作实现选择想要进行的任何操作。
当选择好模式后进入该模式。
该模式的参数已装入在单片机中,在单片机中程序的控制下进行工作。
程序实现的主要功能是洗涤,漂洗和脱水的控制。
其中洗涤时间设初值为136s,由于洗衣过程中电机要不停的正反转,所以用P3.2和P3.3控制。
通过流经电机两端电平的高低控制电流的流向,从而改变电机的转向,实现正反转。
漂洗过程和洗涤过程较为相似,由于漂洗要多次进行,所以用进水次数标志位flag1控制,当flag1为2,3,4时为漂洗过程。
脱水过程是在出水次数flag2的控制下进行。
当flag2为4时脱水,当脱水时间到达0后,脱水结束,洗衣结束。
上述三个过程中电机工作利用晶体管组成的驱动电路进行驱动。
3 硬件设计3.1主要元器件在本设计中主要使用了以下元器件:AT89C51单片机芯片、74LS245芯片、晶体振荡器、数码管、发光二极管、直流电动机、三极管。
3.2 硬件连接图该设计主要应用80C51单片机,外接一些必要的扩展电路,构成系统电路原理图,如图2所示。
图2 硬件连接图3.3 系统设计原理该设计采用模块化的方法,系统原理图分为五个模块,分别为晶振和复位模块,电机驱动模块,LED显示模块,按键控制模块以及数码管显示模块。
晶振和复位模块主要通过51单片机的部振荡方式,产生原始的时钟频率。
电机驱动模块主要包含电阻、三极管放大器和一个电机,通过与51单片机的P3.0-P3.3引脚连接,用于驱动相应的洗衣、漂洗和脱水程序。
LED显示模块主要通过与51单片机的P0口8个引脚连接,当按下相应按键时,对应的LED指示灯点亮,实现对洗衣机控制过程的指示。
按键控制模块,其连接于P3口部分引脚上,实现对洗衣过程的选择及控制。
数码管显示模块,其直接与单片机的P2口相连。
4 软件设计4.1 主程序流程图按下K1键,洗衣机进入待命状态;当按下K2键后,洗衣机才进入工作状态。
其主程序及流程图见附录2.1。
4.2 洗涤过程流程图电机正反转均为15s,程序及流程图见附录2.2。
4.3 漂洗过程流程图漂洗前先打开排水阀排水5s。
然后启动电动机漂洗,一次漂洗结束后,接着判断漂洗次数即flag3的值,若flag3 为3则漂洗结束,若flag3不为3,则再次执行漂洗操作,进入下一循环。
程序及流程图见附录2.3。
5 系统仿真及实际调试系统仿真结果图如图3所示。
图3 系统仿真结果图6 总结经过一个学期的时间完成了基于单片机的洗衣机控制系统的设计,本系统是基于单片机及其接口技术、计算机技术、微电子技术综合应用的设计。
实现了对洗衣机整个洗衣过程的控制包括用户参数输入、洗衣、脱水和结束演奏四个阶段。
控制系统主要由电源电路、控制电路两大模块构成。
电源电路为控制电路提供稳定的5V直流电压,为电动机提供电;控制电路负责控制洗衣机的工作过程,主要由AT89C51单片机、四位共阳数码管、按键、LED指示灯、电动机、进水排水电磁阀组成。
在系统设计中查阅了大量相关的中文和外文资料以及各芯片的厂家技术资料手册借鉴了很多前人成熟的经验。
对于以上之粗浅体会进一步的总结和提高,需要有更多的社会实践来提供,我也相信在不久的将来踏入社会,类似这样的设计绝不在少数,只要我们努力学习、勇于实践、勤学好问我们就会懂得以前不明白或不懂的道理,就会很快地成长和成熟起来。
我也相信凭着我自强不息勇于拼搏的精神一定能够很快的适应类似设计的需要,适应这个多变的社会,充分发挥长处朝我们的方向不断前进前进再前进!参考文献[1] 王思明,金敏,苟军年等单片机原理及应用系统设计[M] 科学出版社2012:176-189[2] 谭浩强C程序设计(第四版) [M] 清华大学出版社2010:36-60附录附录一源程序#include<reg51.h>#define uchar unsigned char#define uint unsigned int//***************************//sbit mo_r=P3^2; //电机右控制线sbit mo_l=P3^3; //电机左控制线//****************************//sbit key_menu=P3^4; // 菜单按键sbit key_on=P3^5; // 开始按键sbit key_off=P3^6; // 结束按键sbit key_se=P3^7; // 菜单选择按键//***************************//sbit led_in=P0^0; // 进水指示灯sbit led_xi=P0^1; // 洗衣指示灯sbit led_pao=P0^2; // 泡洗指示灯sbit led_xx=P0^3; // 脱水指示灯sbit led_out=P0^4; // 出水指示灯sbit led_over=P0^5; // 洗衣结束指示灯sbit led_work=P0^6; // 电机工作指示灯sbit other=P3^1; // 脱水电源控制开关sbit anther=P3^0; // 洗衣电源控制开关//******************************//uchar code num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //*****************************//char sec=0; // 时间秒char min=0; // 时间分uchar count=0; // 中断计数uchar flag0=0; // 洗衣机工作状态标志uchar flag1=0; // 进水次数标志uchar flag2=0; // 出水次数标志uchar flag3=0; // 泡洗次数标志uchar quan=0; // 正反转计数//**********************************//void delay(); // 延时函数void in(); // 进水子程序void out(); // 出水子程序void over(); // 结束子程序void xi(); // 洗衣子程序void pao(); // 泡衣子程序void xx(); // 脱水子程序void on(); // 工作on处理子程序void se(); // 显示菜单选择void SEG_display(); // 显示时间子程序void key_scan(); // 按键扫描子程序void delay(uint i){uint x,y;for(x=i;x>0;x--)for(y=120;y>0;y--);}// 工作on处理子程序//********************************//void on(){TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;P0 = 0xff;if(flag0==0)in();if(flag0==1)xi();if(flag0==2)pao();if(flag0==3)xx();if(flag0==4)out();}// 结束子程序//*********************************//void over(){ other=0;P0=0xff;mo_r=0;mo_l=0;led_over=0;EA=0;}// 进水子程序//*********************************// void in(){ anther=0;other=0;P0=0xff;led_in=0;flag1++;mo_r=0;mo_l=0;min=0;sec=8;}// 洗衣子程序//*********************************// void xi(){ anther=1;other=0;P0=0xff;led_work=0;led_xi=0;mo_r=1;mo_l=0;min=1;sec=36;quan=0;}// 泡衣子程序//*********************************// void pao(){anther=1;other=0;P0=0xff;led_pao=0;flag3++;mo_r=1;mo_l=0;min=1;sec=35;quan=0;}// 脱水子程序//*********************************// void xx(){ other=1;anther=0;P0=0xff;led_xx=0;mo_r=0;mo_l=1;min=0;sec=50;}// 出水子程序//*********************************// void out(){ anther=0;other=0;P0=0xff;led_out=0;flag2++;mo_r=0;mo_l=0;min=0;sec=5;}// 显示菜单选择//*********************************// void se(){P0=0xff;if(flag0 >= 5)flag0=0;if(flag0==0){led_in=0;}if(flag0==1){led_xi=0;}if(flag0==2){led_pao=0;}if(flag0==3){led_xx=0;}if(flag0==4){led_out=0;}}// 菜单处理子程序//**********************************// void menu(){min=0;sec=0;mo_r=0;mo_l=0;SEG_display();while(1){if(key_on==0){delay(5);if(key_on==0){while(!key_on);on();break;}}//**************************//if(key_off==0){delay(5);if(key_off==0){while(!key_off);over();break;}}//****************************//if(key_se==0){delay(5);if(key_se==0){while(!key_se);flag0++;se();}}}}// 按键扫描子程序//*********************************// void key_scan(){if(key_menu==0){delay(5);if(key_menu==0){while(!key_menu);menu();}}//********************************// if(key_on==0){delay(5);if(key_on==0){while(!key_on);on();}}//*********************************// if(key_off==0){delay(5);if(key_off==0){while(!key_off);over();}}}// 显示子程序//*********************************// void SEG_display(){P1=0x01;P2=num[min/10];delay(10);P1=0x02;P2=num[min%10];delay(10);P1=0x04;P2=num[sec/10];delay(10);P1=0x08;P2=num[sec%10];delay(10);}// 主函数//*********************************// void main(){led_in=0;anther=0;other=0;while(1){SEG_display();key_scan();}}// 定时器0中断处理程序//**********************************//void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;sec--;if((flag0==1)||(flag0==2)){quan++;switch(quan){case 1:mo_r=1;mo_l=0;break;case 10:mo_r=0;mo_l=0;break;case 15:mo_r=0;mo_l=1;break;case 25:mo_r=0;mo_l=0;break;default:;}if(quan==30){quan=0;}}//**********************************//if((sec==0)&&(min != 0)){min--;sec=59;}//**********************************//if((sec<0)&&(min==0)&&(flag0==0)) //进水结束{switch(flag1){case 1:flag0=1;xi();break;case 2:flag0=2;pao();break;case 3:flag0=2;pao();break;case 4:flag0=2;pao();break;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束{flag0=4;out();}//**********************************//if((sec<0)&&(min==0)&&(flag0==2)) //泡衣结束{switch(flag3){case 1:flag0=4;out();break;case 2:flag0=4;out();break;case 3:flag0=4;out();break;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==4)) //出水结束{switch(flag2){case 1:flag0=0;in();break;case 2:flag0=0;in();break;case 3:flag0=0;in();break;case 4:flag0=3;xx();break;}}//***********************************//if((sec<0)&&(min==0)&&(flag0==3)){ sec=0;over();}}}附录2附录2.1主程序void main(){led_in=0;anther=0;other=0;while(1){SEG_display();key_scan();}}// 定时器0中断处理程序//**********************************//void timer0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;sec--;if((flag0==1)||(flag0==2)){quan++;switch(quan){case 1:mo_r=1;mo_l=0;break;case 10:mo_r=0;mo_l=0;break;case 15:mo_r=0;mo_l=1;break;case 25:mo_r=0;mo_l=0;break;default:;}if(quan==30){quan=0;}}//**********************************//if((sec==0)&&(min != 0)){min--;}//**********************************//if((sec<0)&&(min==0)&&(flag0==0)) //进水结束{switch(flag1){case 1:flag0=1;xi();break;case 2:flag0=2;pao();break;case 3:flag0=2;pao();break;case 4:flag0=2;pao();break;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==1)) //洗衣结束{flag0=4;out();}//**********************************//if((sec<0)&&(min==0)&&(flag0==2)) //泡衣结束{switch(flag3){case 1:flag0=4;out();break;case 2:flag0=4;out();break;case 3:flag0=4;out();break;}}//**********************************//if((sec<0)&&(min==0)&&(flag0==4)) //出水结束{switch(flag2){case 1:flag0=0;in();break;case 2:flag0=0;in();break;case 3:flag0=0;in();break;case 4:flag0=3;xx();break;}}//***********************************//if((sec<0)&&(min==0)&&(flag0==3))over();}}}N附录图2.1主程序流程图2.2洗涤过程程序void xi(){ anther=1;other=0;P0=0xff;led_work=0;led_xi=0;mo_r=1;mo_l=0;min=0;sec=30;quan=0;}NNN附录图2.2洗涤程序流程图2.3 漂洗子程序void pao(){anther=1;other=0;P0=0xff;led_pao=0;led_work=0;flag3++;mo_r=1;mo_l=0;min=0;sec=10;quan=0;}范文范例参考WORD 格式整理NN附录图2.3 漂洗程序流程图。