测温系统的设计大学毕业论文设计文档格式.docx

上传人:b****8 文档编号:22582855 上传时间:2023-02-04 格式:DOCX 页数:33 大小:779.13KB
下载 相关 举报
测温系统的设计大学毕业论文设计文档格式.docx_第1页
第1页 / 共33页
测温系统的设计大学毕业论文设计文档格式.docx_第2页
第2页 / 共33页
测温系统的设计大学毕业论文设计文档格式.docx_第3页
第3页 / 共33页
测温系统的设计大学毕业论文设计文档格式.docx_第4页
第4页 / 共33页
测温系统的设计大学毕业论文设计文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

测温系统的设计大学毕业论文设计文档格式.docx

《测温系统的设计大学毕业论文设计文档格式.docx》由会员分享,可在线阅读,更多相关《测温系统的设计大学毕业论文设计文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

测温系统的设计大学毕业论文设计文档格式.docx

2.2系统总体框图……………………………………………………………………………5

3系统硬件设计…………………………………………………………………………………6

3.189C51单片机……………………………………………………………………………6

3.2DS18B20芯片……………………………………………………………………………8

3.3单片机外围电路………………………………………………………………………11

3.4LED数码管显示电路…………………………………………………………………12

4系统软件设计………………………………………………………………………………14

4.1Proteus软件环境介绍…………………………………………………………14

4.2KeiluVision3软件环境介绍………………………………………………………14

4.3Protel软件环境介绍…………………………………………………………………15

4.4系统软件分析……………………………………………………………………………16

4.5程序流程图……………………………………………………………………………17

5系统调试过程……………………………………………………………………………19

5.1Protel电路调试…………………………………………………………………19

5.2KeiluVision3程序调试…………………………………………………………20

5.3Proteus的设计、绘制和仿真…………………………………………………20

5.4PCB的生成与布线…………………………………………………………………20

总结…………………………………………………………………………………………22

致谢…………………………………………………………………………………………23

参考文献……………………………………………………………………………………24

附录…………………………………………………………………………………25

附录1电路原理图…………………………………………………………………25

附录2程序代码…………………………………………………………………26

摘要

随着单片机的普及科技的进步,功能更强、可靠性更高、价格更低的单片机越来越被广泛用在工业控制,智能仪器仪表、办公室自动化、家用电器等诸多领域上。

本设计是基于89C51单片机为控制核心的测温系统设计。

系统采用了达拉斯美国Dallas半导体公司的DS18B20测温芯片构成了测温电路,实现了温度的测量。

在系统显示部分,采用了共阴的LED数码管构成了显示模块,此模块用于温度的显示信息。

本设计说明书对该系统的硬件电路,工作原理、软件设计进行了详细的介绍,给出了软件设计的流程图和主要源代码,经过仿真调试,达到设计功能要求。

关键词:

测温系统;

51单片机;

DS18B20;

测温传感器

1引言

1.1问题的提出

随着人类科技文明的发展,人们对于测温装置的要求在不断地提高。

传统的测温装置已不能满足当今很多方面的要求。

多功能、小体积、低功耗、快速性,是现代测温装置发展的趋势。

在这种趋势下,以单片机为控制核心,温度传感器为重要部分测温装置是当今的重要发展方向。

传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠习惯差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才由单片机处理。

本次采用DS18B20温度传感器来实现基于51单片机的数字温度计的设计。

该数字温度计利用DS18B20温度传感器及其接口电路完成温度的测量并转换成电压信号,经由数模转换器转换成单片机能够处理的数字信号,送到单片机进行处理变换,最后经过三极管的放大显示在共阴极数码管上。

系统以51单片机为控制核心,加上测温电路,AD数模转换器,6位温度数据显示数码管以及外围电源电路组成。

1.2任务与分析

任务分配:

本次课程设计,我们以组为单位,共同合作完成作业。

我们组有吴智敏、王桃、舒树东、邱飞和赵秋云共五名同学。

整个设计过程中我们是这样分工的:

吴智敏负责使用Proteus和Keil3两个软件来仿真电路设计和程序编译工作;

王桃负责Protel原理图绘制;

舒树东负责PCB布线;

邱飞和吴智敏共同完成Proteus;

邱飞对LED数码管显示器的类型和连线进行分析;

赵秋云主要负责写说明书的编写。

在本次设计中,在DS18B20和热敏电阻的选取上听取了孙老师的意见和分析后,决定选择使用相对更为流行的智能化热敏传感器DS18B20,在程序设计方面也遇到了问题,大家一起讨论后及时改正并调试成功。

本次设计的系统的控制中心是AT89C51单片机。

首先,在Protel软件环境中进行硬件电路图的设计。

然后在Keil3软件环境中进行系统的软件编程,并进行程序源文件的修正和编译,生成hex文件。

此hex文件是硬件电路运行实现的源代码来源。

把hex文件加载到AT89C51单片机芯片,然后在Proteus软件环境中模拟仿真,测温装置的温度正常显示。

本设计的系统主要由:

AT89C51为中央处理芯片,用于数据处理,初值设定。

温度传感器DS18B20是本例的另一核心模块,由它作温度传感器,提供温度信息。

经单片机进行数据接受处理,再由通过对应IO口输出,最后LED数码管实时显示。

本系统可以分为以下5大模块:

(1)AT89C51模块:

用于数据处理,和外围的测温芯片通信,并控制信号传输过程,采集时间信息并予以处理。

(2)DS18B20模块:

用于测量温度,利用温度传感器及接口电路完成温度的测量并转换成模拟电压信号,经由数模转换器转换成单片机能够处理的数字信号。

利用DS18B20数字温度传感器可提高测量精度。

(3)RESPACK模块:

用于稳定电压,限制高电流。

(4)数码管显示模块:

显示模块采用普通的共阴6位LED数码管,此模块用于温度的实时信息显示。

(5)程序部分:

主要包括单片机控制测温芯片的接口程序(实现单片机和DS18B20芯片之间的数据传输过程)和数码管显示程序。

 

2系统方案设计

2.1系统设计方案

通过查阅相关资料,设计初期共有2个方案供我选择,分别是:

(1)采用89C51单片机,普通热敏电阻组成的测温系统;

(2)采用89C51单片机,DS18B20芯片组成的测温系统。

(1)采用89C51单片机组成的测温系统:

此系统的硬件部分主要是由89C51单片机,0809芯片,热敏电阻所组成。

经热敏电阻感应出模拟电压信号,进行A/D转换后,可以用单片机进行数据的处理,在显示电路上就可以将温度显示出来,而这需要比较多的外部的硬件的支持,硬件电路复杂(需要用到A/D转换电路,感温电路),软件调试相对复杂,制作成本也很高。

所以这个设计理论不符合这次我们对产品的要求,应继续来考虑另一可行方案。

(2)采用89C51单片,DS18B20芯片组成的测温系统:

此方案在硬件部分主要采用了89C51单片机,DS18B20芯片,LED显示器。

该系统的最大特点是采用了相对智能化的芯片即DS18B20。

在自身功能上进行了扩充,加上其单线制的使用,使得硬件连线显得较为简单。

同时在软件部分,程序显得层次分明。

我们综合讨论并请教孙老师分析后,确定设计采用第2方案。

2.2系统总体框图

图2-1系统总体框图

当程序启动后,程序进入初始化阶段。

温度传感器DS18B20把所感应处理测得的温度数据发送到AT89C51单片机上,经过51单片机进行数据处理,将温度在LED数码管上显示。

本系统显示器用6位共阴LED数码管以动态扫描法的方式实现。

检测范围-55摄氏度到+125摄氏度。

3系统硬件电路设计

硬件主要包含AT89C51单片机、DS18B20测温传感器、LED数码管显示器。

3.189C51单片机

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

图3-189C51单片机引脚图

89C51单片机与早期Intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用FlashROM替代了ROM/EPROM而已[3]。

89C51单片机内部结构如图所示。

图3-289C51单片机内部结构示意图

各引脚的功能如下:

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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)这是由于上拉的缘故。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次

有效。

但在访问外部数据存储器时,这两次有效的

信号将不出现。

保持低电平时,则在此期间CPU只访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;

端保持高电平时,则执行内部程序存储器中的程序。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

3.2DS18B20芯片

DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

(1)DS18B20的性能特点如下;

(2)独特的单线接口方式仅需要一个端口引脚进行通信;

(3)多个DS18B20可以并联在唯一的三线上,实现多点组网功能;

(4)无需外部器件;

(5)可通过数据线供电,电压范围:

3.0~5.5V;

(6)测温范围-55℃~+125℃,在-10~+85℃时精度为±

0.5℃;

(7)零待机功耗;

(8)温度以9或12位数字量读出;

(9)用户可定义的非易失性温度报警设置

(10)警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件

(11)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作,本次所用DS18B20采用3脚PR-35封装,其内部结构框图如图所示:

图3-3DS18B20内部结构框图

主机操作ROM的命令有五种,如表1所列

表3-1主机操作ROM的命令

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。

高速暂存RAM的结构为8字节的存储器,结构如图4所示。

图3-4DS18B20内部存储器和存储器的结构

前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。

第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。

DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。

当DS18B20接收到温度转换命令后,开始启动转换。

转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。

单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。

温度

值格式如下:

图3-5温度值格式

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;

如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

图中,S表示位。

对应的温度计算:

当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;

当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。

例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。

DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。

表2是部分温度值对应的二进制温度表示数据。

表3-2温度值对应的二进制位

DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>

TH或T<

TL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。

因此,可用多只DS18B20同时测量温度并进行告警搜索。

在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。

主机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。

如下图,为仿真电路中的AT89C51。

图3-6仿真电路中的AT89C51

3.3单片机外围电路

利用芯片内部振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出脉冲信号。

最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路,不论是HMOS还是CHMOS型单片机其并联谐振回路及参数相同。

振荡晶体选择12MHZ。

电容无严格要求,电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C1和C2可在20—100pF取值。

图3-7内部时钟电路

图3-8复位电路

3.4LED数码管显示电路

在单片机应用系统中使用LED显示块构成N位LED显示器。

N位LED显示器有N根位选线和8*N根段选线。

根据显示方式的不同,位选线和段选线的连接方法不同。

段选线控制字符选择,位选线控制显示位的暗、亮。

LED显示器有静态显示和动态显示两种方式。

(1)LED静态显示。

LED显示器工作在静态显示的方式下,共阴极或共阳极连接在一起接地或+5V;

每位段选线(a—dp)与一个8位并行口相连。

N为静态显示器要求有N*8根I/O接口线,占用I/O资源较多,所以在位选较多时往往采用动态显示方式。

(2)LED动态显示。

在多位LED显示时,为简化电路,降级成本,将所有位的选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别有相应的I/O接口线控制。

8位LED动态显示电路只需要两个8位I/O接口。

其中一个控制段选码,另一个控制位选。

由于所有位的选码皆有一个I/O控制。

因此,在每个瞬间,8位LED只能显示相同的字符,要想每位显示不同的字符,必须采用扫描显示方式。

即在每一瞬间只使某一位显示相应字符。

在此瞬间,段选控制I/O在该显示位送入选通电平,以保证该位显示相应字符。

如此轮流,使每位显示该位相应字符,并保持延时一段时间,以造成视觉暂留效果。

(3)LED显示器接口。

从LED显示器的显示原理可知,为了显示字母数字,必须转换成相应的段选码。

这种转换可以通过硬件译码器或软件进行译码。

硬件译码显示器接口:

BCD—7段十六进制译码驱动显示接口。

单片机应用系统中,通常要求LED显示器能显示十六进制及十进制带小数点的数。

因此在选择译码器时,要能够完成BCD码至十六进制的锁存、译码,并且具有驱动功能,否则就不采用软件译码接口。

软件译码显示接口。

由于单片机本身有较强的逻辑控制能力,采用软件译码并不复杂,而且软件译码逻辑可随意编程设定,不受硬件译码逻辑限制,采用软件译码还能简化硬件电路结构。

因此,在单片机应用系统中,使用最广的软件译码的显示接口。

下图为六位数码管仿真电路。

图3-9添加驱动电路的数码管显示电路

4系统软件设计

4.1Proteus软件环境介绍

本系统的硬件设计首先是在Proteus软件环境中仿真实现的。

Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互动的。

针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。

如果有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。

Proteus建立了完备的电子设计开发环境,尤其重要的是ProteusLite可以完全免费,也可以花微不足道的费用注册达到更好的效果。

Proteus是目前最好的模拟单片机外围器件的工具。

可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件...)。

在没有硬件的情况下,Proteus能像pspice仿真模拟/数字电路那样仿真MCU及外围电路。

另外,即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。

Proteus软件主要具有以下几个方面的特点:

(1)设计和仿真软件Proteus是一个很有用的工具,它可以帮助学生和专业人士提高他们的模拟和数字电路的设计能力。

(2)它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。

(3)它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。

(4)它可以仿真目前流行的单片机,如PICS,ATMEL-AVR,MOTOROLA,8051等。

(5)在设计综合性方案中,还可以利用ARES开发印制电路板。

4.2KeiluVision3软件环境的介绍

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。

Keil公司由两家私人公司联合运营,分别是德国慕尼黑的KeilElektronikGmbH和美国德克萨斯的KeilSoftwareInc。

Keil公司制造和销售种类广泛的开发工具,包括ANSIC编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-timekernel)。

有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。

其KeilC51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变种。

Keil公司在2007年被ARM公司收购。

其两家公司分别更名为ARMGermanyGmbH和ARMInc和。

Keil公司首席执行官ReinhardKeil表示:

“作为ARMConnectedCommunity中的一员,Keil和ARM保持着长期的良好关系。

通过这次收购,我们将能更好地向高速发展的32位微控制器市场提供完整的解决方案,同时继续在uVision环境下支持我们的8051和C16x编译器。

C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1