温度传感器工作原理Word文档下载推荐.docx
《温度传感器工作原理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《温度传感器工作原理Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
第9字节是前面所有8字节的CRC码可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到转化命令后,开始启动转化。
转化完成后的温度值就以16位的带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。
单片机可以通过单线接口读出该数据。
读数据时,低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
温度值格式如图★
图中,S表示符号位。
当S=0时,表示测得的温度值为正值,可以直接将二进制位转化为十进制;
当S=0时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值。
DS18B20完成温度转化后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
5DS18B20通信协议
在对DS18B20进行读写编程时,必须严格保证读写时序,否则将无法读取温度结果。
根据DS18B20通信协议,主机控制DS18B20完成温度转化必须经过3个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待16~60us,然后发出60~240us的存在低脉冲,主CPU收到此信号表示复位成功。
DS18B20的ROM指令如表★◆,RAM指令如表★◆
表★◆ROM指令表
指令
约定代码
功能
温度变化
44H
启动DS18B20进行温度转换,12位转换时最长为750ms〔9位为93.75ms〕,结果存入内部9字节RAM中
读暂存器
0BEH
读内部RAM中9字节的内容
写暂存器
4EH
发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后是传送两字节的数据
复制暂存器
48H
将RAM中第3、4字节的内容复制到E2PROM中
重调E2PROM
0B8H
将E2PROM中内容恢复到RAM中的第3、4字节
读供电方式
0B4H
读DS18B20的供电模式。
寄生供电时DS18B20发送0,外接电源供电DS18B20发送1
表★◆RAM指令表
功能
读ROM
33H
读取DS18B20温度传感器ROM中的编码〔即64位地址〕
符合ROM
55H
发出命令之后,接着发出64位ROM编码,访问单总线上与该编码对应的DS18B20,使之作出响应,为下一步对该DS18B20读写作准备
搜索ROM
0F0H
用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备
跳过ROM
0CCH
跳过ROM工作
报警搜索命令
0ECH
执行后只有温度超过设定值上限或下限的芯片才能作出响应
6.使用注意事项
●因为硬件开销小,需要复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时必须严格保证读写时序,否则将无法读取测温结果。
●当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时需加以注意。
●连接DS18B20电缆的长度超过50m时,最好采用屏蔽4芯双绞线,其中一对为接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地,正常通信距离可达150m。
●在DS18B20测温程序中,向DS18B20发出温度转换时总要等到DS18B20的返回信号,一旦某个DS18B20接触不好或断线当程序读该DS18B20时,将没有返回信号,程序进入死循环。
7.温度数据的计算处理方法
从DS18B20读取出的二进制值必须先转化成十进制值,才能用于字符的显示。
DS18B20的转换精度为9~12位可选,为了提高精度采用12位。
在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。
通过列举观察可以发现,一个十进制值与二进制值间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。
因为小数部分是半字节,所以二进制值X围是0~F,转化成十进制小数值就是0.0625的倍数〔0~15倍〕。
这样需要4位的数码管来显示小数部分。
实际应用不必有这么高的精度,采用一位数码管来显示小数,可以精确到0.1℃。
表★◆就是二进制与十进制的近似对应关系表。
小数部分二进制与十进制的近似对应关系表
小数部分二进制值
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
十进制值
STR-36B的使用要点
1.STR-36B功能概述
STR-36B无线收发模块是微功率、ISM全波段的无线通信模块。
该模块内置控制CPU;
核心接收芯片外包金属屏蔽外壳,保证了数据的可靠收发。
2.STR-36B的实物照片、引脚与功能
STR-36型引脚接口方式,为标准10针DIP连接
Pin
引脚名称
说明
GND
电源地
接电源地
VDD
电源输入
+2.7---5.5VDC
TDB
用户备用接口
可接用户设备ADC,I/O口,作为功能扩展使用;
可不接
RESET
复位脚
低电平有效,>
15ms
TxD/TTL
串行数据发射端
TTL(RxD)
RxD/TTL
串行数据接收端
TTL(TxD)
WakeUP
无线唤醒
〔输出〕无线信号唤醒用户设备,高电平唤醒;
B(RxD)
RS-485的B,RS-232的RxDDP(USB)
10
A(TxD)
RS-485的A,RS-232的TxDDN(USB)
性能参数:
型号
STR-36型
调制频率
标准型在 315.00~470MHz,特殊型在2400~2500MHz用户可选;
调频方式
GFSK/MSK
双向发射/接收〔半双工〕
稳频方式
PLL
最大发射功率
+10dBm
灵敏度
-118dBm
工作电压
接口数据格式
8E1/8N1/8O1
可靠通信距离
800m(outdoor)
发射功耗
27mA
接收功耗
16mA
待机功耗
10uA
通信速率
1.2kBit/s-300kBit/s用户可选;
用户接口方式
TTL接口/RS232接口/RS485接口;
工作湿度
10%~90%相对湿度无冷凝
工作温度
-40℃~85℃
外形尺寸
43mmx20mmx5mm〔不含天线〕
3.STR-36B的无线唤醒功能
STR-36B无线发射模块在没有数据传输的情况下,若没有设置无线唤醒功能,则无线模块一直保持发射或接收数据状态;
若设置无线唤醒功能,则无线模块进入休眠状态。
当模块的WKEN引脚接低电平时,模块工作在无线唤醒模式下。
模块上电复位后,处于接收状态,在持续3S的时间内,如果没有接收到串口发来的数据,或没有收到有效数据,则模块进入休眠状态。
在休眠过程中,如果收到串口发来的唤醒信号或无线唤醒信号,则被唤醒,同时WKUP引脚输出一个低电平脉冲信号。
微处理器向该模块的串口发1字节的数据可实现串口唤醒。
模块被唤醒后,若在3S的时间内没有收到串口发来的唤醒信号或无线唤醒信号,模块又进入休眠状态。
4.STR-36B无线模块硬件电路设计
●无线收发模块电路天线的选择
天线的长度应取发射的1\4波长,当发射信号频率为433MHZ时,天线的最佳长度为18cm。
为匹配,这里选择SANT307天线。
●无线收发模块电路布局需要注意的问题
无线收发模块应该安装在电路板边缘,离开周围器件5mm以上,以免受分布参数影响而停震。
●无线收发模块电路的电源设置
在实际应用中,STR-36B可与其他设备共用电源,但必须选择纹波系数小的电源,不建议使用开关电源。
另外,系统设备中若有其他设备,则需可靠接地。
液晶显示模块LCM1602
1.1602字符型LCM的特性
内部具有字符发生器ROM〔CGROM〕,即字符库。
可显示192个5×
7点阵字符,如图★,由该字符库可看出LCM显示的数字和字母部分的代码值,恰好与ASCII码表中的数字和字母相同。
所以在显示数字和字母时,只需向LCM送人对应的ASCII码即可。
模块内有64字节的自定义字符RAM〔CGRAM〕用户可自定义8个5×
7点阵字符。
③模块内有80字节的数据显示存储器〔DDRAM〕
LCM引脚
引脚号
符号
引脚功能
+5V逻辑电源
VEE
液晶驱动电源
RS
寄存器选择〔1—数据寄存器,0—命令\状态寄存器〕
R\W
读\写操作选择
使能〔下降沿触发〕
7~14
DB0~DB7
数据总线,三态
15
E1
背光电源,通常为+5V,并串联一个电位器,调节背光亮度
16
E2
背光电源地
命令格式与功能说明
1.清屏指令
功能:
<
1>
清除液晶显示器,即将DDRAM的内容全部填入"
空白"
的ASCII码20H;
<
2>
光标归位,即将光标撤回液晶显示屏的左上方;
3>
将地址计数器(AC)的值设为0。
2.光标归位指令
把光标撤回到显示器的左上方;
把地址计数器(AC)的值设置为0;
保持DDRAM的内容不变。
3.进入模式设置指令
设定每次定入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。
4.显示开关控制指令
控制显示器开/关、光标显示/关闭以与光标是否闪烁。
参数设定的情况如下:
位名
设置
D
0=显示功能关
1=显示功能开
C
0=无光标
1=有光标
B
0=光标闪烁
1=光标不闪烁
5.设定显示屏或光标移动方向指令
使光标移位或使整个显示屏幕移位。
S/C
R/L
设定情况
0
光标左移1格,且AC值减1
1
光标右移1格,且AC值加1
显示器上字符全部左移一格,但光标不动
显示器上字符全部右移一格,但光标不动
6.功能设定指令
设定数据总线位数、显示的行数与字型。
DL
0=数据总线为4位
1=数据总线为8位
N
0=显示1行
1=显示2行
F
0=5×
7点阵/每字符
1=5×
10点阵/每字符
7.设定CGRAM地址指令
设定下一个要存入数据的CGRAM的地址。
8.设定DDRAM地址指令
9.读取忙信号或AC地址指令
读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;
当BF=0时,液晶显示器可以接收单片机送来的数据或指令;
读取地址计数器(AC)的内容。
10.数据写入DDRAM或CGRAM指令一览
将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;
将使用者自己设计的图形存入CGRAM。
11.从CGRAM或DDRAM读出数据的指令一览
AT89S51引脚图,AT89S51单片机引脚说明与管脚定义
AT89S51引脚图
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统与80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器〔RAM〕,32个外部双向输入/输出〔I/O〕口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗〔WDT〕电路,片内时钟振荡器。
AT89S51引脚图
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·
兼容MCS-51指令系统
·
4k可反复擦写(>
1000次〕ISPFlashROM
32个双向I/O口
4.5-5.5V工作电压
2个16位可编程定时/计数器
时钟频率0-33MHz
全双工UART串行中断口线
128x8bit内部RAM
2个外部中断源
低功耗空闲和省电模式
中断唤醒省电模式
3级加密位
看门狗〔WDT〕电路
软件设置空闲和省电功能
灵活的ISP字节和分页编程
双数据寄存器指针
编辑本段主要性能特点
1、4kBytesFlash片内程序存储器;
2、128bytes的随机存取数据存储器〔RAM〕;
3、32个外部双向输入/输出〔I/O〕口;
4、5个中断优先级、2层中断嵌套中断;
5、6个中断源;
6、2个16位可编程定时器/计数器;
7、2个全双工串行通信口;
8、看门狗〔WDT〕电路;
9、片内振荡器和时钟电路;
10、与MCS-51兼容;
11、全静态工作:
0Hz-33MHz;
12、三级程序存储器XX锁定;
13、可编程串行通道;
14、低功耗的闲置和掉电模式。
管脚说明
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口作为第八位地址接收。
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〞后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD〔串行输入口〕
P3.1TXD〔串行输出口〕
P3.2/INT0〔外部中断0〕
P3.3/INT1〔外部中断1〕
P3.4T0〔T0定时器的外部计数输入〕
P3.5T1〔T1定时器的外部计数输入〕
P3.6/WR〔外部数据存储器的写选通〕
P3.7/RD〔外部数据存储器的读选通〕
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
外部程序存储器访问允许。
当/EA保持低电平时,则在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。
XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
XTAL2:
片内振荡器反相放大器的输出端。