四川师范大学成都学院电子工程系课程设计报告
佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图11所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,
其电路如图11所示:
图11 复位电路
2.6蜂鸣器模块设计
本设计控制由一个蜂鸣器和一个三极管组成。通过单片机输出高低电平实现对三极管的控制,从而达到控制蜂鸣器的作用。当单片机的p30口输出高电平时,三极管导通,p30口输出为低电平时三极管不导通。电路如图12所示。
图12 蜂鸣器电路
9
四川师范大学成都学院电子工程系课程设计报告
3.系统软件设计
3.1 系统软件结构
在硬件构建了智能洗衣机系统的基本功能之后,软件所需实现的功能主要是针对系统功能的实现及数据的处理和应用。系统软件需要实现信号控制、信号采集、信号处理。
本设计以单片机STC89C52作为主控制器,整个系统软件设计均采用C语言实现。整个系统软件由主程序、温度采集程序、时间读写程序、显示程序与控制程序等几个主要部分。
3.2 主程序流程图
主程序是单片机程序的主体,整个单片机系统软件的功能实现都是在其中完成的。主程序包括时间处理程序、电机控制程序、显示程序、数据采集四部分。主程序流程图如图13所示。
开始 初始化系统时钟 各模块初始化 时间处理程序 数据采集 电机控制程序 显示程序
结束 图13 主程序流程图
10
四川师范大学成都学院电子工程系课程设计报告
3.3 控制程序流程图
操作控制程序分为时间校正程序和电机控制程序两部分。电机控制程序为按键控制程序。电机控制程序是整个程序的核心部分。电机控制程序流程图如图14所示。
开机 设工作时间和水量 开始洗涤 正转 25秒 停止 10秒 反转 15秒 停止 10秒 否 定时时间是否到了? 是 电机停止,排水,蜂鸣器响,提醒用户 否 是否脱水? 等待关机 是 设定脱水时间 开始脱水 定时时间到,电机停止,蜂鸣器响,提醒用户 停机 图14 风扇控制程序流程图
11
四川师范大学成都学院电子工程系课程设计报告
当用户打开洗衣机时,设定好洗涤时间和水量,按开始键,洗衣机开始运行。电机在一定的时间内正转和反转。当洗涤时间达到用户所设定的时间时,电机停止,排水,蜂鸣器响,提醒用户。若用户选择脱水,并设定好时间后,洗衣机开始脱水。若用户不选择脱水,则等待关机。
4.系统调试
系统调试由硬件调试和软件调试组成。硬件调试包括静态调试、断电检查、通电检查、联机检查、动态调试。软件调试基本方法先独立后联机、先分块后组合、先单步后连。常见的软件错误类型有程序失控、不响应中断错误、循环响应中断错误、输入输出错误、结果不正确。
4.1 测试环境及工具
测试温度环境:25-40摄氏度。 测试电机速度:用直流电机模拟。
测试仪器及软件:数字万用表,keil4,proteus等。
4.2 硬件调试
断电检查:在系统断电的情况下,对照原理图和PCB检查元器件焊接是否正确。检查无误后,用万用表检查电路中有无短路断路现象。
通电检查:给系统上电后,用万用表检测各点电压电流是否符合设计要求。电机调速电路中A接VCC、B接地或B接VCC、A接地,检测电风扇是否可以正转或反转。
4.3 软件调试
整个程序包括主程序、水位采集程序、时间读写程序、显示程序与控制程序。针对这些模块程序我们首先调试的是显示程序,再调的水位采集程序、时间读写程序,最后调的控制程序。一旦显示程序调试好了,就可以通过这个窗口观察程序内部数据和状态了。
整个程序的调试主要是控制程序的调试,显示程序、水位采集程序、时间读写程序的调试,我们直接移植了51单片机的程序。移植过程主要修改了端口的读写和一些延时函数保证端口的正确读写和读写操作时序正确。
控制程序的调试过程中首先调试电机的手动控制,再调试电机的自动控制、最后定时功能。在调试过程中我们碰到了一些问题。如在调试自动控制时,我们发现电机
12
四川师范大学成都学院电子工程系课程设计报告
进入自动调速模式后不能通过电机按键关闭,只有退出该模式才能启动按键关闭。
13