单片机课程设计_基于89C51的全自动洗衣机控制器设计
基于单片机的全自动洗衣机控制系统设计毕业论文
毕业论文基于单片机的全自动洗衣机控制系统设计摘要该系统是《基于单片机的全自动洗衣机控制系统设计》。
系统采用AT89C51单片机作为核心控制芯片。
并且辅以必要的外围器件和电路,通过I/O口输出控制电动机运行和停止,通过AT89C51单片机内部定时器中断来记录洗衣时间和进水时间,通过按键来进行洗衣参数设置。
通过AT89C51单片机驱动数码管显示洗衣机的工作时间,LED指示灯用作洗衣机的工作状态显示,用两个电控水龙头进行加水和放水,通过蜂鸣器提示洗衣结束。
通过外部中断来控制进水和放水。
论文重点阐述单片机和控制系统模块的设计。
关键词:单片机;全自动洗衣机;数码管,蜂鸣器;中断;定时器目录1.引言 (1)2.系统整体设计 (4)2.1设计功能要求 (4)2.2系统设计方案 (4)2.3芯片选择 (5)2.3.1什么是单片机 (5)2.3.2单片机的应用领域 (5)2.3.3单片机的确定 (6)2.4单片机的结构 (6)2.4.1 STC89C516RD单片机的引脚功能 (7)2.4.2电源 (7)2.4.3时钟 (8)2.4.4控制信号引脚线 (8)2.4.5输入/输出引脚(I/O口线) (9)2.5继电器的选择 (10)3. 系统硬件设计 (11)3.1电源电路设计 (11)3.2进排水电路设计 (11)3.3显示电路设计 (12)3.4按键控制设计 (13)3.5状态指示电路设计 (14)3.6硬件总体电路设计 (14)4.系统软件设计 (16)4.1软件整体结构设计 (16)4.2主程序结构设计与分析 (16)4.3子程序结构设计与分析 (29)4.3.1 定时器中断1子程序 (29)4.3.2 外部中断0子程序 (31)4.3.3 定时器中断0子程序 (33)4.3.4 外部中断1子程序 (34)4.3.5 数码管显示子程序 (35)5.总结 (37)致谢 (38)参考文献 (39)1.引言1.全自动洗衣机的发展过程洗衣机的出现给人们的生活带来了诸多方便,它是现代人必备的日常生活家电,它的发明和应用使人们的洗衣工作变得省时又省力,很好地缓解了人们在家务劳动方面的压力,由洗涤脱水系统,进水排水系统,传动系统,程序控制器等部分组成。
基于单片机的全自动洗衣机控制系统毕业设计论文
基于单片机的全自动洗衣机控制系统毕业设计论文基于单片机的洗衣机控制系统设计摘要单片机是计算机家庭的一个重要分支,它具有体积小、价格低、面向控制的特点,适用于各种工业控制、仪器仪表装置,在人类生产和生活的各个领域都有极为广泛应用。
本洗衣机控制系统,采用目前常用的89C51单片机,用汇编语言的编程方法,完成对洗衣机洗衣全过程的自动控制,并采用LED数码显示洗衣过程代码和洗衣剩余时间,洗衣完成后能自动报警。
使全自动洗衣机的使用更加简单、直观和方便。
本设计取材容易,结构简洁,易于制作,具有一定的实用价值。
关键字:单片机、汇编语言、动态扫描目录绪论1.1 设计目标1.2 设计意义第二章硬件和软件的设计方法 2.1 洗衣机的工作过程2.2 全自动洗衣机控制系统硬件的选择 2.3 单片机编程软件的选用第二章全自动洗衣机控制系统的设计原理 3.1 控制系统方框图3.2 控制板电路原理(附整机原理图) 3.3 控制功能及过程第四章洗衣机控制系统的软件系统4.1 洗衣机控制系统软件的编程思路 4.2 主程序及子程序流程图 4.2 洗衣机控制系统的源程序参考文献附录 AT89C51技术手册MCS-51系列单片机指令系统表第一章第一章:绪论在生产和生活的各个领域中,凡是有自动控制要求的地方都会有单片机的出现。
单片机的应用有利于产品的小型化、多功能化和智能化,而且抗干扰能力强,可在各种恶劣的环境下可靠地工作,成本也较低。
所以单片机的应用已极为广泛,它在工业自动化、工业测控、智能仪器仪表、家用电器、信息与通信、军事装备等方面都在发挥着“微电脑控制”的作用。
1.1 设计目标用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。
不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED显示屏上显示过程代码。
在运行的时候能显示完成整个过程的剩余时间。
基于89C51的全自动洗衣机控制系统 程序
/***************************头文件***********************/ #include <reg51.h>/************************数据类型宏定义******************/ #define uchar unsigned char#define uint unsigned int/***********************使能、禁止宏定义*****************/ #define Enable(); EA=1;#define Disable();EA=0;/********************程序选择功能标志宏定义**************/ #define BIAOZHUN 0#define JINGJI 1#define DANDU 2#define PAISHUI 3/********************强弱选择功能标志宏定义**************/ #define QIANGXI 0#define RUOXI 1/*******************进水、排水时间限制宏定义*************/ #define T_JinShui 10 //4min*60s#define T_PaiShui 10 //1min*60s#define T_XiDi 10 //6min*60s#define T_PiaoXi_1 10 //4min*60s#define T_PiaoXi_2 10 //2min*60s#define T_TuoShui 10 //2min*60s/**********************电机控制宏定义********************/ #define ZHENGZHUAN 0#define STOP 1#define FANZHUAN 2#define ZhengZhuan(); PIN_Motor_A = 0; PIN_Motor_B = 1; #define Stop(); PIN_Motor_A = 1; PIN_Motor_B = 1; #define FanZhuan(); PIN_Motor_A = 1; PIN_Motor_B = 0; /*******************暂停、继续控制宏定义*****************/ #define ZanTing(); ET0 = 0; ET1 = 0; Stop();#define JiXu(); ET0 = 1; ET1 = 1;/*************************管脚定义***********************/ //都是低有效,因LED是灌电流,而PNP也是低电平时导通sbit LED_BiaoZhun = P1^0; //标准程序显示灯sbit LED_JingJi = P1^1; //经济程序显示灯sbit LED_DanDu = P1^2; //单独程序显示灯sbit LED_PaiShui = P1^3; //排水程序显示灯sbit LED_QiangXi = P1^4; //强洗状态灯sbit LED_RuoXi = P1^5; //弱洗状态灯sbit LED_XiDi = P1^6; //洗涤状态灯sbit LED_PiaoXi = P1^7; //漂洗状态灯sbit LED_TuoShui = P2^0; //脱水状态灯sbit PIN_BaoJing = P2^1; //报警喇叭sbit PIN_JinShui = P2^2; //进水控制sbit PIN_PaiShui = P2^3; //排谁控制sbit PIN_Motor_A = P2^4; //电机脚Asbit PIN_Motor_B = P2^5; //电机脚Bsbit K_SEL_ChengXu = P3^0; //选择程序键sbit K_SEL_QiangRuo = P3^1; //选择强弱键sbit p32 = P3^2; //sbit p33 = P3^3; //sbit SW_ShuiWei = P3^6; //水位开关sbit SW_AnQuan = P3^7; //安全开关/************************函数申明***********************/ void Programme_PaiShui(void);/*************************数据定义***********************/ uchar flag_SEL_ChengXu; //默认为标准程序,bit flag_SEl_QiangRuo; //默认为强洗,1为弱洗bit flag_Run; //运行标志,1为运行//bit flag_ZanTing; //暂停标志,1为暂停bit flag_JinShui; //进水标志,1为进水bit flag_PaiShui; //排水标志,1为排水bit flag_XiDi; //置洗涤标志bit flag_PiaoXi; //置漂洗标志bit flag_TuoShui; //脱水标志bit flag_BaoJing; //报警标志uchar _50ms; //每50ms加一次的变量uint s; //秒uint T_S; //定时总时间uchar T_Motor; //电机控制时间/*************************延时程序*********************/ void Delay_10ms(uint T1){ uint t1,t2;for(t1=0;t1<T1;t1++)for(t2=0;t2<1250;t2++);//10ms}/**********************管脚初始化程序******************/ void Pin_Init(void){ LED_BiaoZhun = 0; //默认为标准程序,灯亮LED_JingJi = 1; //经济程序显示灯,灭LED_DanDu = 1; //单独程序显示灯,灭LED_PaiShui = 1; //排水程序显示灯,灭LED_QiangXi = 0; //默认为强洗状态,灯亮LED_RuoXi = 1; //弱洗状态灯,灭LED_XiDi = 1; //洗涤状态灯,运行后灯亮LED_PiaoXi = 1; //漂洗状态灯,运行后灯亮LED_TuoShui = 1; //脱水状态灯,运行后灯亮PIN_BaoJing = 1; //报警喇叭,不叫PIN_JinShui = 1; //进水控制,关PIN_PaiShui = 1; //排谁控制,关PIN_Motor_A = 1; //电机脚A,不走PIN_Motor_B = 1; //电机脚B,不走}/********************中断初始化程序********************/void ExInt_Init(void){ IT0 = 1;EX0 = 1;IT1 = 1;EX1 = 1;}/*******************定时器0初始化程序******************/void Timer0_Init(void) //其中没ET0是为以后控制暂停用的{ TMOD = TMOD | 0X01; //定时方式1TH0 = 0X3C; //50msTL0 = 0XB0;TR0 = 1;_50ms = 0;s = 0;}/*******************定时器1初始化程序******************/void Timer1_Init(void) //其中没ET1是为以后控制暂停用的{ TMOD = TMOD | 0X10; //定时方式1TH1 = 0X3C; //50msTL1 = 0XB0;}/********************电机初始化程序********************/void T_Motor_Ctl(uchar t1,uchar t2,uchar t3){ if(!flag_SEl_QiangRuo)//强洗T_Motor = t1;if(flag_SEl_QiangRuo)//弱洗T_Motor = t2;if(flag_TuoShui)//脱水T_Motor = t3;}/********************电机初始化程序********************/void Motor_Init(void){ ZhengZhuan();T_Motor_Ctl(4,3,5);}/**********************解除报警************************/void No_BaoJing(void){ flag_BaoJing= 0; //置报警标志PIN_BaoJing = 1; //报警喇叭//进水、排水已没时间限制了}/**************外部中断0程序为运行或者暂停*************/void int0(void) interrupt 0{if(!p32){ Delay_10ms(1); //延时10ms左右,去抖动if(!p32){ if(!flag_Run)flag_Run = 1; //置运行标志else if(flag_BaoJing)No_BaoJing();else{ static bit flag_ZanTing;flag_ZanTing = ~flag_ZanTing;if(flag_ZanTing)ZanTing();if(!flag_ZanTing) // 这里用else,编译出错。
基于单片机的洗衣机课程设计
摘要设计要满足如下要求:实现6种模式的互动选择:标准,轻柔,快洗和单独地进行洗涤、漂洗和脱水操作,被选中的模式用LED显示器表明。
实现不同模式下的洗衣过程,根据衣物多少允许用户设置4种的水位,被选中的水位用LED显示器表明。
当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机全自动控制洗衣操作,整个过程的进行按时间控制,时间自定。
液位检测和控制:使水位限定在某一个给定的液位范围内,当水位越限时打开下水电磁阀放水,不启动洗衣过程,待满足要求后,投入运行。
当投入洗衣量大于洗衣机额定容量时,控制系统应报警,不启动洗衣过程。
待满足要求后,投入运行。
本设计通过采用AT89C51单片机,通过74LS139,水位检测机构,LED 数码显示器,LED发光二极管,独立键盘,继电器,进排水阀等硬件实现了上述功能要求。
应用表明该系统具有水位选择,模式设定,水位越限检测,过容及脱水安全保护等功能。
其性能可靠,提到了效率,降低了能耗,减少了噪音。
关键字:89C51RC 智能家电自动控制洗衣机二、前言单片机又称微控制器,或称嵌入式控制器。
而现在的智能家电无一例外是采用微控制器来实现的,所以家用电器是单片机应用最多的领域之一。
它是家用电器实现智能化的心脏和大脑。
由于家用电器体积小,故要求其控制器体积更小以便能嵌入其结构之中。
而家用电器品种多,功能差异也大,所以又要求其控制器有灵活的控制功能。
单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足家用电器的需求。
波轮式全自动洗衣机是家用电器领域的重要一员,在全自动洗衣机市场中占有很大的比例,其中绝大多数品是用单片机来实现的AT89C52单片机是ATMEL公司8位单片机系列产品之一,是一种20引脚双列直插式芯片。
它内含4KB可反复烧录的FLASH存储器,RAM字节也有128个,15个I/O口,5个中断,2个定时,已经可以满足程序的需要,指令也和51系列兼容,基于上述特点,选择它来设计一台智能洗衣机,完全可以达到以下的功能:1、洗衣程序功能:含6种独立程序,即标准洗衣程序、轻柔洗衣、快洗、单次洗衣、漂洗、脱水功能;2、特殊功能:安全保护、防振、间歇工作、声光显示功能。
基于单片机的自动洗衣机设计
1引言随着经济科技的发展,生活中家用电器的功能也越来越丰富,洗衣机作为人们日常生活中必不可少的家用电器,也不断的需要进一步提升其便利性。
但是传统的仅由继电器控制的普通洗衣机,只能手动进行单一的洗衣功能转换,大大的浪费了洗衣所需的时间和精力,给使用者带来了很大的不便。
为了提升洗衣机使用的便利性,采用单片机来作为控制器,可以实现灵活多变的控制方式,能够很好的满足人们对洗衣机功能的要求。
作为一个微控制器,单片机最大的特点就是物美价廉,因而被广泛应用在各种数字系统中。
本文通过使用STC89C51单片机作为控制器,设计一款可以完成自动洗衣流程的洗衣机控制电路,该电路操作简单,功能灵活,具有很大的实用性。
通过对基于单片机的控制电路的制作进行深刻钻研,可以使我们对单片机有更加深刻的见解,同时也为将来的工作与学习打下一定基础。
1.1研究背景及现状1. 洗衣机的分类普通洗衣机:具备洗涤,排水,脱水功能,每一功能均需手动操作。
半自动洗衣机:具有洗涤,排水,脱水功能,不同于普通洗衣机的是洗涤与脱水功能相互独立,洗衣机一边是进行洗衣的,而另一边是进行脱水甩干的。
全自动洗衣机:在启动电源后选择相应模式即可自动实现所设定的全部功能,期间无需任何手动操作。
2.全自动洗衣机在国内外的现状及水平欧美发达国家的科学技术水平相对较高,对家用电器的性能指标也在不断提高,目前最先进的洗衣机可以做到智能控制洗衣的全过程,只需将衣物放入洗衣机,洗衣机就可以自己选择洗衣的水位,洗涤剂的用量,洗衣的时间,并能最大限度的减小对衣物的损伤。
我国的洗衣机制造业起步较晚,但由于引进了国外的先进技术,国产洗衣机的生产水平已逐步提高,缩短了与发达国家的差距。
目前全自动智能洗衣机正向着大容量,健康化,节能化,高度自动化和微型化发展【1】。
这就要求设计师在设计洗衣机时能要有更优秀和创新的思路方法,从而实现用户的各种需求,提高洗衣机的便利性。
孟娇娇等人利用51单片机为基础,设计出全自动洗衣机的控制系统,实现对洗衣机各项功能的优化【2】。
基于AT89C51单片机智能控制洗衣机的设计毕业设计
摘要洗衣机是现代人必备的日常生活家电,它的发明和应用使人们的洗衣工作变得省时省力,很好地缓解了人们在家务劳动方面的压力。
一般的数字逻辑电路控制的洗衣机只有两三个程序,也有一按通的傻瓜程序。
而基于单片机控制的洗衣机可以复杂程序控制,将水位段细化,漂洗功能细化,加上适用不同衣物等功能,洗涤程序大大增加。
本设计采用AT89C51单片机作为洗衣机控制系统的主控芯片,洗衣机的各种洗衣程序运行都在单片机的控制下,使得洗涤、漂洗、脱水等各种功能的操作都不需手动。
系统的硬件设计包括电源模块、谐振式水位监测模块、洗衣机LED显示、输出控制电路、软件设计包括主程序、内部定时中断服务程序、外部中断服务程序。
关键词:全自动洗衣机;单片机;LED显示AbstractThe washing machine is the appliance in people’s daily life,its invention to the job gets time-saving,and relieves the pressure in the domestic labour.The digital logic to control circuit of the washing machine has only two or three programs,also has a fool according to the program.But the revivification of washing machine can control a large complex program,and can turn the water level and rinsing functions into tiny,because of its different functions in clothing,washing procedure increases significantly.This design uses AT89C51 as the main control chip,all the programs of the washing machine are under the control of the CPU so that washing,rinsing and deh ydration functions don’t need to be operated by manual.The hardware design of the system includes power module,water monitoring module,LED display and output controller,the software part is composed of the main procedure,timing services application and external services.Key words:Washing Machine;Single Chip Microcomputer;LED display毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
基于51单片机的全自动洗衣机控制设计
《单片机技术与应用》课程设计洗衣机控制设计专业班级:学号:姓名:目录一、设计目的要求 (3)二、设计要目标 (3)三、硬件设计 (4)1、系统设计流程 (4)1.1系统模块划分 (5)2、模块设计 (7)2.1AT89C51单片机控制模块的设计 (7)2.1.1 AT89C51介绍 (7)2.1.2AT89C51单片机的主要管脚功能 (7)2.2单片机系统复位电路 (8)2.3标准时钟电路 (9)2.4控制电路设计 (10)2.5显示电路设计 (10)2.6数码管显示电路设计 (11)2.7水位检测电路 (13)2.7.1进水控制电路 (13)2.7.2排水控制电路 (14)2.8水位监测模块 (14)2.9报警电路设计 (15)3.0电机控制系统设计 (15)四、软件设计 (18)1、系统设计流程 (18)1.1系统模块划分 (18)2、模块设计 (19)2.1主程序 (19)2.1.1 主程序执行 (19)12.2三个运行方案程序 (20)2.2.1 三个运行方案执行 (20)五、结果讨论 (22)5.1仿真原理图: (22)六、工作总结 (25)附录 (26)原理图: (26)参考文献 (26)2一、设计目的要求设计要求(1)洗衣机可选择多种洗涤状态,用户只需要选择洗涤模式,洗衣机自动选择洗涤程序,完成洗涤。
(2)暂停功能。
不管洗衣机工作在什么状态,当按下暂停键时,洗衣机必须暂停工作,待驱动键按下后洗衣机又能按原来所选择的工作方式继续工作。
(3)声光显示功能。
洗衣机各种工作方式的选择和各种工作状态均有声光提示或显示。
(4)本设计包含硬件和软件设计。
(5)因为是全自动洗衣机,程序将完成洗涤、脱水的全过程。
(6)脱水完成后,蜂鸣器蜂鸣,通知用户洗涤完成。
二、设计要目标本系统控制的对象为套桶式单缸低波轮全自动洗衣机,其功能要求如下:1.强、弱洗涤功能。
强洗时正、反转驱动时间各为4秒,间歇时间为1秒;标准洗时正、反转驱动时间各为3秒,间歇时间为1秒弱洗洗时正、反转驱动时间各为2秒,间歇时间为1秒2.三种洗衣工作程序,即标准程序强洗程序、弱洗程序和甩干程序。
基于单片机的智能洗衣机控制系统设计
基于单片机的智能洗衣机控制系统设计一、本文概述随着科技的快速发展和人们生活水平的提高,家电产品逐渐向着智能化、自动化的方向发展。
洗衣机作为家庭日常生活中不可或缺的家电设备,其性能的优化和智能化升级显得尤为重要。
本文将详细介绍一种基于单片机的智能洗衣机控制系统设计,旨在提高洗衣机的自动化程度,改善用户体验,并实现节能环保的目标。
该控制系统以单片机为核心,结合传感器技术、电机控制技术、人机交互技术等多个领域的知识,实现洗衣机的智能控制。
通过传感器实时监测洗衣过程中的水量、温度、衣物重量等参数,单片机根据这些参数自动调节洗涤程序,以达到最佳的洗涤效果。
同时,系统还具备人机交互功能,用户可以通过简单的操作界面选择洗涤程序、设定洗涤参数,实现个性化洗涤。
本文首先将对智能洗衣机控制系统的总体设计方案进行介绍,包括硬件和软件的设计思路。
然后,详细阐述各个功能模块的实现方法,包括传感器模块、电机控制模块、人机交互模块等。
接着,对系统的硬件和软件进行集成和调试,确保系统的稳定性和可靠性。
对智能洗衣机控制系统进行性能测试和实验验证,以评估其实际应用效果。
通过本文的研究和设计,期望能够推动洗衣机行业的智能化升级,为用户提供更加便捷、高效、节能的洗涤体验。
也希望本文的研究方法和成果能够为相关领域的研究人员和技术人员提供有益的参考和借鉴。
二、单片机基础知识单片机(Microcontroller Unit,MCU)是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
单片机也被称为微控制器,它的应用领域非常广泛,包括智能家居、医疗设备、工业控制、航空航天等。
单片机的主要特点包括:集成度高,体积小,功耗低,可靠性高,控制功能强,扩展灵活,以及易于实现智能化控制等。
基于STC89C51单片机全自动洗衣机控制器设计
基于STC89C51单片机全自动洗衣机控制器设计洗衣机是我们日常生活中不可或缺的家电设备之一,而现代化的生活方式也促进了洗衣机的智能化和自动化发展。
本文将介绍一种基于STC89C51单片机的全自动洗衣机控制器设计方案。
设计思路洗衣机的自动化是指将洗衣的整个过程自动化,包括洗涤、漂洗、脱水等各个环节。
在设计全自动洗衣机控制器时,我们需要考虑以下几个方面:1. 选择合适的传感器在全自动洗衣机中,传感器的选择是非常关键的。
我们需要选择可靠性高、精度高、适用范围广的传感器。
2. 控制器的选型STC89C51单片机是一款功能强大,应用广泛的低功耗单片机,具有高性价比的优点。
相对于其他单片机,它的成本更低,同时也非常适合于高性能、低功耗的应用场景。
3. 控制器程序的编写通过编写控制器程序,我们可以实现对洗涤、漂洗、脱水等各个环节的自动控制。
同时,我们还需要考虑如何处理异常情况,例如水位过高或过低、电机故障等情况。
实现流程下面,我们将具体介绍一下基于STC89C51单片机的全自动洗衣机控制器的实现流程。
1. 水位的检测我们可以通过水位传感器来检测水位,当水位低于设定值时,控制器会打开进水阀门,当水位高于设定值时,控制器会关闭进水阀门。
2. 温度的控制通过设定水温传感器的阈值,我们可以控制是否需要加热水。
3. 洗涤剂的投放在自动模式下,我们需要根据选择的程序、衣服数量、水质等因素计算洗涤剂的投放量,然后通过一个电机,将洗涤剂投入到洗衣机内。
4. 电机的控制我们需要使用一个电机来控制洗涤和脱水的过程,电机的控制可以通过轮廓选择开关控制器来实现。
在洗涤模式下,电机会以较慢的速度工作,在脱水模式下,电机会以较快的速度工作。
5. 状态异常的处理当水位高于或低于设定值时,控制器会发出警报提示用户进行处理,当电机故障时,控制器也会发出警报提示用户进行检查和处理。
总结通过本文的介绍,我们可以知道在进行全自动洗衣机控制器设计时,选择传感器、控制器的选型以及编写控制器程序都非常重要。
毕业设计(论文)-基于at89c51单片机的全自动洗衣机控制系统设计[管理资料]
摘要随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中。
单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐。
它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。
本文以AT89C51单片机为核心设计了全自动洗衣机控制系统,本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗涤、漂洗、脱水和结束报警等阶段。
控制系统主要由电源电路、单片机控制系统和外部硬件电路三大模块组成。
电源电路为单片机主控系统提供5v的直流电压;单片机主控系统负责控制洗衣机的正常工作由AT89C51单片机构成;外部硬件电路由液晶显示屏、单相异步电机、进水出水阀门、负载水位传感器、蜂鸣器等组成。
本系统运用keil软件对单片机进行编程,再编译成hex文件后,通过proteus仿真软件进行仿真,从而实现预期的效果。
关键词单片机负载水位传感器单相异步电机AbstractWith the development of the digital technology, digital technology has been widely applied in the field of intelligent control. MCU with small volume, complete functions, low price, convenient development advantage by many electronic system designers favor. It is suitable for real-time control, can form industrial controllers, intelligent instruments, intelligent interface, intelligent weapon device and universal measurement and control unit.Based on the AT89C51single-chip microcomputer as the core design of the full automatic washing machine control system, this system realizes the washing machine the whole washing process control, including user parameter input, wash, rinse, dehydration and the end of alarm level. The control system is mainly composed of a power circuit, SCM control system and the external hardware circuit is composed of three modules. Power supply circuit for single-chip microcomputer control system with 5V DC voltage; single-chip microcomputer control system controls the normal work of the washing machine based on AT89C51 MCU; external hardware circuit is composed of liquid crystal display screen, single asynchronous motor, water inlet and outlet valve loadandwaterlevelSensor sensor, buzzer, etc.. The system using keil software for single-chip programming, and then compiled into a hex file, through proteus simulation software, in order to achieve the desired effect.Key words Singlechipmicrocomputer Loadandwaterlevelsensor LCD Singleasynchronous motor目录摘要 (I)Abstract..................................................................................................................... I I第1章绪论 (1)课题研发背景 (1)设计的目的和意义 (1)国内外洗衣机的发展概述 (1)第2章设计方案 (3)洗衣工作方式选择 (3)洗涤程序的选择 (4)水位的选择 (4)液晶显示 (4)洗衣机报警 (4)洗衣机的按键 (4)第3章硬件设计 (5)单片机的选型 (5)单片机的选型比较...................................................... 错误!未定义书签。
全自动洗衣机单片机课程设计
一、设计目标1、全自动洗衣机用51系列单片机89C51控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。
不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在LED 显示屏上显示过程代码。
在运行的时候能显示完成整个过程的剩余时间。
2、洗衣机主要功能:进水、洗涤、脱水、排水具体功能有浸泡、强力洗、轻柔洗、标准洗、快速洗、单独洗、单独脱水、漂洗脱水二、设计过程洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。
上述四个动作,是通过单片机的P0端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。
同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。
通过软件编程达到对整个洗衣过(112、(2)转)择,不断调用,可以减少源程序的长度,不同的洗衣过程,三大动作的时间不同,这可以通过建立数据表格,通过查表的方式获得每个洗衣过程所需时间。
此外,还需编出显示子程序,延时子程序供主程序不断调用。
1、流程图(1 (2否是否是是否(3)脱水子程序流程图是否否=1在选MOV A, 50H ;高位是否为零CJNE A, #0AH, DISPLAY05 DISPLAY05:JNC DISPLAY06XRL A, #0F0H ;高位为零不显示MOV 50H, ADISPLAY06:JNB 20H.0, DISPLAY01 ;是否需闪烁MOV A, 51HCJNE A, #25D, DISPLAY02; DISPLAY02:JC DISPLAY01MOV 50H, #0FFH ;暗显示(不亮)DISPLAY01:MOV A, 50H ;显示低位ANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, @A+DPTR;MOV P2, A;SETB P0.6CLR P0.7LCALL DELAY10MSMOV A, 50H ;显示高位SWAP AANL A, #0FH;MOV DPTR, #DISPLAYTAB;MOVC A, @A+DPTR;MOV P2, A;CLR P0.6SETB P0.7LCALL DELAY10MSINC 51H ;累计时间MOV A, #50D ;XRL A, 51H ;JNZ DISPLAY03 ;50次的20ms 未到MOV 51H, A ;INC 52H ;1sMOV A, #60D;XRL A, 52H ;JNZ DISPLAY03MOV 52H, A ;INC 53H ;1min DISPLAY03:JNB 20H.0, DISPLAY04;MOV A, TOTALTIME ;计算剩余时间CLR CSUBB A, 53H ;MOV B, #10D ;16进制转换到10进制DIV ABSWAP AXRL A, B ;MOV 50H, A ;DISPLAY04:POP PSWPOP ACCRETDISPLAYTAB: ;共阳数码管反向编码DB 03H, 9FH, 25H, 0DH, 99H;01234DB 49H, 41H, 1FH, 01H, 09H;56789DB 11H, 0C1H, 63H, 85H, 61H;ABCDEDB 0FFH ;暗;重算时间;入口数据:A=总时间(分)CALUTIME:MOV TOTALTIME, ACLR AMOV 52H, A ;秒MOV 53H, A ;经过的分钟RET;鸣叫一下, 时长120msPLAY:SETB P1.6MOV R0, #12D;PLAY1:LCALL DISPLAYDJNZ R0, PLAY1CLR P1.6RET;鸣叫六下, 时长240ms*12 ALARM:SETB P1.6MOV R1, #11D; ALARM2:MOV R0, #12D; ALARM3:LCALL DISPLAYDJNZ R0, ALARM3CPL P1.6DJNZ R1, ALARM2RET;;;;;洗涤用子程序;洗涤时暂停按键XDPAUSE:JB P0.0, XDPS01LCALL DISPLAYJB P0.0, XDPS01PUSH 52HPUSH 53HCLR 20H.0 ;不闪烁MOV A, P1PUSH ACCMOV P1, #00HLCALL PLAYXDPS02:LCALL DISPLAYJNB P0.0, XDPS02 ;等待按键释放XDPS03:LCALL DISPLAYJB P0.0, XDPS03LCALL DISPLAYJB P0.0, XDPS03LCALL PLAYXDPS04:LCALL DISPLAYJNB P0.0, XDPS04 ;等待按键释放POP ACCMOV P1, ACCSETB 20H.0POP 53HPOP 52HXDPS01:RET;洗涤时延迟0.32sDELAY320MS:MOV R2, #14D;SJMP XDELAY01;洗涤时延迟0.56sXDELAY560MS:MOV R2, #28DSJMP XDELAY01;洗涤时延迟1sXDELAY1S:MOV R2, #50DSJMP XDELAY01;洗涤时延迟1.6sDELAY1600MS:MOV R2, #80DXDELAY01:LCALL DISPLAYLCALL XDPAUSE ;暂停按键LCALL IFINWATER ;水位开关DJNZ R2, XDELAY01RET;洗涤前进水子程序INWATER:JNB P0.2, PI1;SETB P1.2MOV A, 53H;ADD A, #20D;MOV 59H, A;PI3:MOV A, 53H;XRL A, 59H;JNZ PI2LCALL ERRORE4SJMP INWATERPI2:JNB P0.2, PI4;LCALL DISPLAYLCALL XDPAUSESJMP PI3PI4:CLR P1.2PI1:RET;洗涤时是否再进水IFINWATER:JNB P0.2, IF1;MOV A, P1;PUSH ACCMOV P1, #00H;LCALL INWATER ;进水POP ACCMOV P1, A;IF1:RET;不能进水报警ERRORE4:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E4HLCALL ALARME4PK2:LCALL DISPLAYJNB P0.1, E4PK2;LCALL DISPLAYJNB P0.1, E4PK2E4PK3:LCALL DISPLAYJB P0.1, E4PK3LCALL DISPLAYJB P0.1, E4PK3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;排水时延迟1sDELAY1000MS:MOV R2, #50D;DLY51:LCALL DISPLAYLCALL XDPAUSE ;暂停按键DJNZ R2, DLY51;RET;排水子程序OUTWATER:CLR ASETB P1.3JB P0.2, OUTW1MOV R7, #60DOUTW2:LCALL DELAY1000MSJB P0.2, OUTW4DJNZ R7, OUTW2LCALL ERRORE1SJMP OUTWATER OUTW4:CLR CMOV A, #60DSUBB A, R7OUTW1:ADD A, #60DMOV R7, AOUTW3:LCALL DELAY1000MSDJNZ R7, OUTW3RET;不能排水报警ERRORE1:PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACCMOV P1, #00H;MOV 50H, #0E1HLCALL ALARME1PK2:LCALL DISPLAYJNB P0.1, E1PK2;LCALL DISPLAYJNB P0.1, E1PK2E1PK3:LCALL DISPLAYJB P0.1, E1PK3LCALL DISPLAYJB P0.1, E1PK3SETB 20H.0POP ACCMOV P1, ACC;POP 53HPOP 52HRET;脱水时暂停按键TPKEY:JB P0.0, TPK1;LCALL DISPLAYJB P0.0, TPK1;PUSH 52HPUSH 53HCLR 20H.0LCALL PLAYMOV A, P1;PUSH ACCJNB ACC.0, TPK6CLR P1.0MOV R0, #250 ;延迟5秒TPK5:LCALL DISPLAYDJNZ R0, TPK5TPK6:MOV P1, #00H;TPK2:LCALL DISPLAYJNB P0.0, TPK2;TPK3:LCALL DISPLAYJB P0.0, TPK3LCALL DISPLAYJB P0.0, TPK3LCALL PLAYSETB 20H.0SETB P1.3MOV R0, #250 ;延迟5秒TPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTPK1:RET;脱水时开盖, 脱水时安全报警IFOPEN:ERRORE2:JNB P0.1, TTPK1;LCALL DISPLAYJNB P0.1, TTPK1;PUSH 52HPUSH 53HCLR 20H.0MOV A, P1;PUSH ACC; LCALL ALARMJNB ACC.0, TTPK6CLR P1.0MOV R0, #250 ;延迟5秒TTPK5:LCALL DISPLAYDJNZ R0, TTPK5TTPK6:MOV P1, #00H;MOV 50H, #0E2HTTPK2:LCALL DISPLAYJB P0.1, TTPK2;TTPK3:LCALL DISPLAYJB P0.1, TTPK2LCALL DISPLAY; JB P0.1, TTPK3SETB 20H.0SETB P1.3MOV R0, #250 ;延迟5秒TTPK4:LCALL DISPLAYDJNZ R0, TPK4POP ACCMOV P1, ACC;POP 53HPOP 52HTTPK1:RET;脱水时延迟4sDELAY4S:MOV R2, #200D;DLY431:LCALL DISPLAYLCALL TPKEY ;暂停按键LCALL IFOPEN ;安全开关DJNZ R2, DLY431;RET;脱水时延迟3sDELAY3S:MOV R2, #150D;DLY321:LCALL DISPLAYLCALL TPKEY ;暂停按键LCALL IFOPEN ;安全开关DJNZ R2, DLY321;RET;主程序开始;选择程序:30H, 程序开始20H.1=1 MAIN:MOV SP, #60H;CLR 20H.0CLR 20H.1MOV A, #00H;MOV P1, A;MOV 50H, A;MOV 51H, A;MOV 52H, A;MOV 53H, A;MOV 30H, A;LP1: ;有无按键LCALL DISPLAYJB P0.0, LP1;LCALL DISPLAY ;按键去抖动JB P0.0, LP1;LP3:INC 30HMOV A, #0AH ;共有九种可选择XRL A, 30H;JNZ LP2MOV 30H, #01H;LP2:LCALL PLAYMOV 50H, 30H;LP4:LCALL DISPLAYJNB P0.0, LP4 ;等待按键释放CLR AMOV 52H, A;LP5:LCALL DISPLAYMOV A, 52H;XRL A, #03H ;3秒延迟到否JZ START ;开始洗衣JB P0.0, LP5;SJMP LP3 ;重选洗衣程序START:LCALL ALARMSETB 20H.1CLR AMOV 52H, A;MOV A, 30H;DEC AMOV B, #03H;MUL ABMOV DPTR, #PROCTAB;JMP @A+DPTRPROCTAB:LJMP PROC1 ;洗衣程序1LJMP PROC2 ;洗衣程序2LJMP PROC3 ;洗衣程序3LJMP PROC4 ;洗衣程序4LJMP PROC5 ;洗衣程序5LJMP PROC6 ;洗衣程序6LJMP PROC7 ;洗衣程序7LJMP PROC8 ;洗衣程序8LJMP PROC9 ;洗衣程序9PROC1:MOV A, #59DLCALL CALUTIMESETB 20H.0LCALL INWATER ;进水MOV A, #57DLCALL CALUTIME;洗涤3分钟MOV R7, #42D;XIDI0:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI0MOV R6, #01D ;共4次*3分钟=12分钟MOV R7, #30D ;停2分钟XIDI01:LCALL XDELAY1SDJNZ R7, XIDI01MOV R7, #14D ;洗涤1分钟XIDI03:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI03DJNZ R6, XIDI02MOV R7, #30D ;停2分钟XIDI04:LCALL XDELAY1SDJNZ R7, XIDI04LJMP PROC3 ;以下同过程3PROC2:;(待完成)LJMP overPROC3:MOV A, #42DLCALL CALUTIMESETB 20H.0LCALL INWATER ;进水MOV A, #40DLCALL CALUTIME;洗涤15分钟MOV R7, #8D; XIDI:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI;快速洗涤15秒MOV R7, #11DQXIDI:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDIMOV A, #25DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #23DLCALL CALUTIME;第一次脱水MOV R7, #04D ;间隙脱水30秒TS1:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS1SETB P1.0 ;长脱水90秒MOV R7, #10D ;TS2:LCALL DELAY4SDJNZ R7, TS2CLR P1.0MOV R7, #250 ;延迟5秒TS25:LCALL DISPLAYDJNZ R7, TS25CLR P1.3MOV A, #20DLCALL CALUTIME;第一次漂洗LCALL INWATERMOV A, #18DLCALL CALUTIME;洗涤2分钟MOV R7, #08D ; XIDI1:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI1 ;快速洗涤15秒MOV R7, #11DQXIDI1:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDI1MOV A, #16DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #14DLCALL CALUTIME;第二次脱水MOV R7, #04DTS21:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS21SETB P1.0MOV R7, #10D ; TS22:LCALL DELAY4SDJNZ R7, TS22CLR P1.0MOV R7, #250 ;延迟5秒TS26:LCALL DISPLAYDJNZ R7, TS26CLR P1.3MOV A, #12DLCALL CALUTIME;第二次漂洗LCALL INWATERMOV A, #10DLCALL CALUTIME;洗涤2分钟MOV R7, #08D ; XIDI2:SETB P1.0LCALL DELAY1600MSCLR P1.0LCALL XDELAY560MSSETB P1.1LCALL DELAY1600MSCLR P1.1LCALL XDELAY560MSDJNZ R7, XIDI2;快速洗涤15秒MOV R7, #11DQXIDI2:SETB P1.0LCALL DELAY320MSCLR P1.0LCALL DELAY320MSSETB P1.1LCALL DELAY320MSCLR P1.1LCALL DELAY320MSDJNZ R7, QXIDI2PROC8:SETB 20H.0 ;过程8需要闪烁MOV A, #08DLCALL CALUTIME;排水LCALL OUTWATERMOV A, #06DLCALL CALUTIME;最后脱水MOV R7, #04D ;间隙脱水30秒TS31:SETB P1.0LCALL DELAY4SCLR P1.0LCALL DELAY3SDJNZ R7, TS31SETB P1.0 ;长脱水5分钟?MOV R7, #05DTS32:LCALL DELAY4SDJNZ R7, TS32CLR P1.0MOV R6, #06TS28:MOV R7, #250 ;延迟5秒*6=30秒TS29:LCALL DISPLAYDJNZ R7, TS29DJNZ R6, TS28CLR P1.3LJMP OVER OVER:LCALL ALARMSETB P0.6CLR P0.7MOV P2, #03HSJMP $END四、设计体会通过此次对全自动洗衣机的课程设计,对单片机的知识进一步掌握,也巩固了之前学习到的知识。
基于单片机全自动洗衣机控制器设计
摘要单片机又称“单片机微型计算机”、“微控制器”、“嵌入式微控制器”。
单片机适用于控制领域,是由CPU、RAM、ROM以及I/O接口电路集成在一起的芯片。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各种单片机中最为典型和最有代表性的一种。
通过这次课程设计对它的进一步了解、学习与应用,从而达到设计、开发软硬件的能力。
本设计根据全自动洗衣机控制系统的要求和特点,设计了一种基于51单片机的全自动洗衣机控制器。
该控制器以单片机AT89C51为控制核心,结合外围信号采集放大电路、键盘扫描电路、液晶显示电路和继电器控制电路,实现了对空压机内压力的智能控制。
压力传感器将采集的数据经模数转换后传送给单片机,单片机将得到的数据分别与键盘预先设定的上限压力值和下限压力值比较,如果数据大于上限压力值,关闭电机并报警,如果数据小于下限压力值,启动电机并报警,整个过程LCD 实时显示上限压力值、下限压力值、实际压力值和系统工作状态。
关键字:单片机;全自动;显示模块;键盘输入;稳压电源。
目录摘要 (I)第1章绪论 (1)1.1设计背景 (1)1.2国内外现状及水平 (2)1.3课题研究内容 (2)第2章系统方案设计 (3)2.1微型空压机设计方框图 (3)2.2方案论证 (3)第3章电路设计 (5)3.1工作原理 (5)3.2AT89C51介绍 (6)3.3A/D转换电路设计 (9)3.4键盘电路设计 (12)3.5显示电路设计 (15)3.6报警电路设计..................................................... 错误!未定义书签。
3.7电机控制电路设计............................................. 错误!未定义书签。
第4章程序设计............................................................. 错误!未定义书签。
基于单片机AT89C51的模拟洗衣机控制系统设计
信息职业技术学院毕业设计说明书设计题目: 基于单片机AT89C52的模拟洗衣机控制系统设计专业: 应用电子技术班级: 应2班学号:姓名:指导教师:二〇一〇年九月十日信息职业技术学院毕业设计(论文)任务书目录摘要1第1章绪论2第2章方案设计与论证32.1方案一32.2方案二32.3方案论证与选择4第3章系统硬件设计43.1总体设计及功能描述43.2各功能模块硬件设计53.2.1 单片机控制模块的设计53.2.2 控制电路设计83.2.3 显示电路设计93.2.4 直流电机驱动电路设计10第4章系统软件设计114.1软件主要程序流程124.2 标准方式运行程序设计124.3 经济方式运行程序设计144.4 单独方式运行程序设计15 4.5 排水方式运行程序设计15 4.6 强弱切换程序设计164.7 主程序设计17第5章仿真与调试195.1洗衣机仿真图195.1.1 标准方式仿真图195.1.2 经济方式仿真图205.1.3 单独方式仿真图215.1.4 排水方式仿真图21 第6章实物制作与调试226.1印制电路板设计226.2印刷板制作工艺流程23 6.3整机装配与调试246.4实物25总结25参考文献26附录1 系统设计原理图27附录2 元件明细表28附录3 系统源程序29摘要对于一台全自动洗衣机而言,首先要求能完成洗衣的基本功能;同时还要根据用户的不同需求设置几种不同的洗衣程序;还要考虑水流的情况决定洗涤的强弱情况;另外,还要对洗衣过程出现的故障进行诊断,保证高速运转等。
本设计是以单片机AT89C52芯片作为核心元件,与直流电机、LED显示电路等构成模拟洗衣机系统,利用单片机的电源电路、时钟电路、复位电路以及直流电机控制电路、按键电路、显示电路组成该系统。
具有实时显示洗衣机各种工作状态的特点,同时还利用C语言编程,实现了洗衣机自动化。
本设计的模拟全自动洗衣机的主要功能有七项:四种洗衣工作程序(即标准程序、经济程序、单独程序和排水程序);具有强、弱洗涤功能;脱水功能。
基于单片机的洗衣机课程设计
基于单片机的洗衣机设计摘要洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器。
在工业生产中应用也十分广泛。
但是传统的基于继电器的控制,已经不能满足人们对洗衣机的自动化程度的要求了。
随着单片机技术的发展,用单片机来作为控制器,能更好的控制洗衣机,并且控制方式灵活多样,控制模式可以根据不同场合的应用而有所不同。
单片机以微小的体积和编程的灵活性而产生多种控制功能,完全可以满足设计的需求。
本系统采用AT89C51单片机作为控制系统,设计目的主要是为了熟悉单片机系统设计的基本方法并实现基本的洗衣机功能。
系统的控制面板主要由按键开关组成,按键选择洗衣机工作模式,并且可以根据需要调整洗涤时间长短。
LED液晶显示器则显示洗衣机的工作模式和洗涤时间。
洗衣机的整体电路模块包括按键矩阵、液晶显示、电机及驱动电路。
控制程序设计包括定时中断服务程序、时间设定程序、外中断服务程序及主程序。
整体来说系统设计基本达到设计目标。
关键词:单片机控制洗衣机液晶屏电机AbstractWashing machine is the People's Daily life common kind of home appliance, life has become a indispensable household electrical appliances. In the industrial production is also widely used. But the traditional relay-based control, cannot have satisfied people to the requirements of the automation degree of the washing machine. Along with the development of the single chip microcomputer by using single chip processor to as a controller, and can better control washing machines, and to control the way agile diversity, control mode according to different situation the application can be different. With a small volume andmicrocontroller programming flexibility and produce DuoZhong control function, and can meet the design requirements. The system USES AT89C51 single chip microcomputer as control system, the design purpose mainly to familiar with single-chip microcomputer system the basic method to design and realize the basic function of the washing machine. The system control panel composed mainly by button switches, key choice washing machine work mode, and may, according to needs to adjust the washing time length. LED LCD display of the washing machine is working mode and washing time. The washing machine of the whole circuit module includes key matrix, liquid crystal display, motor and power circuit. Control program design including timing interrupt service procedure, time setting process, and outside the interrupt service routine and main program. Overall system design to meet the design basic goals.Keywords: Single-chip microcomputer control washing machine LCD screen motor目录摘要 (1)ABSTRACT (1)目录 (3)第一章绪言 (4)1.1背景材料 (4)1.2系统设计任务和要求 (8)1.2.1 设计任务 (8)1.2.2 系统设计要求 (10)1.3系统解决的问题和拟采用的研究手段 (10)第二章硬件设计 (11)2.1 方案的选择与比较 (11)2.2 系统设计总体框图 (12)2.3 电路模块设计 (12)2.3.1 控制电路 (12)2.3.2驱动电路 (13)2.3.3显示电路 (13)第三章软件设计 (14)3.1控制程序设计 (14)3.1.1 程序设计流程图 (14)3.1.2 程序代码 (14)3.2模拟软件调试 (21)3.2.1系统仿真图 (21)3.2.2 PCB图 (21)第四章系统测试 (22)3.1仪器设备 (22)3.2数据测试 (22)第五章总结 (23)致谢 (24)参考文献 (25)第1章绪论1.1 背景材料一百年的风风雨雨走过来,洗衣机也经过了无数次的创新、改进,今天我们看到一个个外形精美的或滚筒或波轮洗衣机,可曾想到,它们可也是在历史长河慢慢“进化”而来的。
基于-单片机全自动洗衣机控制系统软硬件设计
基于单片机的全自动洗衣机控制系统软硬件设计1 摘要基于MCS-51单片机的洗衣控制系统,控制面板由按键、指示灯组成.按键选择洗衣机工作方式,指示灯配合按键工作,LED显示器那么显示洗衣机洗涤和脱水时间.洗衣机的整体电路模块包括键盘矩阵、指示灯、电动机控制及电源电路.控制程序设计包括定时中断效劳程序、外中断效劳程序及主程序.关键词:全自动,智能,89C20512 AbstractBased on the MCS-51 microcontroller laundry control system, control panel from the button. Indicator ponents. button to choose washing machines work, with a key indicator, LED dis plays show machine washing and dehydration time. washing machines, the overall circuit mod ule including keyboard matrix, lamp, motor control and power supply circuit. control procedu res designed timer interrupt service procedures, external interrupt service procedures and the main program.Key Words: automatic, intelligent 89C20513 目录摘要 0Abstract 1目录 1第一章绪言 11.1 课题背景 11.2 本课题的任务和要求 41.3系统解决的问题和拟采用的研究手段 81.4本文的工作 9第二章系统的总体设计 102.1核心单元电路 102.2工作控制程序设计 222.3模拟软件调试 24第三章系统的实现和关键技术 343.1硬件的选择与说明 343.1.1 AT89C2051 343.1.2 固态继电器的选用 363.1.3 74LS05反相器六非门 373.1.4 双2-4译码器74LS139 383.1.5 TC4013BP 393.1.6 电机 443.2汇编程序与模拟软件 453.2.1 主程序 453.2.2 KEIL的使用方法 61第五章总结 71致 72参考文献 734 第一章绪言4.1 1.1 课题背景洗衣机是一种在家庭中不可缺少的家用电器,开展非常快,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、漂洗、摔干等一系列过程自动完成,控制器通常设有几种洗涤程序,对不同的衣物可供用户选择。
基于51单片机的全自动洗衣机控制器设计
基于51单片机的全自动洗衣机控制器设计随着科技的进步和人们生活质量的提高,洗衣机已经成为现代家庭中必不可少的家电之一。
然而,传统的洗衣机控制方式往往存在操作复杂、功能单一等问题,无法满足用户对于高效、智能洗涤的需求。
因此,本文将介绍一种基于51单片机的全自动洗衣机控制器的设计,实现洗涤、漂洗、脱水等功能的自动化控制。
一、系统硬件设计1、控制器核心选择本设计选用51单片机作为控制器核心,利用其丰富的I/O口和定时器资源,实现对洗衣机的控制。
通过外接按键和蜂鸣器等元件,实现洗涤方式的选择、启动/停止控制等功能。
2、电源模块设计为了确保洗衣机的稳定运行,本设计采用220V交流电作为电源输入,通过变压器进行降压处理,再经整流滤波后得到稳定的直流电压,为控制器和其他部件供电。
3、输入输出模块设计输入模块主要包括按键和传感器。
其中,按键用于选择洗涤方式,传感器则用于检测水位、水温等信息。
输出模块主要包括继电器和蜂鸣器,继电器用于控制洗衣机的启动/停止,蜂鸣器则用于提示用户洗涤过程的状态。
二、系统软件设计1、程序初始化在程序开始运行时,首先进行初始化操作,包括配置定时器、设置I/O口状态等。
2、洗涤过程控制根据用户选择的洗涤方式,程序将通过定时器控制电机的运转时间,实现不同洗涤模式的自动化控制。
同时,通过检测水位、水温等信息,自动调整洗涤时间和水的温度,提高洗涤效果。
3、漂洗过程控制在洗涤过程结束后,程序将自动进入漂洗阶段。
通过控制进水和排水阀的开闭时间,实现自动漂洗。
同时,根据洗涤过程中收集的衣物量和洗涤效果,智能调整漂洗次数和时间,确保衣物清洗干净。
4、脱水过程控制在漂洗过程结束后,程序将自动进入脱水阶段。
通过控制电机转速和脱水时间,实现衣物的高效脱水。
同时,为了保护衣物和机器的安全,程序将根据衣物的种类和重量信息,智能调整脱水时间和转速,确保脱水过程的顺利进行。
5、报警提示功能为了方便用户及时了解洗涤过程的状态,本设计还实现了报警提示功能。
全全课程设计单片机洗衣机
摘要随着电子技术的飞速发展,人们生活水平的提高及生活节奏的加快,洗衣机产品越来越受到人们的喜爱与重视。
本文研究的是基于AT89C51单片机的全自动洗衣机控制系统,围绕洗衣机系统的硬件和软件进行课程设计,设计了一个简单可行的洗衣机自动控制系统,功能包括进水、洗衣、排水、脱水、报警等功能。
该电路简单,工作原理清晰,易于理解。
关键词:洗衣机;单片机;自动控制。
目录摘要 (I)1.前言 (1)2.全自动洗衣机的介绍 (1)2.1. 全自动洗衣机的发展历程 (1)2.2.全自动洗衣机的发展前景 (2)3. 设计目的及设计任务 (3)3.1.设计的目的及意义 (3)3.2.设计任务 (3)4.洗衣机的总体设计方案 (4)5.硬件电路设计 (5)5.1.芯片选择 (5)5.2. 单片机辅助电路设计 (7)5.2.1.复位电路的设计 (7)5.2.2.振荡电路 (8)5.3.全自动洗衣机功能电路设计 (9)5.3.1.启动按键和停止按键电路设计 (9)5.3.2.水位选择电路设计 (9)5.3.3.显示电路设计 (10)5.3.4.手动排水和手动脱水电路设计 (10)5.3.5.报警电路设计 (11)6.软件设计 (12)6.1.主程序流程图 (12)6.2.中断程序流程图 (13)7. 课程设计总结 (14)参考文献 (14)附录 (15)附录A:程序清单 (15)附录B:硬件电路图 (20)1.前言从古到今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓、棒击、冲刷、甩打……这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。
随着单片机技术日新月异的发展,单片机以其集成度高、运算速度快、体积小、运行可靠、价格低廉等特点在过程控制、机电一体化、智能化仪表、家用电器等方面得到了广泛应用[1]。
以单片机为核心设计的洗衣机控制电路组成相对简单,而且实用性很强。
基于STC89C51单片机全自动洗衣机控制器设计
基于STC89C51单片机全自动洗衣机控制器设计
杨威;余建坤;阳泳
【期刊名称】《数字技术与应用》
【年(卷),期】2015(000)012
【摘要】全自动洗衣机还对衣物具有一下的对特特点:磨损小、洗涤量大、节水、方便等,越来越多的家庭喜欢这种类型。
伴随着社会发展与进步人生生活标准不断提高,人们对全自动洗衣机的交互也有了新的要求。
为了达到人们的要求,本文详细了笔者设计的一款简单的全自动化洗衣机的控制器。
根据这个控制器,可以手动调节洗衣方式和水位的高低,能够从洗涤-漂洗-甩干一次性完成,还有水位自动控制功能。
洗衣方式有两种,快洗和慢洗,快洗12分钟,慢洗8分钟。
【总页数】1页(P11-11)
【作者】杨威;余建坤;阳泳
【作者单位】邵阳学院信息工程系湖南邵阳 422004;邵阳学院信息工程系湖南邵
阳 422004;邵阳学院信息工程系湖南邵阳 422004
【正文语种】中文
【中图分类】TP216+.1
【相关文献】
1.基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真 [J], 陈飞云
2.基于Verilog HDL语言的全自动洗衣机控制器的设计与仿真 [J], 陈飞云;
3.基于单片机全自动洗衣机控制器设计与仿真 [J], 杨威;阳泳;江世明
4.基于单片机全自动洗衣机控制器设计与仿真 [J], 杨威;阳泳;江世明
5.基于STC89C51单片机全自动洗衣机控制器设计 [J], 杨威;余建坤;阳泳
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机系统课程设计成绩评定表设计课题基于89C51的全自动洗衣机控制器设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:单片机系统课程设计课程设计名称:基于89C51的全自动洗衣机控制器设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书目录1概述 (4)2 总体方案设计 (5)2.1全自动洗衣机的工作流程 (5)2.2硬件组成 (5)3 硬件电路设计 (6)3.1 89C51 (6)3.2 晶振电路 (6)3.3 复位电路 (7)3.4 启动电路 (7)3.5注水电路,放水电路 (7)3.6洗涤电机控制电路 (8)3.7警报电路 (11)4 软件设计 (12)4.1 主程序流程图 (12)4.2 中断服务程序流程图 (14)4.3子函数流程图 (15)5 总结 (15)6 参考文献 (16)附录A (17)附录B (18)1概述当今社会,洗衣机已经渗透到各个家庭了,人们对于这种东西已经不会再陌生,也越来越离不开洗衣机。
洗衣机的便利让人们节省了许许多多的时间,而且洗涤之后的效果也比人手洗的更加干净。
而自从推出了全自动洗衣机之后,洗衣机变得更加可靠。
全自动洗衣机就是将洗衣的全过程(泡浸-洗涤-漂洗-脱水)预先设定好N 个程序,洗衣时选择其中一个程序,打开水龙头和启动洗衣机开关后洗衣的全过程就会自动完成,无需人操作,只需要按下开始按钮便可。
其工作原理可以简述为:洗衣机的洗涤过程主要是在机械产生的排渗、冲刷等机械作用和洗涤剂的润湿、分散作用下,将污垢拉入水中来实现洗净的目的。
首先充满于波轮叶片间的洗涤液,在离心力的作用下被高速甩向桶壁,并沿桶壁上升。
在波轮中心处,因甩出液体而形成低压区,又使得洗涤液流回波轮附近。
这样,在波轮附近形成了以波轮轴线为中心的涡流。
衣物在涡流的作用下,作螺旋式回转,吸入中心后又被甩向桶壁,与桶壁发生摩擦。
又由于波轮中心是低压区,衣物易被吸在波轮附近,不断地与波轮发生摩擦,如同人工揉搓衣物,污垢被迫脱离衣物。
其次,当衣物被放进洗涤液之后,由于惯性作用运动缓慢,在水流与衣物之间存在着速度差,使得两者发生相对运动,水流与衣物便发生相对摩擦,这种水流冲刷力同样有助于污垢离开衣物。
再次由于洗衣涌形状的不规则,当旋转着的水流碰到桶壁后,其速度和方向都发生了改变,形成湍流。
在湍流的作用下,衣物做无规则地运动并翻滚,其纤维不断被弯曲、绞纽扣拉长,衣物相互相摩擦,增大了洗涤的有效面积,提高衣物的洗净的均匀性。
简单来说,洗衣机的洗涤功能主要来源于两大原理,相对运动和离心力。
相对运动是指在电机实行正转时,突然反转,使的本来正转的衣物与反转的衣物相互摩擦或者与带有洗衣液的水相撞从而去除污渍。
离心力是指衣物随着水的旋转方向而逐渐离开中心,从而能使得衣物贴近桶壁。
2 总体方案设计2.1全自动洗衣机的工作流程(1)注入水,待水面达到一定高度的时候将停止注水,触发启动信号;(2)单片机收到启动信号之后,对单片机的I/O口进行分配,用I/O口的高低电平来控制电机。
此过程是用单片机控制电机的正反转,正反转时间相同,以达到除去污染物的功能;(3)应用定时器控制其工作时间,洗涤时间为30分钟;(4)当定时时间到了,可以停止洗涤了;(5)放水,启动放水电机;(6)此步骤为脱水过程,脱水过程就是让电机正转,定时5分钟;(7)脱水完成之后,将停止电机运作。
图2-1-12.2硬件组成硬件功能图图2-2-13 硬件电路设计各元件电路分析3.1 89C51单片机是本次设计的核心部分,通过对单片机进行编程,从而实现I/O口电平的高低变化,以此来控制要控制的对象;3.2 晶振电路单片机的工作需要时钟,而晶振电路是给单片机提供时钟的一个外部电路;图3-13.3 复位电路复位电路是当单片机运行时需要恢复至原始状态时而需要设计的电路,实际设计时,只需要给RESET一个10ms以上的高电平就可以实现复位了;图3-23.4 启动电路启动电路比较简单,给I/O口一个低电平即可动作;图3-33.5注水电路,放水电路如下图所示,单片机P1.2、P1.3口通过1K上拉电阻给8050NPN型三极管的基极供电,M1为供水电机,M2为放水电机;图3-43.6洗涤电机控制电路该部分电路可设计成两种电路,一种是控制直流电机,另一种是用直流电路控制交流电机。
1控制直流电机法图3-5该控制电路为控制直流电机法,这是一个典型的H桥电路,当P1.0输入高电平时,Q21导通,此时Q63的基极得到一个低电平,Q61截止,Q63导通。
P1.1输入低电平,Q22截止,Q60基极得到一个高电平,Q60导通,Q62截止,此时电机M10得到一个向左的电流,此时为反转,正转则反之。
此法简单容易控制,不过有缺点,因为受到三极管的耐压限制,只能运用于低压直流电机上,实际可靠性不高。
2 直流电流控制三相交流电动机法图3-6图3-7这种方法需要用到电气控制,用直流中间继电器控制交流接触器的线圈通断。
该部分分为两个电路,一个直流部分,一个交流部分。
直流部分见图3-6,交流部分见图3-7。
当P1.0口为高电平,Q20导通,KA1无电流通过,KM1不得电。
当P1.0为低电平,Q20截止,此时KA1线圈得电吸合,KA1常开闭合,KM1得电,此为正转,反转则控制P1.1口为0,P1.0为1。
经查证,该款直流中间继电器MY2NJ-DC24V额定电压220V AC,最大开关电压250V AC,线圈吸合电流为36.9mA,当Q20截止时,流过KA1上的电流I= 24V/250=96mA>36.9mA,所以是可以吸合的。
3.7警报电路当P1.4口输出一个低电平,Q34导通,此时蜂鸣器响起,触发警报,提示已经完成工作。
4 软件设计4.1 主程序流程图图4-1-1图4-1-1便是本次全自动洗衣机设计电路的主函数部分,总体思路比较简单。
对外部中断0的初始化和对定时器0的初始化。
首先是设置定时器0的工作方式,选定为工作方式1。
定时器工作方式1是16位定时器,有高八位和低八位。
选定为定时器,令D2位为0,GATE位为门控位,在本次设计中没用到,使之置0。
由图4-1-3可以知道,当M1=0,M0=1时,工作方式为1,于是应该使TMOD的值设定为0000 0001 B,即是01H。
图4-1-2图4-1-3第二步则是装初值。
装初值之前,必须要了解51单片机的计数/定时方法。
51单片机的定时器是从65536(假设是方式1)到0从高到低的顺序来进行计数定时的,于是TH0=(65536-要定时的时间)/256,TH0为高八位数据;同样可以得到低八位TL0=(65536-要定时的时间)%256。
第三步设置TCON。
因为要用到外部中断0,所以需要把外部中断0的触发方式选择一下。
IT0是选择外部中断0的触发方式位,当IT0=0时为电平触发方式,当IT0=1时为边沿触发方式。
一般常用的外部中断触发方式为边沿触发方式,即是IT0=1。
图4-1-4第四步是设置中断允许寄存器IE。
在主函数中,总共需要打开四个中断允许位,外部中断0中断允许位,定时器0中断允许位,总中断允许位。
需要做的只是让ET0=1,EX0=1,EA=1即可。
图4-1-5最后一步就是等待中断服务函数的到来,在C 语言中可以用while (1);来实现。
4.2 中断服务程序流程图触发外部中断0响应P1.2拉低,洗衣机注水打开定时器0,开始计时标志位是否为0计时50ms 后,触发定时器0中断响应是重装初值num 计数加1Num 是否为20是令num 为0,num1,num2,num4,num5,num6都加1标志位是否为1是否标志位是否为2标志位是否为3否否是是标志位是否为0否是注水电机打开,5min 后标志置1标志位是否为1否标志位是否为2标志位是否为3洗涤开始,驱动电机正反转,5S 一次正转,持续30min 后标志置2放水电机打开,放水完成后脱水,脱水完成标志置3洗涤完成,驱动蜂鸣器10S ,清空所有Num ,关闭定时器,标志清零是是是否否结束否否图4-2-1如图4-2-1所示,这是整个控制程序的中心部分,中断服务函数。
总共采用了两个中断源,一个是外部中断0,一个是定时器中断0。
总体思路是从按键中检测是否有按键按下,然后打开注水开关,而后打开定时器开始计时。
每隔50ms进入一次定时器中断。
以1s为基准,让50ms循环20次便得到1s,而后以1s为基准,需要定时多长的时候就直接可以使用1s基准。
注水完成之后便是洗涤过程,启动电机的正反转,持续30min,正转反转一次5s。
洗涤过程完成之后,打开放水电机,放水5min,放水完成之后脱水,脱水完成启动警报,结束。
程序详细运行过程:检测是否有键盘按下,如果有,则触发外部中断0,在外部中断0函数内部使P1.2输出低电平,打开注水电机,打开定时器0,开始计时。
直到5min后停止注水,标志位置1。
当标志位置1时,开始进行洗涤过程。
驱动电机正反转,正转置P1.1为1,反转置P1.0为0;反转置P1.1为0,P1.0为1。
正反转各五秒,一个周期为10秒,总共要持续30min,也即是需要循环180次。
当洗涤30min之后,应该令标志位置2。
当标志位为2时,放水电机打开,定时5min。
完成后进行脱水处理。
脱水处理的主要办法是令电机正转5min。
5min后标志位置3。
当标志位为3时,打开警铃,告知已经完成洗涤,响铃10s。
响铃完成之后,标志位清零。
所有数据复位,定时器关闭,回到主函数等待下一次中断响应。
4.3子函数流程图子函数比较简单,主要有注水电机的驱动程序,洗涤时正反转电机的驱动程序,放水电机的驱动程序,脱水时电机的驱动程序以及驱动蜂鸣器的程序。
这些子函数比较简单,都是进行一个I/O口的高低电平输出,然后用定时器进行延时。
在此处便不作流程图,子程序见附录。
5 总结本次设计相当来说比较简单,对单片机的控制要求不高,只是使用到了中断系统,定时器和几个I/O口,最难的是对硬件电路的设计。
硬件电路设计中最难搞的一点就是参数的选取,对于一个完整的电路图而已,要取得电路中的元件参数是难点。
对于不同的电压,要选取什么信号的三极管,其最大开关电流是多少,放在电路中会不会烧坏,电阻要选多少才能有效限流等等这些问题,都是一些初学者比较难以搞懂的东西。
尤其是交流控制直流那部分,一开始有些想不通,我曾经尝试过用一个NPN 型三极管当开关,在集电极处直接接交流负载(交流负载为一个电阻和一个交流接触器线圈串联,而且有24V AC供电),在交流电路和直流电流之间用一个电容连接。
(该电容是用来阻挡直流电进入交流电路的)后来觉得不妥,因为即使三极管基极输出高电平,集电极处该有低电平,但是,对于交流电而已,电容本身也是一个阻抗,而且电容一般是uF级别,非常小,从而得到的阻抗也不小,从而可能导致电容上分担了大部分电压,使通过线圈的电流并未减小到线圈释放的程度,从而无法关断电机。