课程设计(论文)-基于单片机的全自动洗衣机设计.doc

上传人:韩长文 文档编号:3972040 上传时间:2019-10-11 格式:DOC 页数:29 大小:3.46MB
返回 下载 相关 举报
课程设计(论文)-基于单片机的全自动洗衣机设计.doc_第1页
第1页 / 共29页
课程设计(论文)-基于单片机的全自动洗衣机设计.doc_第2页
第2页 / 共29页
课程设计(论文)-基于单片机的全自动洗衣机设计.doc_第3页
第3页 / 共29页
课程设计(论文)-基于单片机的全自动洗衣机设计.doc_第4页
第4页 / 共29页
课程设计(论文)-基于单片机的全自动洗衣机设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《课程设计(论文)-基于单片机的全自动洗衣机设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)-基于单片机的全自动洗衣机设计.doc(29页珍藏版)》请在三一文库上搜索。

1、绪论 洗衣机是一种在家庭中不可缺少的家用电器,发展非常快,而全自动式洗衣机因使用 方便更加得到大家的青睐,全自动即进水、洗涤、漂洗、甩干等一系列过程自动完成,控 制器通常设有几种洗涤程序,对不同的衣物可选择不同的洗涤方式。 近几十年,在工业发达国家,全自动洗衣机制造技术又得到迅速发展,其年总产 量及社会普及率均以达到相当高得水平。 全自动洗衣机的发展首先表现在洗涤方式发生巨大变化。原先大多侧重于水流的 改变、动力的加大。现在,超音波、电解水、臭氧和蒸汽洗涤的运用,使洗衣机的去 污能力从单纯依靠洗衣粉、洗涤剂的化学作用和强弱变化的水流机械作用,向更高层 次的健康、环保洗涤方式转变,特别是电解水、

2、超音波技术在洗衣机行业的运用几乎 改变了洗衣机的历史洗衣不用或少用洗衣粉、洗涤剂,减少化学品对皮肤的损害 和对环境的污染。电解水、臭氧、蒸汽的杀菌除味及消毒功能倍受青睐,引发了洗衣 机消费健康潮。 另一变化就是高度自动化、智能化、人性化。从半自动、全自动到现在流行的人 工智能、模糊控制,只需按一下按钮一切搞定!同时,用户可以按照自己的洗衣习惯, 自主选择时间和方式,自编和记忆程序让用户真正做到随心所欲。人性化还表现在使 用的方便和舒适,如子母分洗洗衣机可以做到不同衣物分开洗;斜桶和顶开滚筒可以 做到取放衣物方便不需深弯腰;蒸汽烘干功能使得晾晒更加方便,DD 直驱电机在节能 降噪方面效果更加突出

3、,等等。 业内人士表示,尖端洗涤技术的革新,所表现出的洗衣方式更加注重健康和个性 化,已在市场发展中倍受欢迎。 2 目录 绪论绪论 - - 2 2 - - 一一 全自动洗衣机设计方案全自动洗衣机设计方案 - - 4 4 - - 1.1 按键 - 4 - 1.2 洗衣机自检 - 4 - 1.3 显示 - 4 - 1.4 洗衣程序 - 4 - 二二 硬件电路介绍硬件电路介绍 - - 5 5 - - 2.1CPU 选择 .- 5 - 2.2 传感器 - 5 - 2.5 显示器 - 7 - 三三 软件设计软件设计 - - 8 8 - - 3.1 模糊控制方式 - 8 - 3.2 软件流程图及其代码 -

4、 9 - 心得体会心得体会 - - 2929 - - 参考文献参考文献 - - 3030 - - 3 一 全自动洗衣机设计方案 本设计实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、漂洗、 排水和脱水等阶段。控制系统主要由电源电路、数字控制电路和机械控制电路三大模 块构成。电源采用三端集成固定稳压器 7805 提供+5V 电源,数字控制电路负责控制洗 衣机的工作过程,主要由 AT89S51 单片机、三位共阴数码管、按键、蜂鸣器、LED 指 示灯组成;机械控制电路实现传感器检测、电机驱动、进水、排水等功能,主要由水 位检测器、电动机、传动系统部件、进水排水电磁阀组成。 1.1 按键 洗

5、衣机面板上有 6 个按钮 K1、K2、K3、K4、K5 和 K6 K1 为启动暂停键:按奇数次视为启动,偶数次视为暂停。 K2 用于洗衣程序选择:按一下选择洗涤,按两下选择漂洗,按三下选择脱水。 K3 用于洗衣方式选择:按一下选择标准洗方式,按两下选择快速洗方式,按三下 选择轻柔洗方式。 K4 用于水位选择:按一下进水至低水位,按两下进水至中水位,按三下进水至高 水位。 K5 用于时间选择:按一下洗衣时间短,按两下洗衣时间适中,按三下洗衣时间长。 1.2 洗衣机自检 洗衣机上电后,先进行自检,包括检查安全开关,排水阀状态,进水阀工作过程, 电机的运转等,若发现异常现象则蜂鸣器响,报警灯亮。 1

6、.3 显示 洗涤、漂洗及脱水时间都通过倒计时的方式显示在 3 个 LED 上,依次为分位,秒 十位和秒个位,此外,还有发现异常现象时错误信息的显示 1.4 洗衣程序 洗涤过程:通电后,若不选择洗衣周期,则洗衣机从洗涤过程开始。进入洗涤 过程,首先进水阀接通,开始向洗衣机供水,当到达要求水位时,进水阀断电关闭, 停止进水;电机 M 接通,带动波轮旋转,形成洗衣水流。电机 M 是一个正反转电机, 可以形成往返水流,有利于洗涤衣物。 4 漂洗过程:与洗涤过程操作相同,只是时间短一些。 脱水过程:洗涤或漂洗过程结束后,电机 M 停止转动,排水阀 M 接通,开始排 水。排水阀动作的同时,电机 M 也接通

7、,使电机可以带动内桶转动。当水位低到一定 值,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。 二 硬件电路介绍 2.1CPU 选择 本次设计采用 51 系列,而 51 系列的典型产品是 8051。8051 是一种 40 引脚双列 直播式芯片。它含有 4KB 可反复烧录及擦除内存和 128 字节的 RAM,有 32 条可编程控 制的 I/O 线,5 个中断发源,指令与 MCS-51 系列完全兼容。选用它作为核心控制新片, 可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。选用它设计制作全 自动洗衣机控制电路,该电路的组成相对简单,工作原理清晰,易于理解。 89C51 引脚图

8、如图 2-1 所示 2.2 传感器 本次设计中用到 4 个传感器,分别为:TS 污浊度传感器、温度传感器、负载传感 图 2-189C51 引脚图 5 器和水位传感器。其中污浊度、温度和负载传感器输出的都是模拟信号,需要通过 A/D 转换才能作为单片机的控制信号,而水位传感器本身输出的就是数字信号,所以不需 要通过 A/D 转换,直接可用做单片机的控制信号。 1.TS 污浊度传感器 浑浊度检测传感器(内部原理图如图 2-2所示)的主要原理是光电耦合器,而普通的 光电耦合器不能有效的检测洗衣机水的浑浊度。光电耦合器的光源必须是红外光才能 准确的检测浑浊度。TS 浊度传感器是 GE 公司开发的一种专

9、门用于家电产品的低成本传 感器,主要用于洗衣机、洗碗机等产品的水污浊程度的测量。 图 2-2 浊度传感器内部原理图 2.温度传感器 温度传感器有四种主要类型:热电偶、热敏电阻、电阻温度检测器(RTD)和 IC 温 度传感器下)。IC 温度传感器又包括模拟输出和数字输出两种类型。 我们常用温度传感器有 DS18B20、AD590 等,它们都是集成温度传感器。 DS18B20 输出是数字信号可以直接和单片机相连,而且硬件连接电路少,但需要对其 进行复杂的软件编程。 本设计我们选用 AD590 作为温度传感器。AD590 比 DS18B20 精度更高、线性度 误差小,且不需要温度报警和复杂的程序编程

10、,非常适合用于洗衣机的温度检测传感 器。它的主要特性如下: 流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数。 AD590 的测温范围为-55+150。 AD590 的电源电压范围为 4V30V。电源电压可在 4V6V 范围变化,电流变化 1mA,相当于温度变化 1K。AD590 可以承受 44V 正向电压和 20V 反向电压,因而器件反 接也不会被损坏。 输出电阻为 710MW。 精度高。AD590 共有 I、J、K、L、M 五档,其中 M 档精度最高,在-55+150 范围内,非线性误差为0.3。 3.负载传感器 根据模糊控制要求,负载检测时通过检测电动机的反电动势来实现的

11、,而电动机 6 的反电动势比单片机所用电压大的多,不能直接采样,必须经过隔离。采用线性光电 耦合器既能隔离高电压和干扰,又能得到满意的检测信号。 4.水位传感器 谐振式水位传感器(原理图如图 2-5 所示),采用了新型的传感原理 ,把水位的高低 ,通 过水位传感器直接变成水位与频率的对应关系。衣物的洗净度、水流强度、洗涤时间 等参数的检测 ,对模糊控制洗衣机在节水、节能、减少洗涤时间方面起决定性的作用。 图 2-5 水位传感器原理图 2.5 显示器 显示器有 LED 和 LCD 两种。 LCD(Liquid crystal Display)是液晶显示器英文名称的缩写,液晶显示器是一种被动 式的

12、显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的 特征,达到白底黑字或黑底白字显示的目的。 LED(Light Emiting Diode)是发光二极管英文名称的缩写。LED 显示器是由发光 二极管构成的,所以在显示器前面冠以“LED” 。本次设计只是显示时间,所以采用 LED 就可以达到目的了。 常用的 LED 为 8 段或 7 段。每一个段对应一个发光二极管。这种显示器有共阳极 和共阴极 2 种。LED 显示器有静态显示和动态显示 2 种方式。LED 显示器工作于静态显 示方式时,各位的共阴极(共阳极)连接在一起并接地(或+5V) ;每位的段码线(a- dp)分别与一

13、个 8 位的锁存器输出相连。之所以称之为静态显示,是因为各个 LED 的 显示字符一经确定,相应锁存器锁存的段码输出将维持不变,直到送入另一个的段码 为止。正因为如此,静态显示器的亮度都较高,但静态现实的缺点是占用口线太多, 如果显示器的位数太多,则需要加锁存器,因此一般情况下采用动态显示。 LED 不同位显示的时间间隔应根据实际情况而定。发光二极管从导通到发光有一定 的延时,导通时间太短,则发光太弱,人眼无法看清,但也不能太长,因为要受限于 临界闪烁频率,而且时间越长,占用 CPU 时间也越多,本次设计我们采用 1ms 延时。 7 三 软件设计 本次设计是基于模糊控制理论上的全自动洗衣机,模

14、糊控制是利用负载、衣质、 浊度、水温等检测所得到信息,进行分段评估计算使其模糊化,再根据模糊规则进行 推理,最后根据所激活的规则进行解模糊判决,以决定最适当和明确的水位、洗涤时 间、洗涤方式以及脱水时间等。 3.1 模糊控制方式 洗涤量和水量的确定: 如果检测到衣物量很多,则洗涤量多,水位高; 如果检测到衣物量较多,则洗涤量较多,水位适中; 如果检测到衣物量很少,则洗涤量少,水位低。 脱水时间的确定: 如果检测到衣物很多,则脱水时间长; 如果检测到衣物较多,则脱水时间适中; 如果检测到衣物很少,则脱水时间短。 洗涤时间的确定: 如果检测到衣物很多,布质以棉布偏多且水温低,则洗衣时间长; 如果检

15、测到衣物较多,布质以化纤偏多且水温偏高,则洗衣时间适中; 如果检测到衣物较少,布质以棉布偏多且水温偏高,则洗衣时间适中; 如果检测到衣物很少,布质以化纤偏多且水温高,则洗衣时间短。 漂洗时间的确定: 寄存器注释 R4,R5比较标准值 R4 高位,R5 低位 R6,R7A/D 转换结果 R6 高位,R7 低位 20H衣量多位 21H衣量少位 22H衣量适中位 23H化纤多位 24H棉多位 27H1s 中断标志位 2AH1s 中断次数 30H,31H洗涤时间 32H,33H漂洗时间 34H,35H脱水时间 36H,37H排水时间 38H漂洗次数 3AH电机正转时间 8 如果检测到洗涤水很脏,则漂洗

16、时间长; 如果检测到洗涤水较脏,则漂洗时间适中; 如果检测到洗涤水不脏,则漂洗时间短 3.2 软件流程图及其代码 本次设计是分模块进行编写的,以下就是各模块的流程图及其代码 1.主程序流程图如图 3-2 所示 3BH电机反转时间 3CH电机转速 3D洗涤量投放时间 40H显示分缓存器 41H显示秒十缓存器 42H显示秒个缓存器 44H零水位 45H低水位 46H中水位 47H高水位 48H水位检测值 50H启动/暂停键按键次数 51H程序键按键次数 52H选择键按键次数 53H水量键按键次数 54H时间键按键次数 程序代码: MAIN: MOV SP,#60 LCALL ChuShi ;调初始

17、化程序 SETB EA ;CPU 允许中断 MOV TMOD,#10H ;设置定时器 1 方式 MOV 28H,#0AH ;装入定时中断次数 LOOP: LCALL XianShi ;调显示子程序 LCALL JianPan ;调键盘扫描子程序 SJMP LOOP 设置堆栈指针 调洗衣机初始化程序 允许定时器中断 自检 调显示子程序 调键盘扫描子程 序 开始 图 3-2 主程序流程图 9 2.显示子程序流程图如图 3-3 所示 显示内容送缓冲区 设显示缓冲区指针 40H-R0 扫描模式置初值-R2 R2-8155C口 取显示数据段码 送8155A口 延时1ms 显示缓冲器R0加1 R3左移1位

18、 Y N 显示到最后 一位吗? 入口 返回 图 3-3 显示子程序流程图 程序代码: XianShi: MOV R0,40H ;置缓冲器指针初值 MOV R2,#01H ;置位选初值 MOV A,R2 LD0: MOV DPTR,#7F03H ;位选送 8155C 口 MOV DPTR,A DEC DPTR DEC DPTR MOV A,R0 ADD A,#0DH ;加偏移量 MOVC A,A+PC DIR1: MOVX DPTR,A ;段码送 8155A 口 ACALL DL1ms ;调 1ms 延时 INC R0 MOV A,R2 JB ACC.2,LD1 ;三位都显示完了吗 RL A ;

19、没完,显示位右移 MOV A,R2 AJMP LD0 LD0: RET DSEG: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FH,77H,7CH DB 39H,5EH,79H,71H,73H,3EH DB 31H,6EH,1CH,23H,40H,03H DB 18H,00 DL1ms: MOV R7,02H DL: MOV R6,#0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL LD1: RET 10 3.键盘扫描子程序流程图如图 3-4 所示 程序代码: JianPan: JB P1.0,K2 ;判断是 K1 键按下吗,不是则转

20、 K2 LCALL DL10ms ;调 10ms 延时消抖 JB P1.0,K2 ;再次读 P1.0 状态,若仍为 0,则 K1 键确定按下 LCALL PK1 ;调 PK1 处理 K2: JB P1.1,K3 ;判断是 K2 键按下吗,不是则转 K3 LCALL DL10ms ;调 10ms 延时消抖 JB P1.1,K3 ;再次读 P1.0 状态,若仍为 0,则 K2 键确定按下 LACLL PK2 ;调 PK2 处理 K3: JB P1.2,K4 ;判断是 K3 键按下吗,不是则转 K4 LCALL DL10ms ;调 10ms 延时消抖 JB P1.2,K4 ;再次读 P1.2 状态,

21、若仍为 0,则 K3 键确定按下 LCALL,PK3 ;调 PK3 处理 K4: JB P1.3,K5 ;判断是 K4 键按下吗,不是则转 K5 入口 有键按下吗? 次数加1,转水量设置 返回 暂停 次数加1,转时间设置 是干扰吗? 是启动/暂停键吗? 是程序键吗? 次数加1,转方式设置 次数加1,转程序设置 是选择键吗? 是时间键吗? 是水量键吗? 次数加1, 是奇数次按下吗? 转运行程序 Y N N Y N Y Y N Y N Y N Y N N Y 图 3-4 键盘扫描子程序流程图 入口 是第一次按 下吗? 是第三次按 下吗? 是第二次按 下吗? 返回 调洗涤子程序 调脱水子程序 调漂洗

22、子程序 Y N Y N Y N 图 3-5 程序设置子程序流程图 11 LCALL DL10ms ;调 10ms 延时消抖 JB P1.3,K5 ;再次读 P1.3 状态,若仍为 0,则 K4 键确定按下 LCALL PK4 ;调 PK4 处理 K5: JB P1.4,RETURN ;判断是 K5 键按下吗,不是则转 K6 LCALL DL10ms ;调 10ms 延时消抖 JB P1.4,RETURN ;在此读 P1.4 状态,若仍为 0,则 K4 键确定按下 LCALL PK5 ;调 PK5 处理 RETURN: RET PK1: INC 50H ;按键次数加 1 MOV A,50H ;判

23、断是奇数次按下吗 MOV B,#2 DIV AB MOV A,B JZ A,ZanTing ;若为偶数次按下,则转暂停状态 LCALL YunZhuan ;若为奇数次按下,则进入运转程序 ZanTing: INC 50H ;按键次数加 1 MOV A,50H ;判断是奇数次按下吗 MOV B,#2 DIV AB MOV A,B JZ A,ZanTing ;若为偶数次按下,则暂停 LCALL YunZhuan ;若为奇数次按下,则进入运转程序 RETURN: RET 4.程序设置子程序流程图如图 3-5 所示 程序代码: PK2: INC 51H ;按键次数加 1 MOV A,51H CJNZ

24、A,#1,L2 ;是第一次按下吗,不是转 L2 LCALL XiDi ;是第一次按下,则调用洗涤子程序 L2: CJNZ A,#2,L3 ;是第二次按下吗,不是转 L3 LCALL PiaoXi ;是第二次按下,则调用漂洗子程序 L3: CJNZ A,#3,RETURN ;是第三次按下吗,不是则返回 LXALL TuoShui ;是第三次按下,则调用脱水子程序 RETURN: RET 5.洗衣方式选择子程序流程图如图 3-6 所示 程序代码: PK3: INC 52H ;按键次数加 1 MOV A,52H ; MOV DPTR,#7F02H CJNE A,#1,L4 ;是第一次按下吗, ,不是

25、转 L4 MOV A,#0EFH ;是第一次按下,则标准洗涤指示灯亮 MOVX DPTR,A 12 MOV A,52H L4: CJNE A,#2,L5 ;是第二次按下吗,不是转 L5 MOV A,#0DFH ;是第二次按下,则快速洗涤指示灯亮 MOVX DPTR,A MOV A,52H L5: CJNE A,#3,RETURN ;是第三次按下吗,不是则返回 MOV A,#0BFH ;是第三次按下,则轻柔洗涤指示灯亮 MOVX DPTR,A RETURN: RET 6.水量设置子程序流程图如图 3-7 所示 程序代码: PK4: INC 53H ;按键次数加 1 MOV A,53H CJNE

26、A,#1,L6 ;是第一次按下吗,不是转 L6 MOV 45H, #08H ;是第一次按下,则进水至低水位 L6: CJNE A,#2,L7 ;是第二次按下吗,不是转 L7 MOV A,46H,#09H ;是第二次按下,则进水至中水位 L7: CJNE A,#3,RETUREN ;是第三次按下吗,不是则返回 MOV A,47H,#10H ;是第三次按下,则进水至高水位 RETURN: RET 7.时间设置子程序流程图如图 3-8 所示 程序代码: PK5: INC 54H ;按键次数加 1 MOV A,54H CJNE A,#1,L8 ;是第一次按下吗,不是转 L8 MOV 48H,#01H

27、;是第一次按下,则时间选择 5min 入口 是第一次按 下吗? 是第三次按 下吗? 是第二次按 下吗? 返回 选择标准洗涤 选择轻柔洗涤 选择快速洗涤 Y N Y N Y N 图 3-6 洗衣方式选择子程序流程图 入口 是第一次按 下吗? 是第三次按 下吗? 是第二次按 下吗? 返回 注水至低水位 注水至高水位 注水至中水位 Y N Y N Y N 图 3-7 水量设置子程序流程图 13 入口 是第一次按 下吗? 是第三次按 下吗? 是第二次按 下吗? 返回 选择短时间5min 选择长时间15min 选择适中时间 10min Y N Y N Y N 图 3-8 时间设置子程序流程图 入口 通道

28、选择 读取结果 调平均值计算 转换结束了吗? 都转换完 了吗? 返回 启动转换 Y N N Y 图 3-9A/D 转换流程图 入口 读安全开关 状态为低电平吗? 开排水阀 开进水阀 返回 指示灯亮 启动电机 读排水阀状态 为低电平吗? 到低水位了吗? 到高水位了吗? 停止电机 报警 报警 水位复位了吗? 关排水阀 N N Y Y N Y N Y Y N 图 3-10 自检子程序流程图 入口 判断是否 为全自动 进入半自动洗涤 调漂洗子程序 返回 调检测子程序 调洗涤子程序 N Y 图 3-11 运转程序流程图 入口 是第一次按 下吗? 是第三次按 下吗? 是第二次按 下吗? 返回 选择短时间5

29、min 选择长时间15min 选择适中时间 10min Y N Y N Y N 图 3-8 时间设置子程序流程图 MOV 49H,#2CH L8: CJNE A,#2,L9 ;是第二次按下吗,不是转 L9 MOV 48H,#02H ;是第二次按下,则时间选择 10min 14 MOV 49H,#58H L9: CJNE A,#3,RETURN ;是第三次按下吗,不是则返回 MOV 48H,#38H ;是第三次按下,则时间选择 15min MOV 49H,#40H RETURN: RET 8.A/D 转换流程图如图 3-9 所示 9.自检子程序流程图如图 3-10 所示 程序代码: ZiJian

30、: MOV DPTR,#7F02H ;自检指示灯亮 MOV A,#0FBH MOVX DPTR,A JB P1.6,BaoJing1 ;读安全开关状态,异常则报警 JB P2.3,BaoJing2 ;读排水阀状态,异常则报警 MOV 45H,#08H ;置低水位值 MOV 47H,#09H ;置高水位值 MOV 44H, #00H ;置零水位值 CLR P2.4 ;开进水阀 LCALL ShuiJian ;调水位检测 MOV A,45H L10: CJNE A,48H,L10 ;到底水位了吗,到了启动电机 CLR P2.0 LACLL ShuiJian MOV A,47H L11: CJNE

31、A,48H,L11 ;到高水位了吗,到了开排水阀 CLR P2.3 LCALL ShuiJian MOV A,44H L12: CJNE A,48H,L12 ;是零水位吗,是则检测完毕 SETB P2.4 SETB P2.0 SETB P2.3 MOV A,#OFFH MOVX DPTR,A BaooJing1: MOV 40H,#0eH ;显示异常代码 MOV 41H,#0 MOV 42H,#1 CLR P1.7 ;蜂鸣器响,报警灯亮 JB P1.5,BaoJing1 ;判断是否有人为干扰 SETB P1.7 BaoJing2: MOV 40H,#0eH ;显示异常代码 MOV 41H,#0

32、 MOV 42H,#2 CLR P1.7 ;蜂鸣器响,报警灯亮 15 电机运转3S 调洗涤量(水量检 测) 进水至检测水位 读水位值-4AH 电机运转30S 调衣量检测 调水位检测读水位值 -4BH 进水至检测水位 电机运转15S 调衣质检测 调温度检测 确定洗衣时间 入口 返回 图 3-12 检测子程序流程图 JB P1.5,BaoJing2 ;判断是否有人为干扰 SETB P1.7 RET 10.运转程序流程图如图 3-11 所示 程序代码: YunZhuan: LCALL PanDuan ;调判断子程序 JZ LD1 ;为 1 为全自动 LCALL JianPan LD1: LCALL

33、JianCe LCALL XiDi LCALL PaiShui RET PanDuan: ORL A,51H ;各按键次数相与,为 1 为全自动 ORL A,52H ORL A,53H ORL A,54H RET 11.检测子程序流程图如图 3-12 所示 程序代码: JianCe: MOV 39H,#3 ;电机运转时间 3S LCALL DianJi1 LCALL ShuiLiang LCALL JinShui MOV 39H,#30 ;电机运转时间 30S LCALL DianJi1 LCALL YiLiang LCALL ShuiJian LCALL JinShui MOV 39H,#1

34、5 ;电机运转时间 15S LCALL DianJi1 LCALL ZhiYi LCALL WenDu LCALL ShiJian RET DianJi1: CLR P2.0 ;开电机 SETB TR1 ;开定时器 LOOP1: JNB 27H,LOOP1 CLR 27H DEC 39H CJNE 39H,#O,LOOP1 CLR TR0 SETB P2.0 RET 16 12.洗涤量、水量检测子程序流程图如图 3-13 所示 程序代码: ShuiLiang: LCALL ZhuanHuan0 MOV R4,#00H ;标准最大值 MOV R5,#0A0H MOV A,R6 ;与标准最大值比较

35、 CJNE A,#00H,LD2 MOV A,R7 CLR C SUBB A,R5 JNC LD2 MOV R4,#00H ;标准最小值 MOV R5,#05H MOV A,R6 ;与标准最小值比较 CJNE A,#00H,LD3 MOV A,R7 CLR C SUBB A,R5 JC LD3 MOV 46H, ;进水至中水位 MOV 3CH,#10 ;洗涤量投放时间适中 AJMP RETURN LD2: MOV 47H, ;进水至高水位 MOV 3CH,#15 ;洗涤量投放时间长 AJMP RETURN LD3: MOV 45H, ;进水至低水位 MOV 3CH,#5 ;洗涤量投放时间短 R

36、ETURN: RET 13.衣量检测子程序流程图如图 3-14 所示 程序代码: YiLiang: LCALL ZhuanHuan0 MOV R4,#00H ;标准最大值 MOV R5,#0A0H MOV A,R6 ;与标准最大值比较 CJNE A,#00H,LD4 MOV A,R7 CLR C SUBB A,R5 JNC LD4 MOV R4,#0H ;标准最小值 MOV R5,#05H MOV A,R6 ;与标准最小值比较 CJNE A,#00H,LD5 17 调A/D转换 入口 转换结果 与标准最大值比较大于 最大值吗? 转换结果 与标准最小值比较小于 最小值吗? 进水至高水位,洗涤 量

37、投放时间长 N N Y Y 返回 进水至低水位,洗涤 量投放时间短 进水至中水位,洗涤 量投放时间适中 图 3-13 洗涤量、水量检测子程序流程图 MOV A,R7 CLR C SUBB A,R5 JC LD5 SETB 22H MOV 34H,#01H ;脱水时间适中 MOV 35H,#2CH MOV 80H,#4 ;脱水倒计时暂存 MOV 81H,#5 MOV 82H,#9 AJMP: RETURN LD4: SETB 20H MOV 34H,#02H ;脱水时间长 MOV 35H,#58H MOV 80H,#9 MOV 81H,#5 MOV 82H,#9 AJMP: RETURN LD5

38、: SETB 21H MOV 34H,#00H ;脱水时间短 MOV 35H,#0B4H MOV 80H,#2 MOV 81H,#5 MOV 82H,#9 RETURN: RET 14.衣质检测子程序流程图如图 3-15 所示 程序代码: YiZhi: MOV A,4AH ;读第一次水位值 CLR C SUBB A,4BH ;读第二次水位值 MOV R5,#O5H CLR C SUBB A,R5 ;两次值相减比较 JNC LD6 SETB 23H AJMP RETURN LD6: SETB 24H RETURN: RET 18 两次水位值相减 入口 结果 与标准最大值比较大于 最大值吗? N

39、N Y 返回 将23H位置1 将24H位置1 图 3-15 衣质检测子程序流程图 调A/D转换 入口 转换结果 与标准最大值比较大于 最大值吗? 转换结果 与标准最小值比较小于 最小值吗? 脱水时间长,将20H位 置1 N N Y Y 返回 脱水时间短,将21H位 置1 脱水时间适中,将22H 位置1 图 3-14 衣量检测子程序流程图 调A/D转换 入口 转换结果 与标准最大值比较大于 最大值吗? 转换结果 与标准最小值比较小于 最小值吗? 将25H位置 1 将26H位置 1 将27H位置 1 N N Y Y 返回 图 3-16 温度检测子程序流程图 15.时间确定子程序流程图如图 3-16

40、 所示 程序代码: 19 入口 开进水阀 调水位检测 水位到了吗? 关排水阀 返回 N Y 图 3-17 进水子程序流程图 WeuDu: LCALL ZhuanHuan1 MOV R4,#00H ;标准最大值 MOV R5,#F0H MOV A,R6 ;与标准最大值比较 CJNE A,#00H,LD7 MOV A,R7 CLR C SUBB A,R5 JNC LD7 MOV R4,#00H ;标准最小值 MOV R5,#0EH MOV A,R6 ;与标准最小值比较 CJNE A,#00H,LD8 MOV A,R7 CLR C SUBB A,R5 JC LD8 SETB 27H ;温度适中位置

41、1 AJMP RETURN LD7: SETB 25H ;温度高位置 1 AJMP RETURN LD8: SETB 26H ;温度低位置 1 RETURN: RET 16. 进水子程序流程图如图 3-17 所示 程序代码: JinShui: CLR P2.4 ;开进水阀 LOOP4: LCALL ShuiJian ;调水位检测 MOV A,48H CJNE A,45H,LD11 ;检测值与标准值比较 AJMP L10 LD11: CJNE A,46H,LD12 AJMP L10 LD12: CJNE A,47H,LOOP4 L10: SETB P2.4 ;若水位到了,关闭进水阀 RET 17

42、. 水位检测子程序流程图如图 3-18 所示 程序代码: ShuiJian: MOV TMOD,#04H ;定时器 T0 设置为计数方式 MOV TH0,#00H ;计数初值 MOV TL0,#00H SETB TR0 ;启动定时器 MOV 48H,TL0 ;记录检测值 RET 20 入口 开计数器,开始计数 返回 读计数值-48H 图 3-18 入口 调A/D转换 返回 调漂洗程序 转换结果与 标准值比较大于标准值吗? Y N 图 3-19 18.污浊度检测子程序流程图如图 3-19 所示 程序代码: ZhuoDu: LCALL ZhuanHuan2 ;调 A/D 转换 MOV R4,#00

43、H ;标准值 MOV R5,#08H MOV A,R6 ;结果与标准值比较 CJNE A,#00H,LD12 MOV A,R7 CLR C SUBB A,R5 JNZ RETURN LD12: LCALL PiaoXi ;大于标准值则调漂洗子程序 RETURN: RET 19.污浊度检测 1 子程序流程图如图 3-20 所示 程序代码: ZhuoDu1: LCALL ZhuanHuan2 ;调 A/D 转换 MOV R4,#00H ;标准最大值 MOV R5,#90H MOV A,R6 ;与标准最大值比较 CJNE A,#00H,LD13 MOV A,R7 CLR C SUBB A,R5 JZ

44、 LD13 ;大于标准最大值转 MOV R4,#00H ;标准最小值 MOV R5,#09H 入口 调A/D转换 返回 漂洗时间长 转换结果与 标准最大值比较大于最大 值吗? Y 转换结果与 标准最小值比较小于最小 值吗? 漂洗时间适中 漂洗时间短 Y N N 图 3-20 污浊度检测 1 子程序流程图 21 入口 置转速 停止电机 置电机正转时间 启动电机 停止电机 置电机反转时间 启动电机 时间到了吗? 时间到了吗? N Y N Y 图 3-21 电机运转子程序流程图 MOV A,R6 ;与标准最小值比较 CJNE A,#00H,LD14 MOV A,R7 CLR C SUBB A,R5

45、JNZ LD14 ;小于标准最小值转 MOV 36H,#01H ;漂洗时间适中 MOV 37H,#0E0H MOV 86H,#7 ;漂洗时间倒计时暂存 MOV 87H,#5 MOV 88H,#9 AJMP RETURN LD13: MOV 36H,#02H ;漂洗时间长 MOV 37H,#0D0H MOV 86H,#0BH MOV 87H,#5 MOV 88H,#9 LD14: MOV 36H,#00H ;漂洗时间短 MOV 37H,#0FH MOV 86H,#3 MOV 87H,#5 MOV 88H,#9 RETURN: RET 20.电机运转子程序流程图如图 3-21 所示 程序代码: D

46、ianJi: MOV 3CH,#0A0H ;置转速初值 LOOP7: MOV 3AH,#60 ;置电机正转时间 CLR P2.0 ;启动电机正转 SETB TR0 ;开定时器 LOOP5: JNB 29H,LOOP5 ;1s 到了吗 CLR 29H ;到了,标志位清 0 DEC 3AH ;时间减 1 CJNZ 3AH,#00H,LOOP5 ;正转时间到了吗 CLR TR0 ;到了,关定时器 SETB P2.0 ;正转停止 MOV 3BH,#60 ;置电机反转时间 CLR P2.1 ;启动电机反转 SETB TR0 LOOP6: JNB 29H,LOOP6 CLR 29H DEC 3BH CJNZ 3BH,#00H,LOOP6 CLR TR0 22 入口 洗涤灯亮 调排水子程序 调洗涤1子程序 调洗涤剂投放程序 确定洗涤时间 调脱水子程序 灭洗涤灯 返回 判断是全自动吗? N Y 图 3-22 洗涤子程序流程图 SETB P2.1 AJMP RETURN 21.洗涤子程序流程图如图 3-22 所示 程序代码: ZhuXi: MOV DPTR,#7F02H ;洗涤灯亮 MOV A,#0FEH MOVX DPTR,A LCALL PuanDuan ;判断

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1