




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全自动洗衣机的设计一、设计要求 洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。全自动洗衣机是常见的家用电器。它能够按照预设模式自动地完成衣物的洗涤、漂洗和脱水,也可以单独地进行洗涤、漂洗和脱水操作,这些过程一般按时间进行控制。通常在给定的模式下,根据衣物多少允许用户设置不同的水位,当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机,即可开始洗衣操作,为了提高洗衣效率,电机一般先正转若干秒,然后再反转若干秒。另外,每个洗衣机都有容量限制,当洗衣量大于它的额定容量容量时,控制系统报警并且不启动。本设计要实现的功能有:(1)用户参数的输入:用户根据衣物的数量和质地确定洗涤时间、漂洗次数、脱水时间,然后通过按键输入具体的参数。(2)参数和时间的显示:灵活地运用数码显示管会带来许多方便,它可以用来显示用户实时所处的洗衣功能状态以及所剩时间。(3)实时控制的实现:单片机在获取了用户输入的参数后,对其进行分析处理,然后按照计算结果对洗衣过程进行实时控制。(4)水位检测的实现:水位的高低影响着整个洗衣过程的进行,因此需要水位检测器将水位的变化发送给单片机,单片机根据水位的情况确定下一步应该做什么。(5)洗衣过程的实现:一般的洗衣过程包括注水、洗涤、漂洗、排水和脱水这些步骤。在洗衣过程中,系统主要控制进水电磁阀、排水电磁阀的打开和关闭,电机的正转、反转和停止。(6)洗衣完毕的通知:当洗衣过程结束后,蜂鸣器就报警通知用户洗衣完毕。二、设计分析本设计在设计洗衣机的控制系统时,洗衣机通过控制系统设定洗衣程序,在内桶(洗涤脱水桶)自动完成注水、洗涤、漂洗、浸泡、排水和脱水全过程。洗衣时,控制系统打开进水电磁阀,开始注水;当洗涤脱水桶内的水位达到系统设定值时,水位检测器向单片机发送一个低电平,通知控制系统关闭进水电磁阀,同时启动电机洗衣。电机在系统的控制下进行正转、停、反转,通过传动机构带动波轮执行洗涤程序;当洗涤时间终了,控制系统切断电机电路,打开排水电磁阀,开始排水;然后再次注水,洗衣机进入漂洗状态,完成漂洗程序(通常为2次漂洗),再注水进行浸泡;浸泡完,开始排水,同时,排水电磁铁的动作带动减速离合器制动臂,使离合器棘轮与棘爪分离,制动带松开,为脱水程序作好准备;排水结束后,系统控制电机单方向高速运转,完成脱水程序;当脱水程序终了,系统控制排水电磁铁和电机断电,排水阀和减速离合器的制动臂复位,同时蜂鸣器奏响音乐,通知用户整个洗衣程序结束。具有如下基本功能。 (1)不同模式时的弱强洗涤功能。要求强洗时正 反转驱动时间各为4S,间歇时间为2S;弱洗时正 反转驱动时间各为3S,间歇时间为2S。 (2)6种洗衣工作程序,即标准程序,轻柔洗衣,快洗,单次洗衣,单漂和脱水程序。标准程序是进水洗涤排水-脱水,如此循环3次,具体是第一循环为洗涤,时间为15min,中间洗涤为5min.排水时间采用动态检测,脱水时间第一二次为2 min的短脱水,下来是调漂洗程序。最后为5min的长脱水.轻柔程序与标准程序一样,只是采用弱洗洗涤,循环同样为三次。快洗同标准差不多,只不过洗涤6min,循环2次;单洗程序是进水洗涤(15 min)结束(留水不排不脱)。单漂为进水洗涤(10s)排水如此循环3次;单脱程序是脱水(5min)结束,时间确定与上述程序相应环节相同。(3)进水系统故障自动诊断功能。洗衣机在进水过程中,若超过预定的水位,就说明进水有故障,系统自动调整到预定水位。(4)脱水期间安全保护和防振动功能。洗衣机脱水期间,若打开机盖时,洗衣机就会自动停止脱水操作。脱水期间,如果出现衣物缠绕引起脱水桶重心偏移而不平衡,洗衣机也会自动停止脱水,以免振动过大,发出警报待人工处理后恢复工作。 (5)间歇驱动方式。洗涤期间采取间歇驱动方式,以便节能。本系统要求正反转之间停2s,间歇期间靠惯性力使洗衣桶桶保持旋转。 (6)声光显示功能。洗衣机各种工作方式的选择和各种工作状态均有声 光提示和显示。 (8)过容保护功能:洗衣机在启动前若过容则报警提醒用户解决,待解决后才能启动洗衣。三、 硬件设计1、总体方案本设计以MCS-51单片机为核心,设计由电源、数字控制电路和机械控制电路三大模块构成的控制系统,实现对洗衣机整个洗衣过程的控制。洗衣过程主要包括洗涤过程、漂洗过程、脱水过程。根据洗衣过程的要求,控制程序设计主要包括主程序、内部定时中断服务程序、外部服务中断程序的设计。根据设计要求,其基本系统组成框图如3.1所示。2、器件及原理简介采用51系列单片机作为控制核心,主要包括电源部分、功能设置及控制电路、洗衣机状态显示及输出控制电路。主要组成部件有:单片机、74LS138译码器、指示灯、LED显示器、电动机、蜂鸣器、电磁阀以及按键等。根据洗衣机的基本功能,硬件电路设计需要考虑洗衣机的进水、洗涤、漂洗、排水、脱水等问题,及时间设定长短、工作时间或剩余时间的显示、工作过程中的暂停、启动、复位、洗完后的报警等问题。通过单片机的P0口连接数码管发送段码,P2.4P7口通过三极管扩大电流去控制数码管的位,显示时采用动态扫描方式,轮流循环扫描。通过P1.6口连接蜂鸣器实现报警电路。通过P1.0P1.5口作为按键输入,并通过二极管连接到单片机的中断入口引脚,当有键按下,就会产生中断,执行相关按键的功能。LED显示电路水位检测暂停键K0强度选择键K1洗衣状态设定键K2时间设定键K3漂洗次数设定键K4MCS-51变压器整流滤波稳压洗衣机状态显示指示灯D0D7电机正转电机反转进水阀排水阀 双向晶闸管 触发电路蜂鸣器时钟电路+5V+12V启动键K5图3.1 系统组成框图四、 软件设计单片机应用系统的软件设计是系统设计中最基本而且工作量较大的任务。与系统机上操作系统支持下的纯软件不同,单片机的软件设计是在裸机的条件下进行的,而且随应用系统的不同而不同。在软件中一般需考虑以下几个方面:1)根据要求确定软件的具体任务细节,然后确定合理的软件结构。一般系统软件的主程序和若干个子程序及中断服务程序组成,详细划分主程序、子程序和中断服务程序的具体任务,确定各个中断的优先级。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对事务的处理。在子程序和中断服务程序中,要考虑现场的保护和恢复,以及它们和主程序之间的信息交换方法。2)程序的结构用模块化结构,即把监控程序分解为若干个功能相对独立的较小的程序模块分别设计,以便于调试。具体设计时可采用自底向上或自顶向下的方法。3)在进行程序设计时,先根据问题的定义描述出各个输入变量和输出变量之间的数学关系,即建立数学模型,然后绘制流程图,再根据流程图用汇编语言进行具体程序的编写。4)在程序设计完成后,利用相应的开发工具和软件进行程序的汇编,生成程序的机器码。本设计中系统软件是采用C51编写的.在研制单片机应用系统时,汇编语言是一种常用的软件工具,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。1 、主程序设计系统的主程序设计主要完成系统初始化、中断优先级设定,以及调用其它各模块程序,即主要实现各模块程序的链接。系统上电复位初始化后,首先进行系统初始化,包括中断的选择及设置,定时器的选择,定时时间,及其相关设置,初始化后,单片机进入主程序,在这“主程序”中不停的循环运行,除非有其它中断。主程序流程图如图3.1所示。Y N Y N 开始系统初始化启动相关功能洗衣状态显示洗衣功能设置是否有报警报警图3.1 软件主流程图2、水位检测程序设计水位检测程序的原理是在洗衣机水箱中的适当高度放置两个水位检测器,当水位达到某一高度时,相应的水位探测器的开关接通,把电信号送入单片机的I/O口,经过单片机的处理,可以得到已经加好水或水放完,可以开始以下操作。本设计用单片机P2.2P2.3接口接两个水位传感器,在自动模式下,当水位到达某个传感器时,相应的传感器输出一个低电平到单片机的引脚,单片机通过引脚的电平高低来判断水位的高低。基本流程是当最低点和最高点的两个检测点都显示低电平时说明洗衣机已经放满水;当检测到最高点从低电平变为高电平,经过一段时间后最低点也由低电平变为高电平时说明此时洗衣机放水完毕。3、洗涤程序设计启动开关,进水阀通电,向洗衣机供水,当供水达到预定水位时,水位开关接通,进水阀断电关闭,停止供水。洗涤电动机接通电源,带动波轮或桶)旋转,产生各种形式的水流搅动衣物进行洗涤。通过电动机不停的正转、停、反转、反复循环,形成洗涤水对洗涤物产生强烈的翻滚作用。程序流程图如图4.2所示。Y N 洗衣开始电机正转10S电机停转,延时剩余时间=0?电机反转10S洗涤结束 图4.2 洗涤过程程序流程图4、脱水、漂洗程序设计脱水前先打开排水阀排水,然后启动电动机脱水,并保持排水阀开启,然后停止脱水。接着判断漂洗次数的值,若次数变为0则洗衣结束,开蜂鸣器提醒洗衣结束,系统返回初始待命状态,若次数不为0,则再次执行进水操作,进入下一循环。程序流程图如图4.3所示:5、显示程序设计在本系统的设计中作为人机对话的一个重要部分就是显示器,本设计要显示定时时间,洗涤时间,还有其它指示灯的状态显示,为了节省单片机的I/O口,把8个状态指示灯按照数码管的方式连接,即8个状态指示灯相当于一个数码管,这样硬件电路中相当于使用四位共阳LED作为系统的显示器。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。N 漂洗脱水开始开进水阀,漂洗结束开排水阀,脱水开蜂鸣器,报警关排水阀漂洗次数=0?Y 图4.3 脱水、漂洗程序流程图静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码为十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多。动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。系统定期的扫描每个数码管,借助于人的视觉残留效应,使的数字得以正确显示,显示电路采用数码管动态扫描电路,占用单片机I/O口资源少,显示电路成本比较低,与静态扫描电路相比较,电路简单,成本低。硬件电路相对简单,在编写程序时,需要考虑循环扫描的时间。要显示的数据采用的查表法。查表法只需把转换结果按序编成表,连续存放在ROM中,用查表指令即可实现转换,查表法编程方便且程序量小,执行速度快,修正起来方便。本设计显示系统包括时间显示和次数显示。常用的显示器件有:液晶点阵(LCD)显示,数码管(LED)显示。根据本课题的设计要求,显示部分采用动态显示方法,用3位数码管,和8个LED指示灯显示。基本方法是:把8个指示灯当作一个数码管,这样一共是4位数码管。单片机的I/O口发送数码管的段码,接口P2.4P2.7通过三极管扩大电流去控制数码管的位,显示时采用动态扫描方式,轮流循环扫描。8个LED指示灯依次代表着自动/手动,运行/停止,强洗,标准洗,弱洗,洗涤状态,漂洗状态,脱水状态。另外三位数码管指示时间和次数,前两位指示时间,后一位指示次数。显示子程序流程图如图3.4所示:YNP0口送数据显示一段时间关闭该位打开要显示的位显示开始显示结束关闭显示图4.4 显示子程序流程图6、按键程序设计按键电路的作用是设置一些功能,一般按键电路有按键查询式,CPU不断的检测是否有按键按下,这样将会耗费大量的CPU时间,且反应速度实时性不强;还有一种是中断式按键,只有当有按键按下时,单片机产生中断,开始处理按键的输入功能,没有键按下时单片机处理其他,不需要不停地查询按键是否按下。这样采用中断使按键反应速度快,同时减少单片机处理时间,本设计采用中断扩展式电路。工作原理如下:没有按键时,相关的I/O口为高电平,单片机的INT0也为高电平,当有键按下时,5V电压经过所按键上的电阻流向GND,这时由于按键闭合,按键上的低电平送入单片机的I/O口,同时与按键相连的二极管导通,由于二极管导通时,电压大约为0.7V,相当于低电平,这个低电平送入单片机的INT0产生中断,在中断里检查哪个I/O口为低电平,就可以判断是哪个按键按下,执行相关的那个按键的功能。本设计中单片机P1.0P1.5作为按键输入,并通过二极管连接到单片机的中断入口引脚,当有键按下,就会产生中断,执行相关按键的功能。按键程序流程图如图4.5所示:运行/暂停Y次数设置NY是否按键5?下?时间设定Y是否按键4?下?功能选择NY是否按键3?下?中断入口自动/手动Y是否按键1?下?N是否按键2?下?YN强度选择N是否按键6?下?N中断返回图4.5 按键程序流程图本设计中一共用到六个按键,通过连接单片机的P1.0P1.5口来实现按键的功能,按键1的作用是调节自动或者手动,按键2的作用是调节洗衣的强度,按键3的作用是调节洗衣功能,按键4的作用是设置时间,按键5的作用是设置次数,按键6的作用是控制洗衣机的运行与停止。具体电路如下图:7、定时程序设计MCS-51单片机内部有两个可编程的16位定时器T0和T1。通过编程,可以设定为定时器和外部计数方式。T1还可以作MCS-51串行口的波特率发生器。定时器T0由特殊功能寄存器TL0和TH0构成,定时器T1由特殊功能寄存器TL1和TH1构成。特殊功能寄存器TMOD控制定时器的工作方式,TCON控制其运行,TCON还包含了定时器T0和T1的溢出标志。定时器的中断由中断允许寄存器IE、中断优先级寄存器IP中的相应位进行控制。定时器T0的中断入口地址为000BH,T1的中断入口地址为001BH。 定时器的编程包括; (l)置工作方式。 (2)置计数初值。 (3)中断设置。 (4)启动定时器。 由于MCS-51的定时器采用加1计数,因此,计数初值应根据计数器长度及计数值来决定。对于同样的计数值,在采用13位计数器、16位计数器及8位计数器时,其计数初值各不相同。此外,方式0、1、3均不能自动恢复初值,如果要求重复计数必须在每次计数溢出后重新装入计数初值。 除了编写以上程序外,还要设置中断的开关,用定时器时还要计算定时时间,内部计数器用作定时器时,是对机器周期计数。每个机器周期的长度是12个振荡器周期。因为实验系统的晶振是12MHz,所以定时常数的设置可按以下方法计算:机器周期=1212MHz1S(65536-定时常数)*1S=50mS定时常数TH0=0X3C; TL0=0XB0;本设计中在洗衣时需要设置洗衣时间,这部分程序设计采用单片机内部的定时器,用来倒计时。洗衣机定时系统采用单片机的定时器0,工作方式1,当设定洗涤、漂洗和脱水时,单片机的定时器开始倒计时,前两位数码管显示设定好的时间每秒减,当剩余时间为0时第三位数码管显示的次数就减一,直至洗衣次数完全执行完。定时程序流程图如图4.6所示:Y定时器中断入口数据减1置TH0、 TL0计数初值是否1 秒?关闭中断,停止计时N定时结束?NY中断返回图4.6 定时程序流程图程序: COUNT1 EQU 90 ;单洗时间特征字,15min COUNT2 EQU 30 ;单脱时间特征字 ,5min COUNT3 EQU 30 ;标准过程中间单次洗涤特征字,5min COUNT4 EQU 12 ;短脱水时间特征字 ,2min COUNT5 EQU 90 ;轻柔第一次洗涤时间特征字,12min COUNT6 EQU 30 ;轻柔中间单次洗涤时间特征字 ,4min COUNT7 EQU 36 ;快洗单次洗涤时间特征字 ,6min COUNT8 EQU 3 ;漂洗次数 , COUNT9 EQU 2 ;标准中间洗涤次数 COUNT10 EQU 2 ;轻柔中间洗涤次数 COUNT11 EQU 2 ;快洗洗涤次数 TIMESI EQU 31H ;T0内定时次数存储位 ;ORG 0000HLJMP START ;开始ORG 0003HLJMP WINT0 ;超容中断ORG 00013HLJMP TINT1 ;脱水安全防抖中断;START: MOV SP,#60H ;堆栈指针移到60H单元 MOV P0,#00H ;p0口清零 MOV R0,#00H ;清零 MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H MOV R7,#00H MOV 30H,#00H MOV 31H,#00H MOV 60H,#00 SETB EA ;开中断总开关 CLR ET0 ;关t0中断 SETB IT1 ;INT1下跳沿触发 SETB IT0 ;INT0下跳沿触发M: SETB EX0 ;开INT0中断 LCALL SCAN ;调键盘扫描子程序 CLR EX0 ;关INT0中断 NOP LCALL XYGCH ;调洗衣子选择程序 NOP NOPNEXT0:CLR P0.4 ;结束蜂鸣提醒 MOV TIMESI,#20 ;响一秒停一秒,如此循环 LCALL T0 SETB P0.4 MOV TIMESI,#20 LCALL T0 JNB P1.0,OK ;确认完成否 LCALL DELAY AJMP NEXT0 ;否 OK: CLR P0.4 ;确认 NOP NOP NOP AJMP OK RET; 键盘扫描子程序SCAN:MOV A,#0FFH MOV P1,A ;p1口设为输入端 CLR P3.6 ;初始水位显示 CLR P3.7 ; L1: JB P1.0,L1 LCALL DELAY MOV A,R4 ;初始模式显示 MOV P2,A L2:JNB P1.0,L2 LCALL DELAY L0:JNB P1.1,MODE ;k1按下否 JNB P1.3,WPS ;k4按下否 JNB P1.0,KEYSCANOUT ;k1按下否 LJMP L0 MODE: LCALL DELAY JNB P1.1,MODE ;确认键k1放开否? LCALL DELAY ;消抖 INC R4 ;放开,加1 CJNE R4,#06h,NEXT1_1 ;R4到6则清零 MOV R4,#00HNEXT1_1:MOV A,R4 ;显示 MOV P2,A NOP NOP NOP LJMP L0 ;重新扫描WPS: JNB P1.3, WPS ;确认键k4放开否 LCALL DELAY ;消抖 INC R5 ; CJNE R5,#05H,NEXT2_1 ;r5到5时清零 MOV R5,#01HNEXT2_1:CJNE R5,#01H,NEXT2_2 ;显示 MOV A,#3FH ;显示低水位 MOV P3,A JMP OK1NEXT2_2:CJNE R5,#02H,NEXT2_3 MOV A,#7FH ;显示中1 MOV P3,A JMP OK1NEXT2_3:CJNE R5,#03,NEXT2_4 MOV A,#0BFH ;显示中2 MOV P3,A JMP OK1NEXT2_4:CJNE R5,#04H,OK1 ;显示高水位 MOV A,#0FFH MOV P3,A JMP OK1OK1: NOP LJMP L0 ;重新扫描KEYSCANOUT:NOP ;扫描完成 RET ;进水判断子程序JSH: JB P1.4,L5 ;检测k5状态,k5没按下则进水 LCALL DELAY JNB P1.5,L6 ;k5按下,检测k6,按下则排水 JMP D2 ;k6没按下,完成 L5:SETB P0.2 ;进水 L7:JB P1.4,L7 ; 检测k5状态,按下则停止进水 CLR P0.2 ;停止进水 AJMP D2 L6:LCALL DELAY SETB P0.3 ;排水 NOP L8:JNB P1.4,L8 ;检测k5状态,没按下则停止排水 LCALL DELAY CLR P0.3 ;停止排水 NOP D2:NOP RET;洗衣选择子程序XYGCH:CJNE R4,#00H,N3_1 LCALL BZH ;调标准洗衣程序 JMP D3N3_1:CJNE R4,#01H,N3_2 LCALL QR ;调轻柔洗衣程序 JMP D3 N3_2:CJNE R4,#02H,N3_3 LCALL KX ;调快洗程序 JMP D3 N3_3:CJNE R4,#03H,N3_4 LCALL DX ;调单洗程序 JMP D3 N3_4:CJNE R4,#04H,N3_5 LCALL DP ;调单漂程序 JMP D3 N3_5:CJNE R4,#05H,D3 lcall DT ;调单脱程序 D3: NOP RET; ; to定时子程序T0: MOV TMOD,#01H ;t0,mode1 MOV R3,TIMESI ;内循环次数AGAIN2:MOV TH0,#3CH ;50ms MOV TL0,#0B0H SETB TR0 ;开定时?计数器 W2:JBC TF0,TIMEOUT JMP W2 TIMEOUT:CLR TR0 ;关定时?计数器 DJNZ R3,AGAIN2 NOP RET;正反转子程序:正反4s,停1s ZFM:MOV TIMESI,#80 SETB P0.0 LCALL T0 CLR P0.0 MOV TIMESI,#40 CALL T0 SETB P0.1 MOV TIMESI,#80 LCALL T0 CLR P0.1 MOV TIMESI,#40 LCALL T0 NOP RET;单洗程序DX: LCALL JSH ;调进水子程序 MOV R0,#COUNT1 ;洗衣15分钟 L10:LCALL ZFM ;调正反转子程序 DJNZ R0,L10 NOP NOP RET;单漂程序DP: MOV R1,#COUNT8 ; L13: NOP LCALL JSH ;调进水子程序 L12:LCALL ZFM ;调正反转子程序,10s LCALL PSH ; 调排水子程序 DJNZ R1,L13 NOP NOP RET;单脱程序DT: SETB P0.3;开脱水电磁阀 SETB P0.0 ;启动电机正传 SETB EX1 ;开INT1中断 MOV R6,#COUNT2 ;5minL15:MOV TIMESI,#200 ;10s LCALL T0 ; 调t0定时子程序 DJNZ R6,L15 CLR P0.3 ;关脱水电磁阀 CLR P0.0 CLR EX1 ;关INT1中断 NOP RET; 标准洗衣程序BZH: MOV R6,#COUNT9 LCALL DX ;调单洗程序 NOP W3: LCALL PSH ; 调排水子程序 NOP MOV R0,#COUNT4 ;短脱水2min SETB P0.3 ;开脱水电磁阀 SETB P0.0 ;启动电机 SETB EX1 ;开INT1中断 MOV TIMESI,#200 LCALL T0 ; 调t0定时子程序 DJNZ R0,W3 CLR EX1 ;关INT1中断 CLR P0.3 ;关脱水电磁阀 CLR P0.0 LCALL JSH MOV R0,#COUNT3 ;5min L18:LCALL ZFM ;调正反转子程序 DJNZ R0,L18 NOP DJNZ R6,W3 NOP LCALL DP ;调单漂子程序 NOP LCALL DT ;调单脱程序 NOP RET;快洗程序KX: MOV R6,#COUNT11 L24:LCALL JSH ;调进水子程序 MOV R0,#COUNT7 ;6min L23:NOP LCALL ZFM ;调正反转子程序 DJNZ R0,L23 NOP LCALL PSH ; 调排水子程序 NOP MOV R0,#COUNT4 ;短脱水2min SETB P0.3 ;开脱水电磁阀 SETB P0.0 ;启动电机 SETB EX1 ;开INT1中断 W4:MOV TIMESI,#200 LCALL T0 ; 调t0定时子程序 DJNZ R0,W4 CLR EX1 ;关INT1中断 CLR P0.3 ;关脱水电磁阀 CLR P0.0 DJNZ R6,L24 LCALL DP ;调单漂子程序 NOP LCALL DT ;调单脱程序 NOP RET;轻柔程序QR: MOV R6,#COUNT10 L22:LCALL JSH ;调进水子程序 MOV R0,#COUNT5 ;12min L20:MOV TIMESI,#60 ;正3s SETB P0.0 NOP LCALL T0 CLR P0.0 MOV TIMESI,#40 ;停2s LCALL T0 NOP SETB P0.1 MOV TIMESI,#60 ;反3s CALL T0 CLR P0.1 DJNZ R0,L20 NOP LCALL PSH ; 调排水子程序 SETB P0.3 ;开脱水电磁阀 SETB P0.0 ;启动电机 SETB EX1 ;开INT1中断 MOV R0,#COUNT4 ;短脱水2minW7: MOV TIMESI,#200 ;10s LCALL T0 ; 调t0定时子程序 DJNZ R0,W7 CLR P0.3 ;关脱水电磁阀 CLR P0.0 ;停电机 CLR EX1 ;关INT1中断 LCALL JSH ;调进水子程序 MOV R0,#COUNT6 ;4min L21:MOV TIMESI,#60 ;正3s SETB P0.0 NOP LCALL T0 ; 调t0定时子程序 CLR P0.0 MOV TIMESI,#40 ;停2s LCALL T0 ; 调t0定时子程序 NOP SETB P0.1 MOV TIMESI,#60 ;反3s LCALL T0 ; 调t0定时子程序 CLR P0.1 DJNZ R0,L21 NOP LCALL PSH ; 调排水子程序 DJNZ R6,L22 NOP LCALL DP ;调单漂子程序 LCALL DT ;调单脱程序 NOP RET;排水子程序 PSH: NOP SETB P0.3 ;开排水阀L26: JNB P1.6,L26 ;排完否 NOP NOP CLR P0.3 ;关排水阀NOPRET; 超容中断WINT0:PUSH PSW ;保护现场 PUSH ACC L27:SETB P0.4 ;报警 JNB P3.2,L27 ;解除否 NOP CLR P0.4 ;解除报警 POP ACC ;释放现场 POP PSW RETI; 脱水安全防抖中断TINT1:PUSH PSW ;保护现场 PUSH ACC CLR P0.3 CLR P0.0 ;停止脱水 SETB P0.4 ;报警 W5:JNB P3.3,W5L28: JB P1.2,L28 ;校正否 NOP CLR P0.4 ;解除报警 SETB P0.3 SETB P0.0 ;继续脱水 POP ACC ;释放现场 POP PSW RETI;16ms延迟 DELAY:MOV R7,#40 D1:MOV R6,#200 DJNZ R6,$ DJNZ R7,D1 RET五、总结本设计以MCS-51单片机为核心,设计由电源电路、数字控制电路和机械控制电路三大模块构成的控制系统,实现对洗衣机整个洗衣过程的控制。洗衣过程主要包括洗涤过程、漂洗过程、脱水过程。根据洗衣过程的要求,控制程序设计主要包括主程序、内部定时中断服务程序、外部服务中断程序的设计。本设计侧重于软件的设计,采用C语言编程,通过程序实现洗衣机的自动完成注水、洗涤、漂洗、和脱水全过程,洗衣过程通过控制电机的正转、停、反转来实现强洗、标准、弱洗,用数码管来显示洗衣各功能的剩余时间以及实时所处的洗衣状态,最终通过蜂鸣器的报警来通知用户整个洗衣程序的结束。经过本次设计使我对所学单片机知识的得到了深化,能够把知识综合的应用起来而不使像以前一样各个知识点是孤立的不能融会贯通。加强了对实际问题的分析解决能力。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数学课程标准考试及答案
- 2025年贵州省安顺市公需课培训(专业技术人员继续教育)试题及答案
- 2025年贵州二级建造师考试试题库(答案+解析)
- 职业培训考试题目及答案
- 安全教务培训课件
- 高一开学考试试题及答案
- 商业合同履行守信承诺书(6篇)
- 语文高二月考试卷及答案
- 大学三级考试a卷真题及答案
- 软件开发笔试题目及答案
- 机关健康知识讲座
- 独角抱杆立杆施工方案
- 利用AI技术提升初中语文写作教学效果的实践课题申报书
- 2025年教育督导责任督学培训心得体会与收获
- 《FABE销售法则》课件
- 卫星网络管理与运维-深度研究
- 高纯石英砂提纯研究以及项目可行性分析报告
- 2025年临床医师定期考核必考复习题库及答案(1060题)
- 小学生防校园欺凌课件
- 《SPC基本知识培训》课件
- 工程居间合同范本电子版可打印
评论
0/150
提交评论