基于单片机的智能温度报警系统内容摘要:

平(此时REC/=0);PLAYE/为边沿放音控制,下降沿开始放音(此时REC/=0);RECLED/为录音指示,接发光二极管,录音时亮,放音结束闪烁一下,然后熄灭。 芯片工作原理ISD1420 地址输入端具有双重功能,根据地址中的 AA7 的电平状态决定A0~A7 的功能。 如果 AA7 中间至少有一个低电平,则 A0~A7 输入全解释为地址位,作为起始地址用,此时地址线仅仅作为输入端口,在操作过程中不能输出内部地址信息。 根据 PLAYE、PLAYL或 REC的下降沿信号,地址输入被锁定。 如果 AA7 同为高电平时,ISD1420芯片进入模式操作方式。 芯片工作模式先录音,能分160段(地址为00H0A0H)。 我们说话平均语速4字/秒,所以20秒我们录80字。 经过计算,每个字占2个地址。 我们录音13段。 录音用S1键,放音控制用S2键。 录音时按下键后开始录音,录完每段后放开按键,录音停止。 共录13段,录每段时同时用数码管提示,分别用数字0F来表示。 按语音提示键播报温度,不按不播报。 一、语音温度计温馨提示您,当前温度(00H27H)二、一(28H2FH)三、二(30H37H)四、三(38H3FH)五、四(40H47H)六、五(48H4FH)七、六(50H57H)八、七(58H5FH)九、八(60H67H)十、九(68H6FH)十一、十(70H77H)十二、度(78H7FH)十三、温度过高(80H87H)十四、温度合适(88H8FH)十五、温度过低(90H97H) 语音电路设计 图37 语音电路 DS18B20芯片简介 DS18B20性能特点与内部结构DS18B20是美国DALLAS公司生产的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与未处理器接口等优点,适合于各种温度测控系统。 该器件将半导体温敏器件、A/D转化器、存储器等做在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。 信号传输采用两芯(或三芯)电缆构成的单总线结构。 一条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址码。 微控制器通过对器件的寻址,就可以读取某个传感器的温度值,从而简化了信号采集系统的电路结构。 (1) DS18B20的性能特点如下[9]:1) 独特的单线接口仅需要一个端口引脚进行通信;2) 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;3) 无须外部器件;4) 可通过数据线供电,~;5) 零待机功耗;6) 温度以3位数字显示;7) 用户可定义报警设置;8) 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;9) 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 (2) DS18B20的外形及管脚排列如图38图38 DS18B20封装 DS18B20工作时序根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:1. 每一次读写之前都必须要对DS18B20进行复位;2. 复位成功后发送一条ROM指令;3. 最后发送RAM指令,这样才能对DS18B20进行预定的操作。 复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待15~60微秒左右后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 其工作时序包括初始化时序、写时序和读时序,。 (1) 初始化时如图39总线上的所有传输过程都是以初始化开始的,主机响应应答脉冲。 应答脉冲使主机知道,总线上有从机设备,且准备就绪。 主机输出低电平,保持低电平时间至少480us,以产生复位脉冲。 接着主机释放总线,延时15~60us,并进入接受模式,以产生低电平应答脉冲,若为低电平,再延时480us。 (2) 写时序如图310写时序包括写0时序和写1时序。 所有写时序至少需要60us,且在2次独立的写时序之间至少需要1us的恢复时间,都是以总线拉低开始。 写1时序,主机输出低电平,延时2us,然后释放总线,延时60us。 写0时序,主机输出低电平,延时60us,然后释放总线,延时2us。 图39 初始化时序图310 写时序图311 读时序(3) 读时序如图311总线器件仅在主机发出读时序是,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。 所有读时序至少需要60us,且在2次独立的读时序之间至少需要1us的恢复时间。 每个读时序都由主机发起,至少拉低总线1us。 主机在读时序期间必须释放总线,并且在时序起始后的15us之内采样总线状态。 主机输出低电平延时2us,然后主机转入输入模式延时12us,然后读取总线当前电平,然后延时50us。 DS18B20的操作协议DS18B20单线通信功能是分时完成的。 单线信号包括复位脉冲,响应脉冲,写“0”,写“1”,读“1”。 它们有严格的时隙概念。 系统对DS18B20的操作以ROM命令(5个)和存储器命令(6)形式表现,各种指令功能如表31,32所示。 表31 DS18B20 ROM命令指令约定代码功能读ROM33H读DS18B20中的编码(既读64位地址)符 合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相应的DS18B20,使之做出响应,为下一步对该DS18B20的读写做准备。 搜 索ROM0F0H用于确定挂在同一总线上DS18B20的个数和识别64位ROM地址,为操作各个器件做好准备。 跳 过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度转换命令,适用于单片工作。 告警搜索命令0ECH执行后,只有温度超过设定上限或是下限的片子做出响应。 表32 DS18B20 RAM命令指令约定代码功能温度变换44H启动DS18B20进行温度转换,结果存入内部RAM。 读暂存器0BEH读内部RAM中的内容。 写暂存器4EH发出向内部RAM的第4字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存 器48H将RAM中的第4字内容复制到EEPROM中。 重调EEPRAM0B8H将EEPROM中内容恢复到RAM中的第4字节。 读供电方 式0B4H读DS18B20的供电模式,寄生供电是DS18B20发送“0”,外接电源供电DS18B20发送“1”。 对DS18B20操作协议是:初始化DS18B20(发复位脉冲)→发ROM功能命令→处理数据→发存储命令处理数据。 初始化:主机发一位复位脉冲(对短为480us的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/O引脚上的上升沿之后,等待15~60us然后发出存在脉冲(60~240us的低电平)。 写时间片:将数据线从高电平拉至低电平,产生起始信号。 在15us之内将所需写的位送到数据线上,在15us到60us之间对数据线进行采样,如果采样为高电平,就写1,如果是低电平,写0就发生。 在开始另一个写周期前必须有1us以上的高电平恢复期。 读时间片:主机将数据线从高电平拉至低电平1us以上,再使数据线升为高电平,从而产生读起始信号。 主机在读时间片下降沿之后15us内完成读位。 每个读周期最短的持续时间为60us,各个读周期之间必须有1us以上的高电平恢复期。 用户对于DS18B20的访问有三个步骤:(1).初始化用户通过信号线,向DS18B20发送一个满足特定时序的负脉冲,信号线上所有DS18B20芯片都被复位。 准备接受用户的序列号命令。 (2).序列号访问命令接下来,用户通过信号线,发送一个特定的64位序列号编码。 这时,信号线上所有相连DS18B20都进行编码匹配,只有编码一致的DS18B20才被激活,可以接受下面的内存访问命令。 (3).存访问命令在用户发送序列号访问命令选定DS18B20芯片后,被选中的芯片便可以接受内存访问命令。 读取温度数据,设定温度报警限。 二进制数据与温度的对应关系见表33。 表33 二进制数据与温度的对应关系温度温度数据输出(二进制)温度数据输出(16进制)+125℃0000 0111 1101 000007D0h+85℃0000 0101 0101 00000550h+℃0000 0001 1001 00010191h+℃0000 0000 1010 001000A2h+℃0000 0000 0000 10000008h0℃0000 0000 0000 0000000h℃1111 1111 1111 1000 FFF8h℃1111 1111 0101 1110FF5Eh℃1111 1110 0110 1111 FF6Fh55℃1111 1100 1001 0000FC90h DS18B20序列号编码DS18B20内部具有出厂前固化的8字节代码,如表34所示。 表33 64位光刻ROM8位CRC代码48位器件序列号8位产品类型码(28H)其首字节位产品类型代码,固化为10H,后6字节是每个传感器的序列号,最后一字节是CRC检验码。 其中6字节共48位的器件序列号可看成是每个传感器固有的地址编码而在多点测温中作为识别标志。 多点测温中若用序列号作为传感器的地址编码,一种简单的方法是采取以下几个步骤:(1)逐个测出每个传感器的序列号,连同其在测温现场位置的手工编号,作为地址编码做成标签贴在传感器的表面。 (2)手工建立传感器地址与其序列号的关系表,并将其固化在程序中。 系统运行时,微机根据序列号读取相应传感器温度,数据按关系表放入数据库与地址编码的数据项位置。 DS18B20的测温原理每一片DSl8B20在其ROM中都存有其唯一的48位序列号,在出厂前已写入片内ROM 中。 主机在进入操作程序前必须用读ROM(33H)命令将该DSl8B20的序列号读出。 程序可以先跳过ROM,启动所有DSl8B20进行温度变换,之后通过匹配ROM,再逐一地读回每个DSl8B20的温度数据。 DS18B20的测温原理如图312所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在55 ℃所对应的一个基数值。 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。 斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。 另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。 系统对DS18B20的各种操作必须按协议进行。 操作协议为:初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。 减法计数器斜坡累加器减到0减法计数器预 置低温度系数振 荡 器高温度系数振 荡 器计数比较器预 置温度寄存器减到0图312 测温原理内部装置 测温系统的硬件工作原理对DS18B20初始化后,主机发出SKIP ROM命令,此命令执行后的存储器操作命令将对所在线的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。