推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

获得赏金
20.00元
输入捕获模式测频率+输出比较通道+KEIL+标准库开发

更新时间:2024-06-09 07:44:39 大小:8M 上传用户:mulanhk查看TA发布的资源 标签:keil 下载积分:4分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

项目内容:

基于KEIL,用输入捕获通道来进行测频率的操作,

通过数据处理后把精确数据显示在OLED屏上。

对后续的实验都会有帮助

有详细的教程和代码(包含注释)


实现思路:

这个项目实现的是一个基于STM32微控制器的频率测量系统,主要通过PWM(脉冲宽度调制)和输入捕获(IC)功能来实现对外部信号频率的测量,并通过OLED显示屏展示测量结果。

PWM信号生成:PWM信号将作为输入捕获单元的测试信号。

初始化输入捕获单元,配置捕获模式和触发极性,以捕获PWM信号的周期。

信号频率测量:使用输入捕获单元捕获PWM信号的周期,根据周期计算信号的频率。

可扩展性(为以后做准备):系统设计允许未来扩展,例如增加更多的输入通道或支持不同类型的输入信号。


测频法和测周法原理image.png



输入捕获单元配置为监听外部周期性信号的特定边沿(例如,上升沿或下降沿)。

定时器(例如,TIMx)与输入捕获单元同步,以便在捕获事件发生时能够读取当前的计数值。

当输入捕获单元检测到信号的边沿时,它会读取定时器的当前值并存储为捕获值。

频率是周期的倒数,即 `Frequency = 1 / Period`。通过测量周期并计算其倒数,可以得到信号的频率。


工程配置

源代码

PWM.C

image.png


这是信号的发生源,产生占空比不同的信号来作为测试对象

配置RCC时钟源


image.png


输出比较初始化

配置PWM波的各个信号参数(PSC,ARR,CCR)


OLED.C

image.png

OLED屏的函数配置

个人操作:选好对应传输数据的引脚(SCL,SDA)


IC.C

image.png

输入捕获模块的初始化

选择上升沿触发还是下降沿


image.png

这里是利用测周法来得到所需呈现的频率


主函数实现

image.png

最终效果实现图

image.png



部分文件列表

文件名大小
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/DebugConfig/
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/DebugConfig/Target_1_STM32F103C8_1.0.0.dbgconf7KB
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/IC.c3KB
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/IC.h
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/Key.c2KB
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/Key.h
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/LED.c3KB
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/LED.h
输入捕获模式测频率+输出比较通道+KEIL+标准库开发/Hardware/OLED.c8KB
...
  • 21ic小能手打赏了20.00

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载