用户工具

站点工具


learing:alpha:2017052301

8F328P的DAC使用

ALPHA 8F328P具有一路8位DAC,我们介绍一下,怎样使用DAC。

需要注意的是,ADC和DAC使用的是同一个基准源,如果你改变基准源的话是两个所参考的基准源同时改变。

程序

输出一个固定电压值

int dac = 4;  //定义dac管脚
void setup() {
  pinMode(dac, ANALOG); //初始化dac管脚为模拟输出模式
  analogReference(INTERNAL2V048);  //设置基准源为2.048内部基准
}
 
void loop() {
  analogWrite(dac, 100);  //DAC是8位精度,范围是0-255。255就是基准源上限。计算公式为:2048/256*100
}

输出正弦波

#define PI 3.1415926535897932384626433832795    //定义常数π
 
void setup() {
 
  pinMode(4, ANALOG);     //配置DAC输出
  analogReference(INTERNAL4V096);   //内部基准源4.096V
}
 
void loop() 
{
 for(float i=0;i<=2;i=i+0.01)    //起始点为0,终止为2π,采样率为0.01
 {
  float rad=PI*i;    
  float Sin=sin(rad);
  long intSin=Sin*300;    //将数据放大300倍,取整数
  byte val=map(intSin,-300,300,0,255);   //映射至8位DAC精度
  analogWrite(4, val);   //DAC输出
  }
}

learing/alpha/2017052301.txt · 最后更改: 2023/06/07 04:23 由 127.0.0.1