attachment downloadattachment download
§电源滤波电路:
DS1302主要性能描述
0 采用串行总线和单片机通讯,只要3条线
1 自动计时芯片,计时过程无需单片机软件模拟.
2 平时不占用单片机时间,单片机要获得时间时候只用读就可以
3 体积小,外围电路很简单
4 掉电运行功耗特小,正常工作300纳安!!!
5内有秒 分 时 日 月 星期 年可读写寄存器
6精度理论上无限高,只与外围晶体精度有关
7供电有两个VCC,一个为正常工作吸取电流,另外一组掉电
后供电(一般为钮扣电池),并且后备电池在主电源供电时,可被充电
8还送有31个字节的RAM在内部,因为带电池供电,所以可保存一些额外参数
DS1302基本工作原理
第一次上电后,DS1302 要单片机设置好秒 分 时 年 月 日 星期 寄存器,当然每个寄存器都有自己的地址,所以送数据前先送地址!然后才是这个地址上的数据.每次送数据均以一个字节为单位,但DS1302 是串行通讯,所以要用单片机脚模拟时序.设置好时间,单片机再允许时钟运行后,DS1302就可以正常工作了,平常工作时,无需MCU支持,单片机想获知现在的时间,只用利用串行口模拟时序,读相应地址上的数据就可以
看起来十分简单.因此内部寄存器作用和读写时序才是我们写程序的重点!
DS18B20主要特性
§采用单总线协议,数据输出输入都经过这个口
§甚至可以不要电源脚,而从数据线上取电
§每个芯片内部有64位唯一编码
§测量范围从-55到+125
§精度是正负0.5度(和实际温度相比)
§分辨率最小刻度是0.0625度
§分辨率可软件调节9-12位来刻度-55-+125
§当使用最高分辨率时(12位)需750MS!!
§可挂很多个DS18B20 在总线上
DS18B20工作原理
§温度的变化可以影响到振荡器的频率,如果将这些振荡脉冲采样一个固定的时间,那么这段采样期间,计数器内的个数就和温度有一定的比例关系,18B20就是用这样的一个原理经过补偿得到温度数值,并转换成数字信号,经外部MCU读取,如果对于只允许挂单个18B20,就这么简单了,但18B20设计时是允许N个并挂在一起的,这样就需要地址了,因此DS18B20内部有一个独一无二的地址编号并是64位的,因此对于挂多个18B20的系统来说,首先要寻址,才能再发送温度转换指令或配置内部工作寄存器的指令!
而对于单个18B20挂在总线上的情况,我们就不用寻址了,不用寻址并不意味着你这样就可以直接对这个18B20,你还得告诉它允许跨过寻址过程!这时候这个18B20才知道MCU就是要和它通讯,只是省却发送地址这个手续而已!!
因此对于单片机来说,整个过程分两步 1 寻址 2 操作 就这么简单
同以前的数字芯片来说一样,内部也有若干个要设置的数据。总体分两种:
用来寻址的 和 用来控制的。
DS18B20工作过程
§DSl820工作过程中的协议如下
§初始化RoM操作命令存储器操作命令处理数据
1初始化
§单总线上的所有处理均从初始化开始
2ROM操作品令
§总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如
§指令 代码
§Read ROM(读ROM) [33H]
§Match ROM(匹配ROM) [55H]
§Skip ROM(跳过ROM] [CCH]
§Search ROM(搜索ROM) [F0H]
§Alarm search(告警搜索) [ECH]
3存储器操作命令
指令 代码
§Write Scratchpad(写暂存存储器) [4EH]
§Read Scratchpad(读暂存存储器) [BEH]
§Copy Scratchpad(复制暂存存储器) [48H]
§Convert Temperature(温度变换) [44H]
§Recall EPROM(重新调出) [B8H]
§Read Power supply(读电源) [B4H]
文章评论(0条评论)
登录后参与讨论