收藏 分销(赏)

全自动洗衣机控制器(毕业设计).doc

上传人:快乐****生活 文档编号:4319329 上传时间:2024-09-05 格式:DOC 页数:43 大小:968.98KB
下载 相关 举报
全自动洗衣机控制器(毕业设计).doc_第1页
第1页 / 共43页
全自动洗衣机控制器(毕业设计).doc_第2页
第2页 / 共43页
全自动洗衣机控制器(毕业设计).doc_第3页
第3页 / 共43页
全自动洗衣机控制器(毕业设计).doc_第4页
第4页 / 共43页
全自动洗衣机控制器(毕业设计).doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、毕 业 设 计(届)毕业设计题目:全自动洗衣机控制器学生姓名: 学 号:系 别:专业班级: 指导教师姓名及职称:起止时间:摘 要洗衣机是现代家庭中必不可少的一部分,它的出现方便了我们的生活,为我们节省了不少时间。随着经济的发展和人民生活水平的不断提高,其发展也是日新月异,全自动化的程序是现在洗衣机的基本要求。我们现在只要按一个键,我们就可以完成洗衣服的所有操作。洗衣机逐渐向微电脑智能化发展。传统的机械式、简单的电子式控制都难以满足现代洗衣机的发展要求。本系统的微控制器采用STC89C52单片机,系统主要由液晶显示模块,系统报警模块,电机控制模块,功能按键模块,指示灯模块。洗衣机开机默认标准模式

2、,洗涤12分钟,漂洗6分钟,漂洗两次脱水,漂洗和洗涤,电机都正转四秒,停两秒,反转四秒,停两秒。系统通过按键来启停洗衣机,通过按键选择洗衣机标准,快速,脱水三种模式,通过按键模拟脱水翻盖功能等等。本设计洗衣的过程控制主要包括,洗涤,漂洗,排水脱水三个过程。按照全自动洗衣机的控制系统的要求和特点,来进行确定单片机的输入输出分配关系,根据洗衣过程的需求,控制程序的设计主要包括主程序、内部定时中断服务程序、外部定时中断程序、洗衣,排水和脱水的设计,设计完毕并进行系统调试。关键词:洗衣机,单片机,电机,控制系统AbstractWashing machine is an essential part o

3、f the modern family, which has made our life convenient, and save a lot of time for us. With the increasing economic development and peoples living standards , microcomputer intelligent washing machines to its development. Traditional mechanical, simple electronic control are difficult to meet the d

4、evelopment requirements of the modern washing machine. The system uses STC89c52 microcontroller micro controller system has LCD module, the system alarm module , motor control module , function keys modules, LEDs modules. Washer default standard mode , washing 12 minutes , rinsing six minutes , rins

5、ed twice dehydration, rinsing and washing motors forward four seconds , stopped for two seconds, reversing four seconds , stopped for two seconds. Button to start and stop the system through the washing machine , the washing machine by pressing a button to select Standard, Fast , dehydrated three mo

6、dels , simulation dehydration flip through the key features .The design of the control process includes washing , washing, rinsing , dewatering and drainage three processes . Accordance with the requirements and characteristics of automatic washing machine control system to determine the relationshi

7、p between input and output distribution microcontroller , according to the needs of the laundry process , the design control program includes the main program , an internal timer interrupt service routine , external timer interrupt program , Laundry, drainage and dewatering design, design completed

8、and system debugging .Keywords: Washing machine; SCM; Motor; Control Systems;目 录1.绪 论11.1 课题研究背景及意义11.2本文主要的研究内容12系统方案总体设计22.1 全自动洗衣机指标要求22.2 系统方案选择32.2.1 控制器选择32.2.2 电机驱动器选择32.3 系统总体设计43 系统硬件电路设计53.1 电机驱动电路设计53.1.1 L298介绍53.1.2 电机驱动电路设计63.2 单片机控制单元设计73.2.1单片机介绍73.2.2 中断系统93.2.3定时器93.2.4控制系统电路设计93.3

9、. 显示电路设计113.4 报警电路设计123.5指示灯电路设计133.6键盘电路设计133.7电源电路设计144.系统软件设计154.1 软件开发环境介绍154.2 C语言介绍154.3 软件总体设计154.3.1系统主程序设计164.3.2系统中断程序设计204.3.3 键盘扫描程序214.3.4 电机驱动程序设计225.系统仿真及结果分析245.1 硬件实物245.2系统仿真环境介绍245.3 系统仿真结果分析255.4仿真遇到的问题26结束语27参考文献28致 谢29附录30系统电路图30程序代码清单32381.绪 论 在本章中主要介绍了课题研究的背景和意义,以及洗衣机控制系统的使用现

10、状,结合一些实际中的问题,阐述了洗衣机控制系统设计的必要性,最后介绍了一下本设计的的要求和内容,以及在论文的结构安排。1.1 课题研究背景及意义洗衣服从古到今都是一个必不可少的家务劳动,从电视上的剧集上也可以看到,古代妇女都把衣服拿到河边用棍子敲打,用手搓等等。但是随着时间的推移,科技的发展,出现了用机械洗衣代替手工洗衣的操作。早在1858年,一个叫汉密尔顿史密斯的美国人在匹茨堡制成了世界上第一台洗衣机。这个洗衣机整体设计比较简单,它的主件是一只圆桶,桶内装有一根带有桨状叶子的直轴。轴是通过摇动和它相连的曲柄转动的。但这台洗衣机使用起来比较费力,而且对衣物的损害也比较大,所以并没被广泛使用,但

11、是给人们用机器代替手工洗衣服的想法起到一个至关重要的启示。时至今天,洗衣机已经发展到一个非常先进水平。我们这一代人也可以深刻地体会到洗衣机的发展。在90年代初期,普通大众还是用着半自动的洗衣机,就是那种洗和甩干分开两个滚筒,那种要我们把洗涤好的衣服再人手拿到另外一个滚筒去甩干。在今天看来是比较落后的洗衣机,但是在当时也是十分先进的。再到了90年代后期出现了全自动洗衣机,全自动洗衣机是一个重大的跨越。它的操作十分方便,我们只要把衣服放进去,再按开始,过一段时间就能洗好并自动甩干。现在的洗衣机就更先进了,有了更多的功能,例如自动烘干、自动熨好等等更实用的功能。本洗衣机控制系统正是在这一个背景下产生

12、的,设计一套完善的洗衣机控制系统对于劳动力有着重要意义,一个好的控制系统,不仅能在保证洗干净衣服的前提下,还能够更好的保护衣服,节约时间。1.2本文主要的研究内容本设计采用STC89S52单片机作为控制芯片,使用L298控制芯片作为电机驱动,使用蜂鸣器来作为报警系统,使用LCD1602作为显示,使用LED来作为标示洗衣状态。系统在软件里面通过多个定时器协同工作,完成洗衣的漂洗过程:正转4秒,停止2秒,反转4秒,停止2秒。并且在系统的运行过程中,通过启动/停止按键来启动和暂停洗衣机,通过模式切换开关来切换洗衣机在标准洗涤,快速洗涤,脱水三个模式切换;通过按键来模拟洗衣机在脱水过程中翻盖报警急停功

13、能。对于整个系统而言,系统上电确认后,系统同默认进入到标准模式,当按照标准洗涤的12分钟后,洗衣机进行排水脱水,然后进入到漂洗过6分钟,在此过程中,标准洗涤指示灯,排水脱水指示灯分别不断闪烁来表示正在进行的过程,完成以后的漂洗和脱水便可以完成整个标准洗衣过程。对于快速洗涤过程跟标准洗涤过程一样;对于脱水模式,洗衣机进入到高速旋转模式,当有翻盖模拟按键按下时候,洗衣机急停并且报警。主要的设计任务有:第一步是把可行的方案列举出来,并选择最为合适的方案,再选择控制芯片和电机驱动的方案,确定大致的设计方向;第二步是设计单片机控制控制系统硬件,能够实现控制电机、显示当前工作状态、时间、报警等等的功能;第

14、三步是软件设计,设计人机交互界面,电机驱动程序,报警程序设计,模式选择程序设计,中断程序设计等等;最后的步骤是系统调试仿真,调试系统的硬件和软件,并且进行仿真,看设计是否成功。2系统方案总体设计2.1 全自动洗衣机指标要求全自动洗衣机的指标要求如下:首先,标准洗涤12分钟再漂洗6分钟,漂洗两次就脱水3分钟。其次,快速洗涤7分钟再漂洗3分钟,漂洗两次,脱水。最后:还可以实现启动和暂停按钮控制,第一次启动,标准洗涤;工作时按此按钮暂停,再按则恢复工作。洗涤、漂洗4秒正转,停2秒,反转4秒,停2秒,继续运行。为了安全,在脱水时,如果打开盖板(K3键模拟),脱水暂停。在洗涤时洗涤指示灯闪烁,漂洗时漂洗

15、指示灯闪烁,脱水时脱水指示灯闪烁。按键功能设想:K1键改变“标准、快速、排水”三种方式,执行相应程序,对应LED闪烁。默认标准模式。k2键改变控制洗衣机的“启动、暂停”功能。按下暂停,再按下恢复运行。K3键模拟打开盖板,在脱水时,如果打开盖板,脱水暂停。根据设计所需要求,要完成一个比较完善的洗衣机控制器,必须要注意每一个细节,把系统调试到最为合适的工作状态。并且要有一定的可靠性,所以可靠性是在设计过程中应该优先考虑的一个因素,一个控制系统必须要能稳定、可靠地工作,才能投入到生产实践中去。如果系统的可靠性不能达到要求,那么系统出现故障的可能就会增大,有可能会造成很大的损失。2.2 系统方案选择2

16、.2.1 控制器选择本设计中拥有一个控制器,它主要控制驱动信号产生,以及信息的现实等功能,控制器拥有很多种,下面介绍一些控制器以及本设计采用的控制器。方案一:选择STC89C52作为控制器。首先,STC89C52是51内核,是8位单片机,其指令是采用的被称为“CISC”的复杂指令集,共有111条指令,内部自然丰富,并且操作简单。1还有,它的供电电压是5V和其他的一些芯片具有相同的供电电压,其抗干扰能力强,端口容易操作,构建其最小控制系统简单。2该方案的实用性和可靠性比较高,可以满足绝大多数控制,选择51单片机作为控制器,对于初学者可以很方便的构建一个最小控制系统,并且其的编程很简单,成本低,便

17、于操作者实现控制目标。方案二:选择MSP430作为控制器。MSP430是TI公司生产的一款低功耗控制芯片,其功耗低,供电电压3.3V,其可以工作在低功耗模式,可以减少系统的功耗,并且MSP430单片机是16位的单片机,采用了精简指令集(RISC)结构,只有简洁的27条指令,大量的指令则是模拟指令,众多的寄存器以及片内数据寄存器都可参加多种运算。3该方案在低功耗和运算能力上具有很大的优势,然而其的可靠性不高,其抗干扰能力比较差,最重要的是其编写程序比较复杂,芯片成本比较高,编写程序复杂。联系本设计的任务,对于控制器的要求不是很高,所以从设计成本以及可靠性和实施难度等方面考虑,本设计选择控制方案一

18、作为控制方案选择。2.2.2 电机驱动器选择本设计要对洗衣机的电机进行控制,选择恰当的电机驱动方案有利于电机控制,在本设计中要求电机可以调速,电机可以改变方向,具体方案如下:方案一:采用数字电位器加大电流稳压器构建调压电路,采用继电器构建电压方向改变电路。在本方案中,通过驱动数字电位器改变大电流稳压器的输出电压,从而实现电压调速,通过继电器切换电压方向来改变输出电压方向,从而改变电机转向,采用这一种办法来实现电机调速虽然方便智能,但是由于使用了大量价格昂贵的数字电位器等芯片,成本很高,并且调速范围不广。方案二:采用专用电机调速控制器L298来进行电机控制。L298通过四个控制引脚来控制两个电机

19、的运行速度以及运行电压方向,不过使用L298来对电机调速的时候,要运用PWM波形进行控制,这种控制方案不仅集成度高,便于控制,而且整个系统的成本相对较低。联系本设计的任务,由于本设计还要求仿真,并且设计都对成本又要求,所以,在本设计选用方案二来对电机控制。2.3 系统总体设计 在本设计中,要求实现洗衣机的全自动控制,在整个控制系统中,要求对电机控制,报警控制,液晶显示以及键盘输入等功能,在本设计里面主要体现出对电机的智能控制,在软件里面实现,首先通过按键选择洗衣机的工作模式,选择完工作模式后,系统进入到相应的模式下运行,在运行的过程中也可以通过按键来启停电机,并且还可以用按键来模拟脱水翻盖报警

20、功能。本设计的总体设计框图如下:STC89C52图2-1 全自动洗衣机控制系统框图Fig.2-1 Block diagram of control system of automatic washing machine 由图2-1可以知道,整个系统分为三大块:人机交互,状态显示,执行电路。在这个三个模块中,人机交互模块有液晶和键盘组成,在整个系统中,通过电机运行时间来判断当前电机运行状态,当洗衣机的洗涤时间到了后,系统自动运行到排水脱水状态,并且相应的指示灯闪烁,通过按键来设置洗衣机运行状态,并且在洗衣机运行过程中,通过启动/暂停按键来启动和暂停按洗衣机,当洗衣机洗衣结束的时候,电机停止,蜂鸣

21、器报警。在脱水的时候,用按键来模拟翻盖,当有按键按下时,洗衣机停止脱水,并且报警,当再次按下的时候,系统进入到正常脱水模式。 3 系统硬件电路设计3.1 电机驱动电路设计3.1.1 L298介绍平时我们在观察洗衣机工作时可以发现,在洗衣服的过程中,洗衣机的转动会先顺时针转一会,停一会,再逆时针转一会,通过这样的动作,就能够起到像手动揉衣服的作用。因为正转反转所以工作的电机转速不可过快,不然对电机的伤害会比较大。在脱水时,洗衣机只会需朝某一个方向快速旋转,利用离心力的方法把衣物甩干。 本设计系统的电机驱动采用的是电机驱动芯片L298,它的驱动电流达3A,可以满足系统工作的需求。而且L298的驱动

22、方式比较简单, L298有两个电压输入,一个给电机的电压,一个是给芯片工作与控制逻辑的参考电压。L298相当于有四个驱动门,每个IN1,对应该一个OUT1,当IN1为高电平是,OUT1输出高电平,电压为VSS,也就是给这个芯片电机的供电电压,而且指的不是逻辑电压。5又见图2-1与L298的内部原理图3-1本设计每个两个驱动门做成一路控制电机的信号,这样可以使电机在四个象限运行,即正转,反转,停车,自由滑行。ENA与ENB的使能的控制,如果采用PWM对电机进行调速,可以在ENA与ENB中分别接入PWM信号,IN1与IN2,和IN3与IN4,分别可以控制电机的正反转与不转。为了方便一些接线的电机,

23、本电路板设计输出的接线端子,输出端子分别为:OUT1,OUT2,OUT3,OUT4。同时为了方便接四线的步进电机,在接线端子上也设计了四位排针,输出信号与接线端子相同的顺序7。L298内部原理图如图3-1所示。图3-1 L298内部原理图Fig.3-1 L298 internal schematic diagram3.1.2 电机驱动电路设计本设计系统的电机驱动采用的是L298电机驱动芯片,因为用L298电机芯片在编写程序是只要两个指令就能够满足电机的正转、反转、停止等等的功能。编写比较简单,操作也更为容易。而如图3-2就是L298的管脚图。图3-2 L298管脚图Fig.3-2 L298 P

24、in diagram L298有两路电源分别为逻辑电源和动力电源,它的电路原理图如图3-3所示。它图中5V为逻辑电源,16V为动力电源。ENA与ENB直接接入5V逻辑电源也就是说两个电机时刻都工作在使能状态,控制电机的运行状态只有通过IN1与IN2,IN3与IN4两个接口。由于我们使用的电机是线圈式的,在从运行状态突然转换到停止状态和从顺时针状态突然转换到逆时针状态时会形成很大的反向电流,在电路中加入二极管的作用就是在产生反向电流的时候进行泄流,保护芯片的安全。各输入端串如二极管同样是起保护作用。16图3-3 L298驱动原理图Fig.3-3 Schematic of L298 driver3

25、.2 单片机控制单元设计3.2.1单片机介绍 在微型计算机中,单片机微型计算机具有很重要的地位,并且得到广泛的应用。也就是我们常说的单片机。单片机在电子行业起着十分重要的作用。单片机课程也是我们学习的重点,可想而知,单片机在今天的电子计算机行业是多么的重要。又因为单片机被广泛应用在控制系统中,所以也常常称其为微控制器。单片机也被叫做微型电脑。一般情况,单片机就是集成电路芯片,不过其内部包含有计算机的功能部分:加法器,存储器以及与外设连接的I/O设备。因此,单片机加上基本工作电路以及对应的外设电路便可以构造我们想要的控制系统。 STC89C52是拥有51内核单片机的典型产品,在单片机内部包含了中

26、央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。如图3-4所示就是STC89C52单片机。中央处理器(CPU)是整个单片机的核心部件,是拥有8微数据处理能的处理器,能够处理8位组成的代码和数据,CPU起到一个大脑的作用,负责指挥和调度系统的各个单元协调工作。芯片内部有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。片上共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同

27、的控制要求,并具有2级的优先级别选择。 图3-4 STC89C52管脚分布Fig.3-4 STC89c52Pin diagram 而STC89C52各个引脚的作用与介绍:1、 VCC是供电电压;2、 GND是接地; 3、 P0口是一个双向I/O口,每个引脚均可以吸收8TLL电流,当P1口的引脚在第一次被置为高电平的时候表示为高阻输入。P0能够可以与外部存储器相连接,并且充当高8位地址或者数据。使用FLASH编程的时候,它作为程序烧写口,也就是通过P1口可以把程序写进单片机中。 4、 P2口是一个双向I/O口,并且内部漏极上拉,P2口 可以作为缓冲器接受,可以输出P0口一半的电流,当P2口被写1

28、的时候,该管教被上拉到高电平,表示当前为输入状态。当作为输入时,其电平被外设拉低,将电流输出。这是由于内部被上拉的缘故。5、 P3口是一个双向I/O口,并且内部漏极上拉,P2口 可以作为缓冲器接受,可以输出P0口一半的电流,当P3口被写1的时候,该管教被上拉到高电平,表示当前为输入状态。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为下载端口等一些特殊口。总体来说,STC89C52是一款功能强大的单片机,它为许多控制系统提供了灵活,成本更低的解决方案。本次设计之所以采用STC89C51单片机主要是想应用STC89C52的外部中断和定时器中断等片上自

29、带的外部资源,从而使设计更容易。3.2.2 中断系统中断是处理器处理外部突发事件的一个重要技术。它能使处理器在运行过程中对外部事件发出的中断请求及时地进行处理,处理完成后又立即返回断点,继续进行处理器原来的工作。触发中断的事件和原因可以被称为中断源。根据中断的的不同来源,可以把中断的种类分为软硬件中断,而硬件的中断又可以分为由外部事件和内部事件触发的中断两类。外部中断一般是指由外部事件触发的,如:键盘,定时器,ADC等。外部中断是可以屏蔽的中断,也就是说,利用中断控制器可以屏蔽这些外部设备的中断请求。中断是各个设计系统中不可缺少的一个功能。3.2.3定时器在本设计中采用的是51定时器,通过在学

30、校的学习和查阅相关的资料,可以知道51定时器操作较为简单。其工作原理为:单片机包含两个定时器,这两个定时器也叫计数器,它们都可以进行编程控制,它们工作在四种工作方式,通过写控制字和相关寄存器可以选择器工作在不同的工作方式。具体的要求是:定时器0的控制寄存器TL0(低8位)和 TH0(高8位)构成,定时器1的控制寄存器TL1(低8位)和TH1(高8位)构成。通过改变相关寄存器的值可以使他们工作在不同的方式,TCON则用于定时器的启停,同时还兼顾溢出标志等功能。程序开始时需对这些寄存器进行初始化,然后才能控制这些寄存器。3.2.4控制系统电路设计 如图3-5所示为系统控制电路系统电路原理图。是通过

31、C45,S1,R22组成而成的复位电路,由相关的资料可以知道51单片机为高电平复位,单片机上电时,电容C45和R22组成的RC电路中电容缓慢充电,使RST端保持一个几个微秒的高电平,使单片机上电复位,当电容C45充满电后RST脚电平通过下拉电阻将电平拉低为零,单片机开始进入运行状态,复位完成。当单片机在运行的过中,通过按下按键S1也可以形成一个高电平状态,单片机手动复位。图3-5复位电路Fig.3-5 Reset circuit电路中为了计时方便计算,本设计的晶振选用12MHz无源外部晶振。配合两个起振电容C2,C3。形成晶体谐振电路为单片机提供一个12MHz的稳定的时钟源。为了方便起振,起振

32、电容选用22pF。电路图如图3-6所示图3-6 晶振电路Fig.3-6 Crystal oscillator circuit 单片机的原理图如图3-6所示,在本设计中使用51单片机,采用图3-4、图3-5、图3-6所示电路图与图3-7构成最小系统,。 图3-7 STC89C52单片机最小系统Fig.3-7 STC89C52 Single chip microcomputer3.3. 显示电路设计在本设计中使用LCD1602来作为显示器,LCD1602能够同时显示16x02即32个字符,也就是2行16列。如图3-8所示。LCD1602采用的是5V供电,在一些基础的课程设计和实验室操作中都有比较多

33、的应用。图3-8 LCD1602液晶Fig.3-8 LCD1602 Liquid crystal在PROPEUS软件上的LCD1602电路图设计如图3-9所示:图3-9 LCD1602电路设计Fig.3-9 LCD1602 circuit design3.4 报警电路设计 在本设计中,显然没有要求有报警电路,但是平时我们的洗衣机出于安全考虑都会加入报警电路,我们平时也应该有留意到当洗衣机完成洗衣的时候,洗衣机会提示洗衣完成,当脱水时翻开盖的时候,洗衣机也会报警警示用户小心,所以为了更加完善本设计的系统,使设计更有实用性。在设计中加入了蜂鸣报警器。具体的设计如图3-10所示,此电路中的蜂鸣器是有

34、源蜂鸣器,在本设计中由于仿真的时候没有三极管可以达到蜂鸣器的驱动要求,所以在仿真处理的时候,直接使用单片机的引脚来驱动蜂鸣器,而在实际的电路中,并需通过一个三极管的电流放大作用才能驱动蜂鸣器,所以在实际电路中,为了减小单片机的负担,所以,采用PNP的三极管来驱动蜂鸣器。图3-10 报警电路Fig.3-10 The alarm circuit如图3-10所示,蜂鸣器选用5V的,驱动蜂鸣器需要大约100mA的电流,也就是说驱动蜂鸣器的三极管的集电极电流为Ic=100mA。三极管选用直流放大系数为100的9014,根据Ic=Ib,可计算得三极管基极电流Ib=1mA,而Vbe=0.7V,又由于光耦中的

35、光电三极管的集电极、发射极饱和压降Vces=0.3V,所以基极的限流电阻上的压降为(5-Vces-Vbe)=4V,4V/0.001A=4K,由于没有标称值为4K的电阻,所以选择4.7K的。电路中的发光二极管用来表示当前设备处于运行状态。而电路中的电阻均用来限流,保护后级的三极管和发光二极管的正常工作。3.5指示灯电路设计本设计要求在不同的工作状态的时候要有不同的指示灯,所以在设计指示灯电路中,通过用三个LED发光二极管来表示系统当前的运行状态:分别为:脱水,漂洗,洗涤三个状态,根据当前电机运行的时长,不停的切换当前的电机运行状态,LED也不断的更替闪烁,其原理图3-11所示。图3-11 洗衣机

36、运行状态指示灯Fig.3-11 Washing machine operation status indication lamp3.6键盘电路设计在这一个设计中使用的键盘电路是14键盘电路,键盘在电路中实现的功能是:模式选择、启动暂停、模拟洗衣机翻盖、确定按键等。在本设计中采用上拉电路的方式构建键盘电路,如图3-11示,采用的是1K电阻上拉,使按键按下时输出低电平,按键弹起时输出高电平,从而实现按键对应的功能。图3-11键盘电路设计Fig 3-11 keyboard circuit design3.7电源电路设计本设计中系统供电电源为5V,由于单片机都属对电源的纹波要求较高,并且LCD、蜂鸣器

37、等等部件使用的都是5V供电,所以系统供电采用线性电源。系统电源电路如图3-12所示。图3-12系统电源电路Fig.3-12 The system power supply circuit 如图3-12示,所接电源为220V交流电。通过工频变压器将电压降压到9V后,整流滤波为直流电,然后再经过5V的三端稳压器将电压稳定为5V的直流电压输出为信号调理电路,单片机电路等整个系统供电。电路图的原理如下,220V交流电经过线性变压器T1变压后转换成一个峰值比较小的交流信号,通过整流桥后,交流小信号变换成一个脉动的直流信号,经过后级的电容C14和C11的滤波,信号变换成一个脉动很小的直流信号,通过5V的稳

38、压器构成的稳压电路后,输出5V的直流电压,后级接两个电容用于稳压以及减少输出电压的的脉动。建立起这个一个系统供电电源后,便可以向运放、单片机、液晶、键盘等等供应电源,使他们能够正常的工作。4.系统软件设计4.1 软件开发环境介绍在这一次的设计中,在软件部分使用uVision4软件进行程序的编写,uVision4使用起来比较简单,操作也相对较为方便,比起老式的c语言编程软件更有效率。该软件集成了业内最领先的技术。Keil software的8051开发工具提供以下程序,可以用它们来编译C程序代码,汇编源程序,连接和重定位目标文件和库文件,创建HEX文件以及调试目标程序。4.2 C语言介绍在这个系

39、统设计中,利用的是c语言编写程序。c语言在电子工程,计算机工程等等方面是至关重要的。C语言是人与计算机之间进行交互的、面向过程的一门高级设计语言。它的层次清晰,便于初学者组织程序,易于调试和维护,语言简洁,使用方便灵活。c语言还可以直接访问内存地址,能进行位操作等等的特点。由于c语言可以对硬件进行编程操作,因此,它既有高级语言的功能,同时也有低级语言的优势。不仅可用于系统软件的开发,同时也适用于应用软件的开发。所以本次设计采用的是c语言编程。4.3 软件总体设计本设计的软件设计主要包括主程序,液晶显示,键盘扫描,中断程序,电机控制程序等五个模块的程序。其中主程序主要完成的是开机界面的显示,以及

40、各个模块的初始化,并且中断程序的初始化。在KEIL工程中编程时,为了让程序的可读性变强,我们一般讲各个模块化程序都建立一个C文件来写相关的驱动子程序,然后给每一个子程序的C文件配备一个H文件,用来生命C文件里面所定义的驱动函数,并且两个文件的名字要一样。当要将某一个C文件的函数调用到别的C文件中的时候,那么就要在要调用其他C文件里的C文件的里面加上调用对应C文件的H文件,用来声明,例如#include 。4.3.1系统主程序设计系统的主程序主要的任务是要完成各个模块的初始化,对于本设计的模块包括有液晶显示程序的初始化、延时程序的初始化、键盘扫描程序的初始化、电机启动程序的初始化等等。并且定义各

41、种变量。起到本设计的程序基础的作用。可以实现标准模式、快速模式、脱水模式、并有启动暂停功能、翻盖模拟功能等等。可以调用各个子程序。主程序的具体实现的功能可以看到附录中的程序代码。要其程序流程图如图4-1所示。图4-1 主程序流程图Fig.4-1 The main program flow chart 主程序中的具体程序实现的几个主要的功能:这一段程序是定义显示器的初始值,具体如下:如果模式选择完毕,再按确定按键,程序就会跳到对应的模式的程序运行。delay_10ms(10); 再定义LCD显示,LCD_write_com(0X0C); LCD_clear(); key_flag=key_sca

42、n(); LCD_write_str(4,0,00: : ); if(c=0)LCD_write_str(1,1,Standard mode); if(c=5)LCD_write_str(3,1,fast mode); if(c=10)LCD_write_str(1,1,Dehydrate mode);while(1) 。 如图4-2所示,为LCD液晶显示的初始化操作。图4-2 LCD初始化流程框图Fig 4-2 LCD initialization flow chart下面这一段分别表示的是启动暂停功能,在运行时只要按下了暂停按键,电机就会暂停运行。key_flag=key_scan();

43、if(key_flag=UP)delay_ms(20); while(key_flag!=UP) key_flag = key_scan();temp1=temp1;temp=!temp;buzzer_flag=temp; if(temp1=1)if(key_flag=DOWN) delay_ms(20); while(key_flag!=DOWN) key_flag =key_scan(); buzzer_flag=!buzzer_flag; temp=0; 这个表示的是在脱水时,如果翻盖电机就暂停运行的程序,如图4-3翻盖模拟流程图所示,if(buzzer_flag=1)motor_sto

44、p();buzzer=!buzzer;delay_10ms(10);if(temp1=1)if(temp2=0)motor_stop();图4-3 翻盖模拟流程框图Fig 4-3 analogue flow diagram下面的表示的是选择了对应模式的对应的程序,分别有标准洗涤、快速洗涤、脱水等。当按键选择了case 0标准洗涤就会执行这一段程序,并且设计在洗涤,漂洗,脱水下对应的led等会闪烁,还有设计了时间的间隔,就是每个过程用的时间等等。case5与case10同理就是当按键选择了快速模式与脱水模式的运行。 如图4-4所示,当c值为0、5、10的时候分别表示的是在标准模式下的工作,在快速

45、模式下的工作,在脱水模式系的工作等。图4-4 洗衣机模式框图Fig 4-4 washing machine model diagram 每一个模式下都有不同的工作时间与对应的led等的显示,用当c=0的标准模式下的程序为例子,标准洗涤12分钟再漂洗6分钟,漂洗两次就脱水3分钟。程序如下switch (c)case 0: if(time_minite=12)&(time_minite15) temp1=1;temp2=1;if(buzzer_flag=0)motor_full();led1=0;led3=!led3;delay_10ms(10);if(time_minite=15)&(time_second=15)&(time_minite=21)&(time_minite24) temp1=1;temp2=1;if(buzzer_flag=0)motor_full();led2=0;led3=!led3;delay_10ms(10);if(time_minite=24)&(time_second=24)&(time_minite=30)&(time_minite33) temp1=1;temp2=1;if(buzzer_flag=0)motor_full();led2=0;led3=!led3;delay_10ms(10);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服