DS18B20温度采集系统
1. MCS-51单片机的引脚图:
2. MCS-51单片机的内部结构图:
(1)电源引脚Vcc和Vss Vcc(40脚):电源端,+5伏 Vss(20脚):接地端
(2)时钟电路引脚XTAL1和XTAL2 XTAL1(18脚)和XTAL2(19脚):接外部晶体和微调晶体。在 89C51中,它们分别是震荡电路反向放大器的输入端和输出端, 震荡电路的频率就是晶体固有频率。 (3). 控制引脚信号RST,ALE,PSEN和EA RST/VpD(9脚):RST是复位信号输入端,高电平有效。此引 脚的第二功能是VpD,即备用电源的输入端。 ALE/PROG(ADDRESS LATCHENABLE/PROGRAMMING (30脚):地址锁存允许信号端。上电后,此端不断向外输出正脉 冲信号,此频率为振荡频率fosc的1/6。CPU访问片外存储器时, ALE输出信号作为所存低八位地址的控制信号。
P3口线的第二功能入下表所示
口 线 替代的第二功能
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD(串行口输入) TXD(串行口输出) INT0(外部中断0输入) INT1(外部中断1输入) T0(定时器0的外部输入) T1(定时器1的外部输入) WR(片外数据存储器“写选通控制”输出) RD(片外数据存储器“读选通控制”输出)
DS18B20温度数据表
(3). 高速缓存器
DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度 TH、低温度触发器TL和配置寄存器中的信息。 高速暂存器RAM是一个连续8字节的存储器,前两个字节 是测得的温度信息,第1个字节的内容是温度的低8位,第2个 字节是温度的高8位。第3个和第4个字节是高温触发器TH、低 温触发器TL的易失性复制,第5个字节是配置寄存器的易失性 复制,以上字节的内容在每一次上电复位时被刷新。第6、7、 8个字节用于暂时保留为1。
7. Read Scratchpad( 读暂存器)命令代码为BEH
8. Copy Scratchpad( 复制暂存器)命令代码为48H 9. Convert T( 温度转换)命令代码为44H 10. Read E
2
( 复制回暂存器)命令代码为B8H
11. Read Power Supply ( 读电源使用模式)命令代码为B4H
PSEN (PROGRAM STORE ENABLE,29脚):程序存储允许 输出信号端。在访问片外程序存储器时,此端定时输出负脉冲 作为读片外存储器的选通信号。此引脚接EPROM的OE端。 PSEN端有效时,即允许读出EPROM/ROM中的指令代码。 EA/Vpp(ENABLE ADDRESS/VOLTAGE PULSE OF RAMMING,31脚):外部程序存储器地址输入端/固化编程电 压输入端。当输入信号EA引脚接高电平时,CPU只访问片内 EPROM/ROM并执行内部程序存储器中的指令,但是当PC超 过0FFFH时,将自动转去执行片外程序存储器中的内容。当输 入信号EA引脚接低电平时,CPU只访问外部EPROM/ROM并 执行外部程序存储器中的指令,而不管是否具有片内程序存储 器。此引脚的第二功能Vpp是对片内EPROM固化编程时,作 为施加较高编程电压的输入端。
1
1
12位
750ms
温度值分辨率设置表
3. DS18B20的测温原理
低温度系数晶振的振荡频率受温度影响很小,用于 产生固定频率的脉冲信号送给计数器1。高温度系数 晶振随温度变化其振荡率明显改变,所产生的信号作 为计数器2的脉冲输入。计数器1和温度寄存器被预 置在- 55℃所对应的一个基数值。计数器1对低温度 系数晶振产生的脉冲信号进行减法计数,当计数器1的 预置值减到0时,温度寄存器的值将加1,计数器1的预 置将重新被装入,计数器1重新开始对低温度系数晶振 产生的脉冲信号进行计数,如此循环直到计数器2计数 到0时,停止温度寄存器值的累加,此时温度寄存器中 的数值即为所测温度。图中的斜率累加器用于补偿 和修正测温过程中的非线性,其输出用于修正计数器1 的预置值。
设计内容:用单片机、温度传感器等器件实现温度采集
设计安排:1.硬件设计。介绍单片机、温度传感器、
显示电路等相关原理与知识;
2.软件设计。
3.用PROTEUS软件对硬件系统进行仿真;
4.两人一组做实物。
温 度 采 集 系 统 的 仿 真 效 果 图
电路
温 度 采 集 系 统 的 元 器 件 清 单
DS18B20温度值格式表 (高5位为符号位,低12位为二进制数值位)
转换后得到的12位二进制数据,存储在 DS18B20的两个8比特的RAM中,二进制中的前 面5位是符号位。 如果测得的温度大于0,这5位为0,只要将测 到的数值乘于0.0625即可得到实际温度;如果温 度小于0,这5位为1,测到的数值需要取反加1 (即求补)再乘于0.0625即可得到实际温度。 例如:+125℃的数字输出为07D0H, +25.0625℃的数字输出为0191H, -25.0625℃的数字输出为FF6FH, -55℃的数字输出为FC90H。
(4). 配置寄存器 TM R1 R0 1 1 1 1 1
配置寄存器结构 低五位一直都是1 ,TM是测试模式位(出厂时该位 被设置 为0,用户不必改动),用于设置DS18B20在工作模式还是在 测试模式。在DS18B20出厂时该位被设置为0,用户不要去改 动。R1和R0用来设置分辨率。 R1 0 0 1 R0 0 1 0 分辨率 9位 10位 11位 温度最大转换时间 93.75ms 187.5ms 375ms
1. 三种封装:
(1)采用3引脚TO-92的封装形式
(2)采用6引脚TSOC封装形式
(3)采用8引脚SOIC封装形式
NC:空引脚,悬空不用。 VDD:可选电源脚,电源电压范围3~5.5V,当器件工作 在寄生电源时,此引脚必须接地。 DQ(4脚):数据输入/输出脚。漏极开路,常态下高电平。 GND:电源地
0111 0000 1011 1001 1100 1101 1111 0000 1111 1101
时钟振荡电路
控制器 显示电路
元器件名称 晶振12MHz 30pF电容 STC89C52RC单片机
数量 1 2 1
备注Βιβλιοθήκη 采集电路 供电电路万用板 复位电路
单片机底座 0.56寸 4位共阳红色 数码管5461BS A09-102J 排阻 1k DS18B20温度传感器 USB接口 PCB板 10cm*10cm 10uF电容 8.2kΩ电阻
1 1 1 1 1 1 1 1
相关知识点的介绍:
一. 温度传感器DS18B20 1-wire Bus(单总线)数字温度传感器芯片DS18B20 是美国Datlas半导体公司(现已并入MAXIM公司)于 20世纪90年代新推出的一种串行总线技术。该技术只 需要一根信号线(将计算机的地址线、数据线、控制 线合为一根信号线)便可完成串行通信。单根信号线, 既传输时钟,又传输数据,而且数据传输是双向的, 在信号线上可挂上许多测控对象,电源也由这根信号 线供给,所以在单片机的低速(约100kbps以下的速 率)测控系统中,使用单根总线技术可以简化线路结 构,减少硬件开销。
3.单片机的晶振电路:
4.单片机的复位电路:
三、显示电路
f e
a g d
b c h
1.数码管的分类
数码管按段数分为七段数码管和八段数码管,八段 数码管比七段数码管多一个发光二极管单元(多一个小 数点显示);按能显示多少个“8”可分为1位、2位、4 位等等数码管;按发光二极管单元连接方式分为共阳极 数码管和共阴极数码管。共阳数码管是指将所有发光二 极管的阳极接到一起形成公共阳极(COM)的数码管。共 阳数码管在应用时应将公共极COM接到+5V,当某一 字段发光二极管的阴极为低电平时,相应字段就点亮。 当某一字段的阴极为高电平时,相应字段就不亮。共阴 数码管是指将所有发光二极管的阴极接到一起形成公共 阴极(COM)的数码管。共阴数码管在应用时应将公共极 COM接到地线GND上,当某一字段发光二极管的阳极 为高电平时,相应字段就点亮。当某一字段的阳极为低 电平时,相应字段就不亮。
2. DS18B20内部结构图 :
DQ
C
VDD
64位ROM DS18B20主要有4个数据部分: 温度传感器
高速缓存器 配置寄存器
(1). 64位ROM。64位ROM是由厂家用激光刻录一个64位二进 制ROM代码,是该芯片的序列号,它可以看作是该DS18B20的地 址序列码。64位光刻ROM的排列是:开始8位(10H)是产品分类 标号;接着的48位序列号是一个大于281×10 12的十进制数编码; 8 5 4 最后8位是前面56位的循环冗余校验码(CRC X X X 1)。 光刻ROM的作用是使每一个DS18B20的ROM代码都各不相同,这 样就可以实现一根总线上挂接多个DS18B20的目的。
64位ROM的结构
(2). 温度传感器。
(DS18B20出厂时被设置为12位)
温度传感器是DS18B20的核心部分,该功能部件可完成对温 度的测量。通过软件编程可将-55~+125º C范围内的温度值按 9位、10位、12位的转换精度进行量化,以上的转换精度都包括 一个符号位,因此对应的温度量化值分别为0.5º C、0.125º C、 0.0625º C,即最高转换精度为0.0625º C。 以12位转化为例:用16位符号扩展的二进制补码读数形式提 供,以0.0625℃/LSB形式表达,其中S为符号位。
二. MCS-51单片机
单片机SCM(Single Chip Microcomputer), 即Microcontroller,是把微型计算机主要部分都 集成在一个芯片上的单芯片微型计算机。主要 包括了微处理器(CPU)、存储器(ROM, RAM)、 输入/输出口(I/O口)和定时器/计数器、中断系统 等功能部件。单片机自70年代出现以来,已经 有了很大的发展,被广泛应用于机械、测量控 制、工业自动化、智能接口和智能仪表等许多 领域。