- 博客(22)
- 收藏
- 关注
原创 物联网---ESP32
ESP32是一款无线通信单片机,有32位处理器,内置SRAM和闪存2.2V-3.6V供电,支持WIFI和蓝牙,时钟为26MHz和32KHz晶振,包括GPIO、UART、SPI、I2C、PWM、ADC等外设固件下载方式主要是UART下载网络协议是IPv4、IPv6、TCP/UDP/HTTP/MQTT用户配置方式有AT+指令集云端服务器安卓/IOS APP开发ESP32主要使用的环境是ESP-IDF和Arduino IDE两种下图为ESP32管脚布局,具体芯片有所不同,但大致一样。
2024-08-26 15:21:17
1251
原创 温湿度传感器---DHT11
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,传感器内部包括一个8位单片机控制一个电阻式感湿元件和一个NTC测温元件类单总线协议传输数据,使用简单便捷测量温度范围在0-50℃,分辨率为1℃,误差在±2℃。湿度的测量范围位20%-95%RH,分辨率为1%RH,误差在±5%RH工作电压:3.3V-5.5V。
2024-08-23 19:08:13
996
原创 STM32F1单片机-FLASH闪存
STM32F1系列的FLASH(ROM掉电不丢失)包含程序存储器系统存储器和选项字节三个部分,通过闪存存储器接口外设)可以对程序存储器和选项字节进行擦除和编程ROM掉电不丢失,存储介质FLASH,RAM掉电丢失,存储介质SRAM读写FLASH的用途:利用程序存储器的剩余空间来保存掉电不丢失的用户数据通过在程序中编程(IAP),实现程序的自我更新在线编程(ICP)用于更新存储器的全部内容,它通过JTAGSWD协议或系统加载程序下载程序在程序中编程(IAP)可以使用微控制器支持的任一种通信接口下载程序。
2024-06-20 20:16:35
951
1
原创 STM32F1单片机-PWR电源控制和WDG看门狗
PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能可编程电压监测器(PVD)可以监测VDD电源电压,当VDD下降到PVD阈值以下或上升到PVD阈值以上时,PVD会触发中断,用于执行紧急关闭任务低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备的使用时间下图为STM32的电源框图从图中需要知道每个区域的供电引脚以及供电的电路看门狗可以监控程序的运行状态,当程序因为设计漏洞。
2024-06-20 14:39:50
1014
原创 STM32F1单片机-BKP和RTC
利用c语言库time.h中的函数,实现写入和读取时间,即计数器值和时间数据的相互转换。STM32的VBRT引脚接在ST-Link的3.3V,PB1接一个按键。灰色填充部分属于后备区域,在主电源掉电后,可以使用备用电源维持工作。组成,TAMPER有上升沿或者下降沿出现时,清除寄存器内容,保证安全。,同时可以设定闹钟,最终也可以进入中断。类型,结构体成员是秒,分,时等。,经过分频器分频,分频器系数为。,当32位计数器溢出进入中断。,自减到0时,下一个边沿产生。是一个自减计数器,存储当前的。
2024-06-18 17:11:27
911
原创 STM32F1单片机-通信协议(下)
STM32F1单片机-通信协议(下)一、通信协议介绍二、USART(通用同步/异步收发器)2.1 USART框图和基本结构2.2 串口发送2.2.1 Printf函数移植2.2.2 串口发送汉字2.3 串口接收2.3.1 串口接收+查询2.3.2 串口接收+中断2.4 USART串口数据包2.4.1 数据包格式2.4.2 数据包接收流程2.4.3 串口收发Hex数据包2.4.4 串口收发文本数据包三、I2C通信3.1 I2C介绍3.2 I2C数据帧3.3 I2C驱动代码3.4 MPU6050姿态传感器3.5
2024-06-18 11:26:43
1028
原创 STM32F1单片机-ADC和DMA
DMA可以提供外设数据寄存器和存储器(运行内存SRAM和程序存储器Flash)或存储器和存储器之间的高速数据传输,无需CPU干预,节省CPU资源12个DMA1(7个通道),DMA2(5个通道)每个通道都支持软件(存储器与存储器之间)和特定的硬件触发(外设与存储器)DMA1(7个通道)下面给出存储器的地址Flash只读不可写,SRAM任意读写,外设寄存器看参考手册描述,但其中的数据寄存器是可以正常读写的。
2024-06-03 20:06:04
2060
原创 STM32F1单片机-TIM定时器
定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器预分频器自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时频率1MHz对应周期1/1MHz = 1us, 1KHz对应1ms, 1Hz对应1s在STM32中一个基准时钟(时钟周期)是1s/72MHz,计72个数字就是过了1s/72MHz×72 = 1us,如果计72000个数,那就是1ms定时器不仅具备基本的定时中断功能,而且还包含内外时钟源选择输入捕获输出比较编码器接口主从触发模式等多种功能。
2024-05-28 17:37:53
1699
原创 STM32F1单片机-EXTI外部中断
每个中断有16个优先级,优先级再区分为抢占优先级和响应优先级,对16个优先级进行分组,0-15表示16个优先级,值越小优先级越高,将四位二进制切分,高n位的抢占和低4-n位的响应。旋转编码器有两个接口,会输入两个中断信号,于是需要定义两个中断通道,这里A相接PB0,B相接PB1,配置EXTI和NVIC,需要同时配置两个中断。先看抢占优先级、相同则看响应优先级、相同则看中断号,数值越小,优先级越高。进入中断函数,判断中断标志位,及时清零,否则一直会进入中断。),抢占优先级和响应优先级均相同的按。
2024-05-17 17:22:03
1170
1
原创 STM32F1单片机-OLED显示屏
OLED:有机发光二极管,主要有0.96寸(SSD1306/1315)和1.3寸(SH116)显示屏0.96寸OLED模块如下图所示,分别为4针4行16列)和6针4行16列供电3-5.5V,通信协议I2C4针)/SPI6针),分辨率:128*64下图分别为4针和6针OLED接线图。
2024-05-16 16:34:46
500
原创 STM32F1单片机-GPIO
stdint关键字使用了新名称来定义数据类型,ST是老版本的数据类型名(例:int8_t有符号8位,uint8_t无符号8位) #define:用一个字符串去代替一个数字。例#define ABC 12345 typedef:将一个比较长的变量类型名换个名字(针对变量类型)。例typedef unsigned char uint_8,即unsigned char a等效于uint_8 a 定义结构体变量(struct {数据类型} 结构体名): struct {char x;int y;fl
2024-05-15 22:39:02
1052
原创 STM32F1单片机-概述和工程建立
STM32是ST公司基于内核开发的32位微控制器(ARM内核由ARM公司设计)高性能系列:STM32F2、F4、F7和H7系列;主流系列F1、G4和F3系列;超低功耗系列:STM32L0、L1、L4、L4+、L5和U5系列;无线系列:STM32WL和WB系列;STM32寻址范围:0x 0000 0000 - 0xFFFF FFFF系列:主流系列STM32F1位数32位内核:ARM Cortex-M3主频72MHZROM:64K(Flash闪存)供电:2.0~3.6V(
2024-05-13 18:57:42
1008
原创 51单片机-DS1302
DS1302是由美国DALLAS公司推出的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等功能实时时钟,是一种集成电路,通常称为时钟芯片,有备用电池,可以掉电运行定时器也可以实现实时时钟的功能,采用DS1302是因为定时器实现精度不高、占用单片机CPU的时间且定时器时钟不可以掉电运行。
2024-05-13 18:28:02
894
原创 51单片机-红外遥控
时,红外LED才发光,第一个是38KHz的方波频率(抗干扰),IN口是发送的高低电平,最终红外LED会以38KHz的频率闪着亮。有效,当有按键按下时,进入中断服务函数,进行时序编码,红外接收头将4个字节数据发送给单片机,主函数通过按键命令值,进行其他动作。遥控器按下按键,红外接收头接收到数据以后,通过编码时序将数据发送给单片机。当接收头接收到信号,内置设备完成解码后,需要立即从。端口接在单片机上,红外接收头。输出给单片机,进行其他操作。,所以需要将OUT口接在。,所以采用外部中断更好。
2024-05-11 21:11:17
866
1
原创 51单片机-AD/DA
模拟-数字转换,将模拟信号转换为计算机可以操作的数字信号,例如将模拟电压转换为数字量,可以应用在光敏、热敏、麦克风等等一些外设上数字-模拟转换,将计算机输出的数字信号转换为模拟信号XPT2046是一款触摸屏控制器,这点我们无需理会,只需要知道它内置了12分辨率AD转换器下图为XPT2046模块电路原理图,其含逐次逼近型AD转换模块CS使能,DCLK串行时钟线,DIN是地址输入,DOUT是输出AD转换完成的数字量AIN0、1、2连接在了传感器的模拟输出口传感器的模拟量通过AINx进入。
2024-05-09 23:42:04
1033
原创 51单片机-PWM(脉冲宽度调制)
直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,电极反接时,电机反转除直流电机外,常见的电机还有步进电机、舵机、无刷电机(转速快)等等由于电机的功率比较大,直接接在单片机的IO口上会损坏电路,所以需要驱动电路来驱动电机大功率器件直接驱动电路:电机只能正转电机正负极反接时,可以实现反转H桥驱动:可以实现电机的正转和反转舵机是一种位置(角度)伺服的驱动器,适合角度变化并可以保持的控制系统,或者需要固定速度旋转的控制系统。
2024-05-08 21:13:27
886
1
原创 51单片机-通信协议(上)
通信就是信息的传输和交换,单片机通信是指单片机与单片机单片机与传感器存储芯片和外围控制芯片的信息交换等等波特率是发送二进制数据位的速率,单位是bps,即每秒传输二进制位的数量,例256bps = 256bps/s,就是每秒钟可以发256个数据位通信按照基本类型可以分为串行通信:数据逐一传输并行通信:多位数据可以同时传输通信按照传输方向可以分为单工通信:在通信时,只能在一条线上单向传输,只能从发送端到接收端半双工通信:在通信时,只能在一条线上双向通信,但是不能同时进行,需要分时进行全双工通信。
2024-05-07 16:24:08
2327
1
原创 51单片机-蜂鸣器
for循环中,通过延时500us实现电平翻转周期为1ms,得到频率为1000Hz。每次for循环是0.5ms,所以要想使得形参ms对应发声时间,则需要在for循环跳出条件中给ms x 2,最后在主函数调用Buzzer.Time(),参数给100就可以实现功能要求。接在ULN2003的另一端,控制P25高低电平实现BEEP电平反转,此处使用集成电路驱动蜂鸣器。图中可以看出,单片机的。驱动电路主要分为两大类,第一种是。口连接在ULN2003一端,蜂鸣器的。,并在数码管上显示出1-4四个数字。
2024-04-27 14:41:20
807
原创 51单片机-LED点阵屏
如果想显示滚动字母以外的动画,那么在刷新帧部分,需要将offset++这块改成offset+=8,这样就可以显示出逐帧变化的动画。多片级联就是在第一批八位数据到位后,将第二、三批数据接着存在QH’的八位片中,IO口就可以拓展到16、32位等等。LED点阵屏显示动画,就是滚动字幕,基本原理是一帧一帧的显示图片,实现连贯的切换可以看作是动画。下面是LED点阵屏显示图形的代码,可以实现点亮固定位置的LED灯。点阵屏的阳极接在移位寄存器的输出端口,阴极接在单片机的P0口。选定第几行的LED点亮,然后配置单片机的。
2024-04-25 18:24:45
771
原创 51单片机-定时器&中断
中断系统是为使得CPU具有对外界紧急事件的实时处理能力而设置的中断存在优先级,传统51单片机只有2个优先级,在程序运行时,高优先级打断低优先级,再回到低优先级去处理传统51单片机有5个中断请求源,分别是外部中断0和1INT0和INT1)、定时器中断0和1T0和T1)和串口(UART)中断下图为中断系统的程序运行流程图下面是各个中断的中断号,中断号类似于函数定义,里面写入进中断需要完成的功能//外部中断0//外部中断1//定时器中断0//定时器中断1//串口中断。
2024-04-18 22:52:10
1781
原创 51单片机-数码管&LCD1602液晶显示屏&矩阵键盘
如果先扫描每一列,则需要给定P13-P10为低电平,随之再分别判断P17-P14的高低电平,从而锁定到哪个按键。矩阵键盘键码值0-9来作为四位密码的数字,按键11和12分别是“确认密码”和“重新输入”,在LCD1602上显示出“OK!下面给出动态数码管显示的代码(通过单片机循环扫描,利用人眼捕捉不到的细微变化实现在不同位显示不同的数字)循环显示后,将数码管清零后,再进行下一次循环显示,即。的问题存在,这是由于程序在扫描过程中,数码管的显示会有延时。的选中端(例输入为111,输出Y7非,低电平有效,即。
2024-04-17 15:19:41
1503
原创 51单片机-LED&按键
5. 单片机上电默认引脚都是高电平(读取引脚也为高电平),但是当给IO口为1或者0时,才会输出高低电平。下图是4个独立按键的电路图,一端接GND,另一端接IO口。如下图所示,在按下按键和松手时,按键会存在。循环扫描每个LED的亮灭状态,实现流水灯。,进行LED灯的电平翻转,实现按键点亮LED。点亮1个LED灯,配置P2口的高低电平。扫描,配合延时函数,即可实现LED闪烁功能。的作用是防止LED电流过大,损坏LED。的抖动过程,影响程序的进行,只需要。下面是8个LED电路图,,负极接单片机IO口,配置。
2024-04-16 14:44:44
505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人