第一范文网 - 专业文章范例文档资料分享平台

基于DS18B20温度传感器的设计

来源:用户分享 时间:2025/8/27 12:12:32 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

图 4-1-3 DS18B20程序流程

所以在软件设计方面,我们主要是读取温度函数和温度显示函数的编写。 1、

读取温度函数

图4-1-4 读温度子程序流程图

图4-1-5 温度转换子程序流程图

void Read_Temperature() {

if(Init_DS18B20()==1) //DS18B20故障 }

DS18B20_IS_OK=0;

else { }

WriteOneByte(0xcc);

//跳过读取DS18B20的系列号

WriteOneByte(0x44); //启动温度转换 Init_DS18B20(); WriteOneByte(0xcc);

//跳过读取DS18B20的系列号

WriteOneByte(0xbe); // 读取温度寄存器 Temp_Value[0] = ReadOneByte(); //温度低8位 Temp_Value[1] = ReadOneByte(); // 温度高8位 DS18B20_IS_OK=1;

上述代码中,未读取DS18B20的系列号。 2、

温度显示函数

void Display_Temperature() {

uchar i;

//延时值和负数标志 uchar t = 150, ng = 0;

//高5位全为1(0XF8)则为负数,为负数时取反加1,并设置负数标识 if((Temp_Value[1]&0xf8)==0xf8) {

Temp_Value[1] = ~Temp_Value[1]; }

//查表得到温度小数部分

Display_Digit[0] = df_Table[Temp_Value[0]&0x0f];

//获取温度整数部分(高字节中的低3位和低字节中高4位,无符号) CurrentT = ((Temp_Value[0]&0xf0)>>4) | ((Temp_Value[1]&0x07)<<4); //将整数部分分解为3位待显示的显示数字

Temp_Value[0] = ~Temp_Value[0]+1; if(Temp_Value[0]==0x00)

Temp_Value[1]++; //负数标识置1

ng = 1;

Display_Digit[3] = CurrentT/100; Display_Digit[2] = CurrentT0/10; Display_Digit[1] = CurrentT; //刷新LCD显示缓冲

Current_Temp_Display_Buffer[11] = Display_Digit[0] + '0'; Current_Temp_Display_Buffer[10] = '.';

Current_Temp_Display_Buffer[9] = Display_Digit[1] + '0'; Current_Temp_Display_Buffer[8] = Display_Digit[2] + '0'; Current_Temp_Display_Buffer[7] = Display_Digit[3] + '0'; //高位为零时不显示 if(Display_Digit[3] == 0)

Current_Temp_Display_Buffer[7] = ' ';

if(Display_Digit[2] == 0&&Display_Digit[3]==0)

Current_Temp_Display_Buffer[8] = ' '; //负数符号显示在恰当的位置

if(ng) {

if(Current_Temp_Display_Buffer[8] == ' ')

Current_Temp_Display_Buffer[8] = '-';

else if(Current_Temp_Display_Buffer[7] == ' ')

Current_Temp_Display_Buffer[7] = '-';

else

搜索更多关于: 基于DS18B20温度传感器的设计 的文档
基于DS18B20温度传感器的设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5cofd0t3v91lh1d7s0l19lpyv23wwc008m9_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top