- 博客(9)
- 收藏
- 关注
原创 HC-SR04超声波测距模块详解附代码
基本工作原理: (1)采用IO口TRIG触发测距,给最少10us的高电平信呈。(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声 波从发射到返回的时间。所以我们给Echo口配置一个外部中断,设置为上升沿下升沿都触发,外部中断判断IO口是否被拉高,拉高就开启定时器开始计时,等待IO拉低,这段时间就是测距的来回距离。只需要等待Echo将数据传输回来,通过时序图我们可以得知回响信号是拉高Echo口,再拉低,中间持续的时间就是测距的结果。我们需要提供至少10us以上的高电平给Trig口。
2025-09-06 21:53:51
480
原创 SPI通信
大多数SPI外设的数据手册会明确标注支持的SPI模式(如"Mode 0 compatible")或直接给出CPOL/CPHA值(如"CPOL=0, CPHA=1")。经过8次循环,就可以完成一个字节的交换,并且每次循环都会将最低位的值逐步移到移位寄存器的最高位,保证了SPI高位在前的原则)数据传输:SCK高电平期间,主机的最高位放到MOSI数据线上,从机的最高位1放到MISO数据线上,SCK低电平期间,MOSI数据线上的数据移至从机的最低位,MISO数据线上的数据移至主机的最低位,SPI的4种工作模式。
2025-09-06 15:32:58
212
原创 IIC通信
应答信号:在传输8位数据后,给主机或从机给一个高低电平信号,0表示继续传输,1表示停止传 输,即一帧共有9位。是由PHILIPS(飞利浦)公司在80年代开发的两线式串行总线,用于连接微控制器及其外围设备。IIC属于半双工同步通信方式。在SCL高电平期间,SDA不允许数据变化——从机读数据。数据传输:在SCL低电平期间,SDA数据允许高低电平变化——主机写数据。起始信号:在SCL高电平期间,SDA从高电平到低电平。停止信号:在SCL高电平期间,SDA从低电平到高电平。
2025-09-05 15:38:38
216
原创 DS1302芯片驱动
实时时钟/日历可对秒,分,时,日,周,月,和年进行计数,对 于小 于 31 天的月,月末的日期自动进行调整,还具有闰年校正的功能。与时钟/RAM 通信仅需 3 根线:(1)RST (复位),(2)I/O(数据线)和(3)SCLK(串行时钟)。AM-PM/12-24 方式 :小时寄存器的位 7 定义为 12 或 24 小时方式选择位。当它为高电平时,选择 12 小时 方式,在 12 小时方式下,位 5 是 AM/PM 位,此位为逻辑高电平表示 PM。可对秒,分,时,日,周,月以及带闰年补偿的年进行计数。
2025-09-01 23:05:56
414
原创 PWM实现蜂鸣器音乐播放(人鱼湾)
当系统时钟频率为72MHz,分频后则为1MHz。此时定时器会在一秒内计数1M次,且由知道,可以通过改变频率f来得到任意周期T通过库函数TIM_SetAutoreload(TIM_TypeDef* TIMx, uint16_t Autoreload)修改自动重装载寄存器ARR,周期的值即可得到任意频率的PWM输出。通过TIM_SetCompare1(TIM_TypeDef* TIMx, uint16_t Compare1);来修改比较寄存器中的比较值CCR,改变PWM输出的占空比。
2025-08-30 12:53:33
362
原创 矩阵键盘扫描原理与代码实现
GPIO设置为上拉输入,其IDR寄存器会将该位置1,默认为0,如PC4,5,6,7为上拉,则读取到的寄存器值为0xf0。
2025-08-28 16:28:09
363
原创 74HC595驱动数码管与点阵屏
74HC595芯片的作用是为了扩展IO口的数量,用少量的IO口控制多个引脚,例如数码管,点阵屏等需要多个IO口控制的器件。
2025-07-17 15:28:17
564
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅