欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STM32F103C8音頻ADC->限幅濾波->MCP4725DAC(完整程序工程及Proteus仿真) [打印本頁]

作者: Kxuan163    時間: 2021-5-15 14:41
標題: STM32F103C8音頻ADC->限幅濾波->MCP4725DAC(完整程序工程及Proteus仿真)
本帖最后由 Kxuan163 于 2021-5-15 20:15 編輯

我的實踐:STM32F103C8音頻ADC->限幅濾波->MCP4725DAC(完整代碼工程文件及Proteus仿真)








單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "adc.h"
  5. #include "MCP4725.h"
  6. #include "myiic.h"
  7. #include <stdio.h>

  8. #define  A 800  //前后兩次采樣值的偏離上限
  9. u16 data;      //前次ADC采樣值
  10. u16 dataNew;   //本次ADC采樣值

  11. u16 filter1()  //限幅濾波函數
  12. {
  13.    dataNew = ADC_GetConversionValue(ADC1);       //本次ADC采樣
  14.    if ((dataNew -data <A) && (data -dataNew <A)) //本次ADC值與前次ADC值比較
  15.      {        
  16.       data= dataNew; //若偏離值<A,則本次ADC值采納,否則舍棄
  17.      }
  18.    return data;
  19. }


  20. int main()
  21. {
  22.   delay_init();         

  23.   ADC1_GPIO_Config();
  24.         
  25.   ADC_Config();  

  26.   MCP4725_Init();                     
  27.         
  28.   data=ADC_GetConversionValue(ADC1); //初次ADC采樣值
  29.   //if (data >4095) data=4095; // Vref =5V   
  30.   if (data >1638) data=1638;   // Vref =2V
  31.   
  32. while(1)
  33.    {
  34.      filter1(); //調用限幅濾波函數
  35.             
  36.    // PC13->LED 監視ADC實時值是否有變化:
  37.    if (data >=1000) PCout(13) = 0;  //PC13->LED亮        
  38.    else PCout(13) = 1;                    //PC13->LED滅        
  39.                         
  40.    MCP4725_WriteData_Digital(data); //將采ADC樣值濾波后再作DA變換        
  41.             
  42.    }
  43. }
復制代碼


所有資料51hei提供下載:
C8-ADC-4725-DAC.zip (579.13 KB, 下載次數: 146)





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1