资源简介
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\Jli
文件 671 2016-10-08 17:35 STM32F103C8T6-DS18B20\Pro\Jli
目录 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个文件信息
相关资源
- 基于stm32f103ve的程序——跑马灯实验
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- STM32F103 串口程序(完整版)
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32F103 CC2500完整驱动(模拟SPI)
- SX1280.rar
- STM32F103C8T6+NRF24l01无线通信
- stm32f103.SchDoc
- STM32F103 USART+DMA
- 基于STM32F103C8单片机的晶联讯电子JL
- STM32F103实现OV7670摄像头显示
- STM32F103VCT6TR - High-density performance lin
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F103启动文件HD;MD
- 基于STM32F103的实时时钟程序,采用D
- STM32F103系列PWM输出应用之纸短情长音
- STM32F103移植FreeModbus实现modbus主机.zi
- 基于STM32F103C8T6的循迹避障小车完成
- 基于STM32+TM1638芯片的共阳极数码管驱
- stm32f103AES加密 cbc模式
- 中国移动 M5310 模组资料 DEMO 例程- S
- STM32F103移植rt-thread
- PCA9685驱动STM32F103
- stm32f103c8t6-max31865-pt100测温
- stm32F103C8外部flash图片显示
评论
共有 条评论