基于单片机的智能温度计的设计大学论文.docx
- 文档编号:628910
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:43
- 大小:791.86KB
基于单片机的智能温度计的设计大学论文.docx
《基于单片机的智能温度计的设计大学论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温度计的设计大学论文.docx(43页珍藏版)》请在冰豆网上搜索。
基于单片机的智能温度计的设计大学论文
摘要
随着时代的进步和发展,智能仪表已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与STC89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:
温度测量;DS18B20;STC89C51
1智能仪器仪表的简介
1.1智能仪器仪表简介
1.LCD1602液晶显示器
工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。
1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。
它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。
1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。
市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
2.蜂鸣器
蜂鸣器是一种一体化结构的电子讯响器,在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。
蜂鸣器采用直流电压供电,其能发出单调的或者某个固定频率的声音,如嘀嘀嘀,嘟嘟嘟等。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,通常在计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件使用。
3.DS18B20
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。
封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
4.STC89C51
STC89C51RC是采用8051核的ISP(InSystemProgramming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8KBytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。
STC89C51RC系列单片机是单时钟/机器周期(1T)的兼容8051内核单片机,是高速/低功耗的新一代8051单片机,全新的流水线/精简指令集结构,内部集成MAX810专用复位电路。
1.2智能仪器仪表的作用
1.LCD1602液晶显示器:
显示传感器当前所感受到的温度
2.蜂鸣器:
当当前温度超过或低于所固定温度时工作,即发出警报
3.STC89C51:
储存用户程序实现程序功能
4.DS18B20:
感受温度,用于获取温度
1.3本课题的背景和意义
2系统设计简介
2.1数字温度计简介
数字温度计可以准确的判断和测量温度,以数字显示,而非指针或水银显示。
故称数字温度计或数字温度表。
数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如LED,LCD或者电脑屏幕等显示出来给人观察。
这样就完成了数字温度计的基本测温功能。
2.2设计要求
1、利用温度传感器(DS18B20)测量所接触物体的温度。
2、测量范围在0℃~+50℃内可以随意规定,精度为±0.5℃。
3、测量温度由LCD1602液晶显示器直读显示。
4、超过规定范围发出警报。
2.3设计方案论证
根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示等功能。
选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:
温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED数码管以动态扫描法实现。
检测范围-55摄氏度到125摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:
主控制器、测温电路和显示电路。
本课题以是89C51单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等组成。
系统框图主要由主控制器、单片机复位、时钟振荡、LED显示、温度传感器组成。
数字温度计总体电路结构框图如图2.3所示。
图2.3数字温度计总体电路结构框图
3.系统硬件设计
3.1主控制器选择
图3-1STC89C51引脚图
3.2显示电路
显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用P0和P3口,串口的发送和接收,采用4位共阳LED数码管,,此处选择型号为7SEG-MPX4-CA红灯共阳数码管,从主控制器AT89C51芯片P0口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用74HC04六反相器。
如图所示:
图3-2显示电路
3.3温度传感器简介
由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。
这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。
图3-3DS18B20的测温原理图
3.4蜂鸣器模块电路
图3-4蜂鸣器原理图
3.5按键模块电路
图3-5按键模块原理图
3.6电源模块
图3-6电源模块原理图
4设计语言及软件介绍
4.1C51语言介绍
单片机C51语言是由C语言继承而来的。
和C语言不同的是,C51语言运行于单片机平台,而C语言则运行于普通的桌面平台。
C51语言具有C语言结构清晰的优点,便于学习,同时具有汇编语言的硬件操作能力。
对于具有C语言编程基础的读者,能够轻松地掌握单片机C51语言的程序设计。
单片机C51语言兼备高级语言与低级语言的优点。
语法结构和标准C语言基本一致,语言简洁,便于学习。
运行于单片机平台,支持的微处理器种类繁多,可移植性好。
对于兼容的8051系列单片机,只要将一个硬件型号下的程序稍加修改,甚至不加改变,就可移植到另一个不同型号的单片机中运行。
其具有高级语言的特点,尽量减少底层硬件寄存器的操作。
单片机C51语言提供了完备的数据类型、运算符及函数供使用。
C51语言是一种结构化程序设计语言,可以使用一对花括号“{}”将一系列语句组合成一个复合语句,程序结构清晰明了。
C51语言代码执行的效率方面十分接近汇编语言,且比汇编语言的程序易于理解,便于代码共享。
4.2keiluvision4软件介绍
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
2009年2月发布KeilμVision4,KeilμVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
5系统软件设计
5.1概述
5.2系统程序设计模块
系统程序主要包括主函数,LCD写指令子函数,LCD写数据子函数,LCD写字符串子函数,LCD初始化子函数,DS18B20复位子函数,DS18B20读数据子函数,DS18B20写数据子函数,读取温度值并转换子函数,显示温度子程序,设置报警值子程序和报警子程序等。
5.2.1主程序
主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的测量温度值。
温度测量每1s进行一次。
图5.2.1主程序流程图
5.2.2LCD写指令子函数
图5.2.2LCD写指令子函数流程图
5.2.3LCD写数据子函数
图5.2.3LCD写数据子函数流程图
5.2.4LCD写字符串子函数
图5.2.4LCD写字符串子函数流程图
5.2.5LCD初始化子函数
图5.2.5LCD初始化子函数流程图
5.2.6DS18B20复位子函数
图5.2.6DS18B20复位子函数流程图
5.2.7DS18B20读数据子函数
图5.2.7DS18B20读数据子函数流程图
5.2.8DS18B20写数据子函数
图5.2.8DS18B20写数据子函数流程图
5.2.9读取温度值并转换子函数
图5.2.9读取温度值并转换子函数流程图
5.2.10显示温度子函数
图5.2.10显示温度子函数流程图
5.2.11设置报警值子函数
图5.2.11设置报警值子函数流程图
5.2.12报警子程序
图5.2.3报警子程序图
5.3控制源程序
5.3.1C51程序
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitDQ=P3^7;//ds18b20与单片机连接口
unsignedcharcodestr1[]={"CurrentT="};
unsignedcharcodestr2[]={"H=38CL=16C"};
uchardatadisdata[5];
uinttvalue,CurrentT=0;//温度值
uchartflag;//温度正负标志
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温度计 设计 大学 论文