单片机课程设计报告(万年历) - 图文 联系客服

发布时间 : 星期五 文章单片机课程设计报告(万年历) - 图文更新完毕开始阅读9f121058ccbff121dc368334

江西财经大学职业技术学院 单片机课程设计报告

(3) DS18B20管脚介绍

DS18B20的管脚排列

1 . GND为电源 地; 2. DQ为数字信号输入/输出端;

3. VDD为外接供电电源输入端,在寄生电源接线方式时接地;

(4) DS18B20内部结构

? DS18B20 内部结构主要由四部分组成: 64 位光刻 ROM 、温度传感器、非挥发的温

度报警触发器 TH 和 TL 、配置寄存器。

? 光刻 ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该

DS18B20 的地址序列码。 64 位光刻 ROM 的排列是:开始 8 位(地址: 28H )是产品类型标号,接着的 48 位是该 DS18B20 自身的序列号,并且每个 DS18B20 的序列号都不相同,因此它可以看作是该 DS18B20 的地址序列码;最后 8 位则是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1 )。由于每一个 DS18B20 的 ROM 数据都各不相同,因此微控制器就可以通过单总线对多个 DS18B20 进行寻址,从而实现一根总线上挂接多个 DS18B20 的目的。

DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。

第 17 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告

(5) DS18B20温度转化示例

(6) DS18B20时序介绍

DS18B20的一线工作协议流程是:

初始化→ROM操作指令→存储器操作指令→数据传输。 其工作时序包括:

? 初始化时序 ? 写时序 ? 读时序

初始化时序

第 18 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告

主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。

做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。

对DS18B20的写和读操作

接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。因此首先要搞清主机是如何进行写0、写1、读0和读1的。

写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。

对于读数据操作时序也分为读0时序和读1时序两个过程。读时序是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。若要送出1则释放总线为高电平。主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在内的15微秒时间内完成对总线进行采样检测,采样期内总线为低电平则确认为0。采样期内总线为高电平则确认为1。完成一个读时序过程,至少需要60us才能完成

第 19 页 共 63 页

江西财经大学职业技术学院 单片机课程设计报告

(7) DS18B20操作步骤

(1)每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线

下拉 500us ,然后释放, DS18B20 收到信号后等待 16us~60us 左右,然后发出 60us~240us 的存在低脉冲,主 CPU 收到此信号后表示复位成功。 (2)发送一条 ROM 指令

第 20 页 共 63 页