久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4669|回復: 3
打印 上一主題 下一主題
收起左側

AD9850模塊STM32程序 輸出頻率可調的正弦波

[復制鏈接]
跳轉到指定樓層
樓主
ID:377919 發表于 2019-8-17 09:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前些天由于某種原因,收集了點AD9850的資料
附上自己寫的AD9850的程序,供大家參考,輸出的是頻率可調的正弦波

單片機源程序如下:
  1. /********************************************
  2. *********************************************/

  3. #include "DA9850.h"

  4. /******************************************
  5.     @函數:void GPIO_Configuration(void)
  6.     @功能:AD9850對應管腳的初始化
  7.         @返回值:無
  8.         @參數:無
  9.         @備注: 這里不需要更改

  10. *******************************************/
  11. void GPIO_Configuration(void)
  12. {
  13.      GPIO_InitTypeDef   GPIO_InitStructure;
  14.           DA9850_GPIO_PeriphClkCmd( DA9850_GPIO_CLK ,ENABLE);
  15.          
  16.          GPIO_InitStructure.GPIO_Pin =FQUD_GPIO_Pin |Data_GPIO_Pin |WCLK_GPIO_Pin |RESET_GPIO_Pin ;
  17.          GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
  18.          GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP ;
  19.      GPIO_Init(DA9850_GPIO_PORT ,&GPIO_InitStructure);
  20.         
  21. }



  22. /********************************************
  23.      @函數:void RCC_Configuration(void)
  24.      @功能:RCC初始化
  25.      @返回值:無
  26.      @參數:無
  27.      @備注:這個函數可以注釋掉,頻率震蕩會增加
  28. *********************************************/
  29. void RCC_Configuration(void)
  30. {
  31.           ErrorStatus HSEStartUpStatus;  
  32.         RCC_DeInit();                           
  33.         RCC_HSEConfig(RCC_HSE_ON);
  34.         HSEStartUpStatus=RCC_WaitForHSEStartUp();
  35.         if(HSEStartUpStatus==SUCCESS)
  36.         {
  37.         FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
  38.         FLASH_SetLatency(FLASH_Latency_2);
  39.         
  40.         RCC_HCLKConfig(RCC_SYSCLK_Div1);
  41.         RCC_PCLK1Config(RCC_HCLK_Div2);
  42.         RCC_PCLK2Config(RCC_HCLK_Div1);
  43.         
  44.         RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);        
  45.         RCC_PLLCmd(ENABLE);
  46.         
  47.         while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
  48.         {}
  49.         RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  50.         while(RCC_GetSYSCLKSource()!=0x08)
  51.         {}
  52.         }

  53. }

  54. /*********************************************
  55.       @函數:void AD9850_Reset( void )
  56.       @功能: AD9850復位
  57.       @返回值:無
  58.       @備注:無
  59.       @參數:無
  60. *********************************************/
  61. void AD9850_Reset( void )
  62. {
  63.     AD9850_WCLK_L;
  64.         AD9850_FQUD_L;
  65.         
  66.         //rest 信號
  67.         AD9850_RESET_L;
  68.         AD9850_RESET_H;
  69.         AD9850_RESET_L;

  70.         //WCLK信號
  71.         AD9850_WCLK_L;
  72.         AD9850_WCLK_H;
  73.         AD9850_WCLK_L;

  74.         //FQUD信號
  75.         AD9850_FQUD_L;
  76.         AD9850_FQUD_H;
  77.         AD9850_FQUD_L;
  78. }

  79. /*********************************************************
  80.             @函數:void ad9850_wr_serial(unsigned char w0,float  freq)
  81.             @功能:AD9850輸出正弦波
  82.             @返回值:無
  83.             @參數:w0:w0為 一變量,不用管。
  84.                            frep:跟輸出頻率直接掛鉤,單位為Khz
  85.             @備注:無

  86. **********************************************************/
  87. void AD9850_wr_serial(unsigned char w0,float frep)
  88. {
  89.    unsigned char i,w;
  90.         long int y = frep *(0x20C49BA)/1000;
  91. //寫W4數據        
  92.         w=(y>>=0);
  93.     for(i=0;i<8;i++)
  94.     {
  95.       if(((w>>i)&0x01))
  96.       {
  97.         AD9850_Data_H;
  98.       }
  99.       else
  100.       {
  101.          AD9850_Data_L;
  102.       }
  103.    AD9850_WCLK_H;
  104.     AD9850_WCLK_L;
  105.     }
  106. //寫W3數據
  107.     w=(y>>8);
  108.     for(i=0;i<8;i++)
  109.     {
  110.       if(((w>>i)&0x01))
  111.       {
  112.         AD9850_Data_H;
  113.       }
  114.       else
  115.       {
  116.          AD9850_Data_L;
  117.       }
  118.    AD9850_WCLK_H;
  119.     AD9850_WCLK_L;
  120.     }
  121. //寫W2數據
  122.     w=(y>>16);
  123.     for(i=0;i<8;i++)
  124.     {
  125.      if(((w>>i)&0x01))
  126.       {
  127.         AD9850_Data_H;
  128.       }
  129.       else
  130.       {
  131.          AD9850_Data_L;
  132.       }
  133.    AD9850_WCLK_H;
  134.     AD9850_WCLK_L;
  135.     }
  136. //寫W1數據
  137.     w=(y>>24);
  138.     for(i=0;i<8;i++)
  139.     {
  140.      if(((w>>i)&0x01))
  141.       {
  142.          AD9850_Data_H;
  143.       }
  144.       else
  145.       {
  146.        AD9850_Data_L;
  147.       }
  148.    AD9850_WCLK_H;
  149.     AD9850_WCLK_L;
  150.     }
  151.     //寫W0數據
  152.     w=w0;   
  153.     for(i=0;i<8;i++)
  154.     {
  155.       if(((w>>i)&0x01))
  156.       {
  157.        AD9850_Data_H;
  158.       }
  159.       else
  160.       {
  161.      AD9850_Data_L;
  162.       }
  163.     AD9850_WCLK_H;
  164.     AD9850_WCLK_L;
  165.   }
  166.     //移入使能
  167.       AD9850_FQUD_H;
  168.       AD9850_FQUD_H;
  169. }  
  170.         
復制代碼

所有資料51hei提供下載:
AD9850.7z (175.5 KB, 下載次數: 86)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2019-8-18 00:55 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

板凳
ID:282095 發表于 2019-8-18 09:06 | 只看該作者
資源不全 不太完整哦
回復

使用道具 舉報

地板
ID:511461 發表于 2019-10-26 20:52 | 只看該作者
樓主程序挺好的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天堂一区 | 综合色久 | 天堂色综合 | 国产一区二区在线看 | 一区二区久久 | 日本不卡免费新一二三区 | 日日夜夜精品视频 | 中文字幕免费在线 | 欧美 日韩 中文 | 99久久99热这里只有精品 | 99re| 国产激情网 | 欧美久久国产精品 | 羞羞视频免费在线观看 | 成人av在线播放 | 伊人亚洲 | 自拍偷拍第一页 | 欧美日韩国产免费 | 一区二区三区电影网 | 国产精品日韩欧美一区二区三区 | 亚洲 欧美 综合 | 亚洲综合色 | 国产精品久久久久久二区 | 成人高清网站 | 97色在线观看免费视频 | 成人午夜精品 | 精品国产乱码久久久久久牛牛 | 日本成人中文字幕 | 欧美日韩在线免费观看 | 亚洲综合小视频 | 亚洲男人天堂2024 | 亚洲一区二区三区四区视频 | 久久久久一区二区三区 | 亚洲福利av | 亚洲免费精品一区 | 亚洲精精品 | 亚洲国产免费 | 国产精品久久久久久久久久免费看 | 日韩有码在线播放 | 免费在线一区二区三区 | 国产精品免费一区二区三区 |