基于51单片机的多路温度采集系统

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

基于单片机的多路温度采集系统

一、摘要:本设计利用单片机及Keil编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用Keil编程软件编程,用PROTEUS单片机仿真软件仿真。最后制作实物,将程序下载到单片机中,利用(I/O)口采集来自多路温度的数据,根据各路温度的不同,集中准确的显示出来,并且根据所设温度的上下限通过驱动蜂鸣器进行听觉上的报警,同时还可以通过LED灯协助进行视觉上的报警,从而达到多点温度的采集和报警的目的。以Keil编程软件和PROTEUS软件来进行仿真、分析,调试,为设计提供了一个方便、快捷的途径,为设计节约了设计时间。

关键词:AT89S52单片机温度采集报警

二、设计要求

1、检测的温度范围:0℃~100℃。

2、检测分辨率 0.1℃。

3、显示的多路的温度值不相互干扰,而且对各个传感器的所属温度都能进行报警。

三、硬件电路设计

1、系统的设计思路

本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用程序来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和LED进行报警。

2、系统总体设计方案

系统总体主要由对单片机进行编程后得到控制,系统的其他功能部件分别接至单片机的对应I/O口。整体模块如图:

3、主控制器

本次设计选择Atmel 公司生产的AT89C51作为控制芯片。AT89C51是高性能的CMOS8位单片机,片内含有4K bytes 的可反复擦写的只读程序存储器和128的随机存取数据存储器。AT89系列与MCS-51系列单片机相比有两大优势:第一,片内程序存储器采用闪速存储器,使程序的写入更加方便;第二,提供了更小尺寸的芯片,使整个电路体积更小。它以较小的体积、良好的性价比倍受青睐。51单片机管脚图:

单 片 机 系 统 报警电路

晶振.复位 多路温度传感器 LED 显示电路 报警电路 按键电路

4、温度采集电路

本系统采用DS18B20作温度采集器。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。硬件电路图如下:

5、温度显示电路

LED显示器的驱动是一个非常重要的环节,用来显示采集到的信号。显示电路由LED液晶屏、段驱动电路和位驱动电路组成。此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P1口驱动,实现动态显示。硬件电路图如下:

6、报警电路

此系统的报警电路采用两个LED和一个蜂鸣器来模拟实现,当所采集的四路温度

都处于安全温度范围内时D1和D2都不亮,当其中有任何一路温度低于安全稳定范围内时,D1亮而且蜂鸣器响。同理当其中有任何一路温度高于安全稳定范围内时,D2亮而且蜂鸣器响。

7、本系统的优点

(1)线路简单

DS18B20与单片机之间一根导线进行数据传输,不需要对数据进行转换,接线简单。

(2)温度测量准确

DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。(3)报警温度的范围可调

此系统的报警温度的范围是通过软件设定的,因此想要改变不需要任何硬件上的改变,只需要对程序进行简单的改变,非常方便。

四、总体硬件电路图

五、软件程序设计

由于在此次系统设计中,我主要进行硬件系统的设计,所以在软件程序设计方面参与较少。

程序见附录。

六、电路调试与故障排除

(1) 调试时主要用到的仪表是直流稳压电源和万用表,为了增加报警功能,使用了蜂鸣器,刚开始时直接把蜂鸣器接在单片机上,调试之后发现蜂鸣器不会响,后来经过检查发现是驱动电压过低,经过改进,我们使用了三极管放大,蜂鸣器可以正常工作。

(2) 接上电源后发现LED显示屏显示乱码,我们又仔细检查电路硬件,重新编写程序,又重新烧录,后来LED显示屏可以正常显示。

七、心得体会

单片机课程设计为其将近一个月,我受益匪浅。单片机课是上学期的内容,有很多知识点都遗忘了,所以在做此次课程设计的时候,又去翻阅以前的课本。通过此次课程设计,我对单片机有了更深刻的认识和理解。光有课本上的知识是不够的,一定要理论结合实践,在实践中把理论知识具体化,这样才能更好的掌握好知识。

刚开始以为这次课程设计的电路会比较简单,可是入手后还是感到无从下手。后来在每个阶段我都有不小的收获,熟练了在Proteus软件上设计仿真电路,掌握了书本以外的电子技术知识,培养了专心致志的工作学习习惯,可谓获益匪浅。在摸索该如何设计电路使之实现所需功能的过程中,培养了我的设计思维,增强了动手能力。在改进电路的过程中,我们共同探讨,最后的电路已经比初期设计有了很大提高。在让我们体会到了设计电路的艰辛的同时,也让我体会到成功的喜悦和快乐。

八、参考文献

[1] 张俊谟.单片机中级教程—原理与应用. 北京航天航空大学出版社

[2] 刘大茂.智能仪器与设计.国防工业出版社

[3] 谭浩强. C程序设计. 北京:清华大学出版社

[4] 李伯成. 微型计算机原理及应用技术. 西安电子科技大学

附录程序

#include

#include"lcd1602.h"

#include"ds18b20.h"

#include"ds18b20_2.h"

#include"ds18b20_3.h"

#include"ds18b20_4.h"

#define uchar unsigned char

#define uint unsigned int

#define TIMER0_COUNT 0xEE11

sbit SPK=P3^5;

sbit LED1=P3^6;

sbit LED2=P3^7;

bit flag;

uint wendu;

uint wendu1;

uint wendu2;

uint wendu3;

uchar count,timer0_tick,count=0;

相关文档
最新文档