【电气工程及其自动化毕业设计】基于单片机的全自动洗衣机控制系统设计_第1页
【电气工程及其自动化毕业设计】基于单片机的全自动洗衣机控制系统设计_第2页
【电气工程及其自动化毕业设计】基于单片机的全自动洗衣机控制系统设计_第3页
【电气工程及其自动化毕业设计】基于单片机的全自动洗衣机控制系统设计_第4页
【电气工程及其自动化毕业设计】基于单片机的全自动洗衣机控制系统设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号XXXXX毕业论文(2012届本科)题目基于单片机的全自动洗衣机控制系统设计学院物理与机电工程学院专业电气工程及其自动化作者姓名XXX指导教师XXX职称XXX完成日期2012年5月5日二一二年五月目录基于单片机的全自动洗衣机控制系统5第一章功能设计611程控器功能设计及说明6111六个全自动程序功能设计6112预约功能设计6113不平衡调整功能设计6114自动断电功能设计7115运动浸泡功能设计7116故障报警功能设计7117桶洁净功能设计7118童锁功能设计7119冷、热进水功能设计712面板简图8第二章设计方案选择和确定921目前主要应用的单片机机型922负载控制电路的选择9第三章系统硬件电路的设计1031硬件结构概述及组成框图10311概述10312组成框图1032微处理器10321TMP86C846N的封装及引脚功能1033双向晶闸管控制驱动电路设计13331双向晶闸管的结构及工作原理13332双向晶闸管控制驱动电路原理图及工作原理1434蜂鸣器1535水位传感器1536LED和数码管显示及按键电路16第四章系统软件设计1941软件编程思路1942各模块程序流程图19421监控程序模块19422主洗程序模块21423漂洗程序模块22424脱水程序模块23总结24参考文献25致谢26附录27基于单片机的全自动洗衣机控制系统设计摘要全自动洗衣机电脑程控器由东芝单片机控制。由于其具有内存容量大、输入输出口多、I/O的驱动能力强、指令系统丰富等特点,将其应用在家用电器控制中,可大大简化系统的硬件电路,使系统具有更高的可靠性。采用双向晶闸管实现无触点控制电机和电磁阀,利用谐振式水位传感器检测水位,发光二极管及数码管显示,按键扫描共用I/O端口,单片机电源引脚及直流电源处都有容阻吸收和电容滤波电路实现硬件滤波。软件编程实现多功能、多程序方便用户选择和出厂调试。关键字东芝;单片机;双向晶闸管;软件编程;ABSTRACTAUTOMATICWASHINGMACHINEWITHACOMPUTERPROGRAMMEDBYTOSHIBASCMCONTROLBECAUSEOFITSLARGECAPACITYMEMORY,INPUTANDOUTPUTPORT,I/ODRIVENCAPABILITYANDINSTRUCTIONSYSTEMFEATURESRICH,INITSAPPLICATIONTOCONTROLHOUSEHOLDAPPLIANCES,GREATLYSIMPLIFYTHEHARDWARECIRCUIT,THESYSTEMHASHIGHERRELIABILITYTWOWAY,NONCONTACTTHYRISTORCONTROLLEDMOTORSANDSOLENOIDS,USEOFRESONANTWATERLEVELSENSORS,LEDANDLEDDISPLAY,KEYPADSCANNINGSHAREDI/OPORTS,POWERMCUPINSANDDCPOWERDEPARTMENTHASRESISTANCECAPACITYTOABSORBANDFILTERCAPACITORFILTERCIRCUITHARDWARESOFTWAREPROGRAMMINGMULTIFUNCTION,MULTIUSERFRIENDLYPROCEDURESFORTHESELECTIONANDTESTINGMANUFACTUREDKEYWORDSTOSHIBA;SCMCONTROL;TWOWAYSOFTWAREPROGRAMMING第一章功能设计洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。变频控制依其高性能、节能等优点在洗衣机的控制中得到广泛应用,而单片机在洗衣机中的控制做用是决定性作用的。11程控器功能设计及说明参考数据(1)最高工作电压为55V(2)最低工作电压与时钟频率有关16MHZ时为45V,8MHZ时为27V(3)在该洗衣机控制电路中需要5V直流电供给单片机及显示部分,12V直流电源驱动继电器和蜂鸣器,220V交流电源驱动电机和各种交流电磁阀。(4)洗衣机的电源电压为220伏特,50赫兹。111六个全自动程序功能设计六个全自动程序,各程序洗衣特点如表11所示表11六种全自动程序洗衣特点程序水流及特点缺省时间标准洗涤12分钟,漂洗2次,脱水6分钟,洗净能力强。43分钟快洗洗涤25分钟,漂洗1次并喷淋,脱水15分钟,洗净能力较轻。10分钟纤细洗涤10分钟,漂洗2次,脱水2分钟,适合洗涤纤细及高档衣物。33分钟大物洗涤15分钟,漂洗2次,脱水7分钟,洗涤能力特别强。47分钟防皱洗涤8分,漂洗2次,免脱水仅排水,洗涤怕脱水时皱折衣物。27分钟羊毛洗涤15分钟,漂洗2次,免脱水仅排水,适合洗涤羊毛衫。34分钟112预约功能设计按动预约键,数码管闪烁显示预约洗衣开始时间进入预约设定状态,可在48小时之间选择。每按一次预约键,预约时间增加1小时。到48小时后再按一次回到起始状态。按住预约键不放,时间自动连续增加,可一次设置48小时。在预约启动后若开盖,则程序报警提示。113不平衡调整功能设计1131不平衡调整的判断在安全开关接通的状态下,若间歇脱水或脱水过程中,出现45520010MS的瞬间断开,则进入不平衡调整状态。断开超过200MS,判断为开盖。断开不足40MS,不予处理。1132不平衡调整的工作过程进入不平衡调整状态,在漂洗状态原选中的灯进行闪烁显示,脱水状态则回到漂洗灯闪烁显示。同时,注水到当前设定水位后,摆平水流运行1分钟,结束后排水回到原来脱水行程中。若进行如此2次修正无效后,则蜂鸣器报警,等待人工处理。114自动断电功能设计启动自动断电功能的工作情况第一,开机10分钟后,不启动程序,则自动切断电源。第二,洗衣程序结束并进行六次蜂鸣后即时自动切断电源。115运动浸泡功能设计其洗涤方式是首先预备洗涤搅拌,然后浸泡,搅拌,如此循环。具体洗涤方式如表12所示。表12运动浸泡的洗涤方式浸泡过程(20)搅拌2浸泡3搅拌1浸泡4搅拌2浸泡3搅拌1浸泡4116故障报警功能设计在洗衣机工作过程中,若出现表13所列的故障,则单片机能检测故障类型,同时发出报警信号,提醒操作者排除故障。表13故障报警工作状况故障原因故障显示蜂鸣报警报警解除进水报警进水16分钟不到设定水位数码显示“E1”排水报警排水4分钟不到空水位数码显示“E4”开盖报警预约启动后开盖;进入脱水状态时开盖数码显示“E2”不平衡报警第3次不平衡检测数码显示“E3”蜂鸣器连续鸣响10秒钟,若报警未被解除,以后每隔16分钟重复蜂鸣10秒钟打开机盖,处理故障,然后关上机盖,解除报警117桶洁净功能设计目的就是洗衣结束后清洁洗衣桶。打开电源,在未启动状态下,按程序预约键可选则桶洁净功能,然后按启/停键即进入洁桶程序。在此工作状态下只有启/停键及电源键响应,仅有脱水一个灯闪烁。118童锁功能设计程序启动后,按水位功能键即可启动童锁功能。在童锁工作状态下,数码管显示“CL”,而且所有按键均封锁住不可选,再按水位功能键可以解除童锁功能。119冷、热进水功能设计冷水灯亮进水时,由冷水进水阀打开;热水灯亮进水时,由热水进水阀打开;冷、热水灯同时亮则进水时两进水阀同时打开。12面板简图如图11所示8档水位采用4个灯,一个发光二极管可以显示两种状态,达到节省硬件的目的。程序按键对应的三个灯也是如此,一个灯可以表示两个状态。图11面板简图第二章设计方案选择和确定21目前主要应用的单片机机型(1)INTEL公司的单片机INTEL是最早推出单片机的公司之一,主要有MCS48、MCS51系列8位单片机和MCS96系列的16位单片机。在20世纪八、九十年代,MCS51和MCS96曾经是我国最流行的单片机,得到广泛的应用。这几年INTEL公司注重于奔腾系列微处理器,没有推出新的单片机。(2)东芝TOSHIBA公司的单片机东芝公司主要有TLCS870、TLCS870/X、TLCS870/C等系列的8位单片机,TLCS900系列的16位单片机,这些单片机是近几年推出的新型单片机,功能强、可靠性高。在本洗衣机控制系统中,要求洗衣机能自动检测水位、水温、门开关等参数,自动确定标准洗及快速洗等时间、漂洗次数,并能自动控制洗衣机电机、进水阀、排水阀的工作,同时要求有七个按键输入和六路显示电路,因此该系统是一个多输入、多输出系统。若用INTEL的51系列单片机,要么需要进行I/O扩展,要么由于这些单片机驱动能力有限,需外加驱动电路,从而使硬件电路过于复杂。综合上述考虑,决定选用内部有A/D转换器、驱动能力强的TOSHIBA单片机作为该系统的微处理器,TMP86C846N单片机是TLCS870/C系列单片机中的典型产品,具有高速率、高性能、低功耗的优点,且结构先进、功能强大。因此我们选择TMP86C846N单片机作为主芯片。22负载控制电路的选择在洗衣机工作过程中,需要电机的正反转、进水电磁阀及排水电磁阀的频繁动作,因此就需要一种能适应工作于频繁切换场合的开关器件来控制这些负载的工作。普通开关设备,均属于有触点开关。由于这些开关在开断的过程中,存在着机械触点的位移和产生电火花的可能,所以一般都有着动作速度慢和维修工作量大等缺陷。普通开关的寿命和开断的次数相关,因此在频繁切换的场合其应用受到了一定的限制。晶闸管作为交流无触点开关没有以上普通开关的各种缺陷,在控制中有着动作快、维修量少、通断次数几乎无限制和没有噪音等优点,因此应用广泛。鉴于晶闸管自身不可替代的优点,在本控制系统中,采用双向晶闸管作为开关器件来控制电机的正反转及各种电磁阀的通断。第三章系统硬件电路的设计31硬件结构概述及组成框图311概述本程控器有七个按键水位K1、程序K2、功能K3、水温K4、启动/暂停K5、预约K6、电源K7,十四个发光二极管(四个八档水位显示、三个程序显示、四个功能显示、两个进水显示、一个预约显示),一个双位数码管,实现对洗衣机运行状态的选择和显示。通过不同颜色接插件与洗衣机的冷热进水电磁阀、排水牵引器、电机、水位传感器、安全门开关相连接,由双向晶闸管来控制负载,按设定程序实时执行动作。312组成框图单片机按键输入电机正转蜂鸣报警排水牵引线热水进水阀冷水进水阀LED显示器电机反转水位频率信号图31硬件结构组成框图32微处理器321TMP86C846N的封装及引脚功能TMP86C846N为SDIP42密脚双列直插封装,引脚排列如图32所示。图32TMP86C846N引脚排列图表31为TMP86C846N引脚功能说明。表31TMP86C46N的引脚功能引脚名一般I/O功能特殊I/O功能P07INT4外部中断4INT4信号输入端P06SCK同步串行口SIO时钟输入/输出脚P05SI同步串行口SIO串行数据输入脚P04SO同步串行口SIO串行数据输出脚P03TXD异步串行口UART串行数据输出脚P02RXD异步串行口UART串行数据输入脚P01/4PWMTCPDO4/PPG4定时器TC4输入输出脚P00INT08位双向输入/输出口外部中断0INT0信号输入端P15INT3P14PPGP13DVOP12INT2/TC1P11INT1P10PWM3/TC3/PDO36位双向输入/输出口P20INT5/STOP1P21XTINP22XTOUT3位双向输入/输出口P37AIN7/STOP5P36AIN6/STOP4P35AIN5/STOP3P34AIN4/STOP2模拟量信号AIN4AIN7输入脚或使CPU退出STOP方式的信号STOP2STOP5输入脚P33AIN3P32AIN2P31AIN1P30AIN08位双向输入/输出口模拟量信号AIN0AIN3输入脚P47P46P45P44P43P42P41P408位双向输入/输出口TEST测试控制输入脚,用户系统中接地REST外部复位信号输入脚或内部复位信号输出脚XIN高频时钟输入脚XOUT高频时钟输出脚VSS接地VDD5VAVSS模拟地AVDD模拟电路电源5VVAREFAD参考电源输入端322I/O口资源分配按键、水位、门开关等信号需要输入单片机,给单片机提供判断处理的依据,所以相应的I/O口设置为输入口。而显示及控制驱动电路需要输出控制及驱动信号,所以相应的I/O口设置为输出口。表32为单片机各个I/O口资源分配表。表32I/O口资源分配表I/O引脚功能P40P41P42P43P44P45P469101112131415输出,七段LED数码管显示其中,P40P43兼作水位、功能、程序、进水的状态显示P22P472316输入,第1行按键K1K6输入输入,第2行按键K7输入P30P31P32P35P36P37404142345输出,第6列按键及低位数码管显示控制输出,第5列按键及高位数码管显示控制输出,第4列按键及进水状态显示控制输出,第1列按键及水位状态显示控制输出,第2列按键及程序状态显示控制输出,第3列按键及功能状态显示控制P34P10P12P13出,排水电磁阀驱动电路控制输出,热水进水电磁阀驱动电路控制输出,冷水进水电磁阀驱动电路控制输出,电机正转驱动电路控制输出,电机反转驱动电路控制P1534输出,继电器线圈通断电控制P0026输入,交流过零检测信号输入P0127输出,蜂鸣器控制P2025输入,水位传感器频率信号输入P2122输入,门开关检测信号输入33双向晶闸管控制驱动电路设计331双向晶闸管的结构及工作原理双向晶闸管的结构如下图所示。其引出端子分别为MT1,MT2,门极。通常以MT1作为电压测量的基准点。如图33可知,在端子MT2与MT1之间相当于一个PNPN与一个NPNP器件的并联。当门极无信号输入时,它与SCR相同,在MT2与MT1之间不导通。如果MT2施加的电压高于MT1,且门极有正极性信号时,这就可使双向晶闸管导通,电流MT2向MT1流动;如果MT1施加的电压高于MT2,且门极有负极性信号时,这就可使双向晶闸管导通,电流MT1向MT2流动。332双向晶闸管控制驱动电路原理图及工作原理双向晶闸管采用直流触发,鉴于单片机输出触发信号不足以触发双向晶闸管,故需将触发功率放大。如图34所示,负载驱动电路主要包括七达林顿驱动电路ULN2004,电阻R33R35、R41R42、R39R38,电容C16C21、C28,双向晶闸管TR1TR5等组成。电路中的双向可控硅分别控制电机正转、反转,进水(热水、冷水)电磁阀、排水牵引器的通断。由单片机根据按键输入指令或接收到的检测信号,输出相应的控制信号,该信号由芯片ULN2004驱动放大后对可控硅门极施加触发电压,触发可控硅导通,使可控硅处于通路状态。220V交流电路经过负载形成回路,使相应的负载得电运行。3321电机正、反转及排水牵引器驱动控制原理当P14脚输出高电平过零脉冲时,经驱动芯片ULN2004输出低电平,则这时来自直流电源电路的5V电压经TR1(双向晶闸管)的T1极和G极,在经过限流电阻R33到ULN2004内部接地而构成通路,使TR1的T1极和G极间(电阻R3833R3933C16473C17473C18473C19473C20001UC21001UC22473C23473C2533UC26100UTR18ATR28ATR31ATR41AC28473TR51A位位位位位位位位位位1ZID1HONGD1CHENGD1BAID1HUANGD12345678910111213141516ULN2004IC3ULN2004R33100R34100R35270R41270R42270冷220VP34P10P12P13P14图34双向晶闸管控制驱动电路约为100)产生一个电压降,使TR1导通,于是电动机正转。同样道理,当P13脚输出高电平过零脉冲时,电动机反转。若要使电动机停转,纸鹞使P14、P13脚都输出低电平即可。此时,只要交流电压一过零点,可控硅就因T1和G间电压为零而自动截止,电动机失电停止运转。同时,控制电机的两个双向晶闸管在任何时候不能同时导通,否则会损坏晶闸管,甚至烧坏电机。当P34脚输出高电平过零脉冲时,可控制排水牵引器的启动停止。3322冷、热进水阀驱动控制原理当P12脚输出高电平过零脉冲时,经驱动芯片ULN2004输出低电平,则这时来自直流电源电路的5V电压经TR3(双向晶闸管)的T1极和G极,在经过限流电阻R35接到ULN2004内部接地而构成通路,使TR1的T1极和G极间(电阻约为100)产生一个电压降,使TR3导通,于是电磁阀线圈带电打开冷进水阀阀门。同样道理,当P10脚输出高电平过零脉冲时,热进水阀阀门打开。要使阀门关闭,只要使P12或P10脚输出低电平即可。这时,只要交流电压一过零点,可控硅就因T1和G间电压为零而自动截止,电磁阀不带电而关闭阀门。3323抗干扰措施电容C16C19、C28起滤波抗干扰作用,当突然出现干扰信号时,因电容电压不能突变,而不会引起ULN2004内部的变化而造成双向晶闸管的误导通或误截止。由于电机的电感较大,感应反电势也较大,如果这个电压出现非常迅速,则双向晶闸管将重新导通而失去控制,因此需要在两个8A的双向晶闸管的两个主极上并联一个电阻和电容,组成容阻回路。电容将起到限制感应电势的作用,而电阻用来限制来自器件触发时电容器的浪涌电流和阻尼由电容和电感构成的振荡。如图321,在双向晶闸管的两端并联RC串联网络,该网络常称为RC阻容吸收电路。34蜂鸣器为保证洗衣机的安全工作,当洗衣机出现问题或故障时,洗衣机应立即发出蜂鸣报警,提醒用户及时处理,此即全自动洗衣机的故障自诊断功能。在洗衣机电源接通后,单片机就不断地对接收到的按键、门开关、水位传感器等输入信号进行分析,并结合内部时钟信号,作出当前工作状态是否正常的判断,若出现异常情况,则进行蜂鸣报警。35水位传感器水位检测的精度直接影响洗净度、水流强度、洗涤时间等参数。对于全自动洗衣机,要求水位的检测必须是连续的,故常采用谐振式水位传感器。谐振式水位传感器是利用电磁谐振电路LC作为传感器的敏感元件,将被测物体的变化转变为LC参数的变化,最终以频率参数输出。其工作原理是将水位的高低通过导管转换成一个测试内腔气体变化的压力,驱动内腔上方的一块隔膜移动,带动隔膜中心的磁芯在某线圈内移动,从而线圈电感发生变化。由此引起谐振电路的固有频率随水位变化。36LED和数码管显示及按键电路如图35所示,本程控器设有七个按键水位K1、程序K2、功能K3、水温K4、启动/暂停K5、预约K6、电源K7,十四个发光二极管(四个八档水位显示、三个程序显示、四个功能显示、两个进水显示、一个预约显示),一个双位数码管,实现对洗衣机运行状态的选择和显示。通过LED的点亮/闪烁指示洗衣机的各种工作状态,利用数码管显示预约及各种洗衣程序的剩余时间和四种错误类型(E1、E2、E3、E4)。采用动态扫描显示的方法。动态扫描显示法是把所有显示器件的各个相同端互相连接在一起,接到一个输出口上,而显示器的公共端COM分别接在另外输出口上,通过这两个输出口的两组信号相互作用来产生显示效果。即让各位数码管及LED显示器件按照一定顺序轮流显示,只要扫描频率足够高,由于人眼的“视觉暂留”特性,就观察不到闪烁现象,而是连续稳定的显示。其特点R133KR233KR333KR433KR533KR633KR7100R8100R9100R10100R11100R12100R13100R141KR151KR2310KR2410KQ12907Q22907Q32907Q42907Q52907Q62907LED37/8LED25/6LED13/4LED7冷冷LED6冷冷LED5冷冷LED41/2LED11冷冷LED10冷冷LED9冷冷LED8冷冷LED14冷冷LED13冷冷LED12冷冷D1IN4001D2IN4001D3IN4001D4IN4001D5IN4001D6IN4001K2位位K3位位K6位位K5位/位K7位位K1位位C3473C4473K4位位LEDGNGGEEFFDDEEBBAALLHHBFCGDEBFCGDEAASMG5VP30P31P32P41P40P37P36P35P42P43P44P45P46P22P47图35LED和数码管显示及按键电路在于能显著降低显示部分成本,大大减少显示接口的连线结构,易于编程。开机后,由P30P32和P35P37输出不同时段的扫描方波,用来检测按键的输入。动态扫描方波信号(键扫描信号)是50HZ频率间隔20MS的脉冲序列,有严格的时序关系,其中一个I/O口输出低电平时,其余I/O口皆为高电平例如111101等。扫描信号经限流电阻R1R633K后加载到三极管Q1Q6的基极。当P30P32和P35P37中某个管脚输出低电平时,相应的三极管饱和导通,从而使高电平驱动相应的显示器件工作。同时,软件不断检测P22、P47的输入。当有键按下时,软件便会检测到此按键输入口的高电平。根据扫描方波,可判断按下的是哪一个键,然后调出存在程序存贮器中的相应按键子程序。在相应子程序中,由单片机控制从P40P47输出不同的段值,用来控制相应的LED指示灯(点亮/闪烁)及数码管(点亮/熄灭)的工作状态,并在相应输出口输出控制信号,控制洗衣机电动机、进水电磁阀、排水电磁阀的动作。在按键的输入处均设有容阻吸收电路,以提高系统抗干扰能力。二极管D1D6作用是防止多个按键同时按下时,发生短路。第四章系统软件设计41软件编程思路全自动洗衣机控制软件系统根据其功能要求,主要分为以下几个大程序模块监控程序模块;主洗程序模块;漂洗程序模块;脱水程序模块。42各模块程序流程图421监控程序模块监控程序模块负责在非洗衣状态下,监视按键和刷新显示工作。在监控状态下,程序不断扫描7个按键(电源、启动、程序、预约、水位、功能和水温)的状态。只有在电源键被按下后,按动其它键才能有效响应。监控程序模块的流程图如图41所示。YNNY开始NY转相应工作程序调相应自检程序启动键自检有键按下调显示子程序调打开LED显示调按键扫描子程序调读取键值子程序调洗衣机方式设置程序电源键按下调读取键值子程序有键按下设置栈堆指针调用洗衣机初始化子程序调上电数据恢复模块按键扫描子程序调显示子程序图一监控程序模块图NYN开基本定时器中断图41监控程序模块框图在洗衣机通上电源后,单片机上电复位。程序首先运行在监控程序模块中。洗衣机初始化内容包括I/O口初始化、工作过程初始化(主洗洗涤时间、漂洗洗涤时间、漂洗次数、脱水时间、进水时间等参数)。因为洗衣机上电后默认洗涤方式为标准洗,故参数初始化主要是对标准洗状态下的参数的预置。上电数据恢复模块主要用来判断洗衣机上电是否为洗涤时突然掉电。若为洗涤过程中掉电,则上电后进行恢复断点工作,否则程序返回进入到对按键监视和刷新显示的循环过程中。在按下电源键后,洗衣机进入到复位状态,在此状态下可进行参数设置,如选择水温、是否防皱、水位、程序等。若不设定的话,洗衣机启动后处于标准洗涤状态。若同时按下几个键,则进入到自检,如同时按下水位和电源键,这个功能是无水检测,用来检测发光二极管、数码管和蜂鸣器等是否能正常工作;如在洗涤过程中同时按下水位和功能键,启动童锁功能,所有按键均封锁不可选。若按下启动键,则洗衣机开始洗涤。422主洗程序模块当洗衣机上电后默认主洗时间为43分钟。洗衣机的洗涤过程是否进入到主洗程序模块,由用户操作决定。若用户选择主洗,则允许标准洗标志有效。主洗过程是一个包括进水、洗涤、排水洗和脱水全过程。程序框图如图42所示。NY返回清除主洗标志灭主洗灯调脱水子程序设置脱水时间返回允许主洗调排水子程序调主洗洗涤子程序主洗灯闪烁调进水子程序程序入口图42主洗程序模块423漂洗程序模块在洗衣机上电后默认漂洗次数为4次。用户可选择漂洗次数,也可以只漂洗,不脱水。当用户选择漂洗过程后,此标志有效。在整个漂洗过程中,漂洗灯一直闪烁,程序框图如图43所示。NNYYNNN返回灭漂洗灯清漂洗标志清四漂标志第四次漂洗子程序第四次漂洗清三漂标志第三次漂洗调三漂子程序返回清二漂标志Y调二漂子程序第二次漂洗清一漂标志Y调一漂子程序第一次漂洗Y漂洗灯闪烁允许漂洗程序入口图43漂洗程序模块框图424脱水程序模块脱水是洗衣过程中可有可无的环节。脱水时间由用户设定,在脱水过程中排水阀一直打开,且脱水指示灯一直闪烁显示。脱水程序模块如图44所示。NNYY返回关排水泵调电机停止子程序脱水时间完调键盘时间显示调剩余时间显示调电机启动子程序设置转速为预定转速调电机反转子程序15S倒计时0置脱水时间于倒计时缓冲器设置转速为低速15秒倒计时开始入口调开排水泵调电机启动子程序图44脱水程序模块框图总结全自动洗衣机由东芝单片机控制。由于其具有内存容量大、输入输出口多、I/O的驱动能力强、指令系统丰富等特点,将其应用在家用电器控制中,可大大简化系统的硬件电路,使系统具有更高的可靠性。本设计经过设计达到了预期的各种功能,完全符合全自动洗衣机的各项要求。在本次设计中,因为以前的时候总是觉得设计只要有总体思路就可以了,所以在设计电路的时候,特别是对双向晶闸管的使用的时候,只是从书上了解到了无触点的优点但是却没有想到其实双向晶闸管的过压和过流性是十分的脆弱的,设计的时候就直接用它去控制了电机和电磁阀,这样的稳定性在实际的使用中不能稳定使用,所以设计没有实际意义。这点让我充分的认识到我的不足,我在设计和平时总是对自己的细节的注意不够,这就使得很多看似成立的东西失去了本来的实际意义,也让会导致很多事情的失败。本次设计对与我来说是一次对自己性格锻炼,它让我充分的认识自己所学习知识的不够,让我明白小事、小细节对于全局的重要性,使我认识到自己的学习和生活的关系,让我知道自己以后做事的态度和行为,所以本次设计对我自身的是起到很重要的审视作用。参考文献1余永权,汪明慧,黄英单片机在控制系统中的应用北京电子工业出版社,20032扈刚,王延峰谐振式水位传感器传感器技术20023谢宋和,湛清平东芝单片机在家用电器中应用北京北京航空航天大学出版,19964周德林,张双庆全自动洗衣机故障检测技术北京金盾出版社,20045张毅刚,修林成MCS51单片机应用设计哈尔滨哈尔滨工业大学出版社,19926陈汝全,林水生实用微机与单片机控制技术成都电子科技大学出版社,19987王幸之,王雷等单片机应用系统抗干扰技术北京北京航空航天大学出版社19998牛洪涛工控软件的抗干扰设计微型机与应用19989邵贝贝单片机嵌入式应用的在先开发方法北京清华大学出版社,200410王柏林单片机系统设计的误区与对策计算机应用200211王晓明电动机的单片机控制北京北京航空航天大学出版社,2002致谢经过这一学期的努力我的毕业论文终于顺利完成了。本文是在老师指导下完成的。老师治学严谨、品德高尚、平易近人,在洗衣机控制课题等方面具有丰富的知识和很高的科研水平。从选题、方案论证到具体设计和论文撰写的各个环节,都得到老师的热心指导、帮助、和指正,使得我能在比较正确的轨道上,在预期的时间内完成工作量较大的课题,对此将深深感谢老师的帮助。感谢所有的授课老师。在四年的学习中,他们不仅给我传授了系统的理论知识,培养了较强的动手实验能力,而且还通过言传身教潜移默化地传授给我做人的道理。在单片机课程学习中授予我们的知识,让我对学习的态度改变许多,同时也让我充分的认识到自己的不足,更重要的是教会我们如何去学。如果没有他们的无私支持和指导,相信我没有办法完成这次的毕业设计。在此对他们的悉心教导表示衷心地感谢。附录STARTNOPLDSP,0X23FDICALLIOINI;初始化单片机CALLWORKINI;初始化RAMSTART1NOPCALLWORKINI1;进行标准化设置EIRUNINGTESTFLAG10;10MS延时JRT,RUNINGCLRFLAG10LDWDTCR2,0X4E;关看门狗CALLD100MS;100MS延时,和(FLAG41组成一个100MS延时CALLBUZZING;蜂鸣程序CALLTSJ;自检和循环检测TESTFLAG41JRF,RUNINGCALLDERR;错误检测程序CALLTSJT;童锁洁筒CALLPROINI;进行自检和无水检测参数设置CALLDOOR;门判断程序CALLDISPLAY;显示程序CALLWATER;水位判断程序CALLKLAST;连键处理程序CALLERR16;出错情况未接触的话,每16分种,蜂鸣器报警10秒CALLD10MDP;开机十分种,不启动则自动断电TESTFLAG21;是否出错JRF,RUNINGTESTFLAG13;预约JRT,RUNIA0CALLYYDELAY;预约显示CALLYYOPER;预约启动情况下,未盖盖子,则出现报警JPRUNINGRUNIA0TESTFLAG20;启动JRT,RUNINGLDERROR,0X00;无错误TESTFLAG81;模糊测布质JRT,RUNIA00CALLDEL10SJPRUNINGRUNIA00TESTFLAG17;3S时间标志JRT,RUNIA01CALLDEL3SJPRUNINGRUNIA01TESTFLAG55;无水检测JRT,RUNINA02CALLTESTFM;蜂鸣器初始化程序JPRUNINGRUNINA02TESTFLAG50;排脱水JRT,RUNIA1;TESTFLAG47;7S程序,最好115SJRT,RUNIA1;CALLDEL7SJPRUNINGRUNIA1CALLRUNDISP;1M修改一个运行时间TESTFLAG53;洗衣结束JRF,RUNIA2CALLXIYI;调洗衣程序RUNIA3JPRUNINGRUNIA2TESTFLAG11;蜂鸣器正在工作JRF,RUNIA3TESTFLAG63;循环检测程序JRF,RUNIA4RUNIA5CALLWORKINI1;初始化RUNIA4SETFLAG23;程序初始化CLRFLAG53;洗衣结束,结束蜂鸣JPRUNINGLDP0DR,0XFF;P0口有8个管脚,P07为输入口LDP1DR,0X07;P0口有3个管脚,前两个为输入LDP2DR,0X07;P2口有3个管脚,这里没有用到LDP3DR,0XC0;P3口有8个管脚,P36,P37为输入管脚LDP1CR,0X7F;LDP3CR,0X4F;LDP0OUTCR,0X7F设置为哪种输出形式,开路或上拉LDWDTCR1,0X00关看门狗LDWDTCR2,0XB1LDTTREG3,0X7D2MS,8MLDTTREG4,0X0C0192US,8MLDTC1CR,0X14TC110MS定时LDWTC1DRA,0X027127110MS1385MSLDTC3CR,0X18TC32MS开始计时LDEINTCR,0XC0设置中断产生形式11000000LDTC4CR,0X19TC4输出为可编程脉冲LDTBTCR,0X00关DVO口LDWIL,0X0000;清中断标志位LDEIRL,0X90;开对应中断10010000LDEIRH,0X0X0C00001100LDSYSCR1,0X00系统设置LDSYSCR2,0X80CLRFLAG84电源键第一次按下SET该标志,第二此按下该标志LDINTSEL,0X10;中断源选择LDUARTCR1,0X03;关LDUARTCR2,0X02LDWDTCR2,0X4E;关LDWDTCR1,0X0D;RETWORKINILDHL,S1清理变量子程序LDA,0XFFLOVELDHL,0INCHLDECAJRF,LOVERETWORKINI1LDP0DR,0XFF;P0口有8个管脚,P07为输入口LDP1DR,0X07;P0口有3个管脚,前两个为输入LDP2DR,0X07;P2口有3个管脚,这里没有用到LDP3DR,0XC0;P3口有8个管脚,P36,P37为输入管脚LDA,S1;保存自检LDW,S2;保存无水检测PUSHWALDH,BITCOUNT;保存循环位LDL,S7;保存开关值PUSHHLLDHL,S1LDA,0XFFLOVE1LDHL,0;清理变量区INCHLDECAJRF,LOVE1POPHLLDBITCOUNT,H;恢复循环变量LDS7,L;恢复开关变量POPWALDS2,W;恢复程序键量(循环检测)LDS1,A;恢复水位键(自检)LDDE,0X0000;作为水位检测的中间变量LDDEL20,0XFA;250LDD10M1,0X5F;59999LDD10M2,0XEALDBITMOVE,0XFE;位循环LDWD1M,0X176F;5999SETFLAG23;程序初始化SETFLAG41;上电延时LDYYD1M1,0X3F;3599991H时预约程序变下LDYYD1M2,0X7ELDYYD1M3,0X05LDD05S1,0XFF;1535LDD05S2,0X05LDLED1,0XFB;默认3档水位LDLED2,0XF7;标准LDLED3,0XF8;洗漂脱SETFLAG81;模糊LDD10S1,0X2C300LDD10S2,0X01CLRP3DR3;LDZSDX,0X0CLDZSDP,0X02LDZSDT,0X06SETFLAG105;在开始时候有个补水功能SETFLAG11;是否蜂鸣LDBUZT1,0X0A;LDTEMCOUNT,0X00;开冷水LDWCOUNT,0X02;是否错误RETCALLTESTCQ测试布质XIYIRETRETXIYIXYECALLCLRCURCLRPRO26CLRFLAG45TESTCQLDW,WCOUNT测布质子程序LDA,0X04MULW,ALDC,ALDDEL30,CLDHL,WATER1LDBC,HLCLDWA,SJSWCMPWA,BCJRLT,TCQ0SUBWA,BCLDC,WCOUNTLDB,0X04MULB,CLDHL,CQPARALDW,HLCCMPW,AJRLT,TCQ1布质分4挡TCQ0LDSLPARA,0X00RETTCQ1INCCLDW,HLCCMPW,AJRLT,TCQ2LDSLPARA,0X01RETTCQ2INCCLDW,HLCCMPW,AJRLT,TCQ3LDSLPARA,0X02RETTCQ3INCCLDW,HLCCMPW,AJRGE,TCQRETLDSLPARA,0X03TCQRETRETLDSI,0X00LDPROD1,0XB7LDPROD2,0X0BXIYIPHTESTPRO25JRT,XIYIPS排水CALLINWTESTFLAG24JRT,XIYIRETTESTFLAG60JRF,XIYIPHJ1TESTLED23JRT,XIYIPHETESTFLAG101JRF,XIYIPHETESTFLAG102JRF,XIYIPHEXIYIPHJ1SUBPROD1,1SUBBPROD2,0JRT,XIYIPHECLRSI4CLRSI2CLRFLAG30SETFLAG31CALLCURRETXIYIPHESETLED31CLRFLAG31LDZSDX,0X0LDSI,0X00CLRPRO25CALLCLRCURTESTPRO17JRF,XIYIPHE0TESTPRO16JRF,XIYIPHE0TESTPRO15JRF,XIYIPHE0SETLED32LDZSDP,0X0XIYIPHE0TESTLED32JRT,XIYIPSTESTLED33JRT,XIYIPS1CALLPROENDRETXIYIPS1CALLTIMEJZXIYIPSTESTPRO24JRT,XIYIJTTESTFLAG76JRF,XIYIJTECALLJTUODSSETFLAG50CALLOFWTESTFLAG54JRT,XIYIPSSLDPROD1,0X2FLDPROD2,0X75XIYIPSSRETXIYIJPTSJPXIYITSXIYIJTTESTPRO23JRT,XIYIJPTSSETSI1SETFLAG36SETFLAG50SUBPROD1,1SUBBPROD2,0JRT,XIYIJTESETFLAG30CLRFLAG31TESTFLAG35JRF,JTRETLDERROR,0X02CALLSETERRRETJTRETCMPPROG,0X06JREQ,JT00CMPZSDP,0X01JRNE,JT0TESTLED32JRF,JT0JT00SETSI4JT0CALLCURRETXIYIJTECLRPRO23CLRPRO24CALLCLRCURCLRSI4CLRSI2CALLTSDSCLRFLAG30XIYITSTESTPRO22JRT,XIYIGXTESTFLAG76JRF,TSNEXT1SETSI1TSNEXT1SUBPROD1,1SUBBPROD2,0JRT,XIYITSESETFLAG36SETFLAG50TESTFLAG76JRF,JT0RETSETSI7JT0RETRETXIYITSECLRPRO22TESTLED32JRT,XIYIBP3TESTFLAG101JRF,XIYIBP4TESTFLAG102JRF,XIYIBP4XIYIBP3TESTLED22JRT,XIYIBP4LDPROD1,0X6FLDPROD2,0X17JPXIYIBP2XIYIBP4LDPROD1,0XB7LDPROD2,0X0BXIYIBP2CLRFLAG37CLRFLAG60CLRSI7CLRFLAG40XIYIGXTESTPRO21JRT,XIYISCSUBPROD1,1SUBBPROD2,0JRT,XIYIGXESETSI1RETXIYIGXECLRPRO21LDPROD1,0XF3LDPROD2,0X01LDSI,0X00CLRFLAG50CLRFLAG36RETXIYISCTESTPRO20JRT,XIYISCESUBPROD1,1SUBBPROD2,0JRT,XIYISCERETXIYISCELDPRO2,0XFFCLRFLAG24TESTPRO17JRT,XIYISC1CLRPRO17TESTPRO16JRF,XIYISCRETTESTPRO15JRF,XIYISCRETSETFLAG110XIYISCRETRETXIYISC1TESTPRO16JRT,XIYISC2CLRPRO16TESTPRO15JRF,XIYISCRETSETFLAG110RETXIYISC2TESTPRO15JRT,XRTYUCLRPRO15SETFLAG110RETXRTYUSETLED33CALLPROENDRETJTDS1CMPPROG,0X06PROG08洁桶洗JREQ,JTDS2TESTFLAG101JRF,JTDS3TESTFLAG102JRF,JTDS3JTDS4LDPROD1,0XB7LDPROD2,0X0BRETJTDS2LDPROD1,0X6F洁桶一秒喷淋漂脱LDPROD2,0X17RETJTDS3LDPROD1,0X0LDPROD2,0X0RETINTTC3EIPUSHWAPUSHBCPUSHHLCALLTC40;每72MS将DE内数据传水位感变量SJSW一次CALLDSTATUS;判断门开关程序,6MS判断出关LDP4DR,0XFF;全部的灯都灭,为了避免影响按键判断LDHL,BITCOUN;键盘扫描代码LDC,BITCOUNTLDA,HLCLDW,P3DRANDW,0X18ORW,ALDP3DR,W;将代码送到扫描口LDW,P2PRDLDKEYIN,W;同时取出按键输入口量LDHL,S1;按键变量首地址LDC,BITCOUNT;目前所扫描到的对应按键LDB,0X00LDWA,HLADDWA,BCLDHL,WALDA,HL;对应按键变量值送入ATESTKEYIN2;判断按键口,看是否有按键按下JRF,INTT1LDA,HLCMPA,0X0E;有按键按下,且松开后,视为一次有效动作JRNE,KEYNEXT0PUSHHLCALLKEYDEAL1;有一次按键操作,则进行对应按键处理程序POPHLKEYNEXT0LDHL,0X00;无按键,或按键处理以后,付按键变量0CMPBITCOUNT,0X05;此次等于5的话,则为扫描到预约键JRNE,KEYNEXT1CLRFLAG14;没有预约,或预约结束(不确定)CLRFLAG16;连键处理程序,按下预约键不松的情况KEYNEXT1CMPBITCOUNT,0X05;扫描到5的话,去判断一下,开关键是否有动作JRNE,INTTTTLDW,P4DRLDKEYIN,WTESTKEYIN7;判断开关键是否有动作JRF,INTT2;只有开关键已松开后才会进行按键处理操作LDA,S7CMPA,0X0EJRNE,KEYNEXT01PUSHHLCALLKEYDEAL2;调开关键处理程序POPHLKEYNEXT01LDS7,0X00INTTTTJPINTDISPINTT1INCACMPA,0X0FJREQ,INTXDDCMPA,0XFFJREQ,INTXDD1LDHL,ACMPA,0X06JRNE,KEYNEXT1CMPBITCOUNT,0X05JRNE,INTXDDSETFLAG16;预约键按下未松开INTXDDCALLKEYDEAL1LDHL,0X0EINTTK2JPKEYNEXT1INTXDD1LDHL,0XFEJPKEYNEXT1INTT2LDA,S7INCACMPA,0X0FJREQ,INTXDD2CMPA,0XFFJREQ,INTXDD3LDS7,ACMPA,0X06JRNE,INTDISPINTXDD2LDS7,0X0EJPINTDISPINTXDD3LDS7,0XFEJPKEYNEXT2INTDISPTESTFLAG84JRT,ITC3RET1INCBITCOUNTCMPBITCOUNT,0X06;扫描到头的话,重新开始扫描JRNE,ITC3DISPLDBITCOUNT,0X00ITC3DISPLDHL,BITCOUNLDC,BITCOUNTLDA,HLCLDW,P3DRANDW,0X18ORW,ALDP3DR,WLDHL,LED111LDC,BITCOUNTLDA,HLCTESTFLAG84;电源标志JRT,ITC3RET1LDP4DR,A;电源开的情况下,对应灯工作ITC3RETPOPHLPOPBCPOPWARETIITC3RET1LDP4DR,0XFF;电源关的情况下,全灭POPHLPOPBCPOPWARETIRETITC40DECTCOUNT1每72MS将DE内数据传水位传感变量SJSW一次JRT,TC41RETTC41SETFLAG10LDTCOUNT1,0X04DECTCOUNT2JRT,TC42RETTC42PUSHWALDSJSW,DELDDE,0X0000LDTCOUNT2,0X09POPWARETDSTATUSTESTP2PRD1;判断门开关程序,6MS判断出开关JRF,DSTALDDCLOSE,0X00INCDOPENCMPDOPEN,0X03JRNE,DOPEN1CLRFLAG33;门开LDDOPEN,0X00DOPEN1RETDSTALDDOPEN,0X00INCDCLOSECMPDCLOSE,0X03JRNE,DCLOSE1SETFLAG33;门关LDDCLOSE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论