关于使用STM32单片机完成脉冲计数功能的问题

关于使用STM32单片机完成脉冲计数功能的问题,第1张

interrupt 外部中断ISR()
{
定时器打开
T++;
}
interrupt 定时器中断()
{
关定时器;
time = 读取定时器值;
定时器初始化归零;
}
time 就是脉冲宽度;T就是脉冲数
具体实现就将我的汉字版翻译成你的C就行

您好,不需要的,TIM_ETR管脚是外部计数用的,可以测方波频率,可以脉冲计数,主要用在测量高频,但是计数的话最好用定时器的捕获模式,配置方便简单。即带有TIM_CRx功能的引脚都可以作为计数用的。望采纳。

怎么测量脉冲信号
用示波器可对电路中的脉冲信号进行测量,其中包括脉冲的幅度、脉宽及频率。
脉冲信号用万用表怎样检测
要用示波器
怎样检测脉冲信号
一般应该怎么设计,如果是八路电平和脉冲检测的话,用什么电子器件,跟单片机还有脉冲信号也是电平一样的。至于于单片机相连你就直接接单片机I/O口相连,
如何检测脉冲信号的有无(不用MCU)
你的这个检测方法类似于光电编码器。
其实你要检测的就是这个脉冲信号的上升沿或者下降沿。

所以dubaiyt的回答,说用一个记分器

那就是行不通的,

因为你在没有转动的时候,输出的是一个恒定的电平

你积分后就会触发触发器。

与此相反,根据LM311的F/V变换原理

楼主你对脉冲沿的检测必须用微分的手段。

电路图如下:

如果有脉冲信号,经过电容微分后,在下降沿会产生一个向下的尖端脉冲

电阻R2是作为一个偏置,当有向下的尖端脉冲来后

反相端的电压会低于同向端的电压

从而比较器输出高电平

这个电路图要注意的两个参数是,1,比较器的选择,你可以选LM339,要加上拉电阻

2,通向输入端的那两个电阻是用来产生一个参考电压的

3,电容用来微分你的PWM波,你可以用示波器在反向输入端观察你的微分信号。

这个图如果不能解决你的问题,请百度HI我。我会和你一起分析的,保证不会做太监。

大多数可以直接接5VTTL ,具体看手册引脚列表里标注5V tolerance的引脚
可以串个51 - 200的 电阻直接接
或者也可以做一下电平变换,就是用一个电阻驱动NPN三级管b级,e接地,c接引脚(设置为输入+上拉),频率不是特别高的都没问题。

STM32定时器的单脉冲输出功能,其实是定时器输出比较功能的一个特殊应用。即让定时器在某个事件触发后的一段时间产生指定脉宽的单脉冲信号。

计数器的启动通常可由从模式控制器控制,可由比较输出模式或PWM输出模式来产生波形。通过置位OPM@TIMx_CR1来在下一个更新事件时关闭计数器来实现单脉冲输出。

STM32定时器里有个重复计数器TIMx_RCR,当它的值是个非0值N时,计数器不再每次溢出上溢或下溢时都产生更新事件,而是当发生第N+1次溢出时才产生更新事件。如果RCR=0的话,就是每次溢出都产生更新事件。

那么,当把单脉冲输出模式与RCR寄存器配合使用时,就不难生成指定数目的脉冲个数。此时脉冲个数为TIMx_RCR的值加1。

在上面原理的基础上,通过使用STM32定时器的主从模式还可以方便地实现周期性地输出指定数目的脉冲。

假如按上图所示,TIM2与TIM1主从连接,实现周期性的输出5个脉冲。

TIM2 配置为主 触发模式,触发TIM1的计数;

TIMER1 配置为从 单脉冲输出模式;TIM1_RCR=4;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13384195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-25
下一篇 2023-07-25

发表评论

登录后才能评论

评论列表(0条)

保存