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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

AD9850 DDS信號發生器 程序 原理圖 pcb 設計報告都有

  [復制鏈接]
跳轉到指定樓層
樓主

以上所有資料下載:
DDS.rar (745.5 KB, 下載次數: 581)

下面是設計報告預覽:
一、方案設計與論證
本設計采用直接數字頻率合成。單片機從鍵盤獲得控制信息,控制兩路DDS芯片AD9850產生的兩路設定頻率的正弦波和方波。輸出信號經過調整后輸入AD7524可以在單片機的控制下完成對信號的程控誤差。從DDS模塊輸出的兩路信號經過低通濾波和直流偏置將兩路信號輸入模擬乘法器AD835,一路作為載波,一路作為調制波,從AD835產生調制波。同時可以將DDS信號輸入到CD4046B芯片進行振蕩輸出調頻信號。
   方案選擇
1、信號發生部分
方案一:采用單片壓控函數發生器,如MAX038。MAX038可以方便地產生頻率(0.1Hz~20MHz)可變的正弦波、方波、三角波及實現數控頻率調整。但是,其輸出頻率的穩定度低,頻率的步長控制難以達到理想的結果。
方案二:采用DDS波形發生技術,采用FPGA和單片機相結和的方式實現頻率控制,由于本信號源只產生三種常見波形,不需要大規模的FPGA。
方案三:采用專用的DDS芯片,因為AD9850可以直接產生正弦波等常見波形用單片機的控制字可以方便地進行控制輸出不同的波形,故本方案采用DDS專用芯片AD9850來實現。
2、信號放大部分
方案一:采用分立器件對信號進行放大,此方法制作復雜,且干擾較大
方案二:采用運算放大器進行放大,要改變放大倍數時,則可以采用外部電位器阻值的方式,因此可以得到可以調節的增益。在溫度和電源電壓變化時有很高的穩定性,完全可以滿足本方案的要求。綜合考慮本系統的精度要求,選擇方案2。
3、模擬FM電路的設計
方案1:使用變容二極管和適當的電廠構成VCO電路。變容二極管通過改變外加反向電壓可以改變電容的大小,從而改變VCO輸出的信號頻率。
方案2:采用鎖相環器件,直接對調制信號進行相位比較,外部電路簡單,實現方便。最終選擇方案2。
4、輸入控制部分
方案一:獨立按鍵控制,制作簡單,編程易于實現,但占用單片機I/O口較多。
方案二:矩陣4*4鍵盤,采用行列掃描的方式,最少要占用8個I/O口。
方案三:紅外遙控解碼控制,采用紅外一體化接收頭,制作簡單,僅占用一個I/O口。在本設計中控制端較多,綜合考慮采用方案三。
5、顯示部分
方案一:數碼管顯示,由于本題要求實時顯示輸出信號的類型、幅度、頻率和頻率步進值等,而數碼管不能顯示字符。
方案二:LED點陣顯示,LED點陣顯示雖然能顯示字符和數字,但顯示效果不好,且不易編程。
方案三:LCD液晶顯示,LCD液晶不但能顯示字符和數字,而且顯示效果較好,容易編程實現。
根據題目的要求,經過仔細分析,充分考慮各種因素,制定了整體設計方案:以單片機STC89C52為核心,完成四方面的功能:采用DDS專用芯片AD9850產生正弦波和方波,高帶DA轉換器AD7524控制AM調制度,接收紅外遙控的控制碼,同進LCD液晶顯示所有數據。其系統如圖1-1所示。

圖1-1
二、理論分析、計算與各模塊設計
(1)DDS波形產生電路設計
DDS基本原理:正弦波形一個周期離散樣點的幅值數字量存于ROM(或RAM)中,按一定的地址間隔(相位增量)讀出,由D/A轉換成模擬正弦信號,經過低通濾波,濾除D/A帶來的小臺階和數字電路產生的毛刺,即可獲得所需要的正弦信號。AD9850可以產生正弦波、方波。AD9834內部的相位累加器的字寬為32位,SIN函數表有4096樣點值,因此32位的相位累加器輸出僅截取12位用于查表。其內部原理框圖如下:
圖2-1 AD9850內部原理框圖
AD9850參數:
最高參考時鐘為125MHz,輸出頻率分辨率可達0.0291Hz,允許產生最高輸出頻率62.5MHz。芯片內部提供5bits數字控制相位調制,
輸出的相位變化增量可為
AD9850有32位相位累加器,而ROM為14位,將32位累加器的輸出截高位的14位輸入正弦(ROM)查詢表,從查詢表輸出給D/A。D/A的輸出是兩個互補的模擬電流,在12腳處接一個電阻Rset,使滿量程輸出為10~20mA電流,經過濾波器輸出正弦波。
AD9850主要引腳說明:
1、(D0~D7):8bit數據輸入端。用于下載32bit頻率調節字和8bit相位控制字。
2、(W-CLK):字裝載時鐘,用于裝載并行或串行的頻率/相位/控制字
3、(RSET):DAC外接電阻,該電阻決定DAC輸出電流的最大值。對于典型應用(IOUTmax=10mA)時,RSET的值為3.9kΩ,另一端連接到地線。外接電阻RSET與DAC輸出電流 IOUT的關系為
輸出信號頻率、參考時鐘、頻率控制碼之間的關系
                              控制字
                  輸入參考時鐘頻率(MHz)。
電路原理圖如圖2-2所示:

圖2-2 DDS波形產生電路
(2)程控衰減電路設計
程控衰減電路由D/A轉換芯片AD7524構成,主要利用此D/A芯片的可程控電阻網絡構成基于AD7524構成的程控衰減器,而在其輸出端得到幅度可控的正弦波。由AD7524的8位數據輸入端進行控制,可實現1~1/56級衰減。其相關電路如圖2-3所示:
圖2-3 程控衰減電路
(3)模擬AM電路設計
該電路選用AD835作為乘法器,將載波和調制信號相乘得AM信號,其兩路輸入信號幅值可達到-1V—+1V,對噪聲可形成較強的抑制能力。另外,普通雙邊帶調制需要調制信號疊加直流成分,因此調制信號在輸入到乘法器前需經過電平轉換電路為調制信號疊加適當的直流。由于前級的調制信號是由程控衰減器輸出,所以在程控衰減器初始輸出的情況下,可以通過調節電平轉換電路的直流偏置,使模擬AM電路的初始輸出的調幅波形的調制度調整至1。這樣設置可以為之后的程控調制帶來方便。通過P8的跳線可以選擇調制波為方波,從面實現ASK調制。其電路如圖所示。

圖2-4 AM信號產生電路
(4)模擬FM電路的設計
頻率調頻信號的基本特點是它的瞬時頻率按調制信號規律變化,因而,一種最容易想到的方法是用調制信號直接控制振蕩器的振蕩頻率,使其不失真地反映調制信號的變化。通常將這種直接調變振蕩器頻率的方法稱為直接調頻法。本設計中,使用鎖相環集成電路CD4046內部自帶的VCO產生FM波。通過P10 的跳線可以選擇方波為調制波,從而實現FSK。其電路如5所示。

圖2-5 FM、FSK信號產生電路
(5)控制與顯示電路
輸入控制采用紅外遙控器控制,通過HS0038紅外一體化接收頭解碼、放大,將控制碼發送給單片機,再由單片機控制DDS模塊、程控衰減模塊產生不同的波形。
顯示部分使用128*64點陣寬屏液晶,可以顯示不同模式下的頻率及波形,達到直觀、形象的效果。
此模塊如圖所示:
圖2-6 控制與顯示電路
三、電路與程序設計
1、總體電路
總體電路圖見附錄1。
2軟件設計
程序全部由C語言編寫,可實現波形類型的選擇、頻率檔位(低檔、高檔)電壓輸入、頻率步進值和電壓步進值的設定,顯示部分可實時顯示輸出信號的類型、幅度、頻率和頻率步進值。主程序的流程如圖3-1所示。
圖3-1 程序流程圖
四、測試方案與測試結果
1、測試儀器
雙蹤示波器   TDS3012B         
頻率計       PD1631
2、測試數據
                              (1)輸出波形頻率范圍測試,測試數據如表1所示:
預置頻率/Hz
輸出頻率/Hz
負載電阻(Ω)
正弦波
方波

10
10.005
10.005
100
25
25.005
25.005
100
50
50.01
50.01
100
100
100.02
100.02
100
150
150.04
150.04
100
300
300.07
300.07
100
500
500.09
500.09
100
1000
1000.2
1000.2
100
2000
2000.5
2000.5
100
5000
5001
5001
100
10000
100003
100003
100
50000
500007
500007
100
100000
100010
100010
100
200000
200030
200030
100
500000
500060
500060
100
1000000
1000090
1000090
100
表1
由表可以看出,在頻率穩定度方面,正弦波、三角波、方波在帶負載的情況下均十分穩定,這正是DDS專用芯片AD9834的特點。
(2)輸出波形幅度范圍測試
預置幅度(V)
輸出幅度(V)(負載50Ω)
輸出幅度(V)(負載1KΩ)
頻率與波形
0.1
0.098990
0.098990
250KHz、正弦波
0.2
0.197642
0.197667
250KHz、正弦波
0.5
0.490125
0.490002
250KHz、正弦波
1.0
0.989946
0.989932
250KHz、正弦波
1.5
1.496254
1.496425
250KHz、正弦波
2.5
2.489632
2.487032
250KHz、正弦波
3.5
3.480263
3.480142
250KHz、正弦波
4.0
3.943521
3.936721
250KHz、正弦波
5.0
4.905241
4.901482
250KHz、正弦波
表2
由表可見,在電壓穩定度方面:電壓的絕對值和預置值之差,及帶載和不帶載的情況下輸出電壓均符合要求。
(3)幅度(VP-P)步進值測量(測試對象:1KHz正弦波,單位:V,步進值0.1V)
預置值
0
0.10
0.20
0.50
1.00
1.50
2.00
2.50
3.50
4.50
5.00
實測值
0
0.10
0.20
0.49
1.00
1.52
2.01
2.48
3.46
4.53
5.00

表3
由表可以看出,在步進值的精確度方面,符合設計要求。
五、結論
我們設計的系統以STC89C52芯片為核心控制,通過可編程放大電路實現了正弦波、方波的輸出功能,其頻率步進值和幅度步進值達到了題目的設計要求。在系統的設計過程中,力求硬件電路簡單,充分發揮軟件編程方便靈活的特點,并最大限度挖掘單片機的資源,來滿足系統設計要求。因比賽時間有限,該系統還有許多值得改進的地方。
六、參考文獻:
[1]劉建成,鄒應全,行鴻彥.基于DDS的函數發生器設計.現代電子技術2007
[2]劉春生,李小波. AD603在信號采集系統中的應用.國外電子元器件.2000(11)
[3]胡煜.MAX038在精密頻率合成波形發生器中的應用. 現代電子技術2007(1)
[4]劉建成,鄒應全,行鴻彥.基于DDS9850的函數發生器設計. 2007(2)

評分

參與人數 1黑幣 +10 收起 理由
YJGG + 10 贊一個!

查看全部評分

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

使用道具 舉報

沙發
ID:137190 發表于 2016-9-25 12:38 | 只看該作者
AD9850的驅動程序C文件:
  1. /************************************************************
  2. *                                        AD9850.c                                                                *
  3. *                                        AD9850的驅動程序C文件                                        *
  4. *                                        Copyright (c)2009---MJC                                 *
  5. *                                        Free to Copy and Modify.                                *
  6. *                                        Author:Worrior                                                        *
  7. *                                        Date:2009-9-1                                                        *
  8. ************************************************************/

  9. #include<intrins.h>
  10. #include "AD9850I.h"
  11. #include "lcd12864.h"

  12. //unsigned char freq[8];                                //液晶顯示8種步進頻率值
  13. unsigned char freq[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


  14. /********************
  15. **函數:AD9850Reset
  16. **功能:AD9850的復位函數
  17. **作者:Worrior
  18. **日期:2009-9-1
  19. ********************/
  20. void AD9850Reset(void)
  21. {
  22.         AD9850WCLK = 1;
  23.         AD9850FQUD = 1;
  24. //        AD9850ReSet = 0;
  25. //        AD9850ReSet = 1;//復位腳置高電平(10個AD9850的時鐘周期)
  26. //        _nop_();_nop_();_nop_();_nop_();_nop_();
  27. //        _nop_();_nop_();_nop_();_nop_();_nop_();//延時,其實不用這么長
  28. //        AD9850ReSet = 0;//復位完成,再拉低
  29. }

  30. /*步進按鍵函數*/
  31. void f10Mhz(void)                                                                                                                                                //10Mhz步進
  32. {
  33.         freq[0]=freq[0]+1;
  34.         if(freq[0]>=10)
  35.         {
  36.                 freq[0]=0;
  37.         }
  38.         display_led();
  39. }

  40. void f1Mhz(void)                                                                                                                                                //1Mhz步進
  41. {
  42.         freq[1]=freq[1]+1;
  43.         if(freq[1]>=10)
  44.         {
  45.                 freq[1]=0;
  46.         }
  47.         display_led();       
  48. }

  49. void f100Khz(void)                                                                                                                                                //100Khz步進
  50. {       
  51.         freq[2]=freq[2]+1;
  52.         if(freq[2]>=10)
  53.         {
  54.                 freq[2]=0;
  55.         }
  56.         display_led();
  57. }

  58. void f10Khz(void)                                                                                                                                                //10Khz步進
  59. {
  60.         freq[3]=freq[3]+1;
  61.         if(freq[3]>=10)
  62.         {
  63.                 freq[3]=0;
  64.         }
  65.         display_led();
  66. }

  67. void f1Khz(void)                                                                                                                                                //1Khz步進
  68. {
  69.         freq[4]=freq[4]+1;
  70.         if(freq[4]>=10)
  71.         {
  72.                 freq[4]=0;
  73.         }
  74.         display_led();
  75. }

  76. void f100Hz(void)                                                                                                                                                //100hz步進
  77. {
  78.         freq[5]=freq[5]+1;
  79.         if(freq[5]>=10)
  80.         {
  81.                 freq[5]=0;
  82.         }
  83.         display_led();

  84. }

  85. void f10Hz(void)                                                                                                                                                //10hz步進
  86. {
  87.         freq[6]=freq[6]+1;
  88.         if(freq[6]>=10)
  89.         {
  90.                 freq[6]=0;
  91.         }
  92.         display_led();

  93. }

  94. void f1Hz(void)                                                                                                                                                        //1hz步進
  95. {
  96.         freq[7]=freq[7]+1;
  97.         if(freq[7]>=10)
  98.         {
  99.                 freq[7]=0;       
  100.         }
  101.         display_led();
  102. }

  103. /***計算控制字************/
  104. /***入口:頻率數組指針***出口,控制字值*****/
  105. unsigned long jisuan(unsigned char data *fno)//*fno-0>freq[0...7]
  106. {
  107.     unsigned long dds_no ;
  108.     dds_no=
  109.     (*(fno+7))*FF0+
  110.     (*(fno+6))*FF1+
  111.     (*(fno+5))*FF2+
  112.     (*(fno+4))*FF3+
  113.     (*(fno+3))*FF4+
  114.     (*(fno+2))*FF5+
  115.     (*(fno+1))*FF6+
  116.     (*fno)*FF7 ;
  117.     return(dds_no);               
  118. }

  119. /********************
  120. **函數:AD9850SetFre
  121. **功能:AD9850設定頻率控制字函數
  122. **參數:Fre,float型,要設定的頻率,單位Hz
  123. **作者:Worrior
  124. **日期:2009-9-1
  125. ********************/
  126. void AD9850ISetFre()
  127. {
  128.         unsigned long FTW = 0;//要寫入的32位頻率控制字(AD9850一次需要寫入40位控制字)
  129.         unsigned char part1,part2,part3,part4;

  130.         FTW=jisuan(freq);       
  131. //        if(FTW > 30000000)
  132. //                FTW = 30000000;
  133. //        FTW = (unsigned long) (Fre * AD9850_125M);//計算頻率控制字(公式:FTW=(2^32/fosc)*Fre)
  134.         /*以下將32位頻率控制字分解*/
  135.         part1 = (unsigned char) (FTW>>24);//取32~25位
  136.         part2 = (unsigned char) (FTW>>16);//取24~17位
  137.         part3 = (unsigned char) (FTW>>8); //取16~9位
  138.         part4 = (unsigned char) (FTW);          //取8~1位
  139.         /*以上將32位頻率控制字分解*/

  140.         AD9850FQUD = 1;
  141.         AD9850WCLK = 1;
  142.         AD9850DATAPORT = 0x00;//寄存器最高的八位只送0x00
  143.         AD9850WCLK = 0;//WCLK上升沿送數據
  144.         _nop_();

  145.         AD9850WCLK = 1;
  146.         AD9850DATAPORT = part1;
  147.         AD9850WCLK = 0;//WCLK上升沿送數據
  148.         _nop_();
  149.        
  150.         AD9850WCLK = 1;
  151.         AD9850DATAPORT = part2;
  152.         AD9850WCLK = 0;//WCLK上升沿送數據
  153.         _nop_();
  154.        
  155.         AD9850WCLK = 1;
  156.         AD9850DATAPORT = part3;
  157.         AD9850WCLK = 0;//WCLK上升沿送數據
  158.         _nop_();
  159.        
  160.         AD9850WCLK = 1;
  161.         AD9850DATAPORT = part4;
  162.         AD9850WCLK = 0;//AD9850WCLK上升沿送數據
  163.         _nop_();
  164.         AD9850FQUD = 0;//AD9850FQUD上升沿將AD9850緩沖區的40位數據送入DDS Core
  165. }

  166. /********************
  167. **函數:AD9850SetFre
  168. **功能:AD9850設定頻率控制字函數
  169. **參數:Fre,float型,要設定的頻率,單位Hz
  170. **作者:Worrior
  171. **日期:2009-9-1
  172. ********************/
  173. void AD9850IISetFre(float Fre)
  174. {       
  175.         unsigned long FTW = 0;//要寫入的32位頻率控制字(AD9850一次需要寫入40位控制字)
  176.         unsigned char part1,part2,part3,part4;

  177.         if(Fre > 30000000)
  178.                 Fre = 30000000;
  179.         FTW = (unsigned long) (Fre * 34.3597384);//計算頻率控制字(公式:FTW=(2^32/fosc)*Fre)
  180.         /*以下將32位頻率控制字分解*/
  181.         part1 = (unsigned char) (FTW>>24);//取32~25位
  182.         part2 = (unsigned char) (FTW>>16);//取24~17位
  183.         part3 = (unsigned char) (FTW>>8); //取16~9位
  184.         part4 = (unsigned char) (FTW);          //取8~1位
  185.         /*以上將32位頻率控制字分解*/

  186.         AD9850FQUD = 1;
  187.         AD9850WCLK = 1;
  188.         AD9850DATAPORT = 0x00;//寄存器最高的八位只送0x00
  189.         AD9850WCLK = 0;//WCLK上升沿送數據
  190.         _nop_();

  191.         AD9850WCLK = 1;
  192.         AD9850DATAPORT = part1;
  193.         AD9850WCLK = 0;//WCLK上升沿送數據
  194.         _nop_();

  195.         AD9850WCLK = 1;
  196.         AD9850DATAPORT = part2;
  197.         AD9850WCLK = 0;//WCLK上升沿送數據
  198.         _nop_();

  199.         AD9850WCLK = 1;
  200.         AD9850DATAPORT = part3;
  201.         AD9850WCLK = 0;//WCLK上升沿送數據
  202.         _nop_();

  203.         AD9850WCLK = 1;
  204.         AD9850DATAPORT = part4;
  205.         AD9850WCLK = 0;//AD9850WCLK上升沿送數據
  206.         _nop_();
  207.         AD9850FQUD = 0;//AD9850FQUD上升沿將AD9850緩沖區的40位數據送入DDS Core

  208. }
復制代碼
主程序:
  1. #include <reg52.h>
  2. #include "AD9850I.h"
  3. #include "hs0038.h"
  4. #include "lcd12864.h"


  5. void main()
  6. {
  7.         hs0038_init();               //HS0038初始化,使用了外部中斷0///定時器1
  8.         lcd12864_init();
  9.         AD9850Reset();
  10.         while(1)
  11.         {
  12.                 Get_Ircode_And_Dis();
  13.                 switch (ircode[2])
  14.                 {        /**************模式選擇****************/
  15.                                 case 0x07:xuanzekey();break;         
  16.                                 case 0x15:quedingkey();break;                
  17.                                  case 0x09:fanhuikey();break;               
  18.                         /*************頻率調整區***************/
  19.                                 case 0x0c:if(flag1==1) {f10Mhz();}; break;         
  20.                                 case 0x18:if(flag1==1) {f1Mhz(); };break;         
  21.                                  case 0x5e:if(flag1==1) {f100Khz();};break;         
  22.                                  case 0x08:if(flag1==1) {f10Khz(); };break;         
  23.                                  case 0x1c:if(flag1==1) {f1Khz(); } ;break;               
  24.                                 case 0x5a:if(flag1==1) {f100Hz();} ;break;                 
  25.                                  case 0x42:if(flag1==1) {f10Hz(); } ;break;                 
  26.                                 case 0x52:if(flag1==1) {f1Hz();  } ;break;
  27.                     /***************頻率確認***************/
  28.                                 case 0x4a:        if(flag1==1)
  29.                                                         {
  30.                                                         pce1=0;
  31.                                                         pce2=1;
  32.                                                         pce3=1;
  33.                                                         AD9850ISetFre();
  34.                                                         };
  35.                                                         break;
  36.                         /***************AM調制*********************/
  37.                                 case 0x16:        pce1=1;                   //片選AD9850 I          實驗板U1
  38.                                                         pce2=0;                   //片選AD9850 I          實驗板U2
  39.                                                         pce3=1;
  40.                                                         AD9850IISetFre(1000.0);break;
  41.                                 case 0x44:if(flag2==1)
  42.                                                         {
  43.                                                     pce1=1;
  44.                                                         pce2=1;
  45.                                                         pce3=0;
  46.                                                         pwr=0;
  47.                                                         AM_mastepdown();
  48.                                                         };
  49.                                                         break;
  50.                                 case 0x40:  if(flag2==1)
  51.                                                         {
  52.                                                         pce1=1;
  53.                                                         pce2=1;
  54.                                                         pce3=0;
  55.                                                         pwr=0;
  56.                                                         AM_mastepup();
  57.                                                         };
  58.                                                         break;
  59.                         /***************FM調制*********************/
  60.                             case 0x19:AD9850IISetFre(5000.0);break;                        
  61.                                  default:break;
  62.                 }
  63.                 ircode[2]=0;                                                                            //注意一定要把ircode[2]清零。。。。。
  64. //                AD9850SetFre();
  65.         }
  66. }

復制代碼


回復

使用道具 舉報

板凳
ID:134803 發表于 2016-9-29 09:56 | 只看該作者
非常不錯,剛好用到,學習學習,感謝樓主
回復

使用道具 舉報

地板
ID:140275 發表于 2016-9-30 03:26 | 只看該作者
畢業設計就是這樣啊,明白的是9850缺說這就是9834的特點。。。
回復

使用道具 舉報

5#
ID:85606 發表于 2016-11-22 14:25 | 只看該作者
樓主發帖辛苦了,謝謝分享!!!!!!
回復

使用道具 舉報

6#
ID:158454 發表于 2016-12-29 21:41 | 只看該作者
軟件是用的哪個呢
回復

使用道具 舉報

7#
ID:159531 發表于 2017-1-3 10:57 | 只看該作者
很不錯
回復

使用道具 舉報

8#
ID:175611 發表于 2017-3-20 23:56 | 只看該作者
謝謝樓主的分享
回復

使用道具 舉報

9#
ID:153236 發表于 2017-4-13 21:53 | 只看該作者
好資料 有幫助 謝謝樓主
回復

使用道具 舉報

10#
ID:208987 發表于 2017-6-7 21:44 | 只看該作者
好,非常有用
回復

使用道具 舉報

11#
ID:208987 發表于 2017-6-7 22:06 | 只看該作者
確實是好資料  就是黑幣不夠不能下載
回復

使用道具 舉報

12#
ID:208987 發表于 2017-6-7 23:04 | 只看該作者
下載的文件怎么打開
回復

使用道具 舉報

13#
ID:241140 發表于 2017-10-20 00:03 | 只看該作者
向大神學習
回復

使用道具 舉報

14#
ID:263298 發表于 2017-12-20 20:12 | 只看該作者
謝謝樓主恩想
回復

使用道具 舉報

15#
ID:263298 發表于 2017-12-20 20:15 | 只看該作者
很牛逼
回復

使用道具 舉報

16#
ID:263298 發表于 2017-12-20 20:17 | 只看該作者
沒有其他文件了嗎
回復

使用道具 舉報

17#
ID:284869 發表于 2018-3-7 03:43 來自觸屏版 | 只看該作者
不錯哦,還行,厲害了
回復

使用道具 舉報

18#
ID:303059 發表于 2018-4-9 14:45 | 只看該作者
感謝樓主分享
回復

使用道具 舉報

19#
ID:307389 發表于 2018-4-13 17:30 | 只看該作者
用的哪個軟件呀?急用誰知道了告訴一聲
回復

使用道具 舉報

20#
ID:497723 發表于 2019-3-28 13:00 | 只看該作者
謝謝樓主分享,正在做信號發生器
回復

使用道具 舉報

21#
ID:508300 發表于 2019-4-13 08:04 來自觸屏版 | 只看該作者
謝謝分享呢
回復

使用道具 舉報

22#
ID:511084 發表于 2019-4-13 18:30 | 只看該作者
感謝,受益匪淺
回復

使用道具 舉報

23#
ID:538474 發表于 2019-5-15 16:26 來自觸屏版 | 只看該作者
我愛信號發生器 發表于 2019-3-28 13:00
謝謝樓主分享,正在做信號發生器

你打開了嗎,有原理圖嗎
回復

使用道具 舉報

24#
ID:65369 發表于 2021-9-30 10:01 | 只看該作者
這個資料要好了,已經實現了基本功能,在在這里再修改更好
回復

使用道具 舉報

25#
ID:966104 發表于 2021-10-4 00:11 | 只看該作者
如果增加一個屏幕就牛B了
回復

使用道具 舉報

26#
ID:579406 發表于 2021-12-12 15:17 | 只看該作者
謝謝樓主分享,看這個不是為了別的什么目的,主要是學習一下思維和文筆,提升一下創作水平和閱讀視野。
回復

使用道具 舉報

27#
ID:810461 發表于 2022-1-15 16:46 | 只看該作者
51黑ff 發表于 2016-9-25 12:38
AD9850的驅動程序C文件:
主程序:

在哪下載?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美老妇交乱视频 | 亚洲免费一区二区 | 91精品国产综合久久福利软件 | 精品视频国产 | 亚洲精品乱码久久久久久久久 | 国产一区二区三区免费观看在线 | 一区二区在线免费观看视频 | 91麻豆精品国产91久久久更新资源速度超快 | 拍真实国产伦偷精品 | 欧美国产激情二区三区 | 男女羞羞的网站 | 国产精品一区二区三区久久 | 亚洲成人黄色 | 国产精品揄拍一区二区 | 91精品国产色综合久久不卡蜜臀 | 欧美激情国产日韩精品一区18 | 中文字幕一区二区三区四区五区 | 日韩不卡视频在线 | 日日夜夜精品视频 | 亚洲欧美日韩国产综合 | 91精品国产91久久久久久最新 | 国产精品视频中文字幕 | 免费高潮视频95在线观看网站 | 日韩久久久久久 | 精品自拍视频在线观看 | 久久精品二区 | 一本色道精品久久一区二区三区 | 国产在线一区二区 | 日本视频免费 | 亚洲一区亚洲二区 | 狠狠影院 | 日韩高清一区 | 奇米影视首页 | 日韩欧美成人一区二区三区 | 成人国产精品视频 | 精品在线一区 | 伊人二区| 国产精品毛片 | 一区二区三区四区在线 | 国产精品欧美精品日韩精品 | 婷婷免费在线 |