第四章 软件模块电路设计
4.1 设计总体思路
本设计采用51单片机系统固件,基于keil uVision4开发环境,使用C语言编写程序[9]。程序需要实现以下需求: 1、一般热水壶都具有的烧开水功能。
2、指定温度加热冷水。切换模式后,按下加或减按键调节需要设定的温度,到水温到达指定温度后热水壶自动断电。
3、LM016L液晶显示屏上显示即时温度、设定温度以及工作模式。 4.2 烧开水功能设计特点
由于不同的地域气压差异,当温度达到100度时,水不一定能烧开,甚至在海拔较高的地区水不能加热到100度。于是本设计中相应的在温度控制模块中采用周期性采样温度的方式,每10s保存一次温度值,通过每次的采样进行比较进而寻找水温的最大值,如果没有更大的水温值,则水达到沸点,若温度稳定持续超过3分钟,并且水温超过80度,此时可判断水烧开了,随后热水壶自动断开电源。程序执行采用定时器中断方式,提高了系统的响应速度[10]。 4.3 控制程序工作流图
根据设计的思路和目标功能,确立了软件的工作流图。控制程序工作流图如图4-1所示。
10
图4-1 控制程序工作流图
4.4 系统主程序
系统主程序代码详见附录2。
11
第5章 系统测试
5.1 硬件部分测试
本设计首先在Protel Altium Designer Summer 09软件上绘制出原理图,并且完成PCB的设计,之后送至电路板制版工厂完成主控双面电路板的制作,自行动手完成元器件的焊接和测试。焊接过程需要谨慎认真的态度,先焊好主控芯片,最后焊接其它元器件,焊接结束后用万用表欧姆