ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:779.13KB ,
资源ID:9446798      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9446798.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(测温系统的设计大学毕业论文设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、测温系统的设计大学毕业论文设计交通与汽车工程学院课程设计说明书课 程 名 称: 微机原理及应用课程设计 课 程 代 码: 题 目: 测温系统的设计 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 07 月 02 日完 成 时 间: 2012 年 07 月 06 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日摘要21引言31.1 问题的提出 31.2 任务与分析32 方案设计52.1 系统设计方案52.2 系统总体框图53 系统硬件设计63.1

2、89C51单片机63.2 DS18B20芯片83.3 单片机外围电路113.4 LED数码管显示电路124系统软件设计144.1 Proteus软件环境介绍144.2 Keil uVision3软件环境介绍144.3 Protel软件环境介绍154.4系统软件分析164.5程序流程图175 系统调试过程195.1 Protel电路调试195.2 Keil uVision3程序调试205.3 Proteus的设计、绘制和仿真205.4 PCB的生成与布线20总结22致谢23参考文献24附录25附录1 电路原理图25附录2 程序代码26摘 要随着单片机的普及科技的进步,功能更强、可靠性更高、价格更

3、低的单片机越来越被广泛用在工业控制,智能仪器仪表、办公室自动化、家用电器等诸多领域上。本设计是基于89C51单片机为控制核心的测温系统设计。系统采用了达拉斯美国Dallas半导体公司的DS18B20测温芯片构成了测温电路,实现了温度的测量。在系统显示部分,采用了共阴的LED数码管构成了显示模块,此模块用于温度的显示信息。本设计说明书对该系统的硬件电路,工作原理、软件设计进行了详细的介绍,给出了软件设计的流程图和主要源代码,经过仿真调试,达到设计功能要求。关键词:测温系统;51单片机; DS18B20;测温传感器 1 引 言 1.1 问题的提出 随着人类科技文明的发展,人们对于测温装置的要求在不

4、断地提高。传统的测温装置已不能满足当今很多方面的要求。多功能、小体积、低功耗、快速性,是现代测温装置发展的趋势。在这种趋势下,以单片机为控制核心,温度传感器为重要部分测温装置是当今的重要发展方向。传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠习惯差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才由单片机处理。本次采用DS18B20温度传感器来实现基于51单片机的数字温度计的设计。该数字温度计利用 DS18B20温度传感器及其接口电路完成温度的测量并转换成电压信号,经由数模转换器转换成单片机能够处理的数字信号,送到单片机进行处理变换,最后经过三极管的放大显示在共阴极数码

5、管上。系统以51单片机为控制核心,加上测温电路,AD数模转换器,6位温度数据显示数码管以及外围电源电路组成。1.2任务与分析 任务分配:本次课程设计,我们以组为单位,共同合作完成作业。我们组有吴智敏、王桃、舒树东、邱飞和赵秋云共五名同学。整个设计过程中我们是这样分工的:吴智敏负责使用Proteus和Keil3两个软件来仿真电路设计和程序编译工作;王桃负责Protel原理图绘制;舒树东负责PCB布线;邱飞和吴智敏共同完成Proteus;邱飞对LED数码管显示器的类型和连线进行分析;赵秋云主要负责写说明书的编写。在本次设计中,在DS18B20和热敏电阻的选取上听取了孙老师的意见和分析后,决定选择使

6、用相对更为流行的智能化热敏传感器DS18B20,在程序设计方面也遇到了问题,大家一起讨论后及时改正并调试成功。本次设计的系统的控制中心是AT89C51单片机。首先,在Protel软件环境中进行硬件电路图的设计。然后在Keil3软件环境中进行系统的软件编程,并进行程序源文件的修正和编译,生成hex文件。此hex文件是硬件电路运行实现的源代码来源。把hex文件加载到AT89C51单片机芯片,然后在Proteus软件环境中模拟仿真,测温装置的温度正常显示。 本设计的系统主要由:AT89C51为中央处理芯片,用于数据处理,初值设定。温度传感器DS18B20是本例的另一核心模块,由它作温度传感器,提供温

7、度信息。经单片机进行数据接受处理,再由通过对应IO口输出,最后LED数码管实时显示。本系统可以分为以下5大模块:(1)AT89C51模块:用于数据处理,和外围的测温芯片通信,并控制信号传输过程,采集时间信息并予以处理。(2)DS18B20模块:用于测量温度,利用温度传感器及接口电路完成温度的测量并转换成模拟电压信号,经由数模转换器转换成单片机能够处理的数字信号。利用DS18B20数字温度传感器可提高测量精度。(3) RESPACK模块:用于稳定电压,限制高电流。 (4)数码管显示模块:显示模块采用普通的共阴6位LED数码管,此模块用于温度的实时信息显示。(5)程序部分:主要包括单片机控制测温芯

8、片的接口程序(实现单片机和DS18B20芯片之间的数据传输过程)和数码管显示程序。2 系统方案设计2.1 系统设计方案通过查阅相关资料,设计初期共有2个方案供我选择,分别是:(1)采用89C51单片机,普通热敏电阻组成的测温系统;(2)采用89C51单片机,DS18B20芯片组成的测温系统。(1)采用89C51单片机组成的测温系统:此系统的硬件部分主要是由89C51单片机,0809芯片,热敏电阻所组成。经热敏电阻感应出模拟电压信号,进行A/D转换后,可以用单片机进行数据的处理,在显示电路上就可以将温度显示出来,而这需要比较多的外部的硬件的支持,硬件电路复杂(需要用到A/D转换电路,感温电路),

9、软件调试相对复杂,制作成本也很高。所以这个设计理论不符合这次我们对产品的要求,应继续来考虑另一可行方案。(2)采用89C51单片,DS18B20芯片组成的测温系统:此方案在硬件部分主要采用了89C51单片机,DS18B20芯片,LED显示器。该系统的最大特点是采用了相对智能化的芯片即DS18B20。在自身功能上进行了扩充,加上其单线制的使用,使得硬件连线显得较为简单。同时在软件部分,程序显得层次分明。我们综合讨论并请教孙老师分析后,确定设计采用第2方案。2.2 系统总体框图图2-1 系统总体框图 当程序启动后,程序进入初始化阶段。温度传感器DS18B20把所感应处理测得的温度数据发送到AT89

10、C51单片机上,经过51单片机进行数据处理,将温度在LED数码管上显示。本系统显示器用6位共阴LED数码管以动态扫描法的方式实现。检测范围-55摄氏度到+125摄氏度。3 系统硬件电路设计 硬件主要包含AT89C51单片机、DS18B20测温传感器、LED数码管显示器。3.1 89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只

11、读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图3-1 89C51单片机引脚图89C51单片机与早期Intel的8051/8751/8031芯片的外部引脚和指令系统完全兼容,只不过用Flash ROM 替代了ROM/EPROM而已3。89C51单片机内部结构如图所示。图3-2 89C51单片机内部结构示意图

12、各引脚的功能如下: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口作为第八位地址接收。

13、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”后,它们

14、被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是

15、ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的信号将不出现。 :当保持低电平时,则在此期间CPU只访问外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,则执行内部程序存储器中的程序。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.2 DS18B20芯

16、片DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。(1)DS18B20 的性能特点如下;(2)独特的单线接口方式仅需要一个端口引脚进行通信;(3)多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(4)无需外部器件;(5)可通过数据线供电,电压范围:3.05.5V;(6) 测温范围55125,在-10+85时精度为0.5;(7) 零待机功耗;(8)温度以9或12位数字量读出;(9)用户可定义的非易失性温度报警设置(10)警搜索命令

17、识别并标志超过程序限定温度(温度报警条件)的器件(11)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作,本次所用DS18B20采用3脚PR35 封装,其内部结构框图如图所示: 图3-3 DS18B20内部结构框图主机操作ROM的命令有五种,如表1所列 表3-1 主机操作ROM的命令DS18B20 温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM 的结构为8字节的存储器,结构如图4所示。 图3-4 DS18B20内部存储器和存储器的结构 前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷

18、新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 /LSB形式表示。温度值格式如下: 图3-5 温度值格式这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;

19、如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625LSB形式表示。表2是部分温度值对应的二进制温度表示数据。 表3-2 温度值对应的

20、二进制位DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。在64位ROM的最高有效字节中存储有循环冗余校验码(CRC)。主机根据ROM的前 56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断主机收到的ROM数据是否正确。如下图,为仿真电路中的AT89C51。图3-6 仿真电路中的AT89C513.3 单片机外围电路利用芯片内部振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部振荡电路便产生自激振荡

21、,用示波器可以观察到XTAL2输出脉冲信号。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路,不论是HMOS还是CHMOS型单片机其并联谐振回路及参数相同。振荡晶体选择12MHZ。电容无严格要求,电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C1和C2可在20100pF取值。 图3-7 内部时钟电路图3-8复位电路3.4 LED数码管显示电路在单片机应用系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和8*N根段选线。根据显示方式的不同,位选线和段选线的连接方法不同。段选线控制字符选择,位选线控制显示位的暗、亮。LED显示器有静态显示和动态

22、显示两种方式。(1)LED静态显示。LED显示器工作在静态显示的方式下,共阴极或共阳极连接在一起接地或+5V;每位段选线(adp)与一个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只能显示相同的字符,要想每位显示不同

23、的字符,必须采用扫描显示方式。即在每一瞬间只使某一位显示相应字符。在此瞬间,段选控制I/O在该显示位送入选通电平,以保证该位显示相应字符。如此轮流,使每位显示该位相应字符,并保持延时一段时间,以造成视觉暂留效果。(3)LED显示器接口。从LED显示器的显示原理可知,为了显示字母数字,必须转换成相应的段选码。这种转换可以通过硬件译码器或软件进行译码。硬件译码显示器接口:BCD7段十六进制译码驱动显示接口。单片机应用系统中,通常要求LED显示器能显示十六进制及十进制带小数点的数。因此在选择译码器时,要能够完成BCD码至十六进制的锁存、译码,并且具有驱动功能,否则就不采用软件译码接口。软件译码显示接

24、口。由于单片机本身有较强的逻辑控制能力,采用软件译码并不复杂,而且软件译码逻辑可随意编程设定,不受硬件译码逻辑限制,采用软件译码还能简化硬件电路结构。因此,在单片机应用系统中,使用最广的软件译码的显示接口。下图为六位数码管仿真电路。图3-9 添加驱动电路的数码管显示电路4 系统软件设计4.1 Proteus软件环境介绍本系统的硬件设计首先是在Proteus软件环境中仿真实现的。Proteus软件是来自英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外

25、,其革命性的功能是,它的电路仿真是互动的。针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。如果有显示及输出,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。Proteus建立了完备的电子设计开发环境,尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果。Proteus是目前最好的模拟单片机外围器件的工具。可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IIC器件.)。在没有硬件的情况下,Proteus

26、能像pspice 仿真模拟/数字电路那样仿真MCU及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。Proteus软件主要具有以下几个方面的特点:(1)设计和仿真软件Proteus 是一个很有用的工具,它可以帮助学生和专业人士提高他们的模拟和数字电路的设计能力。(2)它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器件,并完成不会对真实电路造成任何损害的电路仿真操作。(3)它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。(4)它可以仿真目前流行的单片机,如PICS, ATMEL-AVR, MOTOROLA, 8051 等。(5)在设计综合

27、性方案中,还可以利用ARES开发印制电路板。4.2 KeiluVision3软件环境的介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便

28、易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。Keil公司是一家业界领先的微控制器(MCU)软件开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标准,并支持超过500种8051变

29、种。Keil公司在2007年被ARM公司收购。其两家公司分别更名为ARM Germany GmbH和ARM Inc和。Keil公司首席执行官Reinhard Keil表示:“作为ARM Connected Community中的一员,Keil和ARM保持着长期的良好关系。通过这次收购,我们将能更好地向高速发展的32位微控制器市场提供完整的解决方案,同时继续在uVision环境下支持我们的8051和C16x编译器。”C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C

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

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