资源简介
基于STM32F103C8T6的温控器小设计,内含原理图,流量传感器为霍尔传感器,温度传感器为DS18B20,显示是0.96寸IIC接口的OLED。
代码片段和文件信息
/***************************************
* 文件名 :DS18B20.c
* 描述 :DS18B20 应用函数库
*
* 硬件连接:-----------------
* | PB05 - DQ |
* -----------------
**********************************************************************************/
#include “DS18B20.h“
#include “SysTick.h“
//void delay_us(unsigned int us)
//{
// int i;
// for(i=0;i // _asm(“nop“);
//}
void DS18B20_IO_OUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB &GPIO_InitStructure);
}
void DS18B20_IO_IN(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB &GPIO_InitStructure);
}
//复位DS18B20
void DS18B20_Rst(void)
{
DS18B20_IO_OUT(); //SET PA0 OUTPUT
DS18B20_DQ_OUT(0);
//DS18B20_DQ_OUT=0; //拉低DQ
delay_us(750); //拉低750us
DS18B20_DQ_OUT(1);
//DS18B20_DQ_OUT=1; //DQ=1
delay_us(15); //15US
}
//等待DS18B20的回应
//返回1:未检测到DS18B20的存在
//返回0:存在
u8 DS18B20_Check(void)
{
u8 retry=0;
DS18B20_IO_IN();//SET PA0 INPUT
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;
}
//从DS18B20读取一个位
//返回值:1/0
u8 DS18B20_Read_Bit(void) // read one bit
{
u8 data;
DS18B20_IO_OUT();//SET PA0 OUTPUT
DS18B20_DQ_OUT(0);
//DS18B20_DQ_OUT=0;
delay_us(2);
DS18B20_DQ_OUT(1);
//DS18B20_DQ_OUT=1;
DS18B20_IO_IN();//SET PA0 INPUT
delay_us(12);
if(DS18B20_DQ_IN)data=1;
else data=0;
delay_us(50);
return data;
}
//从DS18B20读取一个字节
//返回值:读到的数据
u8 DS18B20_Read_Byte(void) // read one byte
{
u8 ijdat;
dat=0;
for (i=1;i<=8;i++)
{
j=DS18B20_Read_Bit();
dat=(j<<7)|(dat>>1);
}
return dat;
}
//写一个字节到DS18B20
//dat:要写入的字节
void DS18B20_Write_Byte(u8 dat)
{
u8 j;
u8 testb;
DS18B20_IO_OUT();//SET PA0 OUTPUT;
for (j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if (testb)
{
DS18B20_DQ_OUT(0);
//DS18B20_DQ_OUT=0;// Write 1
delay_us(2);
DS18B20_DQ_OUT(1);
//DS18B20_DQ_OUT=1;
delay_us(60);
}
else
{
DS18B20_DQ_OUT(0);
//DS18B20_DQ_OUT=0;// Write 0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-12-22 22:13 基于STM32F103C8T6的温控器小设计\
目录 0 2019-12-22 22:13 基于STM32F103C8T6的温控器小设计\原理图\
文件 659 2019-05-23 22:33 基于STM32F103C8T6的温控器小设计\原理图\Free Documents.Dat
文件 4199 2019-05-23 22:34 基于STM32F103C8T6的温控器小设计\原理图\Free Documents.OutJob
目录 0 2019-12-22 22:13 基于STM32F103C8T6的温控器小设计\原理图\History\
文件 1708 2019-05-23 22:32 基于STM32F103C8T6的温控器小设计\原理图\History\Free Documents.~(1).OutJob.Zip
文件 1460 2019-05-23 20:49 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(1).SchDoc.Zip
文件 16386 2019-05-23 21:14 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(10).SchDoc.Zip
文件 16909 2019-05-23 21:16 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(11).SchDoc.Zip
文件 17926 2019-05-23 21:18 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(12).SchDoc.Zip
文件 18762 2019-05-23 21:18 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(13).SchDoc.Zip
文件 18802 2019-05-23 21:19 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(14).SchDoc.Zip
文件 18834 2019-05-23 21:21 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(15).SchDoc.Zip
文件 20009 2019-05-23 21:22 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(16).SchDoc.Zip
文件 20509 2019-05-23 21:23 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(17).SchDoc.Zip
文件 21461 2019-05-23 21:25 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(18).SchDoc.Zip
文件 23427 2019-05-23 21:25 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(19).SchDoc.Zip
文件 3912 2019-05-23 20:52 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(2).SchDoc.Zip
文件 23458 2019-05-23 21:25 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(20).SchDoc.Zip
文件 23484 2019-05-23 21:25 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(21).SchDoc.Zip
文件 23556 2019-05-23 21:26 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(22).SchDoc.Zip
文件 23560 2019-05-23 21:30 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(23).SchDoc.Zip
文件 24142 2019-05-23 21:31 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(24).SchDoc.Zip
文件 24264 2019-05-23 21:32 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(25).SchDoc.Zip
文件 24653 2019-05-23 22:14 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(26).SchDoc.Zip
文件 25155 2019-05-23 22:14 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(27).SchDoc.Zip
文件 25196 2019-05-23 22:14 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(28).SchDoc.Zip
文件 25231 2019-05-23 22:15 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(29).SchDoc.Zip
文件 4236 2019-05-23 20:54 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(3).SchDoc.Zip
文件 25289 2019-05-23 22:15 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(30).SchDoc.Zip
文件 25276 2019-05-23 22:15 基于STM32F103C8T6的温控器小设计\原理图\History\Sheet1.~(31).SchDoc.Zip
............此处省略417个文件信息
相关资源
- 武汉大学嵌入式课件
- 嵌入式操作系统风云录 历史演进与物
- 嵌入式系统软硬件协同设计实战指南
- [基于ARM嵌入式系统接口技术].李岩等
- 嵌入式WEB监控小车全套代码以及文档
- 嵌入式linux下QT开发的mp3播放器源码
- 毕设-人脸识别技术
- OSEKVDX汽车电子嵌入式软件编程技术及
- 基于arm芯片的俄罗斯方块游戏
- 西农- 嵌入式考题
- 嵌入式Linux系统设计及应用-基于国产
- 时间触发嵌入式系统设计模式
- 嵌入式实时操作系统VxWorks及其开发环
- 嵌入式操作系统基础μCOS-2和Linux第二
- 嵌入式系统及其应用 基于Cortex-M3内核
- 51单片机迷宫游戏源码及实验报告
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- FPGA嵌入式项目开发三位一体实战精讲
- 嵌入式实时操作系统small RTOS51原理及
- 研发嵌入式CPU+VxWorks+IEC61850模式资料
- 嵌入式面试宝典
- 嵌入式系统软硬件协同设计实战指南
- 基于Stm32的嵌入式WebServer例程
- Windows CE嵌入式开发标准教程(修订版
- Windows CE 6.0嵌入式高级编程(中文版)
- 嵌入式系统导论CPS方法
- 基于stm32的智能路灯控制
- 嵌入式系统可靠性设计.pdf
- stm32智能安防系统
- 来了!PSIM一键自动生成嵌入式代码技
评论
共有 条评论