基于单片机和DS18B20的温度传感器
- 格式:doc
- 大小:546.00 KB
- 文档页数:29
1 任务书
利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为−55℃~125℃,精确到0.5℃。数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用LED数码管实现温度显示。
2
目录
第一章、 绪论…………………………………………………… 3
1、1 单片机概述………………………………………………… 3
1、2 选题背景及设计意义……………………………………… 3
1、3 设计方案论证……………………………………… 4
第二章、 硬件设计…………………………………………6
2、1 硬件电路的设计………………………………… 6
1、时钟电路……………………………………………… 7
2、复位电路………………………………………… 8
3、显示电路…………………………………………… 10
2、2 元器件的介绍………………………………………… 11
1、单片机AT89C51…………………………………… 11
2、温度传感器 DS18B20……………………………… 15
第三章 、系统软件设计…………………………………………17
1、系统工作流程图………………………………………17
2、温度传感器子程序流程图……………………………18
第四章、汇编语言程序部分(略)………………………………19
第五章、调试部分…………………………………………………19
参考文献………………………………………………………… 20 3
第一章 绪 论
1.1 单片机概述
单片机的结构特征是将组成计算机的基本部件集成在一块晶体芯片上,构成一台功能独特的单片微型计算机。一台典型的单片机的基本组成结构包括中央处理器(CPU),存储器(ROM和RAM),并行I/O口,串行I/O口,定时器/计数器,定时电路及元件。由此可见,单片机在结构上突破了常规的按逻辑功能划分芯片。由多片构成了微型计算机的设计思想,将构成计算机的许多功能集成在一块晶体芯片上。
1.2 选题背景及设计意义
最早的温度计是在1593年由意大利科学家伽利略发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。
本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。它具有结构简单,不需外接元件,采用一根I/ O 数据线既可供电又可传输数据, 4 该设计控制器使用单片机AT89C51,测温传感器使用DS18B20,,实现温度显示,能准确达到以下要求:
测温范围-55℃~125℃ 精度误差小于0.5℃
1.3设计方案论证
方案一:
本电路是温度计的设计,在测温电路中利用热敏电阻器件的感温效应,将随被测温变化的电压或电流采集过来,进行A/D转换后,用单片机进行数据处理,经过显示电路就可以显示出来。
方案二:
在日常生活及工农业生产中经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。
方案三:
基于单片机的温度传感器设计的数字温度计已经很成熟,各种精度很高的温度计不断推出。数字温度计要求检测的精度必须高于控制的精确度,否则无从实现控制的精度要求。所以精度已经成为数字温度计的一项重要的性能参数。因此追求高精度是数字温度计的一个目标。不仅如此,检测 5 还涉及国计民生各个部门,可以说在所以科学技术领域无时不在进行检测。科学技术的发展和检测技术的发展是密切相关的。现代化的检测手段能达到的精度、灵敏度及测量范围等,在很大程度上决定了科学技术的发展水平。同时,科学技术的发展达到的水平越高,又为检测技术、传感器技术提供了新的前提手段。目前市场上出现了很多传感器,很多精度高的传感器已经出现,而且精度越来越高。数字温度计未来将会更精确、更人性化,为我们做出更多贡献。为此我们选择方案三的设计,框图如下。
单片机复位
时钟振荡
主
控
制
器 LED
显
示
DS18B20
温度传感器 6
第二章 硬件设计
2.1硬件电路的设计
本设计系统共由三部分组成:
① AT89C51为控制装置,负责各部分的控制和数据采集。
③ DS18B20为温度测量装置,负责对温度进行采集并转换为数字信号送AT89C51进行处理。
④ 共阳极数码管为显示装置,负责显示工作状态和DS18B20
采集到的数据。
注:LED数码管驱动电路中采用P0 口加上拉电阻的形式,为方便焊接,本设计中电阻使用了排阻的方式,三极管使用的是 7 S9012.
1、时钟电路
时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在AT89C51单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。在AT89s51芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。
在单片机的XTAL1脚和XTAL2脚之间并接一个晶体振荡器就构成了内部振荡方式。AT89S51单片机内部有一个高增益的反相放大器,XTAL1为内部反相放大器的输入端,XTAL2为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率就是晶振的固有频率。AT89C51的时钟电路如图2.2所示: 8 图2.2时钟电路
2、复位电路
复位的功能:
复位是单片机的初始化操作,其目的是使CPU和系统中各部
分处于一个确定的状态,并从这一状态开始工作。系统上电
路或死机后都要进行复位操作。单片机复位时,将程序计数
器PC初始化为0000H,表明复位后程序从0000H地址单元
开始执行,同时复位时输出控制信号ALE,PSEN均为高电
平。复位后,P0~P3口输出高电平,且使准双向口均处于输
入状态。复位不改变片内RAM单元的内容,但使各特殊功
能寄存器SFR回复到初始状态,复位后各特殊功能寄存器均
恢复初始状态。
现简要说明各主要寄存器功能:
PSW=00H:表明复位后自动选择第0组工作寄存器组为当前工作寄存器组
SP=07H:表明堆栈指针指向片内RAM07H单元,堆栈的压入操作为先加后压,所以第一个被压入的数据存放在08H单元中
P0~P3=FFH:表明各端口写入1,此时各端口既可作输入口,也可以作输出口
AUXR=XXX0 0XX0:表明ALE引脚在CPU不访问外部存储器期间有脉冲信号输出
AUXR1=XXXX XXX0:表明选择DPTR0作数据指针
IE=00H:表明各中断均关闭 9 TCON=00H:表明T0,T1 均被停止
SCON=00H:表明串口处于方式0,允许发送,不允许接收
PCON=00H:表明SMOD=0,波特率不加倍。PD=0,IDL=0,单片机处于正常工作方式。
单片机的RST引脚为复位引脚,振荡电路正常工作后,RST端加上持续两个机器周期的高电平后,单片机就被复位。复位电路有3种基本方式:上电复位,开关复位和看门狗复位。这里只介绍上电复位和开关复位。
复位电路有3种基本方式:上电复位,开关复位和看门狗复位。本系统使用的是上电复位。
所谓上电复位就是单片机只要一上电就自动实现复位操作。常用的上电复位电路如图1所示
图1
10 3、 显示电路
单片机系统中常用的显示器有:发光二极管LED(Light
Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。LED、LCD显示器有两种显示结构:段显示(7段、米字型等)和点阵显示(5×8、8×8点阵等)。
(1)静态显示方式
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管必须接一个8位锁存器用来锁存待显示的字形码。送入一次字形码显示字形一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。
(2)动态显示
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择 11 限流电阻时应略小于静态显示电路中的。
使用LED显示器时,要注意区分这两种不同的接法。为了显示数字或字符,必须对数字或字符进行编码。七段数码管加上一个小数点,共计8段。因此为LED显示器提供的编码正好是一个字节。
数码管共阳极0~9代码。
DB 0C0H,0F9H,0A4H,0B0H,99H
DB 92H,82H,0F8H,80H,90H
2.2 元器件介绍
AT89C51
AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能 CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造计术制造,与工业标准的 MCS-51指令集和输出管脚相兼容,并有ISP管脚,只需要将单片机的ISP引脚接入专用的下载线上就可以编程。由于将多功能8位CPU和闪烁存储器组合在这个芯片中,ATMEL的
AT89S51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51图如下: