问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何实现输入X个脉冲,输出N个脉冲?

发布网友 发布时间:2022-04-30 04:59

我来回答

3个回答

热心网友 时间:2023-10-14 18:24

如果N不大X,比较简单,如果N虽然大于X,但不要求输出的N个脉冲间隔均匀,也简单。
如果N大于X,又要求输出的N个脉冲比较均匀,就有点复杂。

先说较简单的情况吧。
设一个变量V,初值约X/2。
每收到一个脉冲,就令V ← V+N;
每当V > X,就输出一个脉冲,且令V ← V - X。
即可。

按上述算法,如果N大于X,有可能出现刚做完V ← V - X后,依然满足V > X,就会马上再输出一个脉冲。于是脉冲的间隔就不均匀了。
如果你要想均匀,就需要根据一般的脉冲间隔,来设法安排延迟时间。这要根据实际的输入脉冲频度来具体考虑,难以规定一般方法。

上述算法的道理不难理解:
按上述算法,每输入X个脉冲,累计给V增量X*N,每输出N个脉冲,累计给V减量X*N,正好平衡。抵消后V恰好恢复原值。

给V设置初值约X/2的道理是:
既然V中每个X相当于一个输出脉冲,那么预先令V初值约X/2,也就相当于给输出预置了半个脉冲。这个效果,相当于在计算输出时“四舍五入”了。

如果不要这种“四舍五入”,只要令初值V=0即可。连续运行的宏观效果一样,只是刚开始略微迟后约相当于半个周期的时间。

热心网友 时间:2023-10-14 18:24

如果N不大X,比较简单,如果N虽然大于X,但不要求输出的N个脉冲间隔均匀,也简单。
如果N大于X,又要求输出的N个脉冲比较均匀,就有点复杂。

先说较简单的情况吧。
设一个变量V,初值约X/2。
每收到一个脉冲,就令V ← V+N;
每当V > X,就输出一个脉冲,且令V ← V - X。
即可。

按上述算法,如果N大于X,有可能出现刚做完V ← V - X后,依然满足V > X,就会马上再输出一个脉冲。于是脉冲的间隔就不均匀了。
如果你要想均匀,就需要根据一般的脉冲间隔,来设法安排延迟时间。这要根据实际的输入脉冲频度来具体考虑,难以规定一般方法。

上述算法的道理不难理解:
按上述算法,每输入X个脉冲,累计给V增量X*N,每输出N个脉冲,累计给V减量X*N,正好平衡。抵消后V恰好恢复原值。

给V设置初值约X/2的道理是:
既然V中每个X相当于一个输出脉冲,那么预先令V初值约X/2,也就相当于给输出预置了半个脉冲。这个效果,相当于在计算输出时“四舍五入”了。

如果不要这种“四舍五入”,只要令初值V=0即可。连续运行的宏观效果一样,只是刚开始略微迟后约相当于半个周期的时间。

热心网友 时间:2023-10-14 18:25

这个简单 就拿你所举的例子来说 单片机的
输1出6
#include "reg52.h"
bit flag;

void pluse() //输1出6
{
int m,n;//m为输入脉冲n为输出脉冲
n=6*m;
while(n!=0)
{
n--;
}

}

void pluse1()//输3出1
{
int m,n;//m为输入脉冲n为输出脉冲
if(m%3==0)
{
n=m/3;
while(n!=0)
{
n--;
}

}

}

main()
{
while(1)
{
if(flag==0)
pluse();
else
pluse1();
}

如果是plc的话自己去看左移的指令

}

热心网友 时间:2023-10-14 18:25

这个简单 就拿你所举的例子来说 单片机的
输1出6
#include "reg52.h"
bit flag;

void pluse() //输1出6
{
int m,n;//m为输入脉冲n为输出脉冲
n=6*m;
while(n!=0)
{
n--;
}

}

void pluse1()//输3出1
{
int m,n;//m为输入脉冲n为输出脉冲
if(m%3==0)
{
n=m/3;
while(n!=0)
{
n--;
}

}

}

main()
{
while(1)
{
if(flag==0)
pluse();
else
pluse1();
}

如果是plc的话自己去看左移的指令

}

热心网友 时间:2023-10-14 18:25

如果是周期性的可以测得周期后倍频。

热心网友 时间:2023-10-14 18:25

如果是周期性的可以测得周期后倍频。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 冬天坐月子房间里开隔离空调有冷风 屋里有点冷经常开着空调对坐月子的产妇好吗 坐月子屋里整天忽冷忽热的衣服还要自己洗还要照顾好孩子奶水不够吃老公还整天惹我生气这样会不会烙下病? 坐月子忽冷忽热 夏天坐月子不开空调怎么降温 坐月子屋里开着空调我还是觉得冷 梦见老公拿把菜刀追杀我 梦见一个男人用刀杀别人我偷偷看到的 梦见老公拿刀子连桶死了几个人? 梦见我和老公拿菜刀把日本人砍死了 双色球怎么八点钟买不到当天的 双色球什么时候开奖? 双色球开奖号码时间是多少? 宠物小精灵漆黑的魅影5.0全精灵捕捉 请问宠物小精灵里面的遗传技能是什么意思?比如火焰鸡的起死回生是什么遗传的,说具体点 宠物小精灵绿宝石的战斗边疆画画狗洞穴在哪里? 口袋妖怪漆黑的魅影想练只极品火焰鸡,求5级小火鸡的极品种族值和个体值... 求神奇宝贝水晶版所有可抓精灵,写出在哪抓,多少级进化。。。谢谢_百... 宠物小精灵超世代 小遥的火焰鸡在第几集进化了 宠物小精灵金怎么繁殖? 雕刻机脉冲当量有哪些 放射性同位素激发源 电脉冲x代表什么 (6-x)(6-x) 伺服系统怎么计算脉冲当量 一共有几种脉冲高达 脉冲星为什么能产生脉冲? 三菱PLC 绝对脉冲指令的用法 PLC怎样高速给伺服电机发脉冲信号 我们公司建了一个网站,不知道能不能使用云服务器呢? 网站建设解决方案跟云服务器的关系? 我想问一下,有谁知道开网店是用淘宝呢?还是用掏得利?有淘得利这个网站吗?不知道有谁知道掏得利网站? 厦门曾经毫不起眼的城中村,现在游客为何都抢着去? 洛克王国VS赛尔号 厦门“最牛”城中村是哪里,为什么成为“最牛”城中村? 谁知道这款得力淘气猪卷笔刀怎么打开把铅笔削倒出来? 厦门的城中村现在很“落魄”,外乡人为啥还不搬走? 厦门的城中村会不会全部拆完? 去厦门打工哪里住宿比较便宜 苹果8P和华为nova7哪个好啊?