测温系统的设计大学论文.docx

上传人:b****1 文档编号:2608058 上传时间:2023-05-04 格式:DOCX 页数:33 大小:773.91KB
下载 相关 举报
测温系统的设计大学论文.docx_第1页
第1页 / 共33页
测温系统的设计大学论文.docx_第2页
第2页 / 共33页
测温系统的设计大学论文.docx_第3页
第3页 / 共33页
测温系统的设计大学论文.docx_第4页
第4页 / 共33页
测温系统的设计大学论文.docx_第5页
第5页 / 共33页
测温系统的设计大学论文.docx_第6页
第6页 / 共33页
测温系统的设计大学论文.docx_第7页
第7页 / 共33页
测温系统的设计大学论文.docx_第8页
第8页 / 共33页
测温系统的设计大学论文.docx_第9页
第9页 / 共33页
测温系统的设计大学论文.docx_第10页
第10页 / 共33页
测温系统的设计大学论文.docx_第11页
第11页 / 共33页
测温系统的设计大学论文.docx_第12页
第12页 / 共33页
测温系统的设计大学论文.docx_第13页
第13页 / 共33页
测温系统的设计大学论文.docx_第14页
第14页 / 共33页
测温系统的设计大学论文.docx_第15页
第15页 / 共33页
测温系统的设计大学论文.docx_第16页
第16页 / 共33页
测温系统的设计大学论文.docx_第17页
第17页 / 共33页
测温系统的设计大学论文.docx_第18页
第18页 / 共33页
测温系统的设计大学论文.docx_第19页
第19页 / 共33页
测温系统的设计大学论文.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

测温系统的设计大学论文.docx

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

测温系统的设计大学论文.docx

测温系统的设计大学论文

交通与汽车工程学院

课程设计说明书

课程名称:

微机原理及应用课程设计

课程代码:

题目:

测温系统的设计

年级/专业/班:

学生姓名:

学  号:

开始时间:

2012年07月02日

完成时间:

2012年07月06日

课程设计成绩:

学习态度及平时成绩(30)

技术水平与实际能力(20)

创新(5)

说明书(计算书、图纸、分析报告)撰写质量(45)

总分(100)

指导教师签名:

年月日

摘要………………………………………………………………………………………………2

1引言……………………………………………………………………………………………3

1.1问题的提出……………………………………………………………………………3

1.2任务与分析……………………………………………………………………………3

2方案设计……………………………………………………………………………………5

2.1系统设计方案……………………………………………………………………………5

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系统总体框图

单片机

显示器

前端处理(AD转换)

温度传感器

扫描驱动

图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

因此,可用多只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

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2