• 大小: 5.54MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-17
  • 语言: 其他
  • 标签: STM32F103  DS1820  

资源简介

DS18b20与Stm32f103c8t8的接线 DQ-----PB9 VCC----3.3v GND----GND 主程序 int main(void) { char buf[10]; unsigned int temper; delay_init(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); uart_init(115200); //初始化串口,波特率为115200 LED_GPIO_Configuration(); //初始化LED灯 USART_SendStr(USART1,"温度测量:"); while (1) { temper = DS18B20_Read_Temp(); sprintf(buf,"%d.%d",temper/10,temper); USART_SendStr(USART1,"当前温度为:"); USART_SendStr(USART1,buf); USART_SendStr(USART1," C\n"); LEDToggle(1000); //指示灯闪烁,每1s打印一次温度 } }

资源截图

代码片段和文件信息


#include “Ds18b20.h“ 
 
 //DS18b20的DQ端口接在PB9处
 
void DS18B20_IO_OutPut(void)
  {
  /*定义一个GPIO_InitTypeDef类型的结构体*/
  GPIO_InitTypeDef GPIO_InitStructure;   
  /*开启GPIOC的外设时钟*/
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB ENABLE);    //RCC_APB2Periph_GPIOB使能PB端口
      /*选择要控制的GPIOC引脚*/    
   GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9;       
  /*设置引脚模式为通用开漏输出*/
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;   
   /*设置引脚速率为50MHz */   
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  /*调用库函数,初始化DS18B20_GPIO_PORT*/
   GPIO_Init(GPIOB &GPIO_InitStructure);     
  }
 void DS18B20_IO_InPut(void)
  {
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB ENABLE);    //RCC_APB2Periph_GPIOB使能PB端口    
    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_9;        
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
    GPIO_Init(GPIOB &GPIO_InitStructure);     
  }

//************************************************************************* 
// DS18B20初始化
//*************************************************************************
 void Init18B20(void)
 {
 DS18B20_IO_OutPut();
 GPIO_ResetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);//DQ_CLR;置低电平
   delay_us(500);
 GPIO_SetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);//DQ_SET;置高电平
 delay_us(120);
 DS18B20_IO_InPut();
 while(GPIO_ReadInputDataBit(DS18B20_GPIO_PORT DS18B20_GPIO_PIN ));       /*等待数据线变为高电平*/
 delay_us(1);
 while(GPIO_ReadInputDataBit(DS18B20_GPIO_PORT DS18B20_GPIO_PIN ));
 DS18B20_IO_OutPut();
 }

//************************************************************************* 
// 向18B20写一个字节函数
//*************************************************************************  
 
/*DS18B20字节写入函数*/
void DS18B20_Write_Byte(unsigned char value) 
{
  unsigned char i;
DS18B20_IO_OutPut();
  for (i = 0; i<8; i++) 
  {
                               // DQ_OUT;S设置为输出
    GPIO_ResetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);//DQ_CLR;置低电平
    delay_us(10) ;                    
    if (value & 0x01) 
    {
      GPIO_SetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);//DQ_SET;置高电平
    }
else
{
GPIO_ResetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);// DQ_CLR;置低电平
}
    delay_us(40);   //延时40uS
    GPIO_SetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN); //DQ_SET置高电平           //位结束
delay_us(1);
    value >>= 1;
  }
GPIO_SetBits(DS18B20_GPIO_PORTDS18B20_GPIO_PIN);//DQ_SET;置高电平

}//************************************************************************* 
// DS18B20读一个字节函数
//************************************************************************* 
   
unsigned char DS18B20_Read_Byte(void) 
{
  unsigned char i;
  unsigned char value = 0;
  for (i = 0; i<8; i++) 
  {
    value =value>>1;
    DS18B20_IO_OutPut();                               // DQ_OUT;
    GPIO_ResetBits(DS18B20_GPIO_PORT

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-07 15:55  STM32F103C8T6-DS18B20\
     文件      403655  2016-09-09 13:55  STM32F103C8T6-DS18B20\DS18B20中文全套资料.pdf
     目录           0  2019-01-07 15:17  STM32F103C8T6-DS18B20\Hardware_Driver\
     目录           0  2019-01-07 15:29  STM32F103C8T6-DS18B20\Hardware_Driver\inc\
     文件         874  2019-01-07 15:29  STM32F103C8T6-DS18B20\Hardware_Driver\inc\Ds18b20.h
     文件         245  2019-01-01 17:25  STM32F103C8T6-DS18B20\Hardware_Driver\inc\led.h
     目录           0  2019-01-07 15:48  STM32F103C8T6-DS18B20\Hardware_Driver\src\
     文件        4692  2019-01-07 15:48  STM32F103C8T6-DS18B20\Hardware_Driver\src\Ds18b20.c
     文件         741  2019-01-07 15:10  STM32F103C8T6-DS18B20\Hardware_Driver\src\led.c
     目录           0  2019-01-07 16:13  STM32F103C8T6-DS18B20\Pro\
     目录           0  2019-01-07 14:39  STM32F103C8T6-DS18B20\Pro\DebugConfig\
     文件        2403  2017-11-23 15:41  STM32F103C8T6-DS18B20\Pro\DebugConfig\LED_STM32F103C8_1.0.0.dbgconf
     文件        2097  2018-12-25 11:27  STM32F103C8T6-DS18B20\Pro\JlinkLog.txt
     文件         671  2016-10-08 17:35  STM32F103C8T6-DS18B20\Pro\JlinkSettings.ini
     目录           0  2019-01-07 14:39  STM32F103C8T6-DS18B20\Pro\List\
     文件      114406  2019-01-07 16:08  STM32F103C8T6-DS18B20\Pro\List\Project.map
     文件       66564  2019-01-07 16:07  STM32F103C8T6-DS18B20\Pro\List\startup_stm32f10x_hd.lst
     目录           0  2019-01-07 16:12  STM32F103C8T6-DS18B20\Pro\Obj\
     文件      243442  2019-01-07 15:16  STM32F103C8T6-DS18B20\Pro\Obj\24l01.crf
     文件         832  2019-01-07 15:16  STM32F103C8T6-DS18B20\Pro\Obj\24l01.d
     文件      274340  2019-01-07 15:16  STM32F103C8T6-DS18B20\Pro\Obj\24l01.o
     文件          19  2019-01-04 11:46  STM32F103C8T6-DS18B20\Pro\Obj\ExtDll.iex
     文件      313364  2019-01-07 16:08  STM32F103C8T6-DS18B20\Pro\Obj\Project.axf
     文件        1275  2019-01-07 16:12  STM32F103C8T6-DS18B20\Pro\Obj\Project.build_log.htm
     文件       12246  2019-01-07 16:08  STM32F103C8T6-DS18B20\Pro\Obj\Project.hex
     文件       46451  2019-01-07 16:08  STM32F103C8T6-DS18B20\Pro\Obj\Project.htm
     文件         989  2019-01-07 16:08  STM32F103C8T6-DS18B20\Pro\Obj\Project.lnp
     文件         479  2016-08-23 15:40  STM32F103C8T6-DS18B20\Pro\Obj\Project.sct
     文件       49559  2019-01-07 16:12  STM32F103C8T6-DS18B20\Pro\Obj\Project_LED.dep
     文件      272204  2019-01-07 15:16  STM32F103C8T6-DS18B20\Pro\Obj\adc.crf
     文件        1344  2019-01-07 15:16  STM32F103C8T6-DS18B20\Pro\Obj\adc.d
............此处省略230个文件信息

评论

共有 条评论