基于stc8952单片机的温度采集系统设计内容摘要:

输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 在访问外部程序存储器或用 16 位地址读取外部数据存储器(例如执行 MOVX @DPTR)时, P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8 位地址(如 MOVX @RI)访问外部数据存储器时, P2 口输出 P2 锁存器的内容。 在 flash 编程和校验时, P2 口也接收高 8 位地址字节和一些控制信号。 P3 口: P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3 口亦作为 STC89C52 特殊功能(第二功能)使用,如下表所示。 在 flash 编程和校验时, P3 口也接收一些控制信号。 RST: 复位输入。 晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 ALE/PROG:地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。 在 flash 编程时,此引脚( PROG)也用作编程输入脉冲。 在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。 如果需要,通过将 地址为 8EH 的 SFR 的第 0 位置 “ 1”, ALE 操作将无效。 这一位置“ 1”, ALE 仅在执行 MOVX 或 徐州工程学院毕业设计 (论文 ) 6 MOVC 指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号 PSEN 是外部程序存储器选通信号。 当 STC89C52 从外部程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 DS18B20 数字温度传感器介绍 功能介绍 DALLAS 最新单线数字温度传感器 DS18B20 的 “ 一线器件 ” 体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 “ 一线总线 ” 接口的温度传感器。 一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 DS18B DS1822 “ 一线总线 ” 字化温度传感器 同DS1820 一样, DS18B20 也 支持 “ 一线总线 ” 接口,测量温度范围为 55176。 C~+125176。 C ,10~+85176。 C 范围内 ,精度为 177。 176。 C。 DS1822 的精度较差为 177。 2176。 C。 现场温度直接以 “ 一线总线 ” 的数字方式传 输 ,大大提高了系统的抗干扰性。 适合于恶劣环境的现场温度测量,如: 境 控制、设备或过程控制、测温类消费电子产品等。 与前一代产品不同,新的 产品支持 3V~ 的电压范围,使系统设计更灵活、方便。 而且新一代产品 更便宜,体积更小。 DS18B DS1822 的特性 DS18B20 可以程序设定 9~12 位 的分辨率,精度为 177。 176。 C。 可选更小的 方式,更宽的电压适用范围。 分辨 率设定,及用户设定的报警温度存储在 EEPROM 中,掉电 依然保存。 DS18B20 的性能是新一代产品中最好的。 性能价格比也非常出色。 DS1822DS18B20 软 件兼容,是 DS18B20 的简化版本。 省略了存储用户定义报警温度、分辨率参数的 EEPROM,精度降低为 177。 2176。 C ,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继 “ 一线总线 ” 的早期产品后, DS1820开辟了温度传感器技术的新概念。 DS18B20 和 DS1822 使电压、特 性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 DS18B20 的内部结构 DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。 DS18B20 的管脚排列如下 : DQ 为数字信号输入 /输出端; GND 为电源地; VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码。 64 位光刻 ROM 的排列是:开始 8位( 28H)是产品类型标号,接着的 48位是该 DS18B20 自身的序列号,最后 8 位是前面 56 位的循环徐州工程学院毕业设计 (论文 ) 7 冗余校验码( CRC=X8+X5+X4+1)。 光刻 ROM 的作用是使每一个 DS18B20 都各不相同,这样就可以实现一根总线上挂接多个 DS18B20 的目的。 DS18B20 中的温度传感器可完成对温度的测量,以 12位转化为例 :用 16位符号扩展的二进制补码读数形式提供,以 ℃ /LSB形式表达,其中 S 为符 号位 ,见表 21。 表 21DS18B20 内部温度表示形式 这是 12 位转化后得到的 12位数据,存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5位是符号位,如果 测得的温度大于 0,这 5位为 0,只要将测到的数值乘于 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 即可得到实际温度。 例如 +125℃ 的数字输出为 07D0H, +℃ 的数字输出为 0191H, ℃ 的数字输出为 FF6FH, 55℃ 的数字输出为 FC90H。 见表 22 表 22DS18B20 转化温度形式 实际温度值 数字输出(二进制) 数字输出(十六进制) +125℃ 0000 0111 1101 0000 07D0H +85℃ 0000 0101 0101 0000 0550H +℃ 0000 0001 1001 0001 0191H +℃ 0000 0000 1010 0010 00A2H +℃ 0000 0000 0000 1000 0008H 0℃ 0000 0000 0000 0000 0000H ℃ 1111 1111 1111 1000 FFF8H ℃ 1111 1111 0101 1110 FF5EH ℃ 1111 1110 0110 1111 FE6EH 55℃ 1111 1100 1001 0000 FC90H 徐州工程学院毕业设计 (论文 ) 8 DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速暂存 RAM 和一个非易失性的可电擦除的 E2PPRAM,后者存放高温度和低温度触发器 TH、 T和结构寄存器。 暂存存储器包含了 8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。 第三个和第四个字节是 TH、 TL 的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被 刷新。 第六、七、八个字节用于内部计算。 第九个字节是冗余检验字节 ,见表 23。 表 23DS18B20 暂存存储器 的 8个连续字节 寄存器内容 字节地址 温度最低数字位 0 温度最高数字位 1 高温限值 2 低温限值 3 保留 4 保留 5 计数剩余值 6 每度计数值 7 CTR 校验 8 该字节各位的意义如下: TM R1 R0 1 1 1 1 1 低五位一直都是 1 , TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用户不要去改动。 R1 和 R0 用来设置分辨率,如下表所示:( DS18B20 出厂时被设置为 12位) ,见表 24 徐州工程学院毕业设计 (论文 ) 9 表 24 分辨率设置表 根据 DS18B20 的通讯协议,主机控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之前都要对 DS18B20 进行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。 复位要求主 CPU 将数据线下拉 500 微秒,然后释放,DS18B20 收到信号后等待 16~ 60微秒左右,后发出 60~ 240 微秒的存在低脉冲,主 CPU 收到此信号表示复位成功。 DS1820 使用中 注意事项 DS1820 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于 DS1820 与微处理器间采用串行数据传送,因此,在对 DS1820 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 在使用 PL/M、 C 等高级语言进行系统程序 计时,对 DS1820 操作部分最好采用汇编语 实现。 (2)在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容易使人误认为可以挂任意多个 DS1820,在 实际应用中并非如此。 当单总线上所挂 DS1820 超过 8 个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接 DS1820 的总线电缆是有长度限制的。 试验中,当采用普通信号电缆传输长度超过 50m 时,读取的测温数据将发生错误。 当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。 这种情况主要是由总线分布电容使信号波形产生畸变造成的。 因此,在用DS1820 进行长距离测温系统设计时要充分考虑总线分布电容和阻 抗匹配问题。 (4)在DS1820 测温程序设计中,向 DS1820 发出温度转换命令后,程序总要等待 DS1820 的返回信号,一旦某个 DS1820 接触不好或断线,当程序读该 DS1820 时,将没有返回信 号,程序进入死循环。 这一点在进行 DS1820 硬件连接和软件设计时也要给予一定的重视。 测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地线与信号线,另一组接 VCC 和地线,屏蔽层在源端单点接地。 徐州工程学院毕业设计 (论文 ) 10 DS18B20 的内部 逻辑图 , 见图 23。 图 23DS18B20 内部内部逻辑图 DS18B20 读写时序 主机使用时间隙 (time slots)来读写 DSl820 的数据位和写命令字的位 时序见图 24 主机总线 to 时刻发送一复位脉冲 (最短为 480us 的低电平信号 )接着在 tl 时刻释放总线并进入接收状态 DSl820 在检测到总线的上升沿之后 等待 1560 接着 DS1820 在 t2 时刻发出存在脉冲 (低电平 持续 60240 us)如图中虚线所示 图 24DS18B20初始化时序图 程序: Init_DS18B20(void)//初始化 ds1820 { DQ = 1。 //DQ复位 _nop_()。 _nop_()。 //稍做延时 2ms DQ = 0。 //单片机将 DQ拉低 ,发出复位脉冲(要求 480us~960us) Delay(70)。 //精确延时 566us DQ = 1。 //拉高总线 (要求 16~60us) C 64 位 ROM 和 单 线 接 口 高速缓存 存储器与控制逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 Vdd 徐州工程学院毕业设计 (论文 ) 11 Delay(5)。 //延时 46us presence = DQ。 //如果 =0则初始化成功 =1则初始化失败 Delay(25)。 DQ = 1。 return(presence)。 //返回信号, 0=presence,1= no presence。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。