单片机c语言
文章平均质量分 78
小材大用
加油 好好搞
展开
-
STM32实现MLX90614非接触测温串口显示(标准库与HAL库实现)
STM32实现MLX90614非接触测温(标准库与HAL库实现)原创 2023-07-18 16:29:27 · 2351 阅读 · 3 评论 -
STM32实现气压传感器测量(BMP180)
通过STM32正确读取BMP180大气压传感器数据通过四种方法实现:模拟IIC/硬件IIC(标准库/HAL库)原创 2023-07-10 16:26:19 · 3691 阅读 · 3 评论 -
STM32实现ADC采集(待优化)
STM32实现ADC采集(待优化)原创 2022-12-06 20:50:09 · 1531 阅读 · 0 评论 -
STM32模拟IIC与IIC四种实现数字光强采集模块GY30(标准库与HAL库)
STM32模拟IIC与IIC实现实现数字光强采集模块GY30(标准库与HAL库)原创 2022-11-27 22:33:16 · 4361 阅读 · 2 评论 -
STM32实现0.96寸OLED显示模拟IIC和IIC四种实现(标准库和HAL库)
STM32实现0.96寸OLED显示模拟IIC和IIC实现(标准库和HAL库)原创 2022-11-17 17:25:43 · 6870 阅读 · 4 评论 -
STM32实现六轴姿态测量陀螺仪模块JY61P(标准库与HAL库实现)
STM32实现六轴姿态测量陀螺仪模块JY61P(标准库与HAL库实现)原创 2022-11-09 18:28:43 · 5925 阅读 · 6 评论 -
STM32实现光照强度传感器(BH1750)(标准库与HAL库实现)
STM32实现光照强度传感器(BH1750)(标准库与HAL库实现)原创 2022-11-03 20:36:48 · 6858 阅读 · 3 评论 -
STM32F103实现激光测距传感器测距WT-VL53L0 L1
STM32F103实现激光测距传感器测距WT-VL53L0 L1原创 2022-10-28 17:35:15 · 5679 阅读 · 0 评论 -
STM32F103操作DS1302时钟芯片串口显示(标准库和HAL库)
DS1302时钟芯片,通过STM32实现,也可以通过51单片机实现原创 2022-10-25 18:28:06 · 7098 阅读 · 12 评论 -
STM32实现薄膜压力传感器数据采集(标准库和HAL库实现)
薄膜压力传感器采集压力数据原创 2022-09-27 18:46:24 · 17711 阅读 · 12 评论 -
[STM32学习]定时器实现码表(数码管显示)
定时器实现码表原创 2022-05-22 15:55:47 · 3515 阅读 · 2 评论 -
HAL实现多个超声波测距(输入捕获实现)
超声波工作原理可参考博客:(2条消息) HAL库实现定时器实现多个超声波(HC-SR04)测距_XiaoCaiDaYong的博客-CSDN博客环境:1.STM32 CUBEMX2.超声波模块HC-SR043.STM32F103C8T6最小系统板实现功能:选用两个超声波实现实时测距,并测得的距离在串口1显示。思路:使用定时器2实现输入捕获测距。超声波模块引脚 STM32最小系统板引脚 设置模式 VCC +5V GND GN原创 2021-10-20 22:35:42 · 1347 阅读 · 0 评论 -
HAL库通过一个定时器实现多个超声波(HC-SR04)测距
环境:1.STM32 CUBEMX2.超声波模块HC-SR043.STM32F103C8T6最小系统板实现功能:选用两个超声波实现实时测距,并测得的距离在串口1显示。思路:使用定时器2实现检测,但不使用定时器中断,然后通过循环检测超声波返回脉冲的形式实现距离测量。STM32F103C8T6最小系统板超声波模块HC-SR04超声波原理介绍:接线表:超声波模块引脚 STM32最小系统板引脚 设置模式 VCC ...原创 2021-10-20 22:06:58 · 3070 阅读 · 1 评论 -
【STM32学习】项目一 人体传感器模拟实现淮安沈坤状元府的视频宣传(HAL库实现)
代码链接:1)广告自动投放装置,其主要实现的功能是,大屏广告在有人到来时,广告自动播放,无人到来时,广告不播放。2)这样的设置其实在我们生活中已经不难见了。比如一些旅游景点:周恩来故居、沈坤状元府,就这样的。3)说道状元府,这里可以给大家普及一下,从隋朝到清朝末年,1300余年间共诞生过700多个状元,但今天有据可查的仅357名。在教育方面,淮安一直是较为发达的地区。沈坤是科举制度以来我们淮安历史上第一位状元、著名的抗倭英雄,与《西游记》作者吴承恩是同窗好友。在沈坤的状元府就有这样的一个装置,进原创 2021-05-26 17:54:08 · 445 阅读 · 3 评论 -
【STM32学习】(31)STM32通过ADC实现多按键功能(标准库和HAL库实现)
我们在使用嵌入式功能开发的时候经常需要使用按键实现一些功能。按键一般接触较多的就是独立按键,但一般情况上会需要多个按键,使用独立按键就会使得IO口资源浪费;因此会提出使用矩阵按键,该方法是可以实现节省IO口;本次介绍使用ADC实现多按键功能,通过采集ADC不同的值,然后判断是按键几按下?因此要求完成功能:实现一个ADC口完成对八个按键的检测,识别按键几按下,并将结果通过串口到串口助手上显示。(标准库和HAL库实现)单片机型号:STM32F103电路设计如下:.接线表设..原创 2021-05-25 18:26:48 · 6860 阅读 · 8 评论 -
【STM32学习】(30)STM32实现18B20温度采集(标准库和HAL库实现)
现要求完成温度采集并在串口或液晶屏上显示。我们这里使用DS18B20实现,它的一些特性大家可以网上搜搜,资料很多。18B20的两个时序图很重要,程序的完成就是按照时序图完成的。复位的时序图:读写0/1的时序图:ROM命令总线上可以挂多个器件,通过不同的器件地址来访问不同的器件。同样, 1-Wire 总线也可以挂多个器件,但是它只有一条线,如何区分不同的器件呢?在每个 DS18B20 内部都有一个唯一的 64 位长的序列号,这个序列号值就存在 DS18B20内部的 ROM 中。开原创 2021-05-22 16:09:27 · 6478 阅读 · 9 评论 -
【STM32学习】(29)STM32实现595驱动三个数码管(标准库和HAL库实现)
我选用的单片机型号为:STM32F103系列74LS595是一个串转并行输出的芯片,它能为单片机节省很多的IO口,应用场景广泛。现要求三个数码管动态显示,常规设计都是并行实现,需要8个IO数据口,然后还需要3个IO片选数码管接口,这样大大占用了IO口,导致连接的外设变少。因此我们引入74LS595芯片。电路设计如下:只需要三个共阴极数码管与三个595芯片级联即可完成,通过RCLK,SCK,SER三个IO即可完成对数码管的动态控制并显示。电路焊接的实物图如下:要求完成功能:实现数.原创 2021-05-21 19:54:13 · 6055 阅读 · 18 评论 -
【STM32学习】(28)STM32实现光照度采集(标准库和HAL库实现)
我们在日常生活中一般会需要采集光照度来判断灯是否打开,应用范围非常广泛。本次来研究一下该模块的实现。首先看一下模块的样子,如下图: 该模块有四个引脚,分别为VCC、GND、AO、DO,其中AO是模块的模拟输出,DO是模块的数字量输出。我们分别验证该模块的数字...原创 2021-05-21 09:56:24 · 10789 阅读 · 12 评论 -
【STM32学习】(27)STM32实现超声波三种方法测距
STM32嵌入式实现超声波测距三种方式实现1.while循环检测;2.外部中断检测;3.定时器输入捕获检测。欢迎下载研究,也可以给我留言发给大家。(1条消息) Ultrasonic_Ranging.7z-电信文档类资源-CSDN下载...原创 2021-05-06 11:51:23 · 1091 阅读 · 0 评论 -
【STM32学习】(26)STM32实现舵机旋转并实现超声波检测
功能要求:要求通过STM32实现舵机180°旋转,超声波放置在舵机上,实现一边旋转一边测距,同时可以设置测距的最大距离。超声波使用的型号如下:舵机的型号如下:超声波测距是通过定时器加中断实现的,接线:VCC——+5VGND——GNDTrig——PA0Echo——PA1 (同时映射为外部中断口1)代码实现依据:舵机的实现:因为舵机需要通过PWM才能驱动舵机正常转动,时序图如图:舵机的主要组成部分为伺服电机,所谓伺服就是服从信号的要求而动作。在信号来.原创 2021-04-30 15:24:57 · 3904 阅读 · 22 评论 -
【STM32学习】(25)STM32完成配置IIC实现OLED显示
这个和博文《【STM32学习】(24)STM32完成模拟IIC实现OLED显示》有不一样的地方,这里是通过STM32 内置IIC配置实现OLED显示,这个效果要比模拟的IIC好。流程简单不繁琐,写命令和写数据可以通过以下函数完成,简单快捷。/**************************************************//* IIC Write byte Command *//*****************原创 2020-05-21 17:04:44 · 3321 阅读 · 13 评论 -
【STM32学习】(24)STM32完成模拟IIC实现OLED显示
支持IIC的OLED模块,如下图:这里实现OLED显示,通过模拟IIC总线的形式来实现。模拟IIC的实现过程如下:1. I2C总线是PHLIPS公司推出的一种串行总线,I2C总线只有两根双向信号线。其中一根是数据线SDA,另一根是时钟线SCL。2. 每个接到I2C总线上的器件都有唯一的地址。发送数据到总线上的称为发送器,从总线上接收数据的器件称为接收器。每个I2C总线上的器件的地址唯一,主机就是通过寻找唯一的地址来进行数据传输。当主机为发送器的时候,器件接收数据,当主机为接收原创 2020-05-21 11:16:27 · 11191 阅读 · 4 评论 -
【STM32学习】(23)STM32实现TELESKY 2262/2272四路无线遥控
实物图如下:此编程很简答。编码已经都配置好了,单片机只需要读取模块的引脚是否为高电平就可以了。简单验证代码如下:串口1查看效果,这里只给出while(1)里面的代码while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ if(HAL_GPIO_ReadPi...原创 2020-04-28 19:14:28 · 3057 阅读 · 1 评论 -
【STM32学习】(22)STM32实现360度旋转编码器
360度 旋转编码器实物如下:KY-040旋转编码器模块工作电压:5V一圈脉冲数:20旋转编码器可通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,旋转计数不像电位计,这种转动计数是没有限制的。配合旋转编码器上的按键,可以复位到初始状态,即从0开始计数。工作原理:增量编码器是一种将旋转位移转换为一连串数字脉冲信号的旋转式传感器。这些脉冲用来控制角位移。在Eltra...原创 2020-04-28 18:27:25 · 7500 阅读 · 4 评论 -
【STM32学习】(21)STM32实现步进电机
实物图:实现示意图:其实看着示意图就可以实现步进电机转动了。四相五线的步进电机。4线为:A B C D该步进电机分为4拍和8拍4拍:分为单四拍和双四拍单四拍:A-B-C-D-A-双四拍:AB-BC-CD-DA-AB-8拍:A-AB-B-BC-C-CD-D-DA-A-想让步进电机反转,只需要将顺序反转就行。主要代码为:int...原创 2020-04-27 19:16:04 · 3661 阅读 · 1 评论 -
【STM32学习】(20)STM32实现双轴按键遥感
实物的样子:使用双路ADC实现对传感器的X和Y方向的值采集。硬件:STM32L052K8*、双轴按键遥感传感器接线:SW 接 PA6LED灯 接 PA3开启ADC 1和2通道 对应的IO口请查资料开启USART1串口 对应的IO口请查资料使用环境是CubeMX环境创建工程,方法如下:核心代码如下...原创 2020-04-27 18:43:58 · 6779 阅读 · 1 评论 -
【STM32学习】(19)STM32实现直流电机测转速(霍尔传感器)
最近在学习STM32单片机本次博文想记录一下32单片机连接霍尔传感器来测量直流电机转速。材料准备:1.单片机:STM32L052K8*2.霍尔传感器3.直流电机电路图如下:其中,单片机和直流电机不用介绍,下面介绍一下霍尔传感器。主要想说一下霍尔传感器的引脚怎么去看,如下图看:其他一些性能参数暂时不需要管,一般情况肯定够用的。下面讲一下测转速的实现原理...原创 2020-04-25 16:13:28 · 23624 阅读 · 32 评论 -
【STM32学习】(18)STM32实现LCD12864显示 - 并行实现8位总线
上一个博客是实现串行显示,现在给大家实现一个并行显示,8位总线的实现,其实四位总线的实现和1602差不多,这里就不去实现了。先来贴贴1284的一些资料。和1602和相似。显示屏地址:具体的资料可以网上查询,资料一大堆。硬件:STM32L052K8* 这个和其他STM32差不多,只是这款单片机在IO写值时不能一下写两个字节,只能一位一位的写,这个和F...原创 2020-04-21 17:53:14 · 5227 阅读 · 0 评论 -
【STM32学习】(17)STM32实现LCD12864显示 - 串行实现
关于LCD12864的资料,我先给大家贴一点出来。工作于并行模式时的引脚定义:PIN1------------------GND 电源接入-,一般接0V(视具体液晶型号)PIN2------------------电源接入+,一般接5V(视具体液晶型号)PIN3------------------对比度调整端,VDD和GND接可调电阻两端,中间抽头接至V0PIN4-----...原创 2020-04-21 17:33:37 · 9549 阅读 · 17 评论 -
【STM32学习】(16)STM32实现LCD1602显示(74HC595驱动)- 4位总线
使用74HC595芯片的目的其实很简单,就是为节省STM32的IO口。如果不使用74HC595模块,我们将要使用D0-D7八个数据脚,还有RS,RW,EN控制引脚,也就是说要很多IO脚,这样就不便于STM32的其他功能或模块的扩展,是不可取的。而使用595模块就能很好的解决这个问题。使用的单片机型号:STM32L052K8*液晶显示的模块:RG1602A,其实和LCD1602是一样...原创 2020-04-21 16:56:32 · 5720 阅读 · 5 评论 -
STM32实现DHT11温湿度采集串口显示(标准库与HAL库实现)
STM32实现DHT11温湿度采集串口显示(标准库与HAL库实现)原创 2020-04-20 18:13:46 · 12660 阅读 · 19 评论 -
【STM32学习】(14)两个74HC595控制四个数码管显示
74HC595是在单片机系统中常用的芯片之一他的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片, 使用74HC595可以节约单片机mcu的io口资源,用3个io就可以控制8个数码管的引脚,他还具有一定的驱动能力,可以免掉三极管等放大电路,所以这块芯片是驱动数码管的神器.应用非常广泛。74HC595引脚图74HC595管脚功能我选用的单片机型号为:S...原创 2020-04-17 17:50:44 · 15467 阅读 · 11 评论 -
【STM32学习】(13)STM32实现超声波测距(HC-SR04)
经过反复的研究和调试,终于搞好了,所以说,只要静下心,肯于研究,问题就会显得没那么复杂。博文写之前,先要分析一下硬件的基本构造和样式以及它的工作原理:样式如图:工作原理(很重要):说明一下工作过程:单片机型号:STM32F103VET 1.提供一个10us以上的脉冲 2.模块会自动发出8个40KHz周期电平,并检测回波 ...原创 2019-12-18 21:31:41 · 11506 阅读 · 4 评论 -
【STM32学习】(12)STM32实现LCD1602简单静态现实
想要在1602液晶显示上显示://***********************************// WANGTINGI LOVE STM32///**********************************//如何使用STM32 来实现呢?首先看看LCD1602的重要知识点:引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背...原创 2019-12-08 19:23:39 · 12546 阅读 · 0 评论 -
【STM32学习】(11)STM32 Mifare_One(S50) M1S50的使用(读、写、密钥修改,控制位解读)
最近在研究RFID(射频识别),我用的是 M1卡(Mifare_One(S50)),是一种常用的非接触式IC卡基础知识不用多讲,网上资料一堆,讲的很详细。现在我们就直入主题,首先介绍一下卡的执行流程图,如下图。中文资料里的图,如下:英文资料里的图,如下:查资料会发现,所有的参考代码都是按照这个流程图写,很容易懂。不管你在写还是读的时候一定要选卡,放冲突,验卡等流程后才能...原创 2019-11-19 16:51:56 · 5142 阅读 · 4 评论 -
【STM32学习】(10)STM32F1通用定时器实现脉冲计数器
STM32F1通用定时器实现脉冲计数器通过TIM3实现定时,我设计的一秒计数一次,然后在数码管(光阳极)上显示。数码不仅记录脉冲,还可以通过按键来调节:按键1 清零按键2加一按键3减一按键4选择暂停/开始启动 两个功能需要注意的是:按键1-按键3 的功能必须在按键4选择暂停功能时才能完成,其他情况失效。接线:1.PE0接LED灯,放置在中断函数中,起到中断执行提示...原创 2019-10-21 17:36:26 · 5817 阅读 · 0 评论 -
【STM32学习】(9)STM32F1通用定时器实现简单的呼吸灯
上个博客讲了通用定时器的使用本次通过通用定时器实现呼吸灯。其实定时器中有PWM(脉宽调制)信号的输出和配置信息,但我想通过通用定时器的呼吸灯。脉宽调制的原理就是不断的调节 高低电平的占空比来实现平均电压的变化,从而实现呼吸灯的效果。代码如下:main.c/*创建时间:2019.9.17创建人:王艇*/#include "stm32f10x.h" ...原创 2019-10-21 17:10:11 · 1606 阅读 · 1 评论 -
【STM32学习】(8)STM32F1通用定时器配置
(1)使能定时器时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);//使能TIM4时钟(2)初始化定时器参数,包含自动重装值,分频系数,计数方式等voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitSt...原创 2019-10-21 09:24:58 · 1385 阅读 · 0 评论 -
【STM32学习】(7)串口2的使用(USART2)
单片机串口是必须要学习的,而且很重要,在数据传输已经程序调试中都很重要。本博客再学习一下USART2 串口其实串口不是每一个IO都可作为串口的,他是有固定的IO口的。如USART1串口对应的IO是PA9、PA10,这个很重要,不要记错了。材料文档中如下图:STM32串口配置的一般步骤(库函数) (1)串口时钟使能:RCC_APBxPeriphClockCm...原创 2019-10-21 09:09:15 · 23246 阅读 · 7 评论 -
【STM32学习】(6)串口1的使用(USART1)
单片机串口是必须要学习的,而且很重要,在数据传输已经程序调试中都很重要。本博客先学习一下USART1 串口其实串口不是每一个IO都可作为串口的,他是有固定的IO口的。如USART1串口对应的IO是PA9、PA10,这个很重要,不要记错了。材料文档中如下图:这里我用的单片机型号为STM32F103VET代码如下:main.c#include "led.h"#inc...原创 2019-10-19 19:12:58 · 6167 阅读 · 1 评论