【问题标题】:Optimal way to control PWM with ADC on AVR controller使用 AVR 控制器上的 ADC 控制 PWM 的最佳方法
【发布时间】:2015-06-10 06:23:30
【问题描述】:

我从 ADC 获得 8 位值(位于 [0, 1024) 中),但我需要在定时器 PWM 模式下将它们转换为占空比(位于 [25, 255] 中)。使用汇编来做到这一点的最佳方式是什么?

【问题讨论】:

  • 范围 [0,1024) 不适合 8 位,它需要 10 - 这就是您的意思吗?

标签: assembly avr pwm adc


【解决方案1】:
  • 将ADC值除以4,意思是将ADC值读入一个 注册,然后向右移动 2 次​​li>
  • 然后确保 如果移位结果为 ,则将其设置为 25

编辑

如果您想要对您的 ADC 读数做出非线性响应,您可以创建一个 256 1024 字节 表...可能从 25x "25" 开始,然后是任何函数逐步提高到 255,并使用移位的 ADC 值作为该表的索引...这就是例如对数 LED 调光曲线的编程方式。

【讨论】:

  • 对于非线性转换表,您可能希望拥有 1024 个条目而不是移动索引。
  • @MarkRansom true (+1)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-04
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 2021-08-24
相关资源
最近更新 更多