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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7297|回復: 6
收起左側

AD9834信號發生器程序,按鍵設置頻率 AD603放大

[復制鏈接]
ID:140725 發表于 2016-10-17 21:07 | 顯示全部樓層 |閱讀模式
AD9834信號發生器程序,按鍵設置頻率,輸出波形和幅度增益,用nokia5110液晶顯示,增益是通過DA控制AD603對AD9834的輸出進行程控放大。界面效果好。程序模塊化,方便移植,學習.
0.png

全部完整代碼下載:
AD9834.rar (66.99 KB, 下載次數: 139)

單片機源程序(部分預覽):
  1. #include<common.h>
  2. #include<ad9834.h>

  3. /*****************************************************  
  4. AD9834波形產生程序  
  5. *****************************************************/   
  6.   

  7. /**************************  
  8. 發送控制字  
  9. **************************/   
  10. void Send_Con(uint Con_word)   
  11. {   
  12.    uchar i;   
  13.    FSYNC =0;                              //低電平使數據有效
  14.    for(i=0;i<16;i++)              //傳輸16位控制字
  15.    {   
  16.       SDATA =Con_word&0x8000;   //最高位不變,最高位賦給SDATA
  17.       Con_word<<=1;                           //控制字左移一位,準備下一次
  18.       SCLK =0;                                   //產生下降沿,傳輸SDATA
  19.       SCLK =1;   
  20.    }   
  21.    FSYNC =1;                                    //高電平,無效
  22. }   
  23.    
  24. /****************************  
  25. 發送頻率字  
  26. ****************************/   
  27. void Send_Freq(uint Freq_word)   
  28. {   
  29.    uchar i;     
  30.    FSYNC =0;                              //低電平使數據有效
  31.    for(i=0;i<16;i++)              //傳輸16位頻率字
  32.    {   
  33.       SDATA =Freq_word&0x8000;  //最高位不變,最高位賦給SDATA
  34.       Freq_word<<=1;                           //頻率字左移一位,準備下一次
  35.       SCLK =0;                                   //產生下降沿,傳輸SDATA
  36.       SCLK =1;   
  37.    }   
  38.    FSYNC =1;                                    //高電平,無效
  39. }   
  40.    
  41. /*****************************  
  42. 發送相位字  
  43. 注:根據情況可設定入口參數,設置相位  
  44. *****************************/   
  45. void Send_Phase()   
  46. {   
  47.    Send_Con(0xC000);   //設置初相位為0   
  48. }   
  49.    
  50.    
  51. /*******************************************************  
  52. 設置頻率值   
  53. Freq_value(value)=Freq_data(data)*FCLK/2^28  
  54. 2^28=268435456=0x10000000  
  55. *******************************************************/   
  56. void writing_Freq(uchar freq_number, ulong Freq_value)   
  57. {  
  58.     ulong FREQREG = (ulong)(268435456.0/FCLK*Freq_value);
  59.    
  60.     uint LSB_D = (uint)FREQREG;
  61.     uint MSB_D = (uint)(FREQREG>>14);
  62.    
  63.     if(freq_number == FREQ_0)
  64.     {
  65.         LSB_D &= ~(1U<<15);
  66.         LSB_D |= 1<<14;
  67.         MSB_D &= ~(1U<<15);
  68.         MSB_D |= 1<<14;
  69.     }
  70.     else
  71.     {
  72.         LSB_D &= ~(1<<14);
  73.         LSB_D |= 1U<<15;
  74.         MSB_D &= ~(1<<14);
  75.         MSB_D |= 1U<<15;
  76.     }
  77.    
  78.     Send_Freq(LSB_D);
  79.     Send_Freq(MSB_D);
  80.      
  81. }
復制代碼
回復

使用道具 舉報

ID:194533 發表于 2017-5-8 12:37 | 顯示全部樓層
請問有仿真電路圖嗎
回復

使用道具 舉報

ID:194533 發表于 2017-5-8 12:38 | 顯示全部樓層
有仿真電路圖嗎
回復

使用道具 舉報

ID:205335 發表于 2017-5-27 10:54 | 顯示全部樓層
請問有仿真電路圖嗎
回復

使用道具 舉報

ID:296658 發表于 2018-3-25 22:04 | 顯示全部樓層
15927493959 發表于 2017-5-8 12:37
**** 作者被禁止或刪除 內容自動屏蔽 ****

有仿真電路圖嗎
回復

使用道具 舉報

ID:328502 發表于 2018-5-14 18:27 | 顯示全部樓層
你好,想請問一下有ad9834信號發生器的仿真電路圖嗎
回復

使用道具 舉報

ID:442274 發表于 2021-4-24 11:48 | 顯示全部樓層
學習學習 確實需要由硬件連接最好
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表