1、第9字节是前面所有8字节的CRC码可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到转化命令后,开始启动转化。转化完成后的温度值就以16位的带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。单片机可以通过单线接口读出该数据。读数据时,低位在先,高位在后,数据格式以0.0625LSB形式表示。温度值格式如图图中,S表示符号位。当S=0时,表示测得的温度值为正值,可以直接将二进制位转化为十进制;当S=0时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值。DS18B20完成温度转化后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将
2、该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。5 DS18B20通信协议在对DS18B20进行读写编程时,必须严格保证读写时序,否则将无法读取温度结果。根据DS18B20通信协议,主机控制DS18B20完成温度转化必须经过3个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500us,然后释放,DS18B20收到信号后等待1660us,然后发出60240us的存在低脉冲,主CPU收到此信号表示复位成功。D
3、S18B20的ROM指令如表,RAM指令如表表ROM指令表指 令约定代码功能温度变化44H启动DS18B20进行温度转换,12位转换时最长为750ms9位为93.75ms,结果存入内部9字节RAM中读暂存器0BEH读内部RAM中9字节的内容 写暂存器4EH发出向内部RAM的3、4字节写上、下限温度数据命令,紧跟该命令之后是传送两字节的数据复制暂存器48H将RAM中第3、4字节的内容复制到E2PROM中重调E2PROM0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式。寄生供电时DS18B20发送0,外接电源供电DS18B20发送1表RAM指令表
4、功 能读ROM33H读取DS18B20温度传感器ROM中的编码即64位地址符合ROM55H发出命令之后,接着发出64位ROM编码,访问单总线上与该编码对应的DS18B20,使之作出响应,为下一步对该DS18B20读写作准备搜索ROM0F0H用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH跳过ROM工作报警搜索命令0ECH执行后只有温度超过设定值上限或下限的芯片才能作出响应6.使用注意事项因为硬件开销小,需要复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时必须严格保证读写时序,否则
5、将无法读取测温结果。当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时需加以注意。连接DS18B20电缆的长度超过50m时,最好采用屏蔽4芯双绞线,其中一对为接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地,正常通信距离可达150m。在DS18B20测温程序中,向DS18B20发出温度转换时总要等到DS18B20的返回信号,一旦某个DS18B20接触不好或断线当程序读该DS18B20时,将没有返回信号,程序进入死循环。7温度数据的计算处理方法从DS18B20读取出的二进制值必须先转化成十进制值,才能用于字符的显示。DS18B20的
6、转换精度为912位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。通过列举观察可以发现,一个十进制值与二进制值间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化成十进制后,就是温度值的小数部分。因为小数部分是半字节,所以二进制值X围是0F,转化成十进制小数值就是0.0625的倍数015倍。这样需要4位的数码管来显示小数部分。实际应用不必有这么高的精度,采用一
7、位数码管来显示小数,可以精确到0.1。表就是二进制与十进制的近似对应关系表。小数部分二进制与十进制的近似对应关系表小数部分二进制值123456789ABCDEF十进制值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口,作为功能扩展使用;可不接RE
8、SET复位脚低电平有效,15msTxD/TTL串行数据发射端TTL(RxD) RxD/TTL 串行数据接收端TTL(TxD)WakeUP无线唤醒输出无线信号唤醒用户设备,高电平唤醒;B(RxD)RS-485的B,RS-232的RxD DP(USB)10A(TxD)RS-485的A,RS-232的TxD DN(USB)性能参数:型号STR-36型调制频率标准型在315.00470MHz,特殊型在24002500MHz 用户可选;调频方式GFSK /MSK双向发射/接收半双工稳频方式PLL最大发射功率+10dBm灵敏度-118dBm工作电压接口数据格式8E1/8N1/8O1可靠通信距离800m (
9、outdoor) 发射功耗 27mA接收功耗16mA待机功耗10uA 通信速率1.2kBit/s -300kBit/s用户可选;用户接口方式TTL接口/RS232接口/RS485接口;工作湿度10%90%相对湿度 无冷凝工作温度-4085外形尺寸 43mmx20mmx5mm不含天线3.STR-36B的无线唤醒功能STR-36B无线发射模块在没有数据传输的情况下,若没有设置无线唤醒功能,则无线模块一直保持发射或接收数据状态;若设置无线唤醒功能,则无线模块进入休眠状态。 当模块的WKEN引脚接低电平时,模块工作在无线唤醒模式下。模块上电复位后,处于接收状态,在持续3S的时间内,如果没有接收到串口发
10、来的数据,或没有收到有效数据,则模块进入休眠状态。在休眠过程中,如果收到串口发来的唤醒信号或无线唤醒信号,则被唤醒,同时WKUP引脚输出一个低电平脉冲信号。微处理器向该模块的串口发1字节的数据可实现串口唤醒。模块被唤醒后,若在3S的时间内没有收到串口发来的唤醒信号或无线唤醒信号,模块又进入休眠状态。4.STR-36B无线模块硬件电路设计无线收发模块电路天线的选择天线的长度应取发射的14波长,当发射信号频率为433MHZ时,天线的最佳长度为18cm。为匹配,这里选择SANT307天线。无线收发模块电路布局需要注意的问题无线收发模块应该安装在电路板边缘,离开周围器件5mm以上,以免受分布参数影响而
11、停震。无线收发模块电路的电源设置在实际应用中,STR-36B可与其他设备共用电源,但必须选择纹波系数小的电源,不建议使用开关电源。另外,系统设备中若有其他设备,则需可靠接地。液晶显示模块LCM16021.1602字符型LCM的特性内部具有字符发生器ROMCGROM,即字符库。可显示192个57点阵字符,如图,由该字符库可看出LCM显示的数字和字母部分的代码值,恰好与ASCII码表中的数字和字母相同。所以在显示数字和字母时,只需向LCM送人对应的ASCII码即可。模块内有64字节的自定义字符RAMCGRAM用户可自定义8个57点阵字符。模块内有80字节的数据显示存储器DDRAMLCM引脚引脚号符
12、号引脚功能+5V逻辑电源VEE液晶驱动电源RS寄存器选择1数据寄存器,0命令状态寄存器RW读写操作选择使能下降沿触发714DB0DB7数据总线,三态15E1背光电源,通常为+5V,并串联一个电位器,调节背光亮度16E2背光电源地命令格式与功能说明1.清屏指令功能: 清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H; 光标归位,即将光标撤回液晶显示屏的左上方;3 将地址计数器(AC)的值设为0。2.光标归位指令 把光标撤回到显示器的左上方; 把地址计数器(AC)的值设置为0; 保持DDRAM的内容不变。 3.进入模式设置指令设定每次定入1位数据后光标的移位方向,并且设定每次写
13、入的一个字符是否移动。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=57点阵
14、/每字符 1=510点阵/每字符7.设定CGRAM地址指令设定下一个要存入数据的CGRAM的地址。8.设定DDRAM地址指令9.读取忙信号或AC地址指令 读取忙碌信号BF的内容,BF=1表示液晶显示器忙,暂时无法接收单片机送来的数据或指令; 当BF=0时,液晶显示器可以接收单片机送来的数据或指令; 读取地址计数器(AC)的内容。10.数据写入DDRAM或CGRAM指令一览 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符; 将使用者自己设计的图形存入CGRAM。11.从CGRAM或DDRAM读出数据的指令一览AT89S51引脚图,AT89S51单片机引脚说明与管脚定义AT89S51引脚
15、图AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统与80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器RAM,32个外部双向输入/输出I/O
16、口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗WDT电路,片内时钟振荡器。 AT89S51引脚图此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS-51指令系统 4k可反复擦写(1000次ISP Flash ROM 32个双向I/O口 4.5-5.5V工作
17、电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗WDT电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针编辑本段主要性能特点1、4k Bytes Flash片内程序存储器;2、128 bytes的随机存取数据存储器RAM;3、32个外部双向输入/输出I/O口;4、5个中断优先级、2层中断嵌套中断;5、6个中断源;6、2个16位可编程定时器/计数器;7、2个全双工串行通信口;8、看门狗WDT电路;9、片内振荡器和时钟电路;10、与M
18、CS-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后,被内部上拉为
19、高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位
20、地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:P3.0 RXD串行输入口 P3.1 TXD串行输出口 P3.2 /INT0外部中断0 P3.3 /INT1外部中断1 P3.4 T0T0定时器的外部计数输入 P3.5 T1T1定时器的外部计数输入 P3.6 /WR外部数据存储器的写选通 P3.7 /RD外部数据存储器的读选通 P3口同时为闪烁编程和编程校验接收一些控制信号
21、。I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以
22、不变的频率周期输出正脉冲信号,此频率为振荡器频率的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:片内振荡器反相放大器的输出端。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1