基于累加的PDM算法的原理

基于累加的PDM算法的原理- 基于累加的PDM算法(2) PDM编码原理如下:  单片机能输出Sin(t)吗?能,DA。  没有DA怎么办?PWM。  没有PWM怎么办?  事情就是这么来的。20多年前,不要说单片机内没有PWM,而且当时的MCS-51系列内连Timer2还没有呢。这个算法就是20多年前逼出来的。  下
摘要由CSDN通过智能技术生成

基于累加的PDM算法原理

基于累加的PDM算法(2)


 PDM编码原理如下:


  单片机能输出Sin(t)吗?能,DA。

  没有DA怎么办?PWM。

  没有PWM怎么办?

  事情就是这么来的。20多年前,不要说单片机内没有PWM,而且当时的MCS-51系列内连Timer2还没有呢。这个算法就是20多年前逼出来的。

  下面看我怎样在数字端口输出SQRT(0.5)= 0.70710678…。

  假设我们要输出实数值x,x在[0,1)。

  我们只需要一个变量存累计数,事实上,我们只须保存尾数,不妨就叫它为Mantissa。Mantissa可以有[0,1)范围内的任意初始值。

  下面一段程序是在定时中断内执行的。中断间隔是由你系统的需要和MCU的能力确定的。

Timer_ISR:

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值