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

下载本文档

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

文档简介

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

2、.1.1 六个全自动程序功能设计.6 1.1.2 预约功能设计.6 1.1.3 不平衡调整功能设计.6 1.1.4 自动断电功能设计.7 1.1.5 运动浸泡功能设计.7 1.1.6 故障报警功能设计.7 1.1.7 桶洁净功能设计.7 1.1.8 童锁功能设计.7 1.1.9 冷、热进水功能设计.7 1.2 面板简图.8 第二章 设计方案选择和确定.9 2.1 目前主要应用的单片机机型.9 2.2 负载控制电路的选择.9 第三章 系统硬件电路的设计.10 3.1 硬件结构概述及组成框图.10 3.1.1 概述.10 3.1.2 组成框图.10 3.2 微处理器.10 3.2.1 tmp86c

3、846n 的封装及引脚功能.10 3.3 双向晶闸管控制驱动电路设计.13 3.3.1 双向晶闸管的结构及工作原理.13 3.3.2 双向晶闸管控制驱动电路原理图及工作原理.14 3.4 蜂鸣器.15 3.5 水位传感器.15 3.6 led 和数码管显示及按键电路.16 第四章系统软件设计.19 4.1 软件编程思路.19 4.2 各模块程序流程图.19 4.2.1 监控程序模块.19 ii 4.2.2 主洗程序模块.21 4.2.3 漂洗程序模块.22 4.2.4 脱水程序模块.23 总 结.24 参考文献.25 致 谢.26 附 录.27 1 基于单片机的全自动洗衣机控制系统基于单片机的

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

5、chine with a computer programmed by toshiba scm control. 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 reliabi

6、lity. two-way, non-contact thyristor controlled motors 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 programm

7、ing multi-function, multi-user-friendly procedures for the selection and testing manufactured. keywords:toshiba;scm control;two-way; software programming 2 第一章第一章 功能设计功能设计 洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,全自动式洗衣机因使 用方便得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成, 控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。变频控制依其高性能、 节能等优点在洗衣机的控制中得到广

8、泛应用,而单片机在洗衣机中的控制做用是决定 性作用的。 1.1 程控器功能设计及说明 参考数据: (1)最高工作电压为 5.5v (2)最低工作电压与时钟频率有关:16mhz 时为 4.5v,8mhz 时为 2.7v (3)在该洗衣机控制电路中需要+5v 直流电供给单片机及显示部分,+12v 直流 电源驱动继电器和蜂鸣器,220v 交流电源驱动电机和各种交流电磁阀。 (4)洗衣机的电源电压为 220 伏特,50 赫兹。 1.1.1 六个全自动程序功能设计 六个全自动程序,各程序洗衣特点如表 1-1 所示: 表 1-1 六种全自动程序洗衣特点 程序水流及特点缺省时间 标准洗涤 12 分钟,漂洗

9、2 次,脱水 6 分钟,洗净能力强。43 分钟 快洗 洗涤 2.5 分钟,漂洗 1 次并喷淋,脱水 1.5 分钟,洗净能力较轻。 10 分钟 纤细 洗涤 10 分钟,漂洗 2 次,脱水 2 分钟,适合洗涤纤细及高档衣 物。 33 分钟 大物洗涤 15 分钟,漂洗 2 次,脱水 7 分钟,洗涤能力特别强。47 分钟 防皱 洗涤 8 分,漂洗 2 次,免脱水(仅排水),洗涤怕脱水时皱折衣物。 27 分钟 羊毛洗涤 15 分钟,漂洗 2 次,免脱水(仅排水),适合洗涤羊毛衫。34 分钟 1.1.2 预约功能设计 按动预约键,数码管闪烁显示预约洗衣开始时间进入预约设定状态,可在48 小时之间选择。每按

10、一次预约键,预约时间增加 1 小时。到 48 小时后再按一次回到起 始状态。按住预约键不放,时间自动连续增加,可一次设置48 小时。在预约启动 后若开盖,则程序报警提示。 1.1.3 不平衡调整功能设计 1.1.3.1 不平衡调整的判断 在安全开关接通的状态下,若间歇脱水或脱水过程中,出现 45520010ms 的瞬 间断开,则进入不平衡调整状态。断开超过 200ms,判断为开盖。断开不足 40ms,不 3 予处理。 1.1.3.2 不平衡调整的工作过程 进入不平衡调整状态,在漂洗状态原选中的灯进行闪烁显示,脱水状态则回到漂 洗灯闪烁显示。同时,注水到当前设定水位后,摆平水流运行 1 分钟,结

11、束后排水回 到原来脱水行程中。若进行如此 2 次修正无效后,则蜂鸣器报警,等待人工处理。 1.1.4 自动断电功能设计 启动自动断电功能的工作情况: 第一,开机 10 分钟后,不启动程序,则自动切断电源。 第二,洗衣程序结束并进行六次蜂鸣后即时自动切断电源。 1.1.5 运动浸泡功能设计 其洗涤方式是首先预备洗涤搅拌,然后浸泡,搅拌,如此循环。具体洗涤方式如表 1-2 所示。 表 1-2 运动浸泡的洗涤方式 浸泡过程(20) 搅拌 2 浸泡 3 搅拌 1 浸泡 4 搅拌 2 浸泡 3 搅拌 1 浸泡 4 1.1.6 故障报警功能设计 在洗衣机工作过程中,若出现表 1-3 所列的故障,则单片机能

12、检测故障类型,同 时发出报警信号,提醒操作者排除故障。 表 1-3 故障报警工作状况 故障原因故障显示蜂鸣报警报警解除 进水报警进水 16 分钟不到设定水位数码显示“e1” 排水报警排水 4 分钟不到空水位数码显示“e4” 开盖报警 预约启动后开盖;进入脱水 状态时开盖 数码显示“e2” 不平衡报警 第 3 次不平衡检测数码显示“e3” 蜂鸣器连续鸣响 10 秒钟,若报警 未被解除,以后每 隔 16 分钟重复蜂 鸣 10 秒钟 打开机盖, 处理故障, 然后关上 机盖,解 除报警 1.1.7 桶洁净功能设计 目的就是洗衣结束后清洁洗衣桶。打开电源,在未启动状态下,按程序预约键 可选则桶洁净功能,

13、然后按启/停键即进入洁桶程序。在此工作状态下只有启/停键及 电源键响应,仅有脱水一个灯闪烁。 1.1.8 童锁功能设计 程序启动后,按水位功能键即可启动童锁功能。在童锁工作状态下,数码管显 示“cl” ,而且所有按键均封锁住不可选,再按水位功能键可以解除童锁功能。 1.1.9 冷、热进水功能设计 4 冷水灯亮进水时,由冷水进水阀打开;热水灯亮进水时,由热水进水阀打开;冷、 热水灯同时亮则进水时两进水阀同时打开。 1.2 面板简图 如图 1-1 所示:8 档水位采用 4 个灯,一个发光二极管可以显示两种状态,达到节 省硬件的目的。程序按键对应的三个灯也是如此,一个灯可以表示两个状态。 图 1-1

14、 面板简图 5 第二章 设计方案选择和确定 2.1 目前主要应用的单片机机型 (1)intel 公司的单片机 intel 是最早推出单片机的公司之一,主要有 mcs-48、mcs-51 系列 8 位单片机和 mcs-96 系列的 16 位单片机。在 20 世纪八、九十年代,mcs-51 和 mcs-96 曾经是我 国最流行的单片机,得到广泛的应用。这几年 intel 公司注重于奔腾系列微处理器,没 有推出新的单片机。 (2)东芝(toshiba)公司的单片机 东芝公司主要有 tlcs-870、tlcs-870/x、tlcs-870/c 等系列的 8 位单片机, tlcs-900 系列的 16

15、位单片机,这些单片机是近几年推出的新型单片机,功能强、可 靠性高。 在本洗衣机控制系统中,要求洗衣机能自动检测水位、水温、门开关等参数,自 动确定标准洗及快速洗等时间、漂洗次数,并能自动控制洗衣机电机、进水阀、排水 阀的工作,同时要求有七个按键输入和六路显示电路,因此该系统是一个多输入、多 输出系统。若用 intel 的 51 系列单片机,要么需要进行 i/o 扩展,要么由于这些单片机 驱动能力有限,需外加驱动电路,从而使硬件电路过于复杂。 综合上述考虑,决定选用内部有 a/d 转换器、驱动能力强的 toshiba 单片机作 为该系统的微处理器,tmp86c846n 单片机是 tlcs-870

16、/c 系列单片机中的典型产品, 具有高速率、高性能、低功耗的优点,且结构先进、功能强大。因此我们选择 tmp86c846n 单片机作为主芯片。 2.2 负载控制电路的选择 在洗衣机工作过程中,需要电机的正反转、进水电磁阀及排水电磁阀的频繁动作, 因此就需要一种能适应工作于频繁切换场合的开关器件来控制这些负载的工作。 普通开关设备,均属于有触点开关。由于这些开关在开断的过程中,存在着机械 触点的位移和产生电火花的可能,所以一般都有着动作速度慢和维修工作量大等缺陷。 普通开关的寿命和开断的次数相关,因此在频繁切换的场合其应用受到了一定的限制。 晶闸管作为交流无触点开关没有以上普通开关的各种缺陷,在

17、控制中有着动作快、 维修量少、通断次数几乎无限制和没有噪音等优点,因此应用广泛。 鉴于晶闸管自身不可替代的优点,在本控制系统中,采用双向晶闸管作为开关器 件来控制电机的正反转及各种电磁阀的通断。 6 第三章 系统硬件电路的设计 3.1 硬件结构概述及组成框图 3.1.1 概述 本程控器有七个按键(水位 k1、程序 k2、功能 k3、水温 k4、启动/暂停 k5、预约 k6、电源 k7),十四个发光二极管(四个八档水位显示、三个程序显示、四个功能显示、 两个进水显示、一个预约显示) ,一个双位数码管,实现对洗衣机运行状态的选择和显 示。通过不同颜色接插件与洗衣机的冷热进水电磁阀、排水牵引器、电机

18、、水位传感 器、安全门开关相连接,由双向晶闸管来控制负载,按设定程序实时执行动作。 3.1.2 组成框图 单 片 机 按键输入 电机正转 蜂鸣报警 排水牵引线 热水进水阀 冷水进水阀 led显示器 电机反转 水位频率信号 图 3-1 硬件结构组成框图 3.2 微处理器 3.2.1 tmp86c846n 的封装及引脚功能 tmp86c846n 为 sdip42 密脚双列直插封装,引脚排列如图 3-2 所示。 7 图 3-2 tmp86c846n 引脚排列图 表 3-1 为 tmp86c846n 引脚功能说明。 表 3-1 tmp86c46n 的引脚功能 引脚名一般 i/o 功能特殊 i/o 功能

19、 p07(int4)外部中断 4(int4)信号输入端 p06()sck 同步串行口 sio 时钟输入/输出脚 p05(si)同步串行口 sio 串行数据输入脚 p04(so)同步串行口 sio 串行数据输出脚 p03(txd)异步串行口 uart 串行数据输出脚 p02(rxd)异步串行口 uart 串行数据输入脚 p01(/)4pwm4tc pdo4/ppg4) 定时器 tc4 输入输出脚 p00(int0) 8 位双向输入/ 输出口 外部中断 0(int0)信号输入端 p15(int3) p14(ppg) p13(dvo) p12(int2/tc1) p11(int1) p10(pwm3

20、/tc3/pdo3) 6 位双向输入/ 输出口 p20(int5/stop1) p21(xtin) p22(xtout) 3 位双向输入/ 输出口 8 p37(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 输入脚 p47 p46 p45 p44 p43 p42 p41 p40 8

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

22、p41 p42 p43 p44 p45 p46 9 10 11 12 13 14 15 输出,七段 led 数码管显示 其中,p4.0p4.3 兼作水位、功能、程序、进水的 状态显示 p22 p47 23 16 输入,第 1 行按键 k1k6 输入 输入,第 2 行按键 k7 输入 p30 p31 p32 p35 p36 p37 40 41 42 3 4 5 输出,第 6 列按键及低位数码管显示控制 输出,第 5 列按键及高位数码管显示控制 输出,第 4 列按键及进水状态显示控制 输出,第 1 列按键及水位状态显示控制 输出,第 2 列按键及程序状态显示控制 输出,第 3 列按键及功能状态显示

23、控制 p34 p10 p12 p13 p14 2 39 37 36 35 输出,排水电磁阀驱动电路控制 输出,热水进水电磁阀驱动电路控制 输出,冷水进水电磁阀驱动电路控制 输出,电机正转驱动电路控制 输出,电机反转驱动电路控制 p1534输出,继电器线圈通断电控制 p0026输入,交流过零检测信号输入 p0127输出,蜂鸣器控制 p2025输入,水位传感器频率信号输入 p2122输入,门开关检测信号输入 3.3 双向晶闸管控制驱动电路设计 3.3.1 双向晶闸管的结构及工作原理 双向晶闸管的结构如下图所示。其引出端子分别为 mt1,mt2,门极。通常以 mt1 作为电压测量的基准点。 10 如

24、图 3-3 可知,在端子 mt2 与 mt1 之间相当于一个 pnpn 与一个 npnp 器件的 并联。当门极无信号输入时,它与 scr 相同,在 mt2 与 mt1 之间不导通。如果 mt2 施加的电压高于 mt1,且门极有正极性信号时,这就可使双向晶闸管导通,电流 mt2 向 mt1 流动;如果 mt1 施加的电压高于 mt2,且门极有负极性信号时,这就可使双 向晶闸管导通,电流 mt1 向 mt2 流动。 3.3.2 双向晶闸管控制驱动电路原理图及工作原理 双向晶闸管采用直流触发,鉴于单片机输出触发信号不足以触发双向晶闸管,故 需将触发功率放大。 如图 3-4 所示,负载驱动电路主要包括

25、七达林顿驱动电路 uln2004,电阻 r33r35、r41r42、r39r38,电容 c16c21、c28,双向晶闸管 tr1-tr5 等组成。 电路中的双向可控硅分别控制电机正转、反转,进水(热水、冷水)电磁阀、排 水牵引器的通断。由单片机根据按键输入指令或接收到的检测信号,输出相应的控制 信号,该信号由芯片 uln2004 驱动放大后对可控硅门极施加触发电压,触发可控硅导 通,使可控硅处于通路状态。220v 交流电路经过负载形成回路,使相应的负载得电 运行。 3.3.2.1 电机正、反转及排水牵引器驱动控制原理 当 p14 脚输出高电平过零脉冲时,经驱动芯片 uln2004 输出低电平,

26、则这时来自 直流电源电路的+5v 电压经 tr1(双向晶闸管)的 t1 极和 g 极,在经过限流电阻 r33 到 uln2004 内部接地而构成通路,使 tr1 的 t1 极和 g 极间(电阻 r38 33 r39 33 c16 473 c17 473 c18 473 c19 473 c20 0.01u c21 0.01u c22 473 c23 473 c25 33u c26 100u tr1 8a tr2 8a tr3 1a tr4 1a c28 473 tr5 1a 位位位位位位位位位位 1 zid 1 hongd 1 chengd 1 baid 1 huangd 1 2 3 4 5 6

27、 7 89 10 11 12 13 14 15 16 uln20 04 ic3 uln2004 r33100 r34100 r35270 r41270 r42270 冷220v p34 p10 p12 p13 p14 图 3-4 双向晶闸管控制驱动电路 11 约为 100)产生一个电压降,使 tr1 导通,于是电动机正转。 同样道理,当 p13 脚输出高电平过零脉冲时,电动机反转。若要使电动机停转, 纸鹞使 p14、p13 脚都输出低电平即可。此时,只要交流电压一过零点,可控硅就因 t1 和 g 间电压为零而自动截止,电动机失电停止运转。同时,控制电机的两个双向 晶闸管在任何时候不能同时导通,

28、否则会损坏晶闸管,甚至烧坏电机。当 p34 脚输出 高电平过零脉冲时,可控制排水牵引器的启动停止。 3.3.2.2 冷、热进水阀驱动控制原理 当 p12 脚输出高电平过零脉冲时,经驱动芯片 uln2004 输出低电平,则这时来自 直流电源电路的+5v 电压经 tr3(双向晶闸管)的 t1 极和 g 极,在经过限流电阻 r35 接到 uln2004 内部接地而构成通路,使 tr1 的 t1 极和 g 极间(电阻约为 100)产 生一个电压降,使 tr3 导通,于是电磁阀线圈带电打开冷进水阀阀门。 同样道理,当 p10 脚输出高电平过零脉冲时,热进水阀阀门打开。要使阀门关闭, 只要使 p12 或

29、p10 脚输出低电平即可。这时,只要交流电压一过零点,可控硅就因 t1 和 g 间电压为零而自动截止,电磁阀不带电而关闭阀门。 3.3.2.3 抗干扰措施 电容 c16c19、c28 起滤波抗干扰作用,当突然出现干扰信号时,因电容电压不 能突变,而不会引起 uln2004 内部的变化而造成双向晶闸管的误导通或误截止。 由于电机的电感较大,感应反电势也较大,如果这个电压出现非常迅速,则双向 晶闸管将重新导通而失去控制,因此需要在两个 8a 的双向晶闸管的两个主极上并联 一个电阻和电容,组成容阻回路。电容将起到限制感应电势的作用,而电阻用来限制 来自器件触发时电容器的浪涌电流和阻尼由电容和电感构成

30、的振荡。如图 3-21,在双 向晶闸管的两端并联 rc 串联网络,该网络常称为 rc 阻容吸收电路。 3.4 蜂鸣器 为保证洗衣机的安全工作,当洗衣机出现问题或故障时,洗衣机应立即发出蜂鸣 报警,提醒用户及时处理,此即全自动洗衣机的故障自诊断功能。在洗衣机电源接通 后,单片机就不断地对接收到的按键、门开关、水位传感器等输入信号进行分析,并 结合内部时钟信号,作出当前工作状态是否正常的判断,若出现异常情况,则进行蜂 鸣报警。 3.5 水位传感器 水位检测的精度直接影响洗净度、水流强度、洗涤时间等参数。对于全自动洗衣 机,要求水位的检测必须是连续的,故常采用谐振式水位传感器。谐振式水位传感器是 1

31、2 利用电磁谐振电路 lc 作为传感器的敏感元件,将被测物体的变化转变为 lc 参数的变 化,最终以频率参数输出。其工作原理是:将水位的高低通过导管转换成一个测试内腔 气体变化的压力,驱动内腔上方的一块隔膜移动,带动隔膜中心的磁芯在某线圈内移动,从 而线圈电感发生变化。由此引起谐振电路的固有频率随水位变化。 3.6 led 和数码管显示及按键电路 如图 3-5 所示,本程控器设有七个按键(水位 k1、程序 k2、功能 k3、水温 k4、 启动/暂停 k5、预约 k6、电源 k7),十四个发光二极管(四个八档水位显示、三个程 序显示、四个功能显示、两个进水显示、一个预约显示) ,一个双位数码管,

32、实现对 洗衣机运行状态的选择和显示。通过 led 的点亮/闪烁指示洗衣机的各种工作状态, 利用数码管显示预约及各种洗衣程序的剩余时间和四种错误类型(e1、e2、e3、e4) 。 采用动态扫描显示的方法。动态扫描显示法是把所有显示器件的各个相同端互相 连接在一起,接到一个输出口上,而显示器的公共端 com 分别接在另外 输出口上,通过这两个输出口的两组信号相互作用来产生显示效果。即让各位数 码管及 led 显示器件按照一定顺序轮流显示,只要扫描频率足够高,由于人眼的 “视觉暂留”特性,就观察不到闪烁现象,而是连续稳定的显示。其特点 13 r1 3.3k r2 3.3k r3 3.3k r4 3.

33、3k r5 3.3k r6 3.3k r7 100 r8 100 r9 100 r10 100 r11 100 r12 100 r13 100 r14 1k r15 1k r23 10k r24 10k q1 2907 q2 2907 q3 2907 q4 2907 q5 2907 q6 2907 led3 7/8 led2 5/6 led1 3/4 led7 冷冷 led6 冷冷 led5 冷冷 led4 1/2 led11 冷冷 led10 冷冷 led9 冷冷 led8 冷冷 led14 冷冷 led13 冷冷 led12 冷冷 d1 in4001 d2 in4001 d3 in4001

34、 d4 in4001 d5 in4001 d6 in4001 k2 位位 k3 位位 k6 位位 k5 位/位 k7 位位 k1 位位 c3 473 c4 473 k4 位位 ledgn g g e e f f d d e e b b a a l l h h bf c g d e bf c g d e aa smg +5v p30 p31 p32 p41 p40 p37 p36 p35 p42 p43 p44 p45 p46 p22 p47 图 3-5led 和数码管显示及按键电路 在于能显著降低显示部分成本,大大减少显示接口的连线结构,易于编程。 开机后,由 p30p32 和 p35p37

35、输出不同时段的扫描方波,用来检测按键的输入。 动态扫描方波信号(键扫描信号)是 50hz 频率(间隔 20 ms)的脉冲序列,有严格的 时序关系,其中一个 i/o 口输出低电平时,其余 i/o 口皆为高电平(例如 111101 等)。 扫描信号经限流电阻 r1r6(3.3k)后加载到三极管 q1q6 的基极。当 p30p32 和 p35p37 中某个管脚输出低电平时,相应的三极管饱和导通,从而使高电平驱动相应 的显示器件工作。 同时,软件不断检测 p22、p47 的输入。当有键按下时,软件便会检测到此按键 输入口的高电平。根据扫描方波,可判断按下的是哪一个键,然后调出存在程序存贮 器中的相应按

36、键子程序。在相应子程序中,由单片机控制从 p40p47 输出不同的段 14 值,用来控制相应的 led 指示灯(点亮/闪烁)及数码管(点亮/熄灭)的工作状态, 并在相应输出口输出控制信号,控制洗衣机电动机、进水电磁阀、排水电磁阀的动作。 在按键的输入处均设有容阻吸收电路,以提高系统抗干扰能力。二极管 d1d6 作用 是防止多个按键同时按下时,发生短路。 15 第四章系统软件设计 4.1 软件编程思路 全自动洗衣机控制软件系统根据其功能要求,主要分为以下几个大程序模块:监 控程序模块;主洗程序模块;漂洗程序模块;脱水程序模块。 4.2 各模块程序流程图 4.2.1 监控程序模块 监控程序模块负责

37、在非洗衣状态下,监视按键和刷新显示工作。在监控状态下, 程序不断扫描 7 个按键(电源、启动、程序、预约、水位、功能和水温)的状态。只 有在电源键被按下后,按动其它键才能有效响应。 监控程序模块的流程图如图 4-1 所示。 16 y n n y 开 始 n y 转相应工作程序 调相应自检程序 启动键? 自检? 有键按下? 调显示子程序 调打开led显 示 调按键扫描子程序 调读取键值子 程序 调洗衣机方式 设置程序 电源键按下? 调读取键值 子程序 有键按 下? 设置栈堆指针 调用洗衣机初始 化子程序 调上电数据恢复 模块 按键扫描子程序 调显示子程 序 图一 监控程序模块图 n y n 开基

38、本定时器中断 图 4-1 监控程序模块框图 在洗衣机通上电源后,单片机上电复位。程序首先运行在监控程序模块中。洗衣 机初始化内容包括:i/o 口初始化、工作过程初始化(主洗洗涤时间、漂洗洗涤时间、 漂洗次数、脱水时间、进水时间等参数) 。因为洗衣机上电后默认洗涤方式为标准洗, 故参数初始化主要是对标准洗状态下的参数的预置。上电数据恢复模块主要用来判断 洗衣机上电是否为洗涤时突然掉电。若为洗涤过程中掉电,则上电后进行恢复断点工 作,否则程序返回进入到对按键监视和刷新显示的循环过程中。 17 在按下电源键后,洗衣机进入到复位状态,在此状态下可进行参数设置,如选择 水温、是否防皱、水位、程序等。若不

39、设定的话,洗衣机启动后处于标准洗涤状态。 若同时按下几个键,则进入到自检,如同时按下水位和电源键,这个功能是无水检测, 用来检测发光二极管、数码管和蜂鸣器等是否能正常工作;如在洗涤过程中同时按下 水位和功能键,启动童锁功能,所有按键均封锁不可选。若按下启动键,则洗衣机开 始洗涤。 4.2.2 主洗程序模块 当洗衣机上电后默认主洗时间为 43 分钟。洗衣机的洗涤过程是否进入到主洗程 序模块,由用户操作决定。若用户选择主洗,则允许标准洗标志有效。主洗过程是一 个包括进水、洗涤、排水洗和脱水全过程。程序框图如图 4-2 所示。 n y 返回 清除主洗标志 灭主洗灯 调脱水子程序 设置脱水时间 返回允

40、许主洗? 调排水子程序 调主洗洗涤子 程序 主洗灯闪烁 调进水子程序 程序入口 图 4-2 主洗程序模块 18 4.2.3 漂洗程序模块 在洗衣机上电后默认漂洗次数为 4 次。用户可选择漂洗次数,也可以只漂洗,不 脱水。当用户选择漂洗过程后,此标志有效。在整个漂洗过程中,漂洗灯一直闪烁, 程序框图如图 4-3 所示 。 n n y y n n n 返回 灭漂洗灯 清漂洗标志 清四漂标志 第四次漂洗子程序 第四次漂洗? 清三漂标志 第三次漂洗? 调三漂子程序 返回 清二漂标志 y 调二漂子程序 第二次漂洗? 清一漂标志 y 调一漂子程序 第一次漂洗? y 漂洗灯闪烁 允许漂洗? 程序入口 图 4

41、-3 漂洗程序模块框图 19 4.2.4 脱水程序模块 脱水是洗衣过程中可有可无的环节。脱水时间由用户设定,在脱水过程中排水阀 一直打开,且脱水指示灯一直闪烁显示。脱水程序模块如图 4-4 所示。 n n y y 返 回 关排水泵 调电机停止子程序 脱水时间完? 调键盘时间显示 调剩余时间显示 调电机启动子程序 设置转速为预定转速 调电机反转子程序 15s倒计时=0? 置脱水时间于倒 计时缓冲器 设置转速为低速 15秒倒计时开始 入 口 调开排水泵 调电机启动子程序 图 4-4 脱水程序模块框图 20 总 结 全自动洗衣机由东芝单片机控制。由于其具有内存容量大、输入输出口多、 i/o 的驱动能

42、力强、指令系统丰富等特点,将其应用在家用电器控制中,可大大简化 系统的硬件电路,使系统具有更高的可靠性。 本设计经过设计达到了预期的各种功能,完全符合全自动洗衣机的各项要求。在 本次设计中,因为以前的时候总是觉得设计只要有总体思路就可以了,所以在设计电 路的时候,特别是对双向晶闸管的使用的时候,只是从书上了解到了无触点的优点但 是却没有想到其实双向晶闸管的过压和过流性是十分的脆弱的,设计的时候就直接用 它去控制了电机和电磁阀,这样的稳定性在实际的使用中不能稳定使用,所以设计没 有实际意义。 这点让我充分的认识到我的不足,我在设计和平时总是对自己的细节的注意不够, 这就使得很多看似成立的东西失去

43、了本来的实际意义,也让会导致很多事情的失败。 本次设计对与我来说是一次对自己性格锻炼,它让我充分的认识自己所学习知识 的不够,让我明白小事、小细节对于全局的重要性,使我认识到自己的学习和生活的 关系,让我知道自己以后做事的态度和行为,所以本次设计对我自身的是起到很重要 的审视作用。 21 参考文献 1 余永权,汪明慧,黄英单片机在控制系统中的应用北京:电子工业出版社,2003 2 扈刚,王延峰.谐振式水位传感器.传感器技术.2002. 3 谢宋和,湛清平.东芝单片机在家用电器中应用.北京:北京航空航天大学出版,1996. 4 周德林,张双庆全自动洗衣机故障检测技术北京:金盾出版社,2004 5

44、 张毅刚,修林成.mcs-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社,1992. 6 陈汝全,林水生实用微机与单片机控制技术成都:电子科技大学出版社,1998 7 王幸之,王雷等单片机应用系统抗干扰技术北京:北京航空航天大学出版社1999 8 牛洪涛工控软件的抗干扰设计微型机与应用1998 9 邵贝贝单片机嵌入式应用的在先开发方法北京:清华大学出版社,2004 10 王柏林.单片机系统设计的误区与对策.计算机应用.2002. 11 王晓明电动机的单片机控制北京:北京航空航天大学出版社,2002 22 致 谢 经过这一学期的努力我的毕业论文终于顺利完成了。 本文是在老师指导下完成的。老师治

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

46、。在此对他们的悉心教导表示衷心地感谢。 23 附 录 start:nop ld sp,0 x23f di call ioini ;初始化单片机 call workini ;初始化 ram start1: nop call workini1 ;进行标准化设置 ei runing: test (flag1).0 ;10ms 延时 jr t,runing clr (flag1).0 ld (wdtcr2),0 x4e ;关看门狗 call d100ms ;100ms 延时,和(flag4).1 组成一 个 100ms 延时 call buzzing ;蜂鸣程序 call tsj ;自检和循环检测 t

47、est (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,runing test (flag1).3 ;预约 jr t,runia0 call y

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

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

50、r f,runia4 runia5: 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 x7f ; ld (p3cr),0 x4f ; ld (p

51、0outcr),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 (tc4cr),0 x19 ;tc4 输出为可编程脉冲

52、 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 (wdtcr2),0 x4e ;关 ld (wdtcr1),0

53、 x0d ; ret ;* workini: ld hl,s1 ;清理变量子程序 ld a,0 xff love: ld (hl),0 inc hl 25 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) ;保存自检 ld w,(s2) ;保存无水检测 p

54、ush wa ld h,(bitcount) ;保存循环位 ld l,(s7) ;保存开关值 push hl ld hl,s1 ld a,0 xff love1: 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),0 x5f ;59999 ld

55、 (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 ;洗 漂 脱 set (flag8).1

56、;模糊 ld (d10s1),0 x2c ; 300 ld (d10s2),0 x01 clr (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 ;测试布质 26 xiyiret: ret xiyixye: call clrcur clr (pro2).6 clr (

57、flag4).5 testcq: 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 ret tcq1: inc c ld w,(hl+c) cmp w,a jr lt,

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

59、6).0 jr f,xiyiphj1 test (led2).3 jr t,xiyiphe test (flag10).1 27 jr f,xiyiphe test (flag10).2 jr f,xiyiphe xiyiphj1: sub (prod1),1 subb (prod2),0 jr t,xiyiphe clr (si).4 clr (si).2 clr (flag3).0 set (flag3).1 call cur ret xiyiphe: set (led3).1 clr (flag3).1 ld (zsdx),0 x0 ld (si),0 x00 clr (pro2).5

60、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 x0 xiyiphe0: 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 se

温馨提示

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

评论

0/150

提交评论