有个程序不知道怎么写,求思路
编码器对单片机输出脉冲,速度是1分钟3500转,1转输出600个脉冲,单片机每收到17个编码器脉冲,输出2个脉冲,
这程序好烧脑,想了很久都不知道怎么写,求思路
直接用中断。单片机每接收到17个中断就进行输出操作。中断速度可以满足要求。 定时器当计算器用 类似于电子齿轮比。 外部中断输入,每收到一个上升沿就中断一次,计数+1, 每次累积17/2 =8.5, 每收到8.5发送一个脉冲, 那么你每累计到4个IO口就高电平,每累计到9个就低电平,每累地到13个就高电平,每累计到17个就低电平,然后清零计数,如此反复。
当然你要考虑每分钟3500转每转600,就是每秒35K脉冲的接收速度和发送脉冲速度,你的晶震的频率不要太低就好了
试试用PWM的输入捕获/比较功能,一个通道捕获9,一个通道捕获17,17个脉冲内中断两次,这样单片机就有足够的时间处理数据
页:
[1]