基于51单片机的全自动洗衣机设计
4.2 洗涤程序的设计
洗涤是洗衣过程中的主要步骤。当进水结束后进入洗衣状态,洗衣开始,电动机正转-停止-反转一直循环,当洗衣时间等于零时,洗衣结束且进入漂洗。程序流程图如图4.2所示:
洗衣开始
电机正转 N 进入漂洗 电机停止 时间到 电机反转 电机停止 图4.2为洗涤流程图
4.3 漂洗程序的设计
漂洗是一个比较固定的洗衣方式,与洗涤过程操作相同,只是时间短一些。漂洗次数为三次。漂洗程序流程图如图4.3所示:
- 21 -
基于51单片机的全自动洗衣机设计
开始 漂洗灯亮 N 一次漂洗 二次漂洗 进入脱水 三次漂洗 漂洗完成 图4.3漂洗程序流程图 Y 漂洗灯灭 4.4 脱水程序的设计
脱水前先打开排水阀排水。然后启动电动机脱水并保持排水阀开启,然后停止脱水,并且蜂鸣器报警提醒用户洗衣完成。程序流程图如下图所示:
开始脱水 脱水结束 蜂鸣器报警 报警指灯亮 脱水结束 关闭电机 脱水灯亮 电机启动 图4.4 脱水程序流程图
- 22 -
基于51单片机的全自动洗衣机设计
第5章 调 试
在系统样机的组装和软件设计完成以后就进入系统的调试阶段。应用系统的调试步骤和方法是相同的,但具体细节与采用的开发系统(即仿真器)及选用的单片机型号有关。调试的过程就是软硬件的查错过程,分为硬件调试和软件调试。
5.1 硬件调试
单片机应用系统的硬件调试和软件调试是分不开的,但通常是先排除系统中明显的硬件故障后才和软件结合起来调试。在进行硬件调试时先进行静态调试,用万用表等工具在样机加电前根据原理图和装配图仔细检查线路核对元器件的型号、规格哈安装是否正确。然后加电检查各点电位是否正常。接下来再借助仿真器进行联机调试,分别测试扩展的RAM、I/O口、I/O设备、程序存储器以及晶振和复位电路并改正其中的错误。
第一步:在没通电之前先用万用表检查线路的正确性并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路并检查地址总线、数据总线、控制总线是否存在相互间的短路或其它信号线的短路。由于本系统的开发是基于曾经用过的单片机,所以此步骤不会发生故障。
第二步:通电后检查单片机I/O的电位,测量各点电位是否正常。尤其是应注意单片机输出口的各点电位。若有高压将有可能损坏外部仿真电路,同样如果电压过低就没有能力驱动负载。
第三步:将单片机信号输出接口与外部仿真电路接口连接起来,为软件调试做好准备。
在硬件的调试过程中常见的硬件故障有:
元器件失效:元器件失效的原因包括两个方面,一方面是器件本身已损坏另一方面是组装过程中造成元器件失效,当然在调试过程中,我们发现发光二极管接反,继电器损坏。
- 23 -
基于51单片机的全自动洗衣机设计
可靠性差:引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部的干扰、电源纹波系统过人、器件负载过大或热稳定性差等造成逻辑电平不稳定;另外,走线和布局的不合理等也会引起系统可靠性差。我们在调试的过程中发现单片机输出稳定的电压,但是硬件电路的发光二极管的亮度不一、时亮时不亮。经查证主要是由于元器件的引脚过长和弯曲造成的电路不够稳定、I/O输出口的高低电平没有明确
电源故障:电源故障包括电压值不符合设计要求,电源引出线和插座不对应,电源功率不足,负载能力差等。电压过高容易烧坏发光二极管,电压过低无法驱动负载。因此我们焊接了直流电源电路,使其输出稳定的电压。
5.2 软件调试
软件调试与所选用的软件结构和程序设计技术有关。如果采用模块化程序开发技术,则逐个模块调好以后,再进行系统程序总调试。调试子程序时,一定要求符合现场环境,即入口条件和出口状态。通过检测,可以发现程序中的死循环错误、机器码错误及转换地址错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中逐步调整用户系统的软件和硬件。
各程序模块调试好后,可以把相关的功能模块联合起来起进行整体综合调试。存储这个阶段若发生错误,可以考虑各子程序存储运行时是否存破坏现场,缓冲区数据是否发生变化,标志位的建立和清除是否影响其它标志位的变化,堆栈区的深度是否不够,输入设备的状态是否正常等。
5.3 系统调试结果
系统调试结果如下:
- 24 -
基于51单片机的全自动洗衣机设计
5.3.1 洗涤
图5.1为洗涤时的显示图
进入洗涤程序,相应的表示洗涤工作P1.1和电机工作P1.6的指示灯亮,由数码管显示洗涤所需时间,同时电机也会跟着进行正反转工作
5.3.2 漂洗
- 25 -