简单洗衣机控制基于单片机
基于单片机的全自动洗衣机控制系统毕业设计论文

基于单片机的全自动洗衣机控制系统毕业设计论文基于单片机的洗衣机控制系统设计摘要单片机是计算机家庭的一个重要分支,它具有体积小、价格低、面向控制的特点,适用于各种工业控制、仪器仪表装置,在人类生产和生活的各个领域都有极为广泛应用。
本洗衣机控制系统,采用目前常用的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显示屏上显示过程代码。
在运行的时候能显示完成整个过程的剩余时间。
基于单片机的全自动洗衣机控制系统设计

基于单片机的全自动洗衣机控制系统设计
本文基于单片机技术,设计了一种全自动洗衣机控制系统。
该系
统采用了微控制器作为主控芯片,利用多种传感器对洗衣机的运行状
态进行监控和反馈,并采用液晶显示屏和按键操作界面,实现了对洗
衣机的全面控制和调节。
首先,本文介绍了洗衣机控制系统的设计原则和功能要求。
针对
用户需求,系统应该具备自动化操作、清洗效果稳定、耗能低等特点。
为达到这些要求,设计人员利用已有的电子和机械技术,创新性地将
控制系统进行了完善和优化,使其在技术和应用水平上均能满足用户
的需求。
其次,本文阐述了洗衣机控制系统的硬件实现方案。
主要涵盖了
微控制器的选型、传感器的选择与应用、负载驱动模块的设计等方面,全面展示了整个控制系统的结构和工作原理。
接着介绍了系统关键部
件的详细设计方案,包括自动化程序的设计、数据采集与处理的方法、通信协议的制定等,为系统的良好运行提供了坚实的技术保障。
最后,本文对系统的实验结果进行了分析和评测。
从洗衣机的功耗、清洗效果、安全性、用户友好性等多个维度对系统进行了考核和
评估,并得出了较为准确和权威的测试结论。
结果表明,本文设计的
洗衣机控制系统在自动化程度、清洗效果、耗能等方面均优于传统洗
衣机,可以达到用户期望的高度。
综上所述,本文基于单片机技术,设计了一种全自动洗衣机控制
系统。
具备自动化操作、清洗效果稳定、耗能低等特点,具有广阔的
应用前景和市场潜力。
本文的成果对洗衣机的自动化控制技术和应用
研究具有一定的启发和参考价值。
基于51单片机的智能洗衣控制系统设计

基于51单片机的智能洗衣控制系统设计1. 引言智能家居技术的发展为我们的生活带来了诸多便利,其中智能洗衣控制系统是其中的一项重要应用。
本文旨在基于51单片机设计一种智能洗衣控制系统,通过对洗衣机的控制和监测,提高洗衣质量和用户体验。
2. 智能洗衣控制系统设计原理2.1 51单片机介绍51单片机是一种常用的微控制器,具有体积小、功耗低、易于编程等特点。
在本设计中,我们选择51单片机作为主要的控制器。
2.2 智能洗衣系统功能需求智能洗衣系统应具备以下功能需求:2.2.1 温度控制:根据用户设定的温度要求,自动调节水温。
2.2.2 洗涤程序选择:根据用户选择不同类型的布料和污渍程度,自动调节洗涤程序。
2.2.3 水位监测:通过传感器实时监测水位情况,并根据需要自动添加或排放水量。
2.2.4 电机驱动:通过电机驱动实现转筒运转、排放水等功能。
...3 实验结果与分析在实际实验中,我们成功地实现了基于51单片机的智能洗衣控制系统,并进行了多组洗衣实验。
通过对洗衣机的控制和监测,系统能够根据用户设定的要求进行智能化的洗涤操作,并在完成后自动停止。
4 总结与展望通过本次研究,我们成功地设计并实现了一种基于51单片机的智能洗衣控制系统。
该系统具备温度控制、洗涤程序选择、水位监测和电机驱动等功能,能够提高洗衣质量和用户体验。
然而,目前该系统还存在一些局限性,如对于特殊布料和污渍处理不够精细等。
未来工作可以进一步优化系统设计,并结合更多的传感器和算法来提高智能化程度。
5 致谢本次研究得到了指导教师的悉心指导与帮助,在此向他们表示诚挚的感谢。
同时也感谢参与本研究工作并提供支持与帮助的各位同学们。
6 附录附录中包含了本次研究中使用到的关键代码、电路图、数据表格等详细信息,以供读者参考。
通过对基于51单片机的智能洗衣控制系统的设计,本文详细介绍了系统的原理、功能需求、硬件设计和软件设计等方面。
通过实验验证了系统的可行性,并对实验结果进行了分析。
基于单片机的洗衣机的控制系统设计

基于单片机的洗衣机的控制系统设计一、洗衣机控制系统的功能需求分析洗衣机的主要功能是对衣物进行洗涤、漂洗和脱水。
为了实现这些功能,控制系统需要具备以下几个方面的能力:1、洗涤模式选择:用户能够根据衣物的材质和脏污程度选择不同的洗涤模式,如标准洗、快速洗、强力洗等。
2、水位控制:根据衣物的数量自动或手动选择合适的水位,以达到节约用水和提高洗涤效果的目的。
3、洗涤时间控制:不同的洗涤模式对应不同的洗涤时间,控制系统需要准确地控制洗涤过程的时间。
4、转速控制:在脱水阶段,需要根据衣物的重量和材质控制电机的转速,以确保脱水效果和保护衣物。
5、故障检测与报警:能够检测洗衣机运行过程中的故障,如电机过载、水位异常等,并及时发出报警信号。
二、硬件设计1、单片机选型选择一款适合洗衣机控制系统的单片机是至关重要的。
需要考虑单片机的性能、引脚数量、存储容量、价格等因素。
常见的单片机如STM32 系列、ATmega 系列等都可以满足需求。
2、传感器模块(1)水位传感器:用于检测洗衣机内的水位高度,常见的有压力式水位传感器和电容式水位传感器。
(2)衣物重量传感器:通过测量电机的负载来估算衣物的重量,从而为水位和洗涤时间的选择提供依据。
(3)转速传感器:用于检测电机的转速,以实现对脱水转速的精确控制。
3、电机驱动模块洗衣机的电机通常为交流电机或直流无刷电机,需要相应的驱动电路来控制电机的正反转、转速和启停。
可以使用专门的电机驱动芯片,如 L298N 等。
4、显示与按键模块为了方便用户操作和了解洗衣机的工作状态,需要设计显示模块和按键模块。
显示模块可以采用液晶显示屏(LCD)或数码管,按键模块可以采用薄膜按键或机械按键。
5、电源模块为整个控制系统提供稳定的电源,通常采用交流 220V 市电经过变压器降压、整流、滤波和稳压后得到所需的直流电源。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、传感器的校准、显示模块的初始化等。
《2024年基于单片机的全自动洗衣机系统设计》范文

《基于单片机的全自动洗衣机系统设计》篇一一、引言随着科技的进步和人们生活水平的提高,全自动洗衣机已成为现代家庭不可或缺的家电产品。
为了满足用户对洗衣设备的高效、便捷、智能化的需求,本文提出了一种基于单片机的全自动洗衣机系统设计。
该设计通过单片机控制,实现了洗衣过程的自动化、智能化,大大提高了洗衣效率,同时也方便了用户的使用。
二、系统设计概述本系统以单片机为核心控制器,通过控制电机、水位传感器、温度传感器、洗涤程序等模块,实现全自动洗衣功能。
系统设计包括硬件设计和软件设计两部分。
三、硬件设计1. 单片机控制器:本系统采用高性能的单片机作为控制器,负责整个系统的协调和控制。
2. 电机:电机是洗衣机的动力源,通过单片机的控制,实现洗衣桶的正反转和转速控制。
3. 水位传感器:水位传感器用于检测洗衣机内的水位,将水位信号转化为电信号,供单片机控制器使用。
4. 温度传感器:温度传感器用于检测洗涤水的温度,将温度信号转化为电信号,供单片机控制器根据洗涤程序调整水温。
5. 洗涤程序模块:洗涤程序模块包括浸泡、洗涤、漂洗、脱水等程序,通过单片机的控制,实现洗衣过程的自动化。
四、软件设计软件设计是本系统的关键部分,主要包括单片机的程序设计。
程序设计应满足以下要求:1. 操作简单:程序设计应简单易懂,方便用户操作。
2. 功能齐全:程序设计应包含浸泡、洗涤、漂洗、脱水等基本功能,同时可根据需要增加其他功能。
3. 智能化:程序设计应具有智能化特点,如自动检测水位、自动调节水温、自动控制洗涤时间等。
软件设计流程包括以下几个步骤:1. 初始化:系统上电后,单片机进行初始化设置,包括IO口配置、定时器配置等。
2. 输入控制:用户通过操作面板或遥控器输入洗涤程序、水位、水温等参数。
3. 程序控制:单片机根据用户输入的参数和洗涤程序,控制电机、水位传感器、温度传感器等模块,实现全自动洗衣。
4. 状态检测:单片机实时检测电机、水位传感器、温度传感器等模块的状态,根据检测结果调整洗涤程序和参数。
基于单片机的简易洗衣机控制系统毕业设计论文

江苏技术师范学院毕业设计(论文)题目:基于单片机的简易洗衣机控制系统设计基于单片机的简易洗衣机控制系统设计摘要基于全自动洗衣机的控制要求,鉴于实际的设计成本和操作演示的方便,本系统的设计从功能设计要求、硬件电路的设计论证、软件编译和调试三个方面描述了一个以AT89S52单片机为核心的全自动洗衣机控制系统。
硬件线路及控制程序的设计是该系统的重要组成部分。
硬件线路设计主要包括电源部分电路、单片机最小控制系统、洗衣机工作状态显示系统、电机转动电路及报警提示电路组成。
控制程序设计主要包括主程序、数码管显示子程序、电机及蜂鸣器驱动子程序、按键调节子程序。
关键字:AT89S52单片机;全自动洗衣机;数码管显示;洗衣机控制程序。
A control system with the SCMC as the core aboutfull-automatic washing machineAbstractAccording to the washing machine control requirements, a control system with the AT89S52 SCMC as the core about washing machines were described in the following three aspects of functional requirements, hardware design,software design.The hardware circuit diagram and related control flow chart of the program were given.Hardware circuit design, including power, function and control system, washing machine status display, output control circuit. Control program design includes the main program, the internal timer interrupt service routine, the design of the external interrupt service routine.Key words:AT89S52 SCMC;Washing machine;LED display; Washing machine control program目录第一章绪论 (3)第二章系统硬件方案设计 (4)2.1系统硬件设计要求 (4)2.2系统硬件框图设计 (5)2.3系统元器件选型及器件参数介绍 (5)2.3.1单片机选型 (5)2.3.2数码管驱动芯片选择 (7)2.3.3 LED数码管 (8)2.3.4 直流电机 (9)2.3.5 报警蜂鸣器 (9)2.4系统硬件电路设计 (6)2.4.1系统电源电路设计 (6)2.4.2系统主控电路设计 (7)2.4.3系统显示电路设计 (8)2.4.4系统电机控制电路设计 (9)2.4.5系统报警提示电路设计 (9)2.4.6按键设置电路设计 (10)2.5系统硬件电路图的绘制与PCB制作 (11)2.5.1 Protel99SE软件介绍 (11)2.5.2系统原理图与PCB的绘制 (11)第三章系统软件设计 (17)3.1 C语言介绍 (17)3.2 系统软件流程图 (18)3.2.1系统主程序流程图 (18)3.2.2统洗涤子程序流程图 (19)3.2.3系统定时及显示部分程序流程图 (20)第四章系统整体调试 (20)附录1系统整体电路图 (25)附录2系统设计PCB图 (26)附录3统部分源程序 (26)致谢 (31)第一章绪论随着科技的发展及人民生活水平的普遍提高,人民对智能家电的要求越来越高,洗衣机作为人们生活必不可少的家电之一已经由最初的传统机械旋转定时洗衣机发展到今天的全制动洗衣机,如何完善和提高洗衣机的智能化已是各国科技工作者竞相研究的课题。
基于单片机的全自动洗衣机自动控制系统

哈尔滨工业大学华德应用技术学院毕业设计(论文)摘要基于单片机的全自动洗衣机自动控制系统, 所有的电路都是在单片机的控制下工作的,目前通常采用的是Motorola公司的MC6805系列的单片机,而本设计中采用了AT89C51作为控制核心,以MCS-51为核心结合接口芯片及外围电路以实现洗衣机的智能控制。
其中通过整流和逆变等电路来控制单相异步电机的电路设计是关键环节。
桥式整流电路是使用最多的一种整流电路。
通过它可以将交流电整流成较稳定的直流电压。
逆变电路采用桥式可逆PWM变换器,由几个IGBT组成桥式逆变电路,通过有规律的控制开关管的导通和关断,输出频率和电压可控的交流电。
采用这种交-直-交电压型结构,可实现对异步电机的控制。
关键词单片机;全自动洗衣机;AT89C51;整流;逆变;IGBT;-I-哈尔滨工业大学华德应用技术学院毕业设计(论文)AbstractBased on monolithic integrated circuit's completely automatic washer automatic control system, all electric circuits are work under monolithic integrated circuit's control, what at present usually uses is Motorola Corporation's MC6805 series monolithic integrated circuit, but in this design used AT89C51 to take the control core, as the core union connection chip and the peripheral circuit realizes washer's intelligent control take MCS-51. And through electric circuits and so on rectification and inversion controls the single-phase asynchronous machine's circuit design is the key link. The bridge-type leveling circuit uses most one kind of leveling circuits. May become through it the alternating current rectification the stable DC voltage. The contravariant electric circuit uses the bridge-type reversible PWM converter, is composed the bridge-type contravariant electric circuit by several IGBT, through orderly control switching valve's breakover and shutdown, output frequency and voltage controllable alternating current. Uses this kind of junction - straight - alternating current profiling structure, may realize to asynchronous machine's control.Keywords Monolithic integrated circuit Completely automatic washer AT89C51 Rectification Inversion IGBT-II-哈尔滨工业大学华德应用技术学院毕业设计(论文)目录摘要 (I)Abstract ........................................................................................................................ I I 第1章绪论. (1)1.1 课题背景 (1)1.2 目的和意义 (2)1.3 系统设计思想 (2)第2章方案设计 (4)2.1 洗衣程序设计 (4)2.1.1 洗涤过程 (4)2.1.2 漂洗过程 (4)2.1.3 甩干过程 (4)2.1.4 进水、排水过程 (5)2.2 按键设计 (5)2.3 LED指示灯的设计 (5)2.4 单片机各I/O口的分配设计 (5)2.4.1 P0口 (5)2.4.2 P2口 (6)2.4.3 P3口 (6)2.5 电机控制电路设计 (7)2.6 电源模块 (8)2.7 本章小结 (8)第3章可行性分析 (9)3.1 经济可行性 (9)3.2 技术可行性 (9)3.3 本章小结 (9)第4章硬件设计 (10)4.1 系统结构框图 (10)4.2 单片机控制单元 (10)4.2.1 AT89C51概述 (10)4.2.2 水位传感器 (13)-III-哈尔滨工业大学华德应用技术学院毕业设计(论文)4.2.3 TLP521 2GB光电隔离开关 (14)4.2.4 蜂鸣器报警电路设计 (14)4.3 电动机控制单元 (15)4.3.1 桥式整流电路 (15)4.3.2 桥式可逆脉冲宽度调制(简称PWM)变换器电路 (16)4.3.3 单片机与电机控制电路的连接 (19)4.3.4 不控整流电路和PWM变换器电路的连接 (19)4.3.5 单相异步电动机的连接 (20)4.4 电源模块 (22)4.5 本章小结 (22)第5章软件设计 (23)5.1 软件程序设计 (23)5.1.1 总体程序设计 (23)5.1.2 PWM信号控制模块 (27)5.2 本章小结 (29)第6章调试 (30)6.1 硬件调试 (30)6.1.1 硬件调试环境 (30)6.1.2 硬件调试中出现的问题 (31)6.2 软件调试 (32)6.2.1 软件调试环境 (32)6.2.2 软件调试中出现的问题 (34)6.3 系统联调 (35)6.4 本章小结 (35)结论 (36)致谢 (37)参考文献 (38)附录1 (39)附录2 (41)-IV-哈尔滨工业大学华德应用技术学院毕业设计(论文)第1章绪论1.1课题背景从古到今,洗衣服都是一项难于逃避的家务劳动,而在洗衣机出现以前,对于许多人而言,它并不像田园诗描绘的那样充满乐趣,手搓、棒击、冲刷、甩打……这些不断重复的简单的体力劳动,留给人的感受常常是:辛苦劳累。
基于单片机的洗衣机智能控制系统方案

全自动洗衣机的设计一、设计要求洗衣机的洗涤原理是由模拟人工洗涤衣物发展而来的,即通过翻滚、摩擦、水的冲刷等机械作用以及洗涤剂的表面活化作用,将附着在衣物上的污垢除掉,以达到洗净衣物的目的。
全自动洗衣机是常见的家用电器。
它能够按照预设模式自动地完成衣物的洗涤、漂洗和脱水,也可以单独地进行洗涤、漂洗和脱水操作,这些过程一般按时间进行控制。
通常在给定的模式下,根据衣物多少允许用户设置不同的水位,当洗衣机启动后,上水电磁阀打开注水,当水到达设定的限位时,上水电磁阀断电,注水过程停止,启动电机,即可开始洗衣操作,为了提高洗衣效率,电机一般先正转若干秒,然后再反转若干秒。
另外,每个洗衣机都有容量限制,当洗衣量大于它的额定容量容量时,控制系统报警并且不启动。
本设计要实现的功能有:(1)用户参数的输入:用户根据衣物的数量和质地确定洗涤时间、漂洗次数、脱水时间,然后通过按键输入具体的参数。
(2)参数和时间的显示:灵活地运用数码显示管会带来许多方便,它可以用来显示用户实时所处的洗衣功能状态以及所剩时间。
(3)实时控制的实现:单片机在获取了用户输入的参数后,对其进行分析处理,然后按照计算结果对洗衣过程进行实时控制。
(4)水位检测的实现:水位的高低影响着整个洗衣过程的进行,因此需要水位检测器将水位的变化发送给单片机,单片机根据水位的情况确定下一步应该做什么。
(5)洗衣过程的实现:一般的洗衣过程包括注水、洗涤、漂洗、排水和脱水这些步骤。
在洗衣过程中,系统主要控制进水电磁阀、排水电磁阀的打开和关闭,电机的正转、反转和停止。
(6)洗衣完毕的通知:当洗衣过程结束后,蜂鸣器就报警通知用户洗衣完毕。
二、设计分析本设计在设计洗衣机的控制系统时,洗衣机通过控制系统设定洗衣程序,在内桶(洗涤脱水桶)自动完成注水、洗涤、漂洗、浸泡、排水和脱水全过程。
洗衣时,控制系统打开进水电磁阀,开始注水;当洗涤脱水桶内的水位达到系统设定值时,水位检测器向单片机发送一个低电平,通知控制系统关闭进水电磁阀,同时启动电机洗衣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.用单片机控制洗衣机通信1411 于波2.项目名称:项目九:洗衣机控制3.项目内容及要求;内容:设自动洗衣机的控制要求是:启动后先开启进水阀进水,水位到达设定值后关闭,然后波轮按正转5秒、反转5秒,正、反转之间停3秒的规律不断循环转动,直至达到设定时间停止,之后打开排水阀放水,水放完后洗衣桶旋转脱水,1分钟后停止并关闭排水阀,洗衣过程结束。
要求水位设置不少于高、中、低三档,洗衣时间在3——12分钟范围内可调,以1分钟为单位,排水时间定为1分钟。
运动执行器用指示灯模拟,水位用开关模拟,试设计该洗衣机的控制电路。
要求:1.画出控制系统的框图,说明系统方案设计的思路、理由或依据;2.选择、确定组成控制系统的各个单元,并阐述选择确定的原则或依据;3.画出完整的电气原理图,介绍整体电路的工作原理、性能或特点;4.如采用单片机控制,给出单片机程序的流程图和清单,说明程序的工作原理。
5.制作实物电路,验证设计、制作是否正确。
4.题目分析及设计思路;(弄清楚要完成设计的技术要点、关键是什么,有哪些需要注意的事项,可以采用哪些方法和手段,有哪些可用的方案或电路形式,等等。
)要完成本项目设计的技术要点是对洗衣机的整个运行流程深刻理解之后,再用程序将他表现出来,说以关键就在于程序的编写。
需要注意的是运动执行器是用指示灯模拟,水位用开关模拟,还要求水位设置不少于高、中、低三档,洗衣时间在3——12分钟范围内可调所以大概就要用到6个发光二极管和8个复位按键,因此就要对整个流程控制的逻辑顺序有个很好的设计。
对于程序的编写可以采用单片机或PLC(就目前所学而言),而对于这样一个简单的小程序就采用单片机即可。
5.方案设计说明;(在充分调研、思考的基础上确定电路方案并说明理由。
画出电路的系统框图,说明系统框图的原理。
)一开始看到这个题目我就打算使用单片机来完成本设计,因为单片机使用方便,只需一个最小系统即可,在宿舍就可完成对程序的编写和修改,而PLC价格昂贵且不能随时可用。
就本项目采用单片机而言需要一个单片机最小系统,思维数码管及驱动,一组LED和按键。
系统框图:通过对八个按键的操作,可对水位设置,洗衣时间设置,开始洗衣,水位确定。
四位数码管可显示水位的设置值,洗衣时间设置值,还有洗衣时间计时等。
六个LED有两个表示洗衣机波轮的正反转,两个进水和排水,一个脱水,一个洗衣指示灯。
通过编写程序实现单片机对按键,四位数码管和发光二极管的控制。
6.单元设计说明;(按项目的具体要求撰写,没有可不写。
)单片机最小系统:系统框图:最小系统电路图:MCU (AT89C51)复位电路时钟电路输入/输出设备电源7.完整电路原理分析;(按项目的具体要求撰写)通过单片机扫描水位设置按键和洗衣时间设置按键来设置水位和洗衣时间在四位数码管上显示设置的值和计时时间。
进水阀指示灯亮表示进水阀已打开,正转和反转指示灯亮表示洗衣机波轮的正转和反转。
脱水阀亮表示脱水阀已打开可以排水。
8.制作、调试情况;(如实介绍,重点介绍制作、调试过程中遇到的问题和解决问题的方法)在制作,调试中遇到了许多大大小小的问题,在这选一些较为重要的写出。
1.在焊接完单片机最小系统进行调试时指示灯不会亮,也不能下载程序,经过几番检查发现指示灯正负接反,单片机引脚焊点有虚焊点。
2.编写好程序进行调试时,四位数码管不能正常显示,经检查发现共阳的数码管使用了共阴的数码管编码。
3.在调试程序中,发现四位数码管显示较暗且有闪烁,经多次调试,将数码管显示程序写在定时器中断函数里,发现结果好多了。
4.在测试程序中发现按键不起作用,检查了程序和硬件电路发现按键连接的是地,而程序写的高电平接通。
改了下程序结果就出来了。
9.实训成果;(如实介绍实训成果的情况)八个按键从左到右的作用:按键1水位设置和洗衣时间设置切换选择,按键2和按键3是加减数值,按键4是启动,按键5按键6按键7按键8是表示水位的零水位和高中低水位。
10.心得体会:通过本次实训,收获颇多,感觉自己有进步了一点,许多东西只用大脑去想是不行的,理论可行但实际可不可行就不知道,这就需要实际动手操作了才知道,一开始看了这个项目觉得很简单,随便编写个程序就可以了,但实际坐下来就没有那么简单了,首先硬件电路焊接就出现许多问题,跟别说编写和调试程序就用了一个多星期。
不过实际做出来,感觉还是挺好的。
这也让我进一步了解了单片机的使用,掌握了一些运动控制的思路与方法。
11.附件:完整程序#include <reg51.h>#define uint unsigned int#define uchar unsigned charuchar gewei,shiwei;uchar xiyitime,num3;uchar shuiweizhi,shuiwei;uint num1,num2;sbit wei1=P1^0;sbit wei2=P1^1;sbit wei3=P1^2;sbit wei4=P1^3;sbit shuiwei0=P1^4; //sbit shuiwei1=P1^5; //低水位sbit shuiwei2=P1^6; //中水位sbit shuiwei3=P1^7; // 高水位sbit shezhi_key=P2^0;sbit qidong_key=P2^1;//sbit xiyi_key=P2^0;sbit up_key=P2^2;sbit down_key=P2^3;sbit shuifa=P2^4;sbit paishuifa=P2^5;sbit zhengzhuang=P2^6;sbit fanzhuang=P2^7;sbit tuoshui=P3^6;sbit zhishiled=P3^7;//此表为LED 的字模, 共阴数码管0-9 -unsigned char code segtab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //段码控制unsigned char code segtab1[]={0x40,0x4F,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //共阴0-9带小数点编码//延时X毫秒函数11.0592Mhz时void delay_xms(uint xms){uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}//延时X秒函数void delay_s(uint xs){uint x;for(x=xs;x>0;x--)delay_xms(1000);}//延时X分钟函数void delay_min(uint xmin){uint m,n;for(m=xmin;m>0;m--)for(n=60;n>0;n--)delay_s(1);}//取操作数的个十位void chuli(uint num){gewei=num%10;shiwei=(num/10)%10;}//按键扫描函数void keysaomiao(){uchar jianzhi;if(shezhi_key==0){delay_xms(10);if(!shezhi_key){jianzhi++;if(jianzhi>2)jianzhi=1;while(!shezhi_key);}}if(jianzhi==1) //水位设置{if(up_key==0){delay_xms(10);if(up_key==0){shuiwei++;if(shuiwei>3){shuiwei=0;}while(!up_key);}}if(down_key==0){delay_xms(10);if(down_key==0){if(shuiwei<=0){shuiwei=3;}shuiwei--;while(!down_key);}}chuli(shuiwei);P0=segtab[gewei];wei1=0;delay_xms(5);wei1=1;P0=segtab[shiwei];wei2=0;delay_xms(5);wei2=1;P0=0xFE;wei3=0;delay_xms(5);wei3=1;P0=0x9C;wei4=0;delay_xms(5);wei4=1;}if(jianzhi==2){if(up_key==0){delay_xms(10);if(up_key==0){xiyitime++;if(xiyitime>12){xiyitime=3;}while(!up_key);}}if(down_key==0){delay_xms(10);if(down_key==0){xiyitime--;if(xiyitime<3){xiyitime=12;}while(!down_key);}}chuli(xiyitime);P0=segtab[gewei];wei1=0;delay_xms(5);wei1=1;P0=segtab[shiwei];wei2=0;delay_xms(5);wei2=1;P0=0xF7;wei3=0;delay_xms(5);wei3=1;P0=0xA3;wei4=0;delay_xms(5);wei4=1;}}//水位检测子函数void shuiweijiance(){if(shuiwei0==0){delay_xms(10);if(shuiwei0==0){shuiweizhi=0;while(!shuiwei0);}}if(shuiwei1==0){delay_xms(10);if(shuiwei1==0){shuiweizhi=1;while(!shuiwei1);}}if(shuiwei2==0){delay_xms(10);if(shuiwei2==0){shuiweizhi=2;while(!shuiwei2);}}if(shuiwei3==0){delay_xms(10);if(shuiwei3==0){shuiweizhi=3;while(!shuiwei3);}}}//初始化函数void init(){num2=60;num3=4;shuiweizhi=0;xiyitime=3;TMOD=0x01;//TH0=(65536-45872)/256;//11.0592M晶振//TL0=(65536-45872)%256;TH0 = 0xB1;//12M晶振TL0 = 0xE0;EA=1;ET0=1;}/************主函数**********************/void main(){uint i,j;init();P0=0xbf;wei1=0;wei2=0;wei3=0;wei4=0;while(qidong_key){keysaomiao();//水位和洗衣时间设置}num3=xiyitime-1;if(qidong_key==0){delay_xms(10);if(qidong_key==0)//启动键按下{shuifa=0; //开进水阀进水while(shuiwei!=shuiweizhi)//检测是否到达设定水位{shuiweijiance();chuli(shuiweizhi);P0=segtab[gewei];wei1=0;delay_xms(5);wei1=1;P0=segtab[shiwei];wei2=0;delay_xms(5);wei2=1;delay_xms(5);chuli(shuiwei);P0=segtab[gewei];wei3=0;delay_xms(5);wei3=1;P0=segtab[shiwei];wei4=0;delay_xms(5);wei4=1;}while(i<100){i++;shuiweijiance();chuli(shuiweizhi);P0=segtab[gewei];wei1=0;delay_xms(5);wei1=1;P0=segtab[shiwei];wei2=0;delay_xms(5);wei2=1;delay_xms(5);chuli(shuiwei);P0=segtab[gewei];wei3=0;delay_xms(5);wei3=1;P0=segtab[shiwei];wei4=0;delay_xms(5);wei4=1;}delay_s(1);while(j<300){j++;chuli(shuiwei);P0=segtab[gewei];wei1=0;delay_xms(5);wei1=1;P0=segtab[shiwei];wei2=0;delay_xms(5);wei2=1;chuli(xiyitime);P0=segtab[gewei];wei3=0;delay_xms(5);wei3=1;P0=segtab[shiwei];wei4=0;delay_xms(5);wei4=1;}shuifa=1;zhishiled=0;TR0=1;while(!num3==0){if(num2>=59)zhengzhuang=0;if(num2==55)zhengzhuang=1;if(num2==52)fanzhuang=0;if(num2==46)fanzhuang=1;if(num2==42)zhengzhuang=0;if(num2==35)zhengzhuang=1;if(num2==30)fanzhuang=0;if(num2==23)fanzhuang=1;if(num2==19)zhengzhuang=0;if(num2==13)zhengzhuang=1;if(num2==9)fanzhuang=0;if(num2==3)fanzhuang=1;}TR0=0;zhengzhuang=1;fanzhuang=1;paishuifa=0;while(1){if(shuiwei0==0)delay_xms(10);if(shuiwei0==0){P0=0xbf;wei1=0;wei2=0;wei3=0;wei4=0;tuoshui=0;delay_min(1);tuoshui=1;paishuifa=1;P0=0;delay_s(2);zhishiled=1;break;}}}}}void zhongduangT0() interrupt 1{//TH0=(65536-45872)/256;//11.0592M晶振//TL0=(65536-45872)%256;TH0 = 0xB1;//12M晶振TL0 = 0xE0;num1++;if(num1>=50){num2--;num1=0;if(num2<=0){num2=59;num3--;if(num3==0){TR0=0;}}}chuli(num2);wei1=0;P0=segtab[gewei];delay_xms(4);wei1=1;wei2=0;P0=segtab[shiwei];delay_xms(4);wei2=1;chuli(num3);wei3=0;P0=segtab1[gewei];delay_xms(4);wei3=1;wei4=0;P0=segtab[shiwei];delay_xms(4);wei4=1;}。