基于单片机的数字温度计和数字钟的设计与研究整理版内容摘要:
8B20 出厂时被设置为 12 位) 表 3 DS18B20 温度转换时间表 R1 R0 分辨率 /位 温度最大转 换 时间 0 0 9 0 1 10 1 0 11 375 1 1 12 750 温度报警触发器 TH 和 TL,可通过软件写入户报警上下限。 高速暂存 RAM 为 8 字节的存储器,结构如图 3 所示。 图 3 DS18B20 字节定义 当 DS18B20 接收到温度转换命令后,开始启动转换。 单片机通过单线接口读出该数据,读数据时低位在 前 ,高位在后,数据格式以 ℃ / LSB 形式表示。 当符号位S= 0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位 S= 1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。 表 4 是一部分温度值对应的二进制 温度数据。 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 表 4 一部分温度对应值表 温度 /℃ 二进制表示 十六进制表示 +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0000 0191H + 0000 0000 1010 0001 00A2H + 0000 0000 0000 0010 0008H 0 0000 0000 0000 1000 0000H 1111 1111 1111 0000 FFF8H 1111 1111 0101 1110 FF5EH 1111 1110 0110 1111 FE6FH 55 1111 1100 1001 0000 FC90H DS18B20 完成温度转换后,把测得的温度值与 RAM 中的 TH、 TL内容作比较。 若T> TH 或 T< TL,则将该器件内的报警标志位置位,并响应主机发出的报警搜索命令。 .3 DS18B20 测温原理 图 4 中低温度系数晶振 的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。 图中还隐藏着计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。 计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将- 55℃ 所对应的一个基数分别置入减法计数器 1 和温度寄存器中,计数器 1 和温度寄存器被预置在- 55℃ 所对应的一个基数值。 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 图 4 DS18B20 测温原理 图 减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,减法计数器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数。 如此循环直到减法计数器2 计数到 0 时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。 图4 中的斜率累加器的输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。 由于 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。 系统 对 DS18B20 的各种操作按协议进行。 操作协议为:初使化 DS18B20(发复位脉冲) → 发 ROM 功能命令 → 发存储器操作命令 → 处理数据。 DS18B20 引脚定义 及其指令集 DS18B20 引脚定义 : (1)DQ 为数字信号输入 /输出端; (2)GND 为电源地; (3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20 引脚 封装如图 5: JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 图 5 DS18B20 引脚封装 根据 DS18B20 的通讯协议,主机(单片机)控制 DS18B20 完成温度转换必须经过三个步骤:每一次读写之 前都要对 DS18B20 进行 复位操作,复位成功后发送一条ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。 复位要求主CPU 将数据线下拉 500 微秒,然后 释放,当 DS18B20 收到信号后等待 16~ 60 微秒左右,后发出 60~ 240 微秒的存在低脉冲,主 CPU收到此信号表示复位成功。 以下 DS18B20的主要指令。 DS18B20 指令表: 表 5 ROM 指令表 指 令 约定代码 功 能 读 ROM 33H 读 DS1820 温度传感器 ROM 中的编码(即 64 位地址) 符合 ROM 55H 发出此命令之后,接着发出 64 位 ROM 编码,访问单总线上与该编码相对应的 DS1820 使之作出响应,为下一步对该 DS1820 的读写作准备。 搜索 ROM 0FOH 用于确定挂接在同一总线上 DS1820 的个数和识别 64 位 ROM 地址。 为操作各器件作好准备。 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 跳过 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS1820 发温度变换命令。 适用于单片工作。 告警搜索命令 0ECH 执行后只有温度超过设定值上限或下限的片子才做出响应。 表 6 RAM 指令表 指 令 约定代码 功 能 温度变换 44H 启动 DS1820 进行温度转换, 12 位转换时最长为 750ms( 9 )。 结果存入内部 9 字节 RAM 中。 读暂存器 0BEH 读内部 RAM 中 9 字节的内容 写暂存器 4EH 发出向内部 RAM 的 4 字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。 复制暂存器 48H 将 RAM 中第 3 、 4 字节的内容复制到 EEPROM 中。 重调 EEPROM 0B8H 将 EEPROM 中内容恢复到 RAM 中的第 3 、 4 字节。 读供电方式 0B4H 读 DS1820 的供电模式。 寄生供电时 DS1820 发送 “ 0 ”,外接电源供电 DS1820 发送 “ 1 ”。 DS1820 使用中注意事项 DS1820 虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 在实际应用中也应注意以下几方面的问题: 较小的硬件开销需要相对复杂的 软件 进行补偿 ,由于 DS1820 与微处理器间采用串行数据传送,因此 ,在对 DS1820 进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 在使用 PL/M、 C 等高级语言进行系统程序设计时,对 DS1820 操作部分最好采用汇编语言实现。 在 DS1820 的有关资料中均未提及单总线上所挂 DS1820 数量问题,容易使人误认为可以挂任意多个 DS1820,在实际应用中并非如此。 当单总线上所挂 DS1820 超过 8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要加以注意。 连接 DS1820 的 总线电缆是有长度限制的。 试验中,当采用普通信号电缆传输长度超过 50m 时,读取的 测温数据将发生错误。 当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达 150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正 常通讯距离进一步加长。 这种情况主要是由总线分布电容使信号波形产生畸变造成的。 因此,在用 DS1820 进行长距离测温系统设计时要充分考 虑总线分布电容和阻抗匹配问题。 在 DS1820 测温程序设计中,向 DS1820 发出温度转换命令后,程序总要等待 DS1820的返回信号,一旦 某个 DS1820 接触不好或断线, 当程序读该 DS1820 时,将没有返回信号,程序进入死循环。 这一点在进行 DS1820 硬件连接和软件设计时也要给予 一定的重视。 测温电缆线建议采用屏蔽 4 芯双绞线,其中一对线接地线与信号线,另一组接VCC 和地线,屏蔽层在源端单点接地。 DS1302 时钟芯片 传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间。 低功耗时钟芯片 DS1302 可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。 同时可为掉电保护电源提供可编程的充电功能,并且可以 关闭充电功能。 DS1302 内部结构图如图 6 所示。 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 图 6 DS1302 内部结构 引脚功能及结构 DS1302 的引脚排列 ,其中 Vcc1 为后备电源, VCC2 为主电源。 在主电源关闭的情况下,也能保持时钟的连续运行。 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。 当 Vcc2 大于 Vcc1+ 时, Vcc2 给 DS1302 供电。 当 Vcc2 小于 Vcc1 时, DS1302 由 Vcc1 供电。 X1 和 X2 是振荡源,外接 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。 如果在传送过程中 RST 置为低电平,则会终止此次数据传送, I/O 引脚变为高阻态。 上电运行时,在 Vcc≥ 之前, RST 必须保持低电平。 只有在 SCLK 为低电平时,才能将 RST置为高电平。 I/O 为串行数据输入输出端 (双向 ), SCLK 始终是输入 端。 DS1302 的工作原理 DS1302 工作时为了对任何数据传送进行初始化,需要将复位脚( RST)置为高电平且将 8 位地址和命令信息装入移位寄存器。 数据在时钟( SCLK)的上升沿串行输入,前8 位指定访问地址,命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输出数据。 时钟脉冲的个数在单字节方式下为 8+8( 8 位地址 +8 位数据),在多字节方式下为 8 加最多可达 248 的数据。 DS1302 的寄存器和控制命令 对 DS1302 的操作就是对其内部寄存器的操作, DS1302 内部共有 12 个寄存器,其中有 7 个 寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM 相关的寄存器等。 时钟突发寄存器可一次性顺序读写除充电寄存器以外的寄存器。 日历、时间寄存器及控制字如表 1 所示: 表 7 日历、时钟寄存器与控制字对照表 寄存器名称 7 6 5 4 3 2 1 0 1 RAM/CK A4 A3 A2 A1 A0 RD/W 秒寄存器 1 0 0 0 0 0 0 分寄存器 1 0 0 0 0 0 1 小时寄存器 1 0 0 0 0 1 0 日寄存器 1 0 0 0 0 1 1 月寄存器 1 0 0 0 1 0 0 JKDFHJDSHFJKHSDJKFH DDK SLFHALDSFJ DSHF JDSHFKLDHFKDSH FJHDSAF JDSHFL DSHFLK ASHLFDSJK 星期寄存器 1 0 0 0 1 0 1 年寄存器 1 0 0 0 1 1 0 写保护寄存器 1 0 0 0 1 1 1 慢充电寄存器 1 0 0 1 0 0 0 时钟突发寄存器 1 0 1 1 1 1 1 最后一位 RD/W 为 “0”时表示进行写操作,为 “1”时表示读操作。 DS1302 内部寄存器列表如表。基于单片机的数字温度计和数字钟的设计与研究整理版
相关推荐
值,当它们相等的时候显示 1000,以此类推,所以当 Rx=R0 的时候,表头显示1000,当 Rx= 时显示 500,称之为比例读数特性。 因此我们只要选取 10 不同标准的电阻 并适当的对小数点进行定位,就能得到不同的电阻测量值。 下图是数字万用表多量程电阻档电路 由此可以推 出 R R R R4等 图 图 (PTC)热敏电阻 R与晶体管 T组成了过压保护电路
中断源的中断服务 程序的入口地址。 MCS51单片机复位后,程序存储器 PC 的内容为 0000H,故系统从 0000H 单元开始取指令,执行程序。 64K 程序存储器中有 5个单元具有特殊用途,如下: 0003H:外部中断 0 入口地址。 000BH:定时器 0中断入口地址。 0013H:外部中断 1 入口地址。 001BH:定时器 1中断入口地址。 0023H:串行口中断入口地址。
将该器件内的报警标志位置位,并响应主机发出的报警搜索命令。 .3 DS18B20 测温原理 图 4 中低温度系数晶振 的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器 1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。 图中还隐藏着计数门,当计数门打开时, DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。
析了教室灯光智能控制的原理和 实现 方法 , 结 合自 己 查 找的相 关设计 手册 和 辅 助 资 料 ,参考国内外的 设计 方法、研究成果和 设计 方案 ,提出 一种用热释电红外传感器和光照检测相结合的智能照明控制系统。 本系统 以 AT89C52单 片机作 为 教室灯光控制器的核心 ,采用 热 释电 红 外 人体 传 感器 检测 人体存在,采用光敏 电阻 构成的 电 路 检测环境 光的 强
终识别建立一个良好的基础,以保证整个系统识别率比较高。 对于自动指纹识别技术而言,选择一种合适的、能表达指纹唯一性的特征量是非常关键的。 一般说来,这种特征应有以下性质: 10 (1) 单一性:要求这种特征能够充分体现指纹的唯一性。 (2) 可测试性:适用于指纹匹配算法,便于在匹配算法中应用。 (3) 紧凑性:要求提取的特征不应包含指纹唯一性以外的冗余信息,并且信息量要尽量小,便于存储
AD590放大电路 电路分析: AD590 的输出电流 I=( 273+T) μA ( T 为摄 氏温度),因此测量的电压 V为( 273+T) μA179。 10K= ( +T/100) V。 为了测量 电压 需要 使输出电流 I 不分流出来,使用电压跟随器 , 其输出电压 V2 等于输入电压 V。 然后 使用差动 的 放大器 , 其输出 Vo为( 100K/10K) 179。 ( V2V1)