推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

STM32F407单片机16bit_DAC_AD5689模拟量-10V10V电压输出实验KEI

更新时间:2021-09-07 13:41:04 大小:5M 上传用户:xzxbybd查看TA发布的资源 标签:stm32f407单片机dac 下载积分:8分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

STM32F407单片机16bit_DAC_AD5689模拟量(-10V~10V)电压输出实验KEIL工程源码:

int main(void)

{

  uint16_t data=0xFFFF/2;

  double temp,opa;

  

  /* 复位所有外设,初始化Flash接口和系统滴答定时器 */

  HAL_Init();

  /* 配置系统时钟 */

  SystemClock_Config();


  /* 初始化串口并配置串口中断优先级 */

  MX_DEBUG_USART_Init();


  KEY_GPIO_Init();

  

  printf("硬石DAC(AD5689)模块模拟量电压输出测试\n"); 

  

  AD5689_Init();

  AD5689_WriteUpdate_DACREG(DAC_A,data); 

  AD5689_WriteUpdate_DACREG(DAC_B,0xFFFF-data); 

  printf("data:%d\n",data);

  

  opa=OPA_RES_R2/OPA_RES_R1;

  while(1)

  {

    if(KEY1_StateRead()==KEY_DOWN)

    {

      if(data>(0xFFFF-1000))

        data=(0xFFFF-1000);

      data +=1000;

      AD5689_WriteUpdate_DACREG(DAC_A,data); 

      AD5689_WriteUpdate_DACREG(DAC_B,0xFFFF-data);

      temp=(double)(data*2-0xFFFF)*2500*opa/0xFFFF;

      //temp为目标电源值,这里先放大1000倍(方便计算而已),等后面显示再还原

      //data是数字量DA值,当data取值为:0~0xFFFF对应AD5689输出为0~5V

      //本例程是输出-10V~10V,这个功能主要是靠运放实现,特殊的电路使得:

      //AD5689输出0V时对应运放输出-10V,AD5689输出2.5V对应运放输出0V,AD5689输出5V对应运放输出10V

      //(上面虽说是10V,实际上应该是  2.5V*opa(运放放大倍数),这里opa=40.2K/10K=4.02)

      //所以使得程序:data值为0时运放输出-10V, data为0xFFFF/2时输出运放输出0V,data为0xFFFF时输出运放输出10V     

      //temp=(data-0xFFFF/2)/(0xFFFF/2)*2.5*1000*opa

      printf("data:%d->%0.3fV\n",data,temp/1000);

    }

    if(KEY2_StateRead()==KEY_DOWN)

    {

      if(data<1000)

        data=1000;

      data -=1000;


部分文件列表

文件名文件大小修改时间
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xc.h707KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f401xe.h707KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f405xx.h1203KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f407xx.h1316KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f410cx.h591KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f410rx.h592KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f410tx.h587KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f411xe.h710KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f412cx.h1141KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f412rx.h1227KB2017-05-27 11:05:48
YSF4_HAL_AD_DA-001. 16bit_DAC_AD5689模拟量(-10V~10V)电压输出/Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f412vx.h1227KB2017-05-27 11:05:48
...

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载