课程设计报告 负压特性:电源极性接反时不会烧坏DS18B20,但是也不能正常工作 DS18B20的外形级封装如图3-2,引脚说明: VDD 电源引脚,电压范围3.0-5.5V。 GND 接地引脚。
DQ 数据引脚,传递数据的输入和输出。该引脚常态下为开漏输出,输出高电平。
图3-2 DS18B20的外形级封装
3.3.2DS18B20的内部结构
DS18B20的内部结构如图3-3。DS18B20的内部结构主要有64位ROM、温度灵敏元件、内部存储器和配置寄存器四部分组成。
第 5 页
课程设计报告
图3-3 DS18B20的内部结构
64位ROM:64位ROM的内容是64位序列号,是出厂前用激光刻好的。它可以用作该DS18B20的地址序列码。每一个DS18B20的64位ROM都不同,这样就可以实现一根总线上挂多个DS18B20的目的。这64位ROM的排列是:开始8位是产品类型号,接着的48位是该DS18B20的自身的序列号,最后8位是前面56位的循环冗余(CRC,CRC=X8+X5+X4+1)校验码。
温度灵敏元件:温度灵敏元件完成对温度的测量,测量后的结果存储在两个8位的寄存器中,这两个寄存器定义如图3-4。温度寄存器高字节的高5位是符号位,温度为负时这5位为1;温度为正时,这5位为0。高字节寄存器的低3位与低字节寄存器的高4位组成温度的整数部分,低字节寄存器的低4位是温度的小数部分。当温度大于0时,温度值以原码存放。而当温度小于0时,以二进制补码形式存放。
当转换位数为12位时,温度的精度为1/16(4位小数位,所以为16)=0.0625度。同理,当转换位数为11位时,精度为1/8=0.125度。
对于温度的计算,以12位转换位数为例:对于正的温度,只要将测到的数值的整数部分取出,转换为10进制,再将小数部分乘以0.0625就可以得到10进制的小数位的温度值了。而对于负的温度,则需要将采集到的数值取反加1,即可得到实际温度的16进制表示。再按照正温度的计算方法就可以得出10进制的负的温度了。
第 6 页
课程设计报告 图3-4 DS18B20温度寄存器格式
图3-5所示是在12位转换位数情况下的温度转换值和温度对照表
图3-5 12位转换位数的温度转换值和温度对照表
图3-6所示是在不同转换位数情况下和转换时间的对照表
图3-6 温度值转换位数设置表
3.3.3 外部电路和连接
DS18B20与单片机的连接如图3-6所示,由于DS18B20的数据线要求空闲状态为高电平,所以我在DS18B20的数据线与电源线VCC之间加了一个4.7K的上拉电阻,如果不想接上拉电阻的话,可以使能PA0口的内部上拉功能。从图中可以看出,本例使用的是给DS18B20外接电源的方式。
DS18B20的数据线DQ连到单片机的PA0口。单片机通过控制PA0口实现对DS18B20的操作。
第 7 页
课程设计报告
图3-6 DS18B20电路
3.4 加热控制执行机构的设计
3.4.1 水杯与加热器
为使加热时间较短,并且能够确定每次加热的水量,笔者选择了一个透明的塑料杯作为容器。由于加热水量较少,因此选择了一个功率较小的加热棒,为220V-200W。如图3-7。
3.4.2 加热控制机构
设计初期为了使控制的执行机构简单,选择了继电器作为控制机构,后来了解到还可以使用可控硅作为控制机构。
控制由继电器的通断控制加热棒的开关。继电器JQC-T73由直流电压控制线圈端子,触点最大可承受250V交流电或30V直流电。继电器JQC-T73的结构图与工作状态表如图3-8。
第 8 页
相关推荐: