【不用开发板学习STM32】DS18B20温度采集+OLED显示(文末获取代码及工程文件)

原创 智芯Player 2022-11-01 23:31
关注我们
更多精彩等你发现!




不用开发板学习STM32

  温度传感器

DS18B20实验

1

实验环境介绍

• 实验环境

本次实验是通过Proteus+MDK一起模拟完成的。Proteus模拟实际电路,MDK编译代码。Proteus版本是8.13,MDK版本是5.21。需要注意的是,Proteus需要安装8.8以上版本,器件库里面要支持STM32F103R8。

实验目的

    1.读取DS18B20的数值转换成温度,正负值都能读取;

    2.OLED12864屏幕显示当前温度,上限阈值,下限阈值;

    3.可通过按键调节温度上下限阈值;

    4.温度超过范围红色LED亮起报警,在范围内绿色LED亮起。

2

硬件电路



Proteus电路

• 主控:

STM32F103R8(之前用的是C6,但是觉得IO少了点改成了R8,本质上只有Flash和SRAM大小的区别,所以没有必要纠结)

• 时钟:

没有用外部晶振,因为Proteus只支持一种时钟树,所以这里采用内部晶振,做实验够了,倍频后是48M。

• 复位电路:

复位电路直接去掉了,因为不是实际电路,在仿真环境中感觉作用不大,还占地方。

• IO说明:

  1. OLED的I2C通信SCL-PB12,SDA-PB13;

  2. DS18B20的1-wrie的IO-PA11;

  3. RED-LED-PB0,GREEN-LED-PB1;

  4. 串口用来调试PA9和PA10;

  5. 上限设置按键-PC0,下限设置按键PC1。

3

代码概述



MDK代码目录结构

• 代码目录概述:

APP文件夹:主要包含应用函数的.C文件。

BSP文件夹:主要包含底层硬件驱动的.C文件。

MDK-ARM文件夹:主要包含STM32的启动的.S文件。

StdPeriph_Driver文件夹:主要包含ST官方提供的标准外设驱动.C文件(不是HAL库哦)。

CMSIS文件夹:系统内核配置文件,标准库自带的。

• 代码内容概述:

↓↓↓ 主要贴一下DS18B20的代码:

↓↓↓复位函数,reset ds18b20

DS18B20_IO_OUT_Pin_11(); //SET PA11 OUTPUTDS18B20_DQ_OUT_Pin_11(0); //拉低PA11Delay_DS18B20_1us(750);    //延时750usDS18B20_DQ_OUT_Pin_11(1); //拉高PA11Delay_DS18B20_1us(15);     //15US

↓↓↓ 检测函数,检测总线上有没有 ds18b20:

u8 retry=0;  DS18B20_IO_IN_Pin_11();//SET PA0 INPUT       while (DS18B20_DQ_IN_Pin_11&&retry<200)  {    retry++;    Delay_DS18B20_1us(1);  };     if(retry>=200)return 1;  else retry=0;    while (!DS18B20_DQ_IN_Pin_11&&retry<240)  {    retry++;    Delay_DS18B20_1us(1);  };  if(retry>=240)return 1;        return 0;

↓↓↓ 读数值函数,读ds18b20返回的温度:

↓↓↓读1bit

u8 data;DS18B20_IO_OUT_Pin_11();//SET PA0 OUTPUTDS18B20_DQ_OUT_Pin_11(0); Delay_DS18B20_1us(2);DS18B20_DQ_OUT_Pin_11(1); DS18B20_IO_IN_Pin_11();//SET PA0 INPUTDelay_DS18B20_1us(12);if(DS18B20_DQ_IN_Pin_11)data=1;    else data=0;       Delay_DS18B20_1us(50);            return data;

↓↓↓读1byte

u8 i,j,dat;dat=0;for (i=1;i<=8;i++)   {        j=DS18B20_Read_Bit_Pin_11();        dat=(j<<7)|(dat>>1);   }                return dat;

↓↓↓写1byte

u8 j;u8 testb;DS18B20_IO_OUT_Pin_11();//SET PA0 OUTPUT;for(j=1;j<=8;j++) {        testb=dat&0x01;        dat=dat>>1;        if (testb)         {            DS18B20_DQ_OUT_Pin_11(0);// Write 1            Delay_DS18B20_1us(2);                                        DS18B20_DQ_OUT_Pin_11(1);            Delay_DS18B20_1us(60);                     }        else         {            DS18B20_DQ_OUT_Pin_11(0);// Write 0            Delay_DS18B20_1us(60);                         DS18B20_DQ_OUT_Pin_11(1);            Delay_DS18B20_1us(2);                                  }}

↓↓↓ 更详细代码及工程文件,公众号回复关键字就能获取!!

4

实验结果展示



实验实际效果



实验实际效果

  1. 开机经过初始化以后,显示欢迎界面以及当前的温度,默认上限温度是10℃,下限温度是-10℃;

  2. 按下上下限设置温度设置按键后,界面切换到设置按键,按一下上限+1,下限-1。

关注公众号,后台回复以下内容免费获取




2004


AD封装系列
铝电解系列封装(带3D)
USB Type-A座子系列(带3D)
TF(micro SD)卡座封装大全(带3D)
2.4G PCB天线(量产用)
RJ45座子(带3D)
DC3-2.54板端座子(带3D)
USB3.0板端座子(带3D)
LED发光二极管(带3D)
贴片插件电阻排阻(带3D)
插件压敏电阻(带3D)
继电器(带3D)
按键开关,拨码开关,拨动开关(带3D)
PH2.0座子插件贴片(带3D)
915MHz天线,GPS天线,GSM天线,433MHz天线,13.56Hz天线,LTE天线
FPC座子0.5mm间距1.0mm间距1.25间距(带3D)
贴片及插件二极管-整流桥(带3D)
插件电解电容,贴片电容,钽电容,独石电容(带3D)
VH3.96mm插件座子(带3D)
XH2.54mm座子插件贴片(带3D)
贴片插件晶振(带3D)
micro USB座子,Type C座子,USB-A公头(带3D)
三极管,MOS管,部分LDO(TO,SOT系列)(带3D)
贴片电感(带3D)
插件电感,变压器(带3D)
芯片IC封装-QFP,TQFP,LQFP(带3D)
DC电源接口、音频接口(带3D)
数码管,点阵,屏(带3D)
VGA视频座子,RJ11座子(带3D)
SD卡卡座(带3D)
SIM卡卡座(带3D)
KF2EDGK系列2.54接线端子(带3D)
KF2EDGK系列3.81接线端子(带3D)
KF2EDGK系列5.08接线端子(带3D)
MX1.25mm座子插件贴片(带3D)
ZH1.5mm座子插件贴片(带3D)
2.54间距排针排母插件贴片(带3D)
不用开发板学习STM32系列
一般流水灯实验(文末获取代码及工程文件
7段数码管0~9定时显示(文末获取代码及工程文件
串口收发+按键控制数码管显示(文末获取代码及工程文件
必看必读系列
【收藏】32个EMC标准电路!!
【收藏】你应该知道的拓扑结构-开关电源,都在这里!!
【收藏】开关电源你必须知道的专业名字(中英对照)!!
【收藏】优选4层板到12层板叠层经典设计方!!
【收藏】漫画电容器产品及选型指南
【过瘾】电机原理动态图,停不下来!!
【过瘾】各种烙铁头正确使用姿势,你get到了吗?
【较真】细说LDO旁路电容如何选!!
【较真】0欧姆电阻的妙用!!
【必看】10分钟学会看MOSFET手册!!
经典PPT系列
大厂FOC控制理论!
反激式电源同步整流技术!
PCIe6.0官方介绍PPT!
电子元器件基础普及系列
电阻知识点总结!
电容分类知识点总结!
二极管知识点总结!
电感分类知识点总结!
变压器知识大盘点
必须知道的天线知识及天线图谱
美国线规AWG与公制对照表,拿走不谢~
经典图文,带你一文搞懂MOS管!
超级电容!为什么那么超级!
三极管原理--我见过最通俗易懂的讲法!
功率(PiN)二极管反向恢复机理!
从5个方面,详细讲述旁路电容器原理!
趣味试用系列
【RT-Thread RISC-V 评估板】+ 上电,RGB流水灯走一个!
ART-Pi,基于RT-Thread Studio实现快速开发 !
便携USB示波器,入门首先,性价比之王!
为工业应用而生,飞凌嵌入式OKMX8MP-C开发板!
PCB知识库系列
印制电路板(PCB)专业词汇及术语大全!
射频(RF)PCB设计要点!

智芯Player 电子创客DIY达人聚集地,发布有趣的DIY作品,实用的教程,板卡试用心得,发布实用的PC手机软件,最新行业动态,兼职外快信息,你想要的这里都有,打造一个可以玩,可以吐槽的工程师小圈子.
评论
  • 概述 Cyclone 10 GX器件的ALM结构与Cyclone V类似,所以在Cyclone 10 GX器件上实现TDC功能理论上是可以完全参考甚至移植自Cyclone V系列的成功案例。但是,现实却是更多的问题出现当在Cyclone 10 GX使用和Cyclone V同样策略实现TDC的时候。 本文主要记录在Cyclone 10 GX器件上实现TDC时的探索,并为后续TDC设计、测试等展开前期研究。Cyclone 10 GX ALM结构 如图1所示,Cyclone 10 GX器件的ALM结构
    coyoo 2024-12-14 17:15 79浏览
  • 在现代软件开发领域,效率和可靠性是企业在竞争中取胜的关键。本文将深入探讨 ANA Systems 如何通过引入业界领先的 CI/CD 平台——CircleCI,克服传统开发流程的瓶颈,实现开发运营效率的全面提升。同时,本文还将详细解析 CircleCI 的核心优势,包括其强大的自动化功能、广泛的工具整合能力,以及为企业量身定制的支持服务,揭示其如何助力 ANA Systems 在「新一代国内旅客项目」中脱颖而出。这一案例将为企业优化开发流程、提升竞争力提供重要的实践参考。ANA Systems
    艾体宝IT 2024-12-16 16:44 89浏览
  • 在现代生活中,我们经常会遇到需要检测电线是否带电的情况。这时,一款好用的数显测电笔就显得尤为重要了。今天,我想跟大家分享一下DELIXI数显测电笔的使用方法,通过一个故事来讲述它如何帮助我们解决生活中的小麻烦。 在一个阳光明媚的周末,小明决定对他家的电路进行一次全面的检查。他知道,虽然自己不是专业的电工,但有了DELIXI数显测电笔的帮助,他也能轻松应对。 小明拿出了DELIXI数显测电笔,这款测电笔设计得非常人性化,操作起来也很简单。他首先注意到了测电笔上的两个按键:DIRECT(A键)和
    丙丁先生 2024-12-16 12:58 63浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)于10月23日在深圳益田威斯汀酒店举办了艾迈斯欧司朗中国发展中心(以下简称,CDC)圆桌论坛。本次论坛以“智能化时代,以多元应用场景和技术 助力中国市场加速发展”为核心议题,探讨在人工智能驱动的市场趋势下,CDC如何助力中国伙伴把握时代机遇,推动大中华地区业务稳健增长,展示了艾迈斯欧司朗对中国市场的信心。立足中国 贴近本土客户需求在全球经济增速放缓和国际形势复杂多变的背景下,中国市场依然保持了稳定的增长势态,并释放出强大的
    艾迈斯欧司朗 2024-12-16 18:00 102浏览
  • 一、引言在数字化时代,芯片作为现代科技的核心,其制造过程却常被视作神秘的黑箱。菊地正典的《大话芯片制造》为我们揭开了这层神秘的面纱,以通俗易懂的方式,全面系统地介绍了芯片制造的各个环节。作为一名电子信息技术专业的教育工作者,我深感这本书不仅为学生提供了宝贵的知识资源,也让我对芯片制造及其在现代社会中的作用有了更深刻的理解。二、生活中的芯片印记芯片的影响渗透到我们日常生活的每一个角落。从智能手机的闹钟唤醒,到交通卡的便捷支付,再到智能家居的智能化功能,芯片以其强大的运算和处理能力,为我们的现代生活
    月光 2024-12-16 11:52 68浏览
  • 擎天柱,这个名字听起来就像是从科幻电影里走出来的英雄。但今天,我们要聊的不是那个变形金刚,而是一款同样令人兴奋的实验板——Ai8051U-LQFP48 转 89C52-DIP40 核心功能实验板。这款实验板就像是电子世界的“擎天柱”,它拥有强大的力量和无限的潜力,等待着我们去发掘和探索。 想象一下,你手中握着的不是一块普通的电路板,而是一张通往未来科技世界的门票。Ai8051U芯片,这颗强大的心脏,内置了硬件浮点运算单元(TFPU@120MHz),让你的计算速度飞起来,就像给机器人装上了翅膀。
    丙丁先生 2024-12-16 13:02 91浏览
  •        霍尔传感器是一种基于霍尔效应的传感器。霍尔效应指的是当通过一个导体的电流受到外部磁场的影响时,导体内部将会产生一种电场,使得在导体两端的电势差发生变化,这种电势差变化称为霍尔电势差。利用这种现象,可以设计出一种可以测量磁场强度和方向的传感器,即霍尔传感器。  霍尔传感器分为线型霍尔传感器和开关型霍尔传感器两种。  (一)开关型霍尔传感器由稳压器、霍尔元件、差分放大器,斯密特触发器和输出级组成,它输出数字量。开关型霍尔传感器还有一种特
    锦正茂科技 2024-12-14 10:58 63浏览
  • 霍尔传感器的原理        霍尔传感器是一种固体的传感器,其输出电压与磁场强度成比例。顾名思 义,这种器件是依赖于霍尔效应原理工作的。霍尔效应原理是在导体通电 和加有磁场的情况下,在导体的横向 上会产生电压。电子(在实践中多数载流子最常被使 用)在外部电场的驱动下会产生“漂移”,当暴露于磁场中时,这些运动 的带电粒子会受到一个垂直于电场和 磁场的力的作用。这个力会让导体的边缘充电,一边为正,一边为负。边
    锦正茂科技 2024-12-14 11:41 64浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-14 20:56 70浏览
  • 串口调试助手软件:XCOM 也是一款专为嵌入式开发和硬件调试设计的强大工具,如正点原子串口调试助手 XCOM V2.6。这款软件支持多种串口参数配置,满足不同开发需求,广泛应用于嵌入式系统开发、硬件调试以及电子爱好者的项目开发中。XCOM在嵌入式开发和硬件调试中的作用主要体现在以下几个方面: 1. 串口通信测试:XCOM作为一款强大的串口调试工具,允许用户通过计算机的串口进行数据的发送与接收,从而实现对串口通信的测试。这对于验证硬件设备的通信协议、确保数据传输的正确性至关重要。 2. 数据发
    丙丁先生 2024-12-15 11:56 72浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦