基于51单片机水温控制系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于51单片机水温控制系统

1.引言

科技是社会发展的中流砥柱,而近几年比较热门的电子技术更是被广泛应用于各行各业。电子技术衍生的电子产业更是如火如荼,蓬勃发展的电子产业日益趋向智能化、信息化。2.总体设计

控制器采用单片机STC89C51,温度传感器采用DS18B20,显示采用4位LED数码管,报警控制器采用有缘蜂鸣器、LED灯实现,按键用来设定报警上下限温度并将设置好的值保存在STC89C51的EEPROM中(具有掉电保护功能)。当实测温度值小于设定的温度下限值时系统开启继电器间接控制接在继电器常开端上的加热棒,继电器一开启热得棒就开始工作,继电器关闭热得棒也随着停止工作。本设计的具体的系统方案如图1所示。

图1 系统方案如图

图2 程序流程图

3.软件部分

3.1 程序设计

void main()是程序的主函数,用于构建框架。程序的开头一般用于初始化和赋值变量,正常的程序运行一次后便结束了,但我们需要不断地运行来检验结果,所以在初始化后加入了死循环,使程序持续运行。主函数在整个主程序的设计中最好放适量的代码,避免过多。具体的代码是用函数进行封装然后在主函数进行调用。程序流程图如图2所示。

3.2 软件使用

系统软件测试KEIL软件是单片机编程的一款常用软件,创建空白文件编程编译调试生成HEX文件.随后下载到单片机中,下载器选用PL2303。观察系统运行的状态,进而进行反复的修改调试程序,得到一个较为完善的程序。在系统软件调试过程中遇到以下几个问题:(1)数码管没有正常显示出现了闪烁现象。

解决方法:闪烁的原因为每一位显示延时间期过短使得显示频率过快,导致人眼生物极限无法看清超速的显示,只需要调整延时函数就可以显示正常。

(2)EEPROM存储错误。

解决方法:一开始的时候在读写数据前都没有做任何的操作,本以为这样就可以完成数据的

存储,但是并没有想的那样,在读与的时候出现与进去的和读出来的并没有相同,后通过查阅资料得知,STC单片机内部的EEPROM在写入数据之前心须擦除扇区,否则写入的数据就是和本身的数据进行相与的结果,而在程序上添加了在写入数据之前加上擦除扇区后,数据存储正常。

4.结论

基于51单片机水温控制系统,以STC89C51单片机为主控芯片,采用数字型防水温度传感器DS18B20制作温度检测报警器,实现水温的检测以及控制的基本功能,设计简单,方便实现,具有实际效应,对未来产品的推广以及人们生活的发展具有很大帮助及意义。

相关文档
最新文档