找回密码
 立即注册
查看: 538|回复: 5

有个程序不知道怎么写,求思路

[复制链接]

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2023-8-1 13:23:28 | 显示全部楼层 |阅读模式
编码器对单片机输出脉冲,速度是1分钟3500转,1转输出600个脉冲,
单片机每收到17个编码器脉冲,输出2个脉冲,
这程序好烧脑,想了很久都不知道怎么写,求思路

回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:379
  • 最近打卡:2025-05-02 11:40:42

43

主题

336

回帖

595

积分

高级会员

积分
595
发表于 2023-8-2 09:37:26 | 显示全部楼层
直接用中断。单片机每接收到17个中断就进行输出操作。中断速度可以满足要求。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:390
  • 最近打卡:2025-05-03 22:37:30

10

主题

143

回帖

356

积分

中级会员

积分
356
发表于 2023-12-4 04:45:08 | 显示全部楼层
定时器当计算器用
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:516
  • 最近打卡:2025-05-04 05:36:32

24

主题

517

回帖

1002

积分

荣誉版主

积分
1002
发表于 2023-12-4 07:09:01 | 显示全部楼层
类似于电子齿轮比。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:442
  • 最近打卡:2025-05-04 08:09:12
已绑定手机

40

主题

371

回帖

851

积分

高级会员

积分
851
发表于 2023-12-4 10:18:21 | 显示全部楼层
外部中断输入,每收到一个上升沿就中断一次,计数+1,    每次累积  17/2 =8.5, 每收到8.5发送一个脉冲,   那么你每累计到4  个IO口就高电平,每累计到9个就低电平,每累地到13个就高电平,每累计到17个就低电平,然后清零计数,如此反复。
当然你要考虑每分钟3500转每转600,就是每秒35K脉冲的接收速度和发送脉冲速度,你的晶震的频率不要太低就好了
纸上得到终觉浅,绝知此事要躬行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:383
  • 最近打卡:2025-04-30 07:56:06

5

主题

32

回帖

1257

积分

金牌会员

积分
1257
发表于 2023-12-4 11:59:29 | 显示全部楼层
试试用PWM的输入捕获/比较功能,一个通道捕获9,一个通道捕获17,17个脉冲内中断两次,这样单片机就有足够的时间处理数据
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-4 17:47 , Processed in 0.128051 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表