没有合适的资源?快使用搜索试试~ 我知道了~
基于单片机的数字温度计设计.doc
0 下载量 172 浏览量
2023-07-30
01:04:56
上传
评论
收藏 217KB DOC 举报
温馨提示
试读
25页
基于单片机的数字温度计设计.doc
资源推荐
资源详情
资源评论
______________________________________________________________________________________________________________
精品资料
基于单片机的数字温度计设计
摘要:本文设计了一种基于单片机控制的数字温本设计度计,本设计所介绍的数字温度计
与传统温度计相比,具有读数方便,测温范围广,输出温度采用数字显示。该设计控制器
使用单片机 AT89S51,测温传感器使用 DS18B20,用共阳极 LED 数码管显示,能够准确
达到要求。
温度计电路设计控制器采用单片机 AT89S51,具有低电压供电和体积小等特点,温度
传感器采用 DS18B20,DS18B20 温度传感器是美国最新推出的一种温度传感器,它能直
接读出被测温度,并且可根据实际要求通过简单的编程实现读数方式,仅需要一个端口引
脚进行通信,内部存储器还包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM.
显示电路采用 LED 动态显示方式。
关键词:单片机 ;DS18B20 ;超限报警;LED 显示;
前言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带
来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来
越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入
手,一切向着数字化控制,智能化控制方向发展。
温度是日常生活、工业、医学、环境保护、化工、石油等领域最常用到的一个物理量。
测量温度的基本方法是使用温度计直接读取温度。最常见到得测量温度的工具是各种各样
的温度计,例如:水银玻璃温度计,酒精温度计,热电偶或热电阻温度计等。它们常常以
刻度的形式表示温度的高低,人们必须通过读取刻度值的多少来测量温度。利用单片机和
温度传感器构成的电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方
便,有直观准确。
1 总体方案设计
1.1 设计方案论证
针对本课题的设计任务,进行分析得到:本次设计用温度传感器进行温度的测量,转
化了的温度信号由传感器直接得到了数字信号。该数字温度计的设计,在总体上大致可分
为以下几个部分组成:1.单片机控制电路;2.温度传感器;3.开关控制电路;4.LED 显
示电路。
方案一
由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测
______________________________________________________________________________________________________________
精品资料
温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数据的处理,在
显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转换电路,感温电路比
较麻烦。
方案二
进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非
常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易直接读取
被测温度值,进行转换,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,
故采用了方案二。
系统原理框图如图 1 所示。
图 1 系统原理框图
1.2 硬件构成
1.21 主控制器
AT89C51 具有以下标准功能:
8K 字节 FLASH,256 字节 RAM,32 位 I/O 总线,看门狗定时器 2 个数据指针,3 个
16 位定时器、计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。
P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL
逻辑电平。对 P0 口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0
也被作为低 8 位地址/数据使用。在这种模式下,P0 具有内部上拉电阻。在 FLASH 编程
时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上
拉电阻。
P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4
主
控
制
器
LED
显
示
温
度
传
感
器
单片机复
位
时钟振荡
报 警 点 按 键
调整
______________________________________________________________________________________________________________
精品资料
个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口
使用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 口输出缓冲器驱动 4
个 TTL 逻辑电平。对 P2 端口写 1 时,内部上拉电阻把端口拉高,此时可以作为输入口使
用。作为输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流。
1.22 数码管显示
显示电路采用共阳 LED 数码管,从 P3 口 RXD,TXD 串口输出段码。
1.23 温度传感器
DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传
感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求
通过简单的编程实现9~12位的数字值读数方式。DS18B20 的性能特点如下:
a.独特的单线接口仅需要一个端口引脚进行通信;
b.多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能;
c.无须外部器件;
d.可通过数据线供电,电压范围为 3.0~5.5V;
e.零待机功耗;
f.温度以9或12位数字;
g.用户可定义报警设置;
h.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;
i.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;
DS18B20 温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可
电擦除的 EERAM。高速暂存 RAM 的结构为8字节的存储器,结构如图 3 所示。头2个字
节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时
被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图
3 所示。低5位一直为1,TM是工作模式位,用于设置 DS18B20 在工作模式还是在测
试模式,DS18B20 出厂时该位被设置为0,用户要去改动,R1 和R0 决定温度转换的精
度位数,来设置分辨率。
______________________________________________________________________________________________________________
精品资料
图 2 DS18B20 字节定义
DS18B20 温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面
所有8字节的 CRC 码,可用来检验数据,从而保证通信数据的正确性。
当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位
带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单
线接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625℃/LSB 形式表
示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;
当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表 2 是一部分温度值对应的二进制温度数据。
DS18B20 完成温度转换后,就把测得的温度值与 RAM 中的 TH、TL字节内容作比较。
若T>TH 或 T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作
出响应。因此,可用多只 DS18B20 同时测量温度并进行报警搜索。
在 64 位 ROM 的最高有效字节中存储有循环冗余检验码(CRC)。主机 ROM 的前 56 位
来计算 CRC 值,并和存入 DS18B20 的 CRC 值作比较,以判断主机收到的 ROM 数据是否
正确。
DS18B20 的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响
很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振
荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。器件中还有一个计数门,
当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度
测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应
的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55
温度 LSB
温度 MSB
TH 用户字节 1
TL 用户字节 2
配置寄存器
保留
保留
保留
CRC
______________________________________________________________________________________________________________
精品资料
℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预
置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1
重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0
时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正
减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被
测温度值。
2 硬件电路设计
2.1 主控制器
单片机 AT89S51 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足
电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
AT89C51 是一种低功耗,高性能的 8 位微控制器,具有 8K 在系统可编程 FLASH 存
储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚
完全兼容。片上 FLASH 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,
拥有灵巧的 8 位 CPU 和在系统可编程 FLASH,使得 AT89S52 为众多嵌入式控制应用系统
提供高灵活,超有效的解决方案。
图 3 主控制器电路
剩余24页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3646
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功