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

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

[复制链接]

46

主题

108

回帖

604

积分

高级会员

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

回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:422
  • 最近打卡:2025-06-18 20:20:06

47

主题

354

回帖

855

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-06-18 23:39:48

10

主题

144

回帖

530

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:560
  • 最近打卡:2025-06-18 06:37:02

24

主题

524

回帖

1232

积分

荣誉版主

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-06-18 10:31:14
已绑定手机

40

主题

371

回帖

977

积分

高级会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:419
  • 最近打卡:2025-06-18 07:57:36

5

主题

32

回帖

1411

积分

金牌会员

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

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-19 04:31 , Processed in 0.116545 second(s), 86 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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