当前位置:首页 > 基于单片机的温度采集显示电路设计
? P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 ? P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL
门电流。 ? P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL
门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
? P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。 ? RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时当8051
通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指钟写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态。 ? ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
? PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次
/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 ? EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否
有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
? XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 ? XTAL2:来自反向振荡器的输出。
3.2温度采集模块
3.2.1温度传感器的介绍
DS18B20数字温度传感器是美国DALLAS公司生产的1-Wire,即单总线器件,它是世界上最早的支持 \一线总线\接口的温度传感器。它具有体积更小、适用电压更宽、功耗更低、抗干扰能力更高性能、配处理器更容易等优点,它能够直接将温度转化成串行数字信号(按9位二进制数字)给单片机进行处理,还能在同一总线上可以挂接多个传感器芯片. DS18B20可编程温度传感器它包含3个管脚。DS18B20的外形和引脚排列图如图 2所示。
5
图 2 DS18B20的外形及管脚图
正如图中所示:GND引脚为接地线;DQ引脚为数据输入/输出的接口,它经过一个较弱的上拉电阻和单片机相连;VDD引脚为电源接口,它既能够由数据线提供电源,又能够由外部提供电源,范围3.0V~5.5V。 DS18B20具体特性如下:
(1) DS18B20因为采用了单总线技术,可通过串行口线,也可通过其他I/O口线与微机直接连接传感器直接输出被测温度值(二进制数)。
(2) 在DS18B20中的每个器件上都有独一无二的序列号。 (3) 实际应用中不需要外部任何元器件即可实现测温。
(4) 测温范围-55~+125℃,以0.5℃递增(华氏器件-67~+257℉,以0.9℉递增)。 (5) “0”功耗待机。
(6) 数字温度计的分辨率用户可以从9位到12位选择。 (7) 内部有温度上、下限告警设置。
(8) 用户可自设定非易失性的报警上下限值。
(9) 支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。 (10) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20 DS18B20中的温度传感器能够完成对温度的测量,就拿12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。详情见图 3 。
图 3 DS18B20温度值格式表
这个为12位转化后所得到的12位数据,存储于DS18B20的二个8比特的RAM里,二进制里的前面5位为符号位,若测得的温度>“0 ℃”,则该5位是“0”,只须用测得的数值乘于0.0625就能够得到实际的温度;若温度<“0℃”,则该5位是“1”,要将测得的数值取反再加“1”,再乘于0.0625。才能够得到实际的温度。比如说:+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH。详情见图 4 。
6
图 4 DS18B20转化温度形式
3.2.3 DS18B20的工作原理
按照DS18B20的通讯协议,主机控制DS18B20要完成温度的转换必须得经过三个步骤才可:
1) 每一次读写之前都必须对DS18B20进行复位。 2) 复位成功之后发送一条ROM指令。
3) 最后发送RAM指令,这样才能够对DS18B20进行预定的操作。
复位时,先得要求主CPU对数据线下拉500μs再释放,待DS18B20收到信号,等待15~60μs左右后,再发出60~240μs的存在低脉冲,最后主CPU收到此信号表示复位成功。它的工作时序有初始化时序和写时序还有读时序。具体工作方法如图 5、6、7所示。 1) 初始化时序
7
图 5 初始化时序
总线上的一切传输过程均是以初始化开始的。主机响应应答脉冲。应答脉冲让主机知道,总线上有从机设备,并准备就绪。主机输出低电平,且保持低电平的时间至少480微秒,从而产生复位脉冲。然后主机释放总线,4.7KΩ上拉电阻将总线拉高,延时15~60微秒后进入接受模式,用来产生低电平应答脉冲。如果为低电平,就再延时480微秒。 2) 写时序
图 6 写时序
写时序包含写“0”时序与写“1”时序。一切写时序最少要60微秒,并且在两次独立的写时序当中最少要1微秒的恢复时间。两者都是从总线拉低开始。写“1”时序:主机先输出低电平,延时2微秒后释放总线再延时60微秒。写“0”时序:主机先输出低电平,延时60微秒后释放总线再延时2微秒。 3) 读时序
8
共分享92篇相关文档