新闻中心

EEPW首页>嵌入式系统>设计应用> 基于单片机和DS18B20的数字温度计

基于单片机和DS18B20的数字温度计

作者: 时间:2011-11-11 来源:网络 收藏

基于单片机和DS18B20的数字温度计
3.2 DS1SB20与之间的通信命令和时序
工作过程中的协议如下:
1)初始化;
2)ROM操作命令;
3)存储器操作命令;
4)时序。
主机使用时间隙(time slots)读写的数据位和写命令字的位。
由于采用单总线协议方式,即在1根数据线实现数据的双向传输,而对MSP430F1121A来说,硬件上并不支持单总线协议,因此,必须采用软件方法模拟单总线的协议时序,完成对DS18B20的访问。
DS18B20在1根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了初始化时序、读时序、写时序。
3.3 温度数据的计算处理方法
从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。因为DS18B20的转换精度为9~12位可选的,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.062 5为步进的,即温度值为寄存器里的二进制值乘以0.062 5,就是实际的十进制温度值。一个十进制值和二进制值之间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的小数部分。小数部分因为是半个字节,所以二进制值范围是0~F,转换成了十进制小数值就是0.062 5的倍数(0~15倍),这样需要4位的数码管来显示小数部分,实际应用可以采用1位数码管来显示小数,可以精确到0.1℃。

4 系统调试
4.1 硬件检测和调试

硬件调试比较简单,在系统设计的过程中,由于主控制器(MSP430F1121A)部分是集成在利尔达单片机技术有限公司MSP430仿真器FET上的。因此主要是对DS18B20测温模块以及LED数字显示模块进行硬件检测和调试。
4.2 软件调试
本程序采用单片机MSP430的语言编写,用IAR system公司开发的IAR Embedded Workbench for MSP430 Kickstart编译器编程调试。进入IAR Embedded Workbench集成环境,然后在该环境下建立一个项目,进入源程序编辑界面。在这里进行源程序的编辑,编译结束后,源文件编译通过之后,将生成目标代码。最后进入CSFY调试环境,如图6所示。

基于单片机和DS18B20的数字温度计


在CSPY环境中,分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序、显示数据刷新等子程序的编程及调试,通过观察寄存器的窗口来判断从DS18B20读取的效据是否准确。由于该数字温度测试仪的时序要求比较严,把握读写时隙才能准确地测量出温度数值。因此在CSPY工作环境下,通过观察程序运行的结果来断定程序的正确以及准确度。在出现错误时返回IAR Embedded Workb-ench工作界面,重新对程序进行编写和修改。
4.3 整体调试
通过硬件和软件的调试后,连接各个模块。由于主控制器模块采用MSP430仿真调试器FET,其集成有MSP430F1121A单片机以及与其相关的外围模块,通过计算机串口连接并由计算机的串口供电(实际工作电压为2.5 V),进入相关的调试控制程序后对单片机进行管理和操作。
温度测量以及显示模块焊接在同一块电路板上,由直流稳压电源提供3 V的电压。通过数据线将3个主要模块连接,DS18B20的数据端与MSP430F1121A单片机的散据端连接。为了保证温度数据的正常读取,必须将二者的接地端短接,以保证其电势相等。接通电源后,由计算机进入MSP430调试环境,运行程序,这时LED数码管开始显示“00”(程序的开始复位信号),然后显示由DS18B20检测的温度数值。整体的调试过程必须一直调试到能正常的显示温度值,而且在有温度变化时显示温度能改变就基本完成。

5 结论
在基于MSP430单片机的温度测试仪的设计中。在低功耗设计方面,首先是选择低功耗元件,从单片机、传感器和LED显示器及其驱动电路,都尽量选择市场上功耗最低的产品;其次在硬件电路设计方面,降低系统工作电压;再次,是软件设计融入低功耗思想,核心的方法就是在最短的时间内把需要的工作完成,然后立即进入休息状态,不论在工作还是休息状态,立即关闭不必要的模块,以最大限度地降低功耗,例如,采样间歇状态时,关闭单片机内部除看门狗定时器之外的所有模块,切断传感器和放大器的供电,将外部存储器置于休眠状态,只有显示器处于活动状态,最大限度地降低了功耗。这些低功耗的措施起到了良好的效果,成功地控制了MSP430单片机的温度测试仪的功耗,使用MSP430为核心构成的便携式系统,MSP430单片机的温度测试仪电池的使用寿命可以比基于一般CPU的系统延长3~5倍。在降低成本的措施方面,满足性能的前提下,尽量选择低成本元件,显示部分采用了CD4511进行驱动显示,温度测量采用DS18B20数字温度传感器,具有线路简单,体积小的特点。因此用它来组成一个测温系统,在一根通信线上可以挂多个数字温度测试仪,十分方便。相比其他的温度传感器,该系统设计具有结构简单、分辨率高、可调节的特点,且无需硬件同步时钟控制。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭