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

下载本文档

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

文档简介

1、编号编号 xxxxxxxxxx 毕毕 业业 论论 文文 ( 20122012 届本科)届本科)题题 目:目: 基于单片机的全自动洗衣机基于单片机的全自动洗衣机 控制系统设计控制系统设计 学学 院:院: 物理与机电工程学院物理与机电工程学院 专专 业:业: 电气工程及其自动化电气工程及其自动化 作者姓名:作者姓名: xxxxxx 指导教师:指导教师: xxxxxx 职称:职称: xxxxxx 完成日期:完成日期: 20122012 年年 5 5 月月 5 5 日日二一二 年 五五 月i目 录基于单片机的全自动洗衣机控制系统.5第一章 功能设计.61.1 程控器功能设计及说明.61.1.1 六个全

2、自动程序功能设计.61.1.2 预约功能设计.61.1.3 不平衡调整功能设计.61.1.4 自动断电功能设计.71.1.5 运动浸泡功能设计.71.1.6 故障报警功能设计.71.1.7 桶洁净功能设计.71.1.8 童锁功能设计.71.1.9 冷、热进水功能设计.71.2 面板简图.8第二章 设计方案选择和确定.92.1 目前主要应用的单片机机型.92.2 负载控制电路的选择.9第三章 系统硬件电路的设计.103.1 硬件结构概述及组成框图.103.1.1 概述.103.1.2 组成框图.103.2 微处理器.103.2.1 tmp86c846n 的封装及引脚功能.103.3 双向晶闸管控

3、制驱动电路设计.133.3.1 双向晶闸管的结构及工作原理.133.3.2 双向晶闸管控制驱动电路原理图及工作原理.143.4 蜂鸣器.153.5 水位传感器.153.6 led 和数码管显示及按键电路.16第四章系统软件设计.194.1 软件编程思路.194.2 各模块程序流程图.194.2.1 监控程序模块.19ii4.2.2 主洗程序模块.214.2.3 漂洗程序模块.224.2.4 脱水程序模块.23总 结.24参考文献.25致 谢.26附 录.271基于单片机的全自动洗衣机控制系统基于单片机的全自动洗衣机控制系统设计设计摘摘 要:要:全自动洗衣机电脑程控器由东芝单片机控制。由于其具有

4、内存容量大、输入输出口多、i/o 的驱动能力强、指令系统丰富等特点,将其应用在家用电器控制中,可大大简化系统的硬件电路,使系统具有更高的可靠性。采用双向晶闸管实现无触点控制电机和电磁阀,利用谐振式水位传感器检测水位,发光二极管及数码管显示,按键扫描共用 i/o 端口,单片机电源引脚及直流电源处都有容阻吸收和电容滤波电路实现硬件滤波。软件编程实现多功能、多程序方便用户选择和出厂调试。关键字关键字:东芝;单片机;双向晶闸管;软件编程;abstract:automatic washing machine with a computer programmed by toshiba scm contro

5、l. because of its large capacity memory, input and output port, i / o-driven capability and instruction system features rich, in its application to control household appliances, greatly simplify the hardware circuit, the system has higher reliability. two-way, non-contact thyristor controlled motors

6、 and solenoids, use of resonant water level sensors, led and led display, keypad scanning shared i / o ports, power mcu pins and dc power department has resistance capacity to absorb and filter capacitor filter circuit hardware. software programming multi-function, multi-user-friendly procedures for

7、 the selection and testing manufactured.keywords:toshiba;scm control;two-way; software programming2第一章第一章 功能设计功能设计洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。变频控制依其高性能、节能等优点在洗衣机的控制中得到广泛应用,而单片机在洗衣机中的控制做用是决定性作用的。1.1 程控器功能设计及说明参考数据:(1)最高工作电压为 5.5v(

8、2)最低工作电压与时钟频率有关:16mhz 时为 4.5v,8mhz 时为 2.7v(3)在该洗衣机控制电路中需要+5v 直流电供给单片机及显示部分,+12v 直流电源驱动继电器和蜂鸣器,220v 交流电源驱动电机和各种交流电磁阀。(4)洗衣机的电源电压为 220 伏特,50 赫兹。1.1.1 六个全自动程序功能设计六个全自动程序,各程序洗衣特点如表 1-1 所示:表 1-1 六种全自动程序洗衣特点程序水流及特点缺省时间标准洗涤 12 分钟,漂洗 2 次,脱水 6 分钟,洗净能力强。43 分钟快洗洗涤 2.5 分钟,漂洗 1 次并喷淋,脱水 1.5 分钟,洗净能力较轻。10 分钟纤细洗涤 10

9、 分钟,漂洗 2 次,脱水 2 分钟,适合洗涤纤细及高档衣物。33 分钟大物洗涤 15 分钟,漂洗 2 次,脱水 7 分钟,洗涤能力特别强。47 分钟防皱洗涤 8 分,漂洗 2 次,免脱水(仅排水),洗涤怕脱水时皱折衣物。27 分钟羊毛洗涤 15 分钟,漂洗 2 次,免脱水(仅排水),适合洗涤羊毛衫。34 分钟1.1.2 预约功能设计按动预约键,数码管闪烁显示预约洗衣开始时间进入预约设定状态,可在48小时之间选择。每按一次预约键,预约时间增加 1 小时。到 48 小时后再按一次回到起始状态。按住预约键不放,时间自动连续增加,可一次设置48 小时。在预约启动后若开盖,则程序报警提示。1.1.3

10、不平衡调整功能设计1.1.3.1 不平衡调整的判断在安全开关接通的状态下,若间歇脱水或脱水过程中,出现 45520010ms 的瞬间断开,则进入不平衡调整状态。断开超过 200ms,判断为开盖。断开不足 40ms,不3予处理。1.1.3.2 不平衡调整的工作过程进入不平衡调整状态,在漂洗状态原选中的灯进行闪烁显示,脱水状态则回到漂洗灯闪烁显示。同时,注水到当前设定水位后,摆平水流运行 1 分钟,结束后排水回到原来脱水行程中。若进行如此 2 次修正无效后,则蜂鸣器报警,等待人工处理。1.1.4 自动断电功能设计启动自动断电功能的工作情况:第一,开机 10 分钟后,不启动程序,则自动切断电源。第二

11、,洗衣程序结束并进行六次蜂鸣后即时自动切断电源。1.1.5 运动浸泡功能设计其洗涤方式是首先预备洗涤搅拌,然后浸泡,搅拌,如此循环。具体洗涤方式如表1-2 所示。表 1-2 运动浸泡的洗涤方式浸泡过程(20)搅拌2浸泡3搅拌1浸泡4搅拌2浸泡3搅拌1浸泡41.1.6 故障报警功能设计在洗衣机工作过程中,若出现表 1-3 所列的故障,则单片机能检测故障类型,同时发出报警信号,提醒操作者排除故障。表 1-3 故障报警工作状况故障原因故障显示蜂鸣报警报警解除进水报警进水 16 分钟不到设定水位数码显示“e1”排水报警排水 4 分钟不到空水位数码显示“e4”开盖报警预约启动后开盖;进入脱水状态时开盖数

12、码显示“e2”不平衡报警 第 3 次不平衡检测数码显示“e3”蜂鸣器连续鸣响10 秒钟,若报警未被解除,以后每隔 16 分钟重复蜂鸣 10 秒钟打开机盖,处理故障,然后关上机盖,解除报警1.1.7 桶洁净功能设计目的就是洗衣结束后清洁洗衣桶。打开电源,在未启动状态下,按程序预约键可选则桶洁净功能,然后按启/停键即进入洁桶程序。在此工作状态下只有启/停键及电源键响应,仅有脱水一个灯闪烁。1.1.8 童锁功能设计程序启动后,按水位功能键即可启动童锁功能。在童锁工作状态下,数码管显示“cl” ,而且所有按键均封锁住不可选,再按水位功能键可以解除童锁功能。1.1.9 冷、热进水功能设计4冷水灯亮进水时

13、,由冷水进水阀打开;热水灯亮进水时,由热水进水阀打开;冷、热水灯同时亮则进水时两进水阀同时打开。1.2 面板简图如图 1-1 所示:8 档水位采用 4 个灯,一个发光二极管可以显示两种状态,达到节省硬件的目的。程序按键对应的三个灯也是如此,一个灯可以表示两个状态。图 1-1 面板简图5第二章 设计方案选择和确定2.1 目前主要应用的单片机机型(1)intel 公司的单片机intel 是最早推出单片机的公司之一,主要有 mcs-48、mcs-51 系列 8 位单片机和mcs-96 系列的 16 位单片机。在 20 世纪八、九十年代,mcs-51 和 mcs-96 曾经是我国最流行的单片机,得到广

14、泛的应用。这几年 intel 公司注重于奔腾系列微处理器,没有推出新的单片机。(2)东芝(toshiba)公司的单片机东芝公司主要有 tlcs-870、tlcs-870/x、tlcs-870/c 等系列的 8 位单片机,tlcs-900 系列的 16 位单片机,这些单片机是近几年推出的新型单片机,功能强、可靠性高。在本洗衣机控制系统中,要求洗衣机能自动检测水位、水温、门开关等参数,自动确定标准洗及快速洗等时间、漂洗次数,并能自动控制洗衣机电机、进水阀、排水阀的工作,同时要求有七个按键输入和六路显示电路,因此该系统是一个多输入、多输出系统。若用 intel 的 51 系列单片机,要么需要进行 i

15、/o 扩展,要么由于这些单片机驱动能力有限,需外加驱动电路,从而使硬件电路过于复杂。综合上述考虑,决定选用内部有 a/d 转换器、驱动能力强的 toshiba 单片机作为该系统的微处理器,tmp86c846n 单片机是 tlcs-870/c 系列单片机中的典型产品,具有高速率、高性能、低功耗的优点,且结构先进、功能强大。因此我们选择tmp86c846n 单片机作为主芯片。2.2 负载控制电路的选择在洗衣机工作过程中,需要电机的正反转、进水电磁阀及排水电磁阀的频繁动作,因此就需要一种能适应工作于频繁切换场合的开关器件来控制这些负载的工作。普通开关设备,均属于有触点开关。由于这些开关在开断的过程中

16、,存在着机械触点的位移和产生电火花的可能,所以一般都有着动作速度慢和维修工作量大等缺陷。普通开关的寿命和开断的次数相关,因此在频繁切换的场合其应用受到了一定的限制。晶闸管作为交流无触点开关没有以上普通开关的各种缺陷,在控制中有着动作快、维修量少、通断次数几乎无限制和没有噪音等优点,因此应用广泛。鉴于晶闸管自身不可替代的优点,在本控制系统中,采用双向晶闸管作为开关器件来控制电机的正反转及各种电磁阀的通断。6第三章 系统硬件电路的设计3.1 硬件结构概述及组成框图3.1.1 概述本程控器有七个按键(水位 k1、程序 k2、功能 k3、水温 k4、启动/暂停 k5、预约k6、电源 k7),十四个发光

17、二极管(四个八档水位显示、三个程序显示、四个功能显示、两个进水显示、一个预约显示) ,一个双位数码管,实现对洗衣机运行状态的选择和显示。通过不同颜色接插件与洗衣机的冷热进水电磁阀、排水牵引器、电机、水位传感器、安全门开关相连接,由双向晶闸管来控制负载,按设定程序实时执行动作。3.1.2 组成框图单片机按键输入电机正转蜂鸣报警排水牵引线热水进水阀冷水进水阀led显示器电机反转水位频率信号图 3-1 硬件结构组成框图3.2 微处理器3.2.1 tmp86c846n 的封装及引脚功能tmp86c846n 为 sdip42 密脚双列直插封装,引脚排列如图 3-2 所示。7图 3-2 tmp86c846

18、n 引脚排列图表 3-1 为 tmp86c846n 引脚功能说明。表 3-1 tmp86c46n 的引脚功能引脚名一般 i/o 功能特殊 i/o 功能p07(int4)外部中断 4(int4)信号输入端p06()sck同步串行口 sio 时钟输入/输出脚p05(si)同步串行口 sio 串行数据输入脚p04(so)同步串行口 sio 串行数据输出脚p03(txd)异步串行口 uart 串行数据输出脚p02(rxd)异步串行口 uart 串行数据输入脚p01(/)4pwm4tcpdo4/ppg4)定时器 tc4 输入输出脚p00(int0)8 位双向输入/输出口外部中断 0(int0)信号输入端

19、p15(int3)p14(ppg)p13(dvo)p12(int2/tc1)p11(int1)p10(pwm3/tc3/pdo3)6 位双向输入/输出口p20(int5/stop1)p21(xtin)p22(xtout)3 位双向输入/输出口8p37(ain7/stop5)p36(ain6/stop4)p35(ain5/stop3)p34(ain4/stop2)模拟量信号 ain4ain7 输入脚或使 cpu 退出 stop 方式的信号stop2stop5 输入脚p33(ain3)p32(ain2)p31(ain1)p30(ain0)8 位双向输入/输出口模拟量信号 ain0ain3 输入脚p

20、47p46p45p44p43p42p41p408 位双向输入/输出口test测试控制输入脚,用户系统中接地reset外部复位信号输入脚或内部复位信号输出脚xin高频时钟输入脚xout高频时钟输出脚vss接地vdd+5vavss模拟地avdd模拟电路电源+5vvarefad 参考电源输入端3.2.2. i/o 口资源分配按键、水位、门开关等信号需要输入单片机,给单片机提供判断处理的依据,所以相应的 i/o 口设置为输入口。而显示及控制驱动电路需要输出控制及驱动信号,所以相应的 i/o 口设置为输出口。表 3-2 为单片机各个 i/o 口资源分配表。9表 3-2 i/o 口资源分配表i/o引脚功能

21、p40p41p42p43p44p45p469101112131415输出,七段 led 数码管显示其中,p4.0p4.3 兼作水位、功能、程序、进水的状态显示p22p472316输入,第 1 行按键 k1k6 输入输入,第 2 行按键 k7 输入p30p31p32p35p36p37404142345输出,第 6 列按键及低位数码管显示控制输出,第 5 列按键及高位数码管显示控制输出,第 4 列按键及进水状态显示控制输出,第 1 列按键及水位状态显示控制输出,第 2 列按键及程序状态显示控制输出,第 3 列按键及功能状态显示控制p34p10p12p13出,排水电磁阀驱动

22、电路控制输出,热水进水电磁阀驱动电路控制输出,冷水进水电磁阀驱动电路控制输出,电机正转驱动电路控制输出,电机反转驱动电路控制p1534输出,继电器线圈通断电控制p0026输入,交流过零检测信号输入p0127输出,蜂鸣器控制p2025输入,水位传感器频率信号输入p2122输入,门开关检测信号输入3.3 双向晶闸管控制驱动电路设计3.3.1 双向晶闸管的结构及工作原理双向晶闸管的结构如下图所示。其引出端子分别为 mt1,mt2,门极。通常以mt1 作为电压测量的基准点。10如图 3-3 可知,在端子 mt2 与 mt1 之间相当于一个 pnpn 与一个 npnp 器件的并联。当门极无信号输入时,它

23、与 scr 相同,在 mt2 与 mt1 之间不导通。如果 mt2施加的电压高于 mt1,且门极有正极性信号时,这就可使双向晶闸管导通,电流 mt2向 mt1 流动;如果 mt1 施加的电压高于 mt2,且门极有负极性信号时,这就可使双向晶闸管导通,电流 mt1 向 mt2 流动。3.3.2 双向晶闸管控制驱动电路原理图及工作原理双向晶闸管采用直流触发,鉴于单片机输出触发信号不足以触发双向晶闸管,故需将触发功率放大。如图 3-4 所示,负载驱动电路主要包括七达林顿驱动电路 uln2004,电阻r33r35、r41r42、r39r38,电容 c16c21、c28,双向晶闸管 tr1-tr5 等组

24、成。电路中的双向可控硅分别控制电机正转、反转,进水(热水、冷水)电磁阀、排水牵引器的通断。由单片机根据按键输入指令或接收到的检测信号,输出相应的控制信号,该信号由芯片 uln2004 驱动放大后对可控硅门极施加触发电压,触发可控硅导通,使可控硅处于通路状态。220v 交流电路经过负载形成回路,使相应的负载得电运行。3.3.2.1 电机正、反转及排水牵引器驱动控制原理当 p14 脚输出高电平过零脉冲时,经驱动芯片 uln2004 输出低电平,则这时来自直流电源电路的+5v 电压经 tr1(双向晶闸管)的 t1 极和 g 极,在经过限流电阻 r33到 uln2004 内部接地而构成通路,使 tr1

25、 的 t1 极和 g 极间(电阻r3833r3933c16473c17473c18473c19473c200.01uc210.01uc22473c23473c2533uc26100utr18atr28atr31atr41ac28473tr51a位位位位位位位位位位1zid1hongd1chengd1baid1huangd12345678910111213141516uln20 04ic3uln2004r33100r34100r35270r41270r42270冷220vp34p10p12p13p14图 3-4 双向晶闸管控制驱动电路11约为 100)产生一个电压降,使 tr1 导通,于是电动机

26、正转。同样道理,当 p13 脚输出高电平过零脉冲时,电动机反转。若要使电动机停转,纸鹞使 p14、p13 脚都输出低电平即可。此时,只要交流电压一过零点,可控硅就因t1 和 g 间电压为零而自动截止,电动机失电停止运转。同时,控制电机的两个双向晶闸管在任何时候不能同时导通,否则会损坏晶闸管,甚至烧坏电机。当 p34 脚输出高电平过零脉冲时,可控制排水牵引器的启动停止。3.3.2.2 冷、热进水阀驱动控制原理当 p12 脚输出高电平过零脉冲时,经驱动芯片 uln2004 输出低电平,则这时来自直流电源电路的+5v 电压经 tr3(双向晶闸管)的 t1 极和 g 极,在经过限流电阻 r35接到 u

27、ln2004 内部接地而构成通路,使 tr1 的 t1 极和 g 极间(电阻约为 100)产生一个电压降,使 tr3 导通,于是电磁阀线圈带电打开冷进水阀阀门。同样道理,当 p10 脚输出高电平过零脉冲时,热进水阀阀门打开。要使阀门关闭,只要使 p12 或 p10 脚输出低电平即可。这时,只要交流电压一过零点,可控硅就因t1 和 g 间电压为零而自动截止,电磁阀不带电而关闭阀门。3.3.2.3 抗干扰措施电容 c16c19、c28 起滤波抗干扰作用,当突然出现干扰信号时,因电容电压不能突变,而不会引起 uln2004 内部的变化而造成双向晶闸管的误导通或误截止。由于电机的电感较大,感应反电势也

28、较大,如果这个电压出现非常迅速,则双向晶闸管将重新导通而失去控制,因此需要在两个 8a 的双向晶闸管的两个主极上并联一个电阻和电容,组成容阻回路。电容将起到限制感应电势的作用,而电阻用来限制来自器件触发时电容器的浪涌电流和阻尼由电容和电感构成的振荡。如图 3-21,在双向晶闸管的两端并联 rc 串联网络,该网络常称为 rc 阻容吸收电路。3.4 蜂鸣器为保证洗衣机的安全工作,当洗衣机出现问题或故障时,洗衣机应立即发出蜂鸣报警,提醒用户及时处理,此即全自动洗衣机的故障自诊断功能。在洗衣机电源接通后,单片机就不断地对接收到的按键、门开关、水位传感器等输入信号进行分析,并结合内部时钟信号,作出当前工

29、作状态是否正常的判断,若出现异常情况,则进行蜂鸣报警。3.5 水位传感器水位检测的精度直接影响洗净度、水流强度、洗涤时间等参数。对于全自动洗衣机,要求水位的检测必须是连续的,故常采用谐振式水位传感器。谐振式水位传感器是12利用电磁谐振电路 lc 作为传感器的敏感元件,将被测物体的变化转变为 lc 参数的变化,最终以频率参数输出。其工作原理是:将水位的高低通过导管转换成一个测试内腔气体变化的压力,驱动内腔上方的一块隔膜移动,带动隔膜中心的磁芯在某线圈内移动,从而线圈电感发生变化。由此引起谐振电路的固有频率随水位变化。3.6 led 和数码管显示及按键电路如图 3-5 所示,本程控器设有七个按键(

30、水位 k1、程序 k2、功能 k3、水温 k4、启动/暂停 k5、预约 k6、电源 k7),十四个发光二极管(四个八档水位显示、三个程序显示、四个功能显示、两个进水显示、一个预约显示) ,一个双位数码管,实现对洗衣机运行状态的选择和显示。通过 led 的点亮/闪烁指示洗衣机的各种工作状态,利用数码管显示预约及各种洗衣程序的剩余时间和四种错误类型(e1、e2、e3、e4) 。采用动态扫描显示的方法。动态扫描显示法是把所有显示器件的各个相同端互相连接在一起,接到一个输出口上,而显示器的公共端 com 分别接在另外输出口上,通过这两个输出口的两组信号相互作用来产生显示效果。即让各位数码管及 led

31、显示器件按照一定顺序轮流显示,只要扫描频率足够高,由于人眼的“视觉暂留”特性,就观察不到闪烁现象,而是连续稳定的显示。其特点13r13.3kr23.3kr33.3kr43.3kr53.3kr63.3kr7100r8100r9100r10100r11100r12100r13100r141kr151kr2310kr2410kq12907q22907q32907q42907q52907q62907led37/8led25/6led13/4led7冷冷led6冷冷led5冷冷led41/2led11冷冷led10冷冷led9冷冷led8冷冷led14冷冷led13冷冷led12冷冷d1in4001d2

32、in4001d3in4001d4in4001d5in4001d6in4001k2位位k3位位k6位位k5位/位k7位位k1位位c3473c4473k4位位ledgnggeeffddeebbaallhhbfcgdebfcgdeaasmg+5vp30p31p32p41p40p37p36p35p42p43p44p45p46p22p47图 3-5led 和数码管显示及按键电路在于能显著降低显示部分成本,大大减少显示接口的连线结构,易于编程。开机后,由 p30p32 和 p35p37 输出不同时段的扫描方波,用来检测按键的输入。动态扫描方波信号(键扫描信号)是 50hz 频率(间隔 20 ms)的脉冲序

33、列,有严格的时序关系,其中一个 i/o 口输出低电平时,其余 i/o 口皆为高电平(例如 111101 等)。扫描信号经限流电阻 r1r6(3.3k)后加载到三极管 q1q6 的基极。当 p30p32 和p35p37 中某个管脚输出低电平时,相应的三极管饱和导通,从而使高电平驱动相应的显示器件工作。同时,软件不断检测 p22、p47 的输入。当有键按下时,软件便会检测到此按键输入口的高电平。根据扫描方波,可判断按下的是哪一个键,然后调出存在程序存贮器中的相应按键子程序。在相应子程序中,由单片机控制从 p40p47 输出不同的段14值,用来控制相应的 led 指示灯(点亮/闪烁)及数码管(点亮/

34、熄灭)的工作状态,并在相应输出口输出控制信号,控制洗衣机电动机、进水电磁阀、排水电磁阀的动作。在按键的输入处均设有容阻吸收电路,以提高系统抗干扰能力。二极管 d1d6 作用是防止多个按键同时按下时,发生短路。15第四章系统软件设计4.1 软件编程思路全自动洗衣机控制软件系统根据其功能要求,主要分为以下几个大程序模块:监控程序模块;主洗程序模块;漂洗程序模块;脱水程序模块。4.2 各模块程序流程图4.2.1 监控程序模块监控程序模块负责在非洗衣状态下,监视按键和刷新显示工作。在监控状态下,程序不断扫描 7 个按键(电源、启动、程序、预约、水位、功能和水温)的状态。只有在电源键被按下后,按动其它键

35、才能有效响应。监控程序模块的流程图如图 4-1 所示。16ynny开 始ny转相应工作程序调相应自检程序启动键?自检?有键按下?调显示子程序调打开led显示调按键扫描子程序调读取键值子程序调洗衣机方式设置程序电源键按下?调读取键值子程序有键按下?设置栈堆指针调用洗衣机初始化子程序调上电数据恢复模块按键扫描子程序调显示子程序图一 监控程序模块图nyn开基本定时器中断图 4-1 监控程序模块框图在洗衣机通上电源后,单片机上电复位。程序首先运行在监控程序模块中。洗衣机初始化内容包括:i/o 口初始化、工作过程初始化(主洗洗涤时间、漂洗洗涤时间、漂洗次数、脱水时间、进水时间等参数) 。因为洗衣机上电后

36、默认洗涤方式为标准洗,故参数初始化主要是对标准洗状态下的参数的预置。上电数据恢复模块主要用来判断洗衣机上电是否为洗涤时突然掉电。若为洗涤过程中掉电,则上电后进行恢复断点工作,否则程序返回进入到对按键监视和刷新显示的循环过程中。17在按下电源键后,洗衣机进入到复位状态,在此状态下可进行参数设置,如选择水温、是否防皱、水位、程序等。若不设定的话,洗衣机启动后处于标准洗涤状态。若同时按下几个键,则进入到自检,如同时按下水位和电源键,这个功能是无水检测,用来检测发光二极管、数码管和蜂鸣器等是否能正常工作;如在洗涤过程中同时按下水位和功能键,启动童锁功能,所有按键均封锁不可选。若按下启动键,则洗衣机开始

37、洗涤。4.2.2 主洗程序模块当洗衣机上电后默认主洗时间为 43 分钟。洗衣机的洗涤过程是否进入到主洗程序模块,由用户操作决定。若用户选择主洗,则允许标准洗标志有效。主洗过程是一个包括进水、洗涤、排水洗和脱水全过程。程序框图如图 4-2 所示。ny返回清除主洗标志灭主洗灯调脱水子程序设置脱水时间返回允许主洗?调排水子程序调主洗洗涤子程序主洗灯闪烁调进水子程序程序入口图 4-2 主洗程序模块184.2.3 漂洗程序模块 在洗衣机上电后默认漂洗次数为 4 次。用户可选择漂洗次数,也可以只漂洗,不脱水。当用户选择漂洗过程后,此标志有效。在整个漂洗过程中,漂洗灯一直闪烁,程序框图如图 4-3 所示。n

38、nyynnn返回灭漂洗灯清漂洗标志清四漂标志第四次漂洗子程序第四次漂洗?清三漂标志第三次漂洗?调三漂子程序返回清二漂标志y调二漂子程序第二次漂洗?清一漂标志y调一漂子程序第一次漂洗?y漂洗灯闪烁允许漂洗?程序入口图 4-3 漂洗程序模块框图194.2.4 脱水程序模块脱水是洗衣过程中可有可无的环节。脱水时间由用户设定,在脱水过程中排水阀一直打开,且脱水指示灯一直闪烁显示。脱水程序模块如图 4-4 所示。nnyy返 回关排水泵调电机停止子程序脱水时间完?调键盘时间显示调剩余时间显示调电机启动子程序设置转速为预定转速调电机反转子程序15s倒计时=0?置脱水时间于倒计时缓冲器设置转速为低速15秒倒计

39、时开始入 口调开排水泵调电机启动子程序图 4-4 脱水程序模块框图20总 结 全自动洗衣机由东芝单片机控制。由于其具有内存容量大、输入输出口多、i/o 的驱动能力强、指令系统丰富等特点,将其应用在家用电器控制中,可大大简化系统的硬件电路,使系统具有更高的可靠性。本设计经过设计达到了预期的各种功能,完全符合全自动洗衣机的各项要求。在本次设计中,因为以前的时候总是觉得设计只要有总体思路就可以了,所以在设计电路的时候,特别是对双向晶闸管的使用的时候,只是从书上了解到了无触点的优点但是却没有想到其实双向晶闸管的过压和过流性是十分的脆弱的,设计的时候就直接用它去控制了电机和电磁阀,这样的稳定性在实际的使

40、用中不能稳定使用,所以设计没有实际意义。这点让我充分的认识到我的不足,我在设计和平时总是对自己的细节的注意不够,这就使得很多看似成立的东西失去了本来的实际意义,也让会导致很多事情的失败。本次设计对与我来说是一次对自己性格锻炼,它让我充分的认识自己所学习知识的不够,让我明白小事、小细节对于全局的重要性,使我认识到自己的学习和生活的关系,让我知道自己以后做事的态度和行为,所以本次设计对我自身的是起到很重要的审视作用。21参考文献1 余永权,汪明慧,黄英单片机在控制系统中的应用北京:电子工业出版社,20032 扈刚,王延峰.谐振式水位传感器.传感器技术.2002.3 谢宋和,湛清平.东芝单片机在家用

41、电器中应用.北京:北京航空航天大学出版,1996.4 周德林,张双庆全自动洗衣机故障检测技术北京:金盾出版社,20045 张毅刚,修林成.mcs-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,1992. 6 陈汝全,林水生实用微机与单片机控制技术成都:电子科技大学出版社,1998 7 王幸之,王雷等单片机应用系统抗干扰技术北京:北京航空航天大学出版社1999 8 牛洪涛工控软件的抗干扰设计微型机与应用1998 9 邵贝贝单片机嵌入式应用的在先开发方法北京:清华大学出版社,200410 王柏林.单片机系统设计的误区与对策.计算机应用.2002. 11 王晓明电动机的单片机控制北京:北京航空航

42、天大学出版社,200222致 谢经过这一学期的努力我的毕业论文终于顺利完成了。本文是在老师指导下完成的。老师治学严谨、品德高尚、平易近人,在洗衣机控制课题等方面具有丰富的知识和很高的科研水平。从选题、方案论证到具体设计和论文撰写的各个环节,都得到老师的热心指导、帮助、和指正,使得我能在比较正确的轨道上,在预期的时间内完成工作量较大的课题,对此将深深感谢老师的帮助。感谢所有的授课老师。在四年的学习中,他们不仅给我传授了系统的理论知识,培养了较强的动手实验能力,而且还通过言传身教潜移默化地传授给我做人的道理。在单片机课程学习中授予我们的知识,让我对学习的态度改变许多,同时也让我充分的认识到自己的不

43、足,更重要的是教会我们如何去学。如果没有他们的无私支持和指导,相信我没有办法完成这次的毕业设计。在此对他们的悉心教导表示衷心地感谢。23附 录start:nop ld sp,0 x23f di call ioini ;初始化单片机 call workini ;初始化 ramstart1: nop call workini1 ;进行标准化设置 eiruning: test (flag1).0 ;10ms 延时 jr t,runing clr (flag1).0 ld (wdtcr2),0 x4e ;关看门狗 call d100ms ;100ms 延时,和(flag4).1 组成一个 100ms

44、延时 call buzzing ;蜂鸣程序 call tsj ;自检和循环检测 test (flag4).1 jr f,runing call derr ;错误检测程序 call tsjt ;童锁洁筒 call proini ;进行自检和无水检测参数设置 call door ;门判断程序 call display ;显示程序 call water ;水位判断程序 call klast ;连键处理程序 call err16 ;出错情况未接触的话,每 16分种,蜂鸣器报警 10 秒 call d10mdp ;开机十分种,不启动则自动断电 test (flag2).1 ;是否出错 jr f,runi

45、ng test (flag1).3 ;预约 jr t,runia0 call yydelay ;预约显示 call yyoper ;预约启动情况下,未盖盖子,则出现报警 jp runingrunia0: test (flag2).0 ;启动 jr t,runing ld (error),0 x00 ;无错误 test (flag8).1 ;模糊测布质 jr t,runia00 call del10s jp runingrunia00: test (flag1).7 ;3s 时间标志 jr t,runia01 call del3s jp runingrunia01: test (flag5).5

46、 ;无水检测 jr t,runina02 call testfm ;蜂鸣器初始化程序 jp runingrunina02: test (flag5).0 ;排脱水24 jr t,runia1 ; test (flag4).7 ;7s 程序,最好 11.5s jr t,runia1 ; call del7s jp runingrunia1: call rundisp ;1m 修改一个运行时间 test (flag5).3 ;洗衣结束 jr f,runia2 call xiyi ;调洗衣程序runia3: jp runingrunia2: test (flag1).1 ;蜂鸣器正在工作 jr f,

47、runia3 test (flag6).3 ;循环检测程序 jr f,runia4runia5: call workini1 ;初始化runia4: set (flag2).3 ;程序初始化 clr (flag5).3 ;洗衣结束,结束蜂鸣 jp runing;* ld (p0dr),0 xff ;p0 口有 8 个管脚,p07 为输入口 ld (p1dr),0 x07 ;p0 口有 3 个管脚,前两个为输入 ld (p2dr),0 x07 ;p2 口有 3 个管脚,这里没有用到 ld (p3dr),0 xc0 ;p3 口有 8 个管脚,p36,p37 为输入管脚 ld (p1cr),0 x7

48、f ; ld (p3cr),0 x4f ; ld (p0outcr),0 x7f ;设置为哪种输出形式,开路或上拉 ld (wdtcr1),0 x00 ;关看门狗 ld (wdtcr2),0 xb1 ; ld (ttreg3),0 x7d ;2ms,8m ld (ttreg4),0 x0c ;0.192us,8m ld (tc1cr),0 x14 ;tc1 10ms 定时 ldw (tc1dra),0 x0271 ;271;10ms; 138:5ms ld (tc3cr),0 x18 ;tc3 2ms 开始计时 ld (eintcr),0 xc0 ;设置中断产生形式 11000000 ld (

49、tc4cr),0 x19 ;tc4 输出为可编程脉冲 ld (tbtcr),0 x00 ;关 dvo 口 ldw (il),0 x0000 ;清中断标志位 ld (eirl),0 x90 ;开对应中断 1001 0000 ld (eirh),0 x0 x0c ; 0000 1100 ld (syscr1),0 x00 ;系统设置 ld (syscr2),0 x80 clr (flag8).4 ;电源键第一次按下 set 该标志,第二此按下该标志 ld (intsel),0 x10 ;中断源选择 ld (uartcr1),0 x03 ;关 ld (uartcr2),0 x02 ld (wdtcr

50、2),0 x4e ;关 ld (wdtcr1),0 x0d ; ret;*workini: ld hl,s1 ;清理变量子程序 ld a,0 xfflove: ld (hl),0 inc hl25 dec a jr f,love ret;*workini1: ld (p0dr),0 xff ;p0 口有 8 个管脚,p07 为输入口 ld (p1dr),0 x07 ;p0 口有 3 个管脚,前两个为输入 ld (p2dr),0 x07 ;p2 口有 3 个管脚,这里没有用到 ld (p3dr),0 xc0 ;p3 口有 8 个管脚,p36,p37 为输入管脚 ld a,(s1) ;保存自检 l

51、d w,(s2) ;保存无水检测 push wa ld h,(bitcount) ;保存循环位 ld l,(s7) ;保存开关值 push hl ld hl,s1 ld a,0 xfflove1: ld (hl),0 ;清理变量区 inc hl dec a jr f,love1 pop hl ld (bitcount),h ;恢复循环变量 ld (s7),l ;恢复开关变量 pop wa ld (s2),w ;恢复程序键量(循环检测) ld (s1),a ;恢复水位键 (自检) ld de,0 x0000 ;作为水位检测的中间变量 ld (del20),0 xfa ;250 ld (d10m1

52、),0 x5f ;59999 ld (d10m2),0 xea ld (bitmove),0 xfe ;位循环 ldw (d1m),0 x176f ;5999 set (flag2).3 ;程序初始化 set (flag4).1 ;上电延时 ld (yyd1m1),0 x3f ;359999 1h 时预约程序变下 ld (yyd1m2),0 x7e ld (yyd1m3),0 x05 ld (d05s1),0 xff ;1535 ld (d05s2),0 x05 ld (led1),0 xfb ;默认 3 档水位 ld (led2),0 xf7 ;标准 ld (led3),0 xf8 ;洗 漂

53、 脱 set (flag8).1 ;模糊 ld (d10s1),0 x2c ; 300 ld (d10s2),0 x01clr (p3dr).3 ; ld (zsdx),0 x0c ld (zsdp),0 x02 ld (zsdt),0 x06 set (flag10).5 ;在开始时候有个补水功能 set (flag1).1 ;是否蜂鸣 ld (buzt1),0 x0a ; ld (temcount),0 x00 ;开冷水 ld (wcount),0 x02 ;是否错误 ret call testcq ;测试布质26xiyiret: retxiyixye: call clrcur clr (

54、pro2).6 clr (flag4).5testcq: ld w,(wcount) ;测布质子程序 ld a,0 x04 mul w,a ld c,a ld (del30),c ld hl,water1 ld bc,(hl+c) ld wa,(sjsw) cmp wa,bc jr lt,tcq0 sub wa,bc ld c,(wcount) ld b,0 x04 mul b,c ld hl,cqpara ld w,(hl+c) cmp w,a jr lt,tcq1 ;布质分 4 挡tcq0: ld (slpara),0 x00 rettcq1: inc c ld w,(hl+c) cmp

55、w,a jr lt,tcq2 ld (slpara),0 x01 rettcq2: inc c ld w,(hl+c) cmp w,a jr lt,tcq3 ld (slpara),0 x02 rettcq3: inc c ld w,(hl+c) cmp w,a jr ge,tcqret ld (slpara),0 x03tcqret: ret ld (si),0 x00 ld (prod1),0 xb7 ld (prod2),0 x0bxiyiph: test (pro2).5 jr t,xiyips ;排水 call inw test (flag2).4 jr t,xiyiret test

56、 (flag6).0 jr f,xiyiphj1 test (led2).3 jr t,xiyiphe test (flag10).127 jr f,xiyiphe test (flag10).2 jr f,xiyiphexiyiphj1: sub (prod1),1 subb (prod2),0 jr t,xiyiphe clr (si).4 clr (si).2 clr (flag3).0 set (flag3).1 call cur retxiyiphe: set (led3).1 clr (flag3).1 ld (zsdx),0 x0 ld (si),0 x00 clr (pro2)

57、.5 call clrcur test (pro1).7 jr f,xiyiphe0 test (pro1).6 jr f,xiyiphe0 test (pro1).5 jr f,xiyiphe0 set (led3).2 ld (zsdp),0 x0xiyiphe0: test (led3).2 jr t,xiyips test (led3).3 jr t,xiyips1 call proend ret xiyips1: call timejz xiyips: test (pro2).4 jr t,xiyijt test (flag7).6 jr f,xiyijte call jtuods

58、set (flag5).0 call ofw test (flag5).4 jr t,xiyipss ld (prod1),0 x2f ld (prod2),0 x75xiyipss: ret xiyijpts: jp xiyits xiyijt: test (pro2).3 jr t,xiyijpts set (si).1 set (flag3).6 set (flag5).0 sub (prod1),1 subb (prod2),0 jr t,xiyijte set (flag3).0 clr (flag3).1 test (flag3).528 jr f,jtret ld (error)

59、,0 x02 call seterr retjtret: cmp (prog),0 x06 jr eq,jt00 cmp (zsdp),0 x01 jr ne,jt0 test (led3).2 jr f,jt0jt00: set (si).4 jt0: call cur ret xiyijte: clr (pro2).3 clr (pro2).4 call clrcur clr (si).4 clr (si).2 call tsds clr (flag3).0 xiyits: test (pro2).2 jr t,xiyigx test (flag7).6 jr f,tsnext1 set

60、(si).1tsnext1: sub (prod1),1 subb (prod2),0 jr t,xiyitse set (flag3).6 set (flag5).0 test (flag7).6 jr f,jt0ret set (si).7jt0ret: retxiyitse: clr (pro2).2 test (led3).2 jr t,xiyibp3 test (flag10).1 jr f,xiyibp4 test (flag10).2 jr f,xiyibp4xiyibp3: test (led2).2 jr t,xiyibp4 ld (prod1),0 x6f ld (prod

温馨提示

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

评论

0/150

提交评论