基于51单片机的数字温度计的设计毕业设计.docx
- 文档编号:3853450
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:31
- 大小:414.51KB
基于51单片机的数字温度计的设计毕业设计.docx
《基于51单片机的数字温度计的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的数字温度计的设计毕业设计.docx(31页珍藏版)》请在冰豆网上搜索。
基于51单片机的数字温度计的设计毕业设计
数字测温计设计
摘要:
随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
在工业生产中温度是常用的被控参数,而采用单片机来对这些被控参数进行控制已成为当今的主流。
本文介绍了基于AT89S51单片机的测温系统,描述了利用DS18B20开发测温系统的过程,对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详实的分析,对各部分的电路也逐一进行了介绍,该系统灵活的实现了温度采集和显示,且可设定上下限报警温度,使用起来十分方便,适合于我们日常生活和生产中的温度测量,该系统结构相对简单,抗干扰能力较强,适合于不同环境下温度测量,有着广阔的应用前景。
关键词:
AT89S51单片机DS18B20温度测量
Abstract:
Withtheprogressanddevelopmentofera,microcontrollertechnologyhasbecomepopularinourlife,inthework,thescientificresearchandvariousfields,hasbecomearelativelymaturetechnology.Thetemperaturemeasurementmethodanddeviceofthehighlightsisveryimportant.Posedbythesinglechiptemperaturesensorandtemperaturemeasurementsystemcanbewidelyappliedinmanyfields.
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
3)其它
第1章绪论
1.1选题的目的和意义
1.1.1选题的目的
使用单片机AT89S51和DS18B20设计一个温度计,能够测量25~99℃之间的温度值,显示在LCD液晶屏上。
温度计的测量精度为0.1℃。
通过这次设计能够更加了解数字温度计的工作原理和熟悉单片机的发展和应用,巩固所学的知识。
1.1.2选题的意义
随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,温度传感器DS18B20具有性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。
又随着电子技术的发展,人们的生活日趋数字化,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本。
本课题研究的重要意义在于生产过程中随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数,就需要受制于现代信息基础的发展水平。
在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端产品,尤其是数字温度传感器技术,在我国各领域已经应用的非常广泛可以说是渗透到社会的每一个领域,与人民的生活和环境的温度息息相关。
第2章数字温度计的设计方案
2.1设计方案的确立及论证
基本功能要求:
(1)温度测量范围:
20~100度
(2)测量精度:
0.5度
(3)显示方式:
四位显示
(4)能够运用Protues仿真
扩展功能要求:
(1)做出实物并调试成功
(2)多点测试
(3)多点温度同时显示
2.1.1温度传感器DS18B20的选择
方案一:
水银温度计
在生活中我们经常看到水银温度计,它只能作为就地监督的仪表,用它来测量温度时,由于读数时用眼睛观察,主观因素大,容易造成误差大,而且不同是水银温度计量程不同,在读数前需要看清它的最小分度值,还有它有热惯性,需要等到温度计达到稳定状态后才能读数,比较麻烦,并且水银有毒,不小心打破后接触到水银,对人体伤害大,所以危险性较高。
方案二:
传统测温元件
传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,其缺点有:
硬件电路复杂;软件调试复杂;制作成本高。
方案三:
DS18B20传感器测温
本设计采用DS18B20作为检测元件
DS18B20可以直接读出被测温度值,特点是成本低,结构简单,便于使用。
所以本设计采用方案三,用DS18B20作为温度传感器。
2.1.2显示器的选择
数码管足以实现温度的显示,所以在本设计中采用数码管显示。
2.1.3单片机AT89S51的选择
对于单片机的选择,可以考虑使用8031与8051系列,由于8031没有内部RAM,系统又需要大量内存存储数据,因而不适用。
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电,因此选用AT89S51更适合。
按照系统设计功能的要求,确定系统由4个模块组成;主控制器、测温电路、显示电路。
数字温度计总体设计电路结构框图如图2-1所示:
图2-1系统框图
第3章系统硬件电路的设计
3.1主控制器
单片机AT89S51是低功耗,高性能CMOS8位单片机,片内含4kbytes的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程。
3.1.1AT89S51的介绍
AT89S51主要特性及引脚如下
●与MCS-51兼容
●4K字节可编程闪烁存储器
●全静态工作:
0Hz-24Hz
●三级程序存储器锁定
●128*8位内部RAM
●32可编程I/O线
●两个16位定时器/计数器
●5个中断源
●可编程串行通道
●低功耗的闲置和掉电模式
●片内振荡器和时钟电路图3-2AT89S51单片机引脚图
AT89S51单片机为40引脚双列直插式封装。
其引脚排列和逻辑符号如图3-2所示。
各引脚功能简单介绍如下:
●VCC:
供电电压
●GND:
接地
●P0口:
P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P0口的管脚写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
●P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入“1”后,电位被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
●P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚电位被内部上拉电阻拉高,且作为输入。
作为输入时,P2口的管脚电位被外部拉低,将输出电流,这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉的优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
●P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入时,由于外部下拉为低电平,P3口将输出电流(ILL),也是由于上拉的缘故。
P3口也可作为AT89S51的一些特殊功能口:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INT0(外部中断0)
P3.3INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6WR(外部数据存储器写选通)
P3.7RD(外部数据存储器读选通)
同时P3口同时为闪烁编程和编程校验接收一些控制信号。
●RST、ALE/PROG、PSEN、XTAL1、XTAL2:
等等笔者就不一一赘述,详细请参照相关资料。
3.1.2DS18B20的介绍
DS18B20数字温度传感器接线方便,耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
图3-3DS18B20的实物管脚分布图
DS18B20引脚及特点
(1)引脚功能说明
GND是地址信号;
DQ是数据输入/输出引脚,开漏单总线接口引脚,当被用在寄生电源下,也可以向器件提供电源;
VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
(2)DS18B20功能特点
1、采用单总线技术,只需一根I/O线,在一根线上能挂接多个DS18B20。
2、每个DS18B20具有一个特有的64位序列号,依据序列号访问地应的器件。
3、低压供电,电源范围从3.0~5.5V,可以本地供电,也可以直接从数据线窃取电源(寄生电源方式)。
4、测温范围为-55℃~+125℃,在-10℃~+85℃范围内误差为±0.5℃。
用户可自设定报警上下限温度。
5、报警搜索命令可识别和寻址超过程序限定温度(温度报警条件)的器件。
6、分辨率由用户设置为9~12位。
7、D将检测到温度值转化为数字量,与主控制器进行数据通信。
8、电源极性接反时,温度计不能正常工作。
DS18B20的内部结构
(1)64位激光ROM
每一个DS18B20包括一个唯一个64位长的ROM编码。
64位ROM的位结构如下图3-5所示。
开始的8位是单线产品系列编码(DS18B20编码是10h);接着的48位是每个器件唯一的系列号;最后的8位是开始56位CRC检验码。
64位ROM和ROM操作控制部分允许DS18B20作为一个单线器件工作并遵循“单线总线系统”一节中所详述的单线协议。
直到ROM操作协议被满足,DS18B20控制部分的功能是不可访问的。
MSBLSBMSBLSBMSBLSB
图3-564位ROM结构框图
(3)运用—报警信号
TH或TL的最高比较位对应于16位温度寄存器符号位。
若温度测量的结果低于TL或者高于TH,器件内告警标志将置位。
每次温度测量更新此标志。
只要告警标志置位,DS18B20将对告警搜索命令做出响应。
这允许并联接许多DS18B20,同时进行温度测量。
(4)CRC产生
DS18B20有一存贮在64位ROM的最高有效字节内的8位CRC。
总线上的主机可以根据64位ROM的前56位计算机CRC的值并把它与存贮在DS18B20内的值进行比较以决定ROM的数据是否已被主机正确地接收。
CRC的等效多项式函数为:
CRC=X8+X5+X4+1(公式3.1)
DS18B20也利用与上述相同的多项式函数产生一个8位CRC值并把此值提供给总线的主机以确认数据字节的传送。
当存贮在DS18B20内或由DS18B20计算得到的CRC值与总线主机产生的值不相符合时,在DS18B20内没有电路来阻住命令序列的继续执行。
(5)存贮器
DS18B20的存贮器由一个高速暂存(便笺式)RAM和一个非易失性、电可擦除EEPROM组成,后者存贮高温度和低温度触发器TH和TL。
暂存存贮器有助于在单线通信时确保数据的完整性。
数据首先写入暂存存贮器,在那里它可以被读回。
当数据被校验之后,复制暂存存贮器的命令把数据传送到非易失性EEPROM。
这一过程确保了更改存贮器时数据的完整性。
DS18B20的测温原理
如图3-11所示,图中低温度系数振荡器的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
图3-11DS18B20测温原理图
图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。
高温度系数振荡器决定计数门的开启时间,测量前,将-55℃所对应的基数分别置入减法计数器和温度寄存器中,减法计数器和温度寄存器被预置在-55℃所对应的基数值。
另外,DS18B20单线通信功能是分时完成的,所以读/写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
3.2单片机最小系统设计
单片机最小系统就是指能使单片机工作的最少的器件构成的系统。
因为单片机已经包含了数据存储器和程序存储器,所以只要在其外部加上时钟电路和复位电路就可以构成单片机最小系统。
3.2.1时钟电路
图3-12是时钟电路的PROTEUS仿真图。
图3-12时钟电路
单片机允许的振荡晶体可在1.2~24MHz之间选择,一般为11.0592MHz。
电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择,典型值位30pF。
3.2.2复位电路
计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,即复位状态。
图3-13是单片机复位电路仿真图。
图3-13复位电路
单片机RST引脚是高电平有效。
单片机在上电瞬间C1充电,RST引脚端引出正脉冲,只要RST端保持两个机械周期以上的高电平,单片机就能复位。
在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成复位状态。
当晶体振荡频率为12MHz时,RC的典型值为C=10μF,R=8.2KΩ。
3.2.3最小系统
图3-14是单片机最小系统的完整仿真图。
图3-14单片机最小系统
3.3DS18B20与单片机接口电路的设计
DS18B20可以采用两种供电方式:
一种是电源供电方式,另一种是寄生电源供电。
当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最长为500ms。
采用寄生电源供电方式时,VDD和GND端接地。
因为单线制只有一根线,所以发送接口必需是三态的。
3.4显示电路的设计
3.4.12.6.1LED数码管主要技术参数
数码管使用条件:
a、段及小数点上加限流电阻
b、使用电压:
段:
根据发光颜色决定; 小数点:
根据发光颜色决定
c、使用电流:
静态:
总电流80mA(每段10mA);动态:
平均电流4-5mA 峰值电流100mA
上图是七段数码管引脚图,其中共阳极数码管的引脚图和共阴极的是一模一样的,4位数码管的引脚图数码管的使用注意说明:
(1)数码管表面不要用手触摸,不要用手去弄引角;
(2)焊接温度:
260度;焊接时间:
5S
(3)表面有保护膜的产品,可以在使用前撕下来。
2.6.2LED数码管的引脚说明
分为共阳极与共阴极两种,
对于单个数码管,从正面看进去,以左下角那个脚为1脚,逆时针方向为110脚,左上角那个脚便是10脚了,上两个图的数字分别与这10个管脚对应。
注意,3脚和8脚是连通的,这两个都是公共脚。
另外常用的是四位数码管,内部的数码管共用a~dp这几根数据线,由于里面有4个数码管,加上a~dp,一共有12个引脚,下图是一个共阴四位数码管内部结构图(。
引脚排列依然是从左下角的那个脚(1脚)开始,以逆时针方向依次为1~12脚,下图中的数字与之一一对应。
图2-18位共阳数码管内部结构
2.6.3数码管编码说明
4位数码管编码说明,如4.5表所示:
表4.5控制命令表
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
e
d
dp
c
g
b
f
a
0
0
0
1
0
1
0
0
0
28H
1
1
1
1
0
1
0
1
1
EBH
2
0
0
1
1
0
0
1
0
32H
3
1
0
1
0
0
0
1
0
A2H
4
1
1
1
0
0
0
0
1
E1H
5
1
0
1
0
0
1
0
0
A4H
6
0
0
1
0
0
1
0
0
24H
7
1
1
1
0
1
0
1
0
EAH
8
0
0
1
0
0
0
0
0
20H
9
1
0
1
0
0
0
0
0
A0H
H
0
1
1
0
0
0
0
1
61H
L
0
0
1
1
0
0
0
1
3DH
-
1
1
1
1
0
1
1
1
F7H
C
0
0
1
1
1
1
0
0
3CH
第4章系统程序的设计
4.1系统设计内容
系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、测量序列号子程序、显示数据刷新子程序等。
4.1.1主程序
主程序主要功能是负责温度的实时显示、读出处理DS18B20的测量温度值。
主程序流程图如图4-1所示:
图4-1主程序流程图
4.1.2读出温度子程序
读出温度子程序的主要功能是读出RAM中的9字节。
在读出时须进行CRC校验,校验有错时不进行温度数据的改写。
读出温度子程序流程图如图4-2所示:
图4-2读出温度子程序流程图
4.1.3温度转换命令子程序
温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时,转换时间约为750ms。
在本程序设计中,采用1s显示程序延时法等待转换的完成。
温度转换命令子程序流程图如图4-3所示:
图4-3温度转换命令子程序流程图
4.1.4计算温度子程序
计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。
计算温度子程序流程图如图4-4所示:
图4-4计算温度子程序流程图
4.1.5温度数据的计算处理方法
从DS18B20读取出的二进制值必须转换成十进制值,才能用于字符的显示。
DS18B20的转换精度为9~12位,为了提高精度采用12位。
在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。
通过观察表4-1可以发现,一个十进制与二进制间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一字节,这个字节的二进制化为十进制后,就是温度值的百、十、个位字节,所以二进制值范围是0~F,转换成十进制小数就是0.0625的倍数(0~15倍)。
这样需要4位的数码管来表示小数部分。
实际应用不必这么高的精度,采用1位数码管来显示小数,可以精确到0.1℃。
表4.5二进制与十进制的近似对应关系表
小数部分二进制值
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
十进制值
0
0
1
1
2
3
3
4
5
5
6
6
7
8
8
9
4.2源程序
4.2.1DS18B20的各条ROM命令
(1)ReadROM[33H]。
这条命令允许总线控制器独到DS18B20的8位系列编码、唯一的序列号和8位CRC码。
只要在总线上存在单只DS18B20时,才能使用该命令。
如果总线上有不止一个从机,则当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起形成相“与”的效果)。
(2)MatchROM[55H].这是一条匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线上定位一只特定的DS18B20.只有与64位ROM序列完全匹配的DS18B20才能响应随后的存储器操作.所有与64位ROM序列不匹配的从机都将等待复位脉冲.这条命令在总线上有单个或多个器件时都可以使用.
(3)SkipROM[0CCH].这条命令允许总线控制器不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下,可以节省时间.如果总线上不止一个从机,则在SkipROM命令之后跟着发一条读命令.由于多个从机同时传送信号,所以总线上就会发生数据冲突(漏极开路下拉效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 数字 温度计 设计 毕业设计