⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 task2.c

📁 万年历哇附件的话减肥霎时间了款到付货就阿里斯顿符合 飞洒
💻 C
字号:
#include "main.h"
#include "task2.h"
#include "ds18b20.h"
float temp;
unsigned char a=0;
unsigned char b=0;
unsigned char str_temp[10];

void task2_init(void)
{
   EA = 0;
   ds18b20_init();
   WriteOneChar(0xCC); //跳过读序号列号的操作
   WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
   a=ReadOneChar();
   b=ReadOneChar();
   EA = 1;
}

//任务2
void task2()
{  
   static unsigned char i=0;   
   i++; 
   if(i==1)
   {
      EA = 0;
      ds18b20_init();
      WriteOneChar(0xCC); // 跳过读序号列号的操作
      WriteOneChar(0x44); // 启动温度转换      
      EA = 1;
   }
   else if(i>8)
   {
      EA = 0;
      ds18b20_init();
      WriteOneChar(0xCC); //跳过读序号列号的操作
      WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度
      a=ReadOneChar();b=ReadOneChar();   
      //temp = (b*256+a)*6.25; //有效位到小数点后2位,适用Proteus6.9版本和实物版	
	  temp = (b*256+a)*5; //有效位到小数点后2位,适用Proteus7以上版本

      sprintf(str_temp,"%2.1f",temp/10);	  
	  str_buff1[10]	= str_temp[0];
	  str_buff1[11]	= str_temp[1];
	  str_buff1[12]	= str_temp[2];
	  str_buff1[13]	= str_temp[3];
	  str_buff1[14] = 0xdf;
	  str_buff1[15] = 'C'; 
      i = 0;
      EA = 1;
   }
   
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -