• 大小: 10.73M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-25
  • 语言: 其他
  • 标签: 其他  

资源简介

LCD_Display_DS18B20.zip

资源截图

代码片段和文件信息

#include “ds18b20.h“


/**
  * @brief  DS18B20 Delay us
  * @param  None
  * @retval None
  */ 
void delay_us(uint32_t value)
{
  uint32_t i;
  i = value * 20;
  while(i--);
}

/**
  * @brief  Reset DS18B20
  * @param  None
  * @retval None
  */ 
void DS18B20_Rst(void)     
{                 
  CLR_DS18B20();    //DQ = 0
  delay_us(750);    //delay 750us
  SET_DS18B20();;   //DQ=1 
  delay_us(15);     //15us
}


/**
  * @brief  Check DS18B20
  * @param  None
  * @retval 1 : no exist  返回值类型说明
  *         0 : exist
  */ 
uint8_t DS18B20_Check(void)     //通过读取one wire引脚的电平在一定时间内是否翻转来检查DS18B20是否存在或损坏 
{   
  uint8_t retry=0;
  
   while (DS18B20_DQ_IN&&retry<200)
  {
    retry++;
    delay_us(1);
  };   
  if(retry>=200)return 1;
  else retry=0;
  while (!DS18B20_DQ_IN&&retry<240)
  {
    retry++;
    delay_us(1);
  };
  if(retry>=240)return 1;      
  return 0;
}

/**
  * @brief  Read Bit
  * @param  None
  * @retval 1/0
  */ 
uint8_t DS18B20_Read_Bit(void)        // read one bit
{
  uint8_t data;
  
  CLR_DS18B20();   //DQ=0
  delay_us(2); 
  SET_DS18B20();;  //DQ=1 
  delay_us(12); //控制器采样在15us以内
  if(DS18B20_DQ_IN)data=1;
  else data=0;   
  delay_us(50);  
  
  return data;
}

/**
  * @brief  Read One Byte From DS18B20
  * @param  None
  * @retval value 
  */ 
uint8_t DS18B20_Read_Byte(void)    // read one byte
{        
  uint8_t ijdat;
  dat=0;
  
  for (i=1;i<=8;i++) 
  {
        j=DS18B20_Read_Bit();
        dat=(j<<7)|(dat>>1);
  }                
  return dat;
}

/**
  * @brief  Write One Byte To DS18B20 
  * @param  Data To Write
  * @retval None
  */ 
void DS18B20_Write_Byte(uint8_t dat)     
{             
  uint8_t j;
  uint8_t testb;
  /*写时序,所有写时序最少保持60us时间,两个写周期之间至少大于1us的时间*/
  for (j=1;j<=8;j++) 
  {
        testb=dat&0x01; //取dat 0位的值
        dat=dat>>1; //dat右移一位
        if (testb)  
        {
            CLR_DS18B20(); //DS18B20_DQ_OUT=0;// Write 1    
            delay_us(2);                            
            SET_DS18B20(); //DS18B20_DQ_OUT=1; 
            delay_us(60);           
        }
        else 
        {
            CLR_DS18B20(); //DS18B20_DQ_OUT=0;// Write 0
            delay_us(60);             
            SET_DS18B20(); //DS18B20_DQ_OUT=1;
            delay_us(2);                          
        }
    }
}

/**
  * @brief  DS18B20 start convert //DS18B20开始转换
  * @param  None
  * @retval None
  */ 
void DS18B20_Start(void)
{                              
    DS18B20_Rst();      //复位DS18B20脉冲
    DS18B20_Check();    //核对DS18B20存在脉冲
    DS18B20_Write_Byte(0xcc);// skip rom oxcc忽略ROM指令
    DS18B20_Write_Byte(0x44);// convert ox44温度转换指令



/**
  * @brief  Initialize DS18B20
  * @param  None
  * @retval None
  */ 
uint8_t DS18B20_Init(void)
{
  
  SET_DS18B20();  //one wire引脚置1                        
  
  DS18B20_Rst(); //复位DS18B20
  return DS18B20_Check(); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\
     文件        3813  2016-12-26 10:15  LCD_Display_DS18B20\.mxproject
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\BSP\
     文件        3971  2018-11-13 14:10  LCD_Display_DS18B20\BSP\ds18b20.c
     文件        1021  2018-11-09 19:27  LCD_Display_DS18B20\BSP\ds18b20.h
     文件       20079  2016-12-28 09:45  LCD_Display_DS18B20\BSP\ili9325.c
     文件        9402  2016-12-26 10:23  LCD_Display_DS18B20\BSP\ili9325.h
     文件        3638  2016-04-12 19:20  LCD_Display_DS18B20\BSP\lcd.h
     文件       25924  2018-10-30 15:59  LCD_Display_DS18B20\BSP\stm3210x_lcd.c
     文件        6782  2018-11-07 19:46  LCD_Display_DS18B20\BSP\stm3210x_lcd.h
     文件       15040  2016-12-21 22:11  LCD_Display_DS18B20\BSP\touch_panel.c
     文件        3832  2016-12-19 13:50  LCD_Display_DS18B20\BSP\touch_panel.h
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\Drivers\
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\Drivers\CMSIS\
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\
     目录           0  2018-11-14 13:49  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\
     文件        5114  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_abs_f32.c
     文件        5458  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_abs_q15.c
     文件        4431  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_abs_q31.c
     文件        5090  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_abs_q7.c
     文件        4891  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_add_f32.c
     文件        4423  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_add_q15.c
     文件        4553  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_add_q31.c
     文件        4226  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_add_q7.c
     文件        4613  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_dot_prod_f32.c
     文件        4912  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_dot_prod_q15.c
     文件        5000  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_dot_prod_q31.c
     文件        5408  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_dot_prod_q7.c
     文件        5582  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_mult_f32.c
     文件        5306  2016-11-10 14:56  LCD_Display_DS18B20\Drivers\CMSIS\DSP_Lib\Source\BasicMathFunctions\arm_mult_q15.c
............此处省略591个文件信息

评论

共有 条评论