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

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

[复制链接]

45

主题

109

回帖

604

积分

高级会员

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:780
  • 最近打卡:2026-07-05 07:47:31

55

主题

446

回帖

589

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:615
  • 最近打卡:2026-06-12 23:05:28

9

主题

143

回帖

721

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:920
  • 最近打卡:2026-07-05 05:06:57

24

主题

551

回帖

2399

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:767
  • 最近打卡:2026-07-05 00:08:10
已绑定手机

41

主题

389

回帖

1949

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:668
  • 最近打卡:2026-06-12 07:57:01

6

主题

38

回帖

1818

积分

金牌会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-7-5 15:46 , Processed in 0.071737 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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