2013年全國大學生電子設計大賽E題論文.doc
《2013年全國大學生電子設計大賽E題論文.doc》由會員分享,可在線閱讀,更多相關《2013年全國大學生電子設計大賽E題論文.doc(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2013年全國大學生電子設計競賽簡易頻率特性測試儀(E題)【本科組】2013年9月7日摘 要本系統(tǒng)以STC12C5A60S2為主控制器,該單片機是高速,低功耗,超強抗干擾的新一代8051單片機,速度快8-12倍。以自制DDS電路板AD9854為信號發(fā)生器,產生兩路正交信號,觀察輸出波形,分析并改正信號輸出模塊的性能。然后將信號接入被測網(wǎng)絡RLC串聯(lián)諧振電路,經(jīng)AD835構成的乘法器后,再經(jīng)過低通濾波器,得到直流信號,返回單片機后經(jīng)處理計算,從而得到被測網(wǎng)絡的幅頻和相頻特性。關鍵詞:STC12C5A60S2 AD9854 AD835 Abstract This system to STC12C5A60S2 as the main controller, the single chip microcomputer is a high-speed, low power consumption, strong anti-interference of a new generation of 8051 single chip microcomputer, 8-12 times faster. Signal generator using self-made DDS circuit board AD9854, resulting in two orthogonal signal, the output waveform is observed, analyzed and performance correction signal output module. The signal is then access the tested network RLC series resonant circuit, the AD835 multiplier, and low pass filter, get the DC signal, to the microprocessor after processing, which can be obtained by measuring the network the amplitude frequency and phase frequency characteristic. Keywords: STC12C5A60S2 AD9854 AD835目 錄1、系統(tǒng)方案11.1 MCU控制模塊的論證與選擇11.2 DDS信號源的論證與選擇11.3 乘法器的論證與選擇21.4 鍵盤模塊的論證與選擇22、系統(tǒng)理論分析與計算22.1 系統(tǒng)原理2 2.2 低通濾波器的設計22.3 ADC的設計32.4被測網(wǎng)絡的計算43、電路與程序設計53.1電路的設計53.1.1系統(tǒng)總體框圖53.1.2 MCU控制子系統(tǒng)框圖與電路原理圖53.1.3電源63.2程序的設計63.2.1程序功能描述與設計思路63.2.2程序流程圖74、測試方案與測試結果74.1測試方案74.2 測試條件與儀器94.3 測試結果及分析94.3.1測試結果(數(shù)據(jù))94.3.2測試分析與結論9參考文獻:9附錄1:電路原理圖11附錄2:源程序131、系統(tǒng)方案 本系統(tǒng)主要由信號源模塊、被測網(wǎng)絡模塊、乘法器模塊、低通模塊、ADC模塊、測量顯示模塊、電源模塊組成,下面分別論證這幾個模塊的選擇。1.1 MCU控制模塊的論證與選擇方案一:采用51單片機控制。STC12C5A60S2系列單片機是高速,低功耗,超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換,針對電機控制,強干擾場合。 方案二:采用FPGA控制。FPGA即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,但是功耗較低。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。 綜合以上兩種方案與實際情況,選擇方案一。1.2 DDS信號源的論證與選擇 方案一:采用分立元件和中小規(guī)模集成電路構成波形發(fā)生器采用RC串并聯(lián)振蕩器生成正弦信號。該方案的優(yōu)點:技術成熟,可供參考的資料較多。缺點:外圍元器件多,調試工作量較大,頻率穩(wěn)定度和準確度差,很難滿足頻率變化的范圍要求,更難準確地實現(xiàn)頻率步進的要求。 方案二:利用專用直接數(shù)字合成DDS芯片AD9851實現(xiàn)波形發(fā)生器。AD9851可以產生一個穩(wěn)定的頻率和相位且可數(shù)字化編程的模擬正弦波輸出。但是該芯片理論上可達到70MHz,其實在實際應用中,當頻率達到30MHz時,波形就失真了,而且外圍電路較為復雜,需耗費大量時間。 方案三:采用AD9854芯片構成信號源。AD9854芯片整合了兩路高速、高性能正交D/A轉換器通過數(shù)字化編程可以輸出I、Q兩路合成信號,而且可產生一高穩(wěn)定的頻率、相位、幅度可編程的正弦和余弦信號,允許輸出的信號頻率高達150MHz,而數(shù)字調制輸出頻率可達100MHz。綜合以上三種方案,選擇方案三。1.3乘法器的論證與選擇 方案一:選用集成模擬乘法器MC1496。模擬乘法器MC1496電路模塊MC1496是根據(jù)雙差分對模擬相乘器基本原理制成的乘法器芯片,用來實現(xiàn)調幅電路具有電路簡單,調試方便的優(yōu)點,但是MC1496器件內部元件參數(shù)不可能完全相同,致使輸出波形出現(xiàn)載波漏信號,實際電路的波形并不完全對稱。 方案二:選擇模擬乘法器AD835。AD835是個完備的4象限電壓輸出模擬乘法器,適用于各種信號處理應用,只需極少的外部器件,易于使用,性價比高,適合要求使用混合或板級解決方案的應用。綜合以上兩種方案,選擇方案二。1.4 鍵盤模塊的論證與選擇 方案一:獨立鍵盤??刂坪唵?,但是占用單片機IO口資源太多。 方案二:矩陣鍵盤??刂戚^為復雜,但是占用單片機IO口資源少。 綜合以上兩種方案,選擇方案二。202、系統(tǒng)理論分析與計算2.1 系統(tǒng)原理 根據(jù)數(shù)據(jù)手冊制作了核為AD9854的DDS集成板。通過STC12C5A60S2的控制,使AD9854輸出兩路正交信號,將被測網(wǎng)絡接入電路,通過乘法器之前,考慮到乘法器芯片 AD835對小信號精度較高,所以利用放大器AD8009將AD9854輸出信號適當放大,再送入乘法器。這兩路波分別與輸入信號在各自的環(huán)路中進行混頻,經(jīng)低通濾波后分別得到兩路直流信號,返回單片機處理即可得到被測網(wǎng)絡的幅頻特性及相頻特性。2.2 低通濾波器的設計 所謂的低通濾波器就是允許低頻信號通過,而將高頻信號衰減(如圖2.2.1所示)的電路。RC低通濾波器電路: 圖2.2.1 一階RC低通濾波器 圖2.2.2 信號幅值變化過程已知一階RC低通濾波器的微分方程為:,經(jīng)拉氏變換后得傳遞函數(shù) :,截止頻率:。分析: (1)時,A(f)=1,此時信號幾乎不受衰減的通過; (2)時,A(f)=0.707,此式表明RC值決定著截止頻率,因此適當改變RC數(shù)值,就可以改變 濾波器的截止頻率; (3)時,輸出與輸入的積分成正比,信號發(fā)生衰 減,衰減率為-20dB/10倍頻,當需進行n階RC低通濾波器并聯(lián)時。本次設計選用MAX4187,根據(jù)題目截止頻率要求濾波器電路圖具體電路圖如圖2.2.3 圖2.2.3 反相比例放大器 其中,R為500歐姆, Rf為可調電阻,0-5k歐姆,放大倍數(shù)A=-Rf/R (2-2-5)所以A可取0到10,可以滿足題目要求。2.3 ADC的設計 數(shù)據(jù)采集電路是用A/D轉換器型號AD7822來實現(xiàn)。轉換后的數(shù)字量送給后級電路進行進一步的處理。采用實時采樣方式和等效采樣方式對輸入信號進行采集。采用實時采樣方式時示波器對每個采集周期的采樣點按時間順序進行簡單的排列就形成了輸入信號的波形。首先經(jīng)過調整的信號被輸入到A/D轉換器為了減少干擾在這之前要經(jīng)過濾波其次CPLD控制A/D轉換電路和雙口RAM的工作時序保證快速正確的采集。最后雙口RAM可以直接被A/D轉換電路、輸出掃描電路訪問CPLD控制時序將采集到的存儲在RAM里的數(shù)據(jù)輸出給掃描電路輸出波形。2.4被測網(wǎng)絡的計算 RLC串聯(lián)諧振仿真電路圖如圖1所示 圖1 RLC仿真電路圖 仿真后輸出的波特圖如圖2所示 圖2 波特圖根據(jù)相量法,電路的輸入阻抗可表示為:其品質因數(shù)為:其角頻率為:諧振頻率為:將條件代入上述公式,可求得RLC串聯(lián)諧振電路中:,。3、電路與程序設計3.1電路的設計以STC12C5A60S2為主控制器,以自制DDS電路板AD9854為信號發(fā)生器,產生兩路正交信號,接入被測網(wǎng)絡RLC串聯(lián)諧振電路,經(jīng)AD853構成的乘法器后,再經(jīng)過低通濾波器,得到直流信號,返回單片機后經(jīng)處理計算,從而得到被測網(wǎng)絡的幅頻和相頻特性。3.1.1系統(tǒng)總體框圖系統(tǒng)總體框圖如圖3-1-1所示圖3-1-1 系統(tǒng)總體框圖3.1.2 MCU控制子系統(tǒng)框圖與電路原理圖1、 正交掃頻信號源子系統(tǒng)框圖圖3-1-2 正交掃頻信號源子系統(tǒng)框圖2、 正交掃頻信號源子系統(tǒng)電路原理圖圖3-1-3 正交掃頻信號源子系統(tǒng)電路原理圖3.1.3電源電源由變壓部分、濾波部分、穩(wěn)壓部分組成。為整個系統(tǒng)提供5V或者12V電壓,確保電路的正常穩(wěn)定工作。這部分電路比較簡單,都采用三端穩(wěn)壓管實現(xiàn),故不作詳述。3.2程序的設計3.2.1程序功能描述與設計思路1、程序功能描述根據(jù)題目要求軟件部分主要實現(xiàn)鍵盤的設置和顯示。1)正交掃頻信號:要求輸出1MHZ40MHZ的正弦信號。2)AD轉換:把輸出的模擬信號轉換為數(shù)字信號。3)按鍵:設置頻率增減和掃頻設置。4)顯示部分:顯示電壓值、頻段、步進值、信號類型、頻率。2、程序設計思路1)復位DDS,即Master保持10個以上系統(tǒng)時鐘周期的正脈沖;寫控制寄存器。設置工作模式、數(shù)據(jù)更新方式、鎖相環(huán)倍數(shù)、開啟和屏蔽的功能。寫數(shù)據(jù)寄存器。寫入掃頻的起始頻率和終止頻率,設置掃頻步進和掃頻斜率。數(shù)據(jù)設置完成以后,在數(shù)據(jù)更新管腳產生正脈沖,芯片開始掃頻,并不斷以終頻-初頻-終頻的方式循環(huán)。 2)采用8路A/D轉換3)設置一個按鍵用來控制增加和減少輸出信號的頻率,一個按鍵用來控制掃頻設置。4)采用STC12C5A60S2單片機來控制LCD顯示電壓值、頻段。3.2.2程序流程圖 主控制芯片以單片機STC12C5A60S2,采用C語言進行編程。主程序流程圖信號源流程 A/D轉換流程顯示序流程圖 4、測試方案與測試結果4.1測試方案1、 硬件測試 使用DS1022C數(shù)字示波器觀察并測量。 在硬件測試過程中沒有雨器件的大量投資,焊工的精致,在第一次測試 時,還算比較理想,基本部分的要求幾乎都達到了,只有正交信號電壓的峰值大于等于1V時,示波器顯示的輸出電壓最大為460mV,達不到題目的要求,經(jīng)隊員討論,決定加一有AD8009芯片構成的放大器電路,可是在一次又一次的調試中,只有第一次測試時正交信號電壓得到放大,而后幾次調試,輸出電壓一直處于衰減狀態(tài),后經(jīng)指導老師指點,原來是示波器的衰減度被設置過了,經(jīng)重新設置后,正弦信號電壓的峰峰值處于3到5V之間,基本完全實現(xiàn)試題的基本要求。2、 軟件仿真測試 仿真結果: 4.2 測試條件與儀器測試條件:檢查多次,仿真電路和硬件電路與系統(tǒng)原理圖幾乎相同,并且硬件電路無虛焊。測試儀器:高精度的數(shù)字毫伏表,模擬示波器,數(shù)字示波器,數(shù)字萬用表,指針式萬用表。4.3 測試結果及分析4.3.1測試結果(數(shù)據(jù))2V檔信號測試結果好下表所示: (單位/V)信號值0.20500.21000.20450.40261.0071.5421.6691.999顯示0.20510.21000.20440.40261.0061.5421.6691.9994.3.2測試分析與結論根據(jù)上述測試數(shù)據(jù),本次設計出的簡易頻率特性測試儀,由此可以得出以下結論1、 利用AD9854制作的正交掃頻信號源,可以輸出兩列正弦波,頻率范圍為1MHz40MHz。2、 在基本要求部分,幾乎都實現(xiàn)了題目的要求,輸出的信號電壓值為3到5V,滿足題目要求。3、在發(fā)揮部分,根據(jù)題目要求,我們制作了一個RLC串聯(lián)諧振電路作為被測網(wǎng)絡,也都幾乎達到題目所需的要求。綜上所述,本設計達到設計要求。參考文獻:1 童詩白 華成英.模擬電子線路基礎M.北京:高等教育出版社,2006年2 張毅剛.單片機原理及應用M.北京:高等教育出版社,2003年3 金孟嘗.數(shù)字電子技術基礎M.北京:高等教育出版社,2006年4 黃智偉.全國大學生電子設計競賽(電路設計)M.北京:北京航天航空大 學出版社,2011年。附錄1:電路原理圖圖1 正交掃頻信號源子系統(tǒng)電路原理圖 圖2 AD835構成的乘法器電路圖 圖3 AD8009管腳圖附錄2:源程序#include /STC單片機頭文件#include #define uint unsigned int#define uchar unsigned char#define ulong unsigned long#define KeyPort P1uchar FreqWord6; /6個字節(jié)頻率控制字ulong fre;/*修改硬件時要修改的部分*#define AD9854_DataBus P0 #define AD9854_AdrBus P2sbit AD9854_RST = P37; /AD9854復位端口sbit AD9854_UDCLK = P36; /AD9854更新時鐘sbit AD9854_WR = P35; /AD9854寫使能,低有效sbit AD9854_RD = P34; /AD9854讀使能,低有效sbit AD9854_FDATA = P33; /AD9854 FSK,PSK控制sbit AD9854_OSK = P32; /AD9854 OSK控制端/*以下部分為函數(shù)定義*static void AD9854_WR_Byte(uchar addr,uchar dat); extern void AD9854_Init(void); static void Freq_convert(long Freq); extern void AD9854_SetSine(ulong Freq,uint Shape); static void Freq_double_convert(double Freq); extern void AD9854_SetSine_double(double Freq,uint Shape);extern void AD9854_InitFSK(void);extern void AD9854_SetFSK(ulong Freq1,ulong Freq2); extern void AD9854_InitBPSK(void); extern void AD9854_SetBPSK(uint Phase1,uint Phase2);extern void AD9854_InitOSK(void); extern void AD9854_SetOSK(uchar RateShape); extern void AD9854_InitAM(void); extern void AD9854_SetAM(uint Shape);extern void AD9854_InitRFSK(void); extern void AD9854_SetRFSK(ulong Freq_Low,ulong Freq_High,ulong Freq_Up_Down,ulong FreRate);static void delay (uint us);void AD9854_WR_Byte(uchar addr,uchar dat)AD9854_AdrBus = (addr&0x3f) | (P2&0xc0);AD9854_DataBus = dat;AD9854_WR = 0;AD9854_WR = 1;void AD9854_Init(void)AD9854_WR=1;/將讀、寫控制端口設為無效 AD9854_RD=1; AD9854_UDCLK=0; AD9854_RST=1; AD9854_RST=0; /復位AD9854 AD9854_WR_Byte(0x1d,0x10); /關閉比較器 AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻 AD9854_WR_Byte(0x1f,0x00); /設置系統(tǒng)為模式0,由外部更新 AD9854_WR_Byte(0x20,0x60); /設置為可調節(jié)幅度,取消插值補償 AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void Freq_convert(long Freq) ulong FreqBuf; ulong Temp=Freq_mult_ulong; uchar Array_Freq4; /將輸入頻率因子分為四個字節(jié)Array_Freq0=(uchar)Freq; Array_Freq1=(uchar)(Freq8);Array_Freq2=(uchar)(Freq16); Array_Freq3=(uchar)(Freq24);FreqBuf=Temp*Array_Freq0; FreqWord0=FreqBuf; FreqBuf=8; FreqBuf+=(Temp*Array_Freq1); FreqWord1=FreqBuf; FreqBuf=8; FreqBuf+=(Temp*Array_Freq2); FreqWord2=FreqBuf; FreqBuf=8;FreqBuf+=(Temp*Array_Freq3); FreqWord3=FreqBuf; FreqBuf=8; FreqWord4=FreqBuf; FreqWord5=FreqBuf8; void AD9854_SetSine(ulong Freq,uint Shape)uchar count;uchar Adress;Adress = 0x04; /選擇頻率控制字地址的初值Freq_convert(Freq); /頻率轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff); AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void Freq_double_convert(double Freq) ulong Low32;uint High16; double Temp=Freq_mult_doulle; /23ca99為2的48次方除以120MFreq*=(double)(Temp);High16 = (int)(Freq/4294967295); /232 = 4294967295Freq -= (double)High16*4294967295;Low32 = (ulong)Freq; FreqWord0=Low32;FreqWord1=Low328; FreqWord2=Low3216; FreqWord3=Low3224; FreqWord4=High16; FreqWord5=High168; void AD9854_SetSine_double(double Freq,uint Shape)ucar count=0;uchar Adress;Adress=0x04; /選擇頻率控制字1地址的初值Freq_double_convert(Freq); /頻率轉換 for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void AD9854_InitFSK(void)AD9854_WR=1; AD9854_RD=1; /將讀、寫控制端口設為無效 AD9854_UDCLK=0; AD9854_RST=1; /復位AD9854 AD9854_RST=0;AD9854_WR_Byte(0x1d,0x10); /關閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻AD9854_WR_Byte(0x1f,0x02); /設置系統(tǒng)為模式1,由外部更新AD9854_WR_Byte(0x20,0x60); /設置為可調節(jié)幅度,取消插值補償AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;void AD9854_SetFSK(ulong Freq1,ulong Freq2) uchar count=6;uchar Adress1,Adress2;const uint Shape=4000; /幅度設置. 為12 Bit,取值范圍為(04095)Adress1=0x04;Adress2=0x0a; /選擇頻率控制字1/2地址的初值Freq_convert(Freq1); /頻率轉換1for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress1+,FreqWord-count); Freq_convert(Freq2); /頻率轉換2for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress2+,FreqWord-count); AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出void AD9854_InitBPSK(void)AD9854_WR=1; AD9854_RD=1; /將讀、寫控制端口設為無效 AD9854_UDCLK=0; AD9854_RST=1; AD9854_RST=0; /復位AD9854 AD9854_WR_Byte(0x1d,0x10); /關閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻AD9854_WR_Byte(0x1f,0x08); /設置系統(tǒng)為模式4,由外部更新AD9854_WR_Byte(0x20,0x60); /設置為可調節(jié)幅度,取消插值補償AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;void AD9854_SetBPSK(uint Phase1,uint Phase2)uchar count;const ulong Freq=1200000; const uint Shape=4000; uchar Adress;Adress=0x04; /選擇頻率控制字1地址的初值AD9854_WR_Byte(0x00,Phase18); /設置相位1AD9854_WR_Byte(0x01,(uchar)(Phase1&0xff);AD9854_WR_Byte(0x02,Phase28); /設置相位2AD9854_WR_Byte(0x03,(uchar)(Phase2&0xff);Freq_convert(Freq); /頻率轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count);AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; /更新AD9854輸出 AD9854_UDCLK=0;void AD9854_InitOSK(void)AD9854_WR=1; AD9854_RD=1; /將讀、寫控制端口設為無效AD9854_UDCLK=0;AD9854_RST=1; AD9854_RST=0; /復位AD9854AD9854_WR_Byte(0x1d,0x10); /關閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻AD9854_WR_Byte(0x1f,0x00); /設置系統(tǒng)為模式0,由外部更新AD9854_WR_Byte(0x20,0x70);/設可調節(jié)幅度,取消插值補償,通斷整形內部控制AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出void AD9854_SetOSK(uchar RateShape)uchar count;const ulong Freq=60000;const uint Shape=4000; /設置載頻 幅度設置. 為12 Bit,取值范圍為(04095)uchar Adress;Adress=0x04; /選擇頻率控制字地址的初值Freq_convert(Freq); /頻率轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count);AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff); AD9854_WR_Byte(0x25,RateShape); /設置OSK斜率AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void AD9854_InitAM(void)uchar count;const ulong Freq=60000; /設置載頻uchar Adress;Adress=0x04; /選擇頻率控制字地址的初值 AD9854_WR=1; AD9854_RD=1; /將讀、寫控制端口設為無效 AD9854_UDCLK=0; AD9854_RST=1; AD9854_RST=0; /復位AD9854 AD9854_WR_Byte(0x1d,0x10); /關閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻AD9854_WR_Byte(0x1f,0x00); /設置系統(tǒng)為模式0,由外部更新AD9854_WR_Byte(0x20,0x60); /設置為可調節(jié)幅度,取消插值補償Freq_convert(Freq); /頻率轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress+,FreqWord-count); AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void AD9854_SetAM(uint Shape)AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1;AD9854_UDCLK=0; /更新AD9854輸出 void AD9854_InitRFSK(void)AD9854_WR=1; AD9854_RD=1; /將讀、寫控制端口設為無效 AD9854_UDCLK=0; AD9854_RST=1; AD9854_RST=0; /復位AD9854 AD9854_WR_Byte(0x1d,0x10); /關閉比較器AD9854_WR_Byte(0x1e,CLK_Set); /設置系統(tǒng)時鐘倍頻AD9854_WR_Byte(0x1f,0x24); /設系統(tǒng)模式2,由外部更新,使能波掃頻 AD9854_WR_Byte(0x20,0x60); /設置為可調節(jié)幅度,取消插值補償AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void AD9854_SetRFSK(ulong Freq_Low,ulong Freq_High,ulong Freq_Up_Down,ulong FreRate)uchar count=6;uchar Adress1,Adress2,Adress3; const uint Shape=4000; /幅度設置. 為12 Bit,取值范圍為(04095)Adress1=0x04;Adress2=0x0a; Adress3=0x10; /選擇頻率控制字地址的初值 Freq_convert(Freq_Low); /頻率1轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress1+,FreqWord-count); Freq_convert(Freq_High); /頻率2轉換 for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress2+,FreqWord-count); Freq_convert(Freq_Up_Down); /步進頻率轉換for(count=6;count0;) /寫入6字節(jié)的頻率控制字 AD9854_WR_Byte(Adress3+,FreqWord-count); AD9854_WR_Byte(0x1a,(uchar)(FreRate16)&0x0f); /設置斜升速率AD9854_WR_Byte(0x1b,(uchar)(FreRate8);AD9854_WR_Byte(0x1c,(uchar)FreRate);AD9854_WR_Byte(0x21,Shape8); /設置I通道幅度AD9854_WR_Byte(0x22,(uchar)(Shape&0xff);AD9854_WR_Byte(0x23,Shape8); /設置Q通道幅度AD9854_WR_Byte(0x24,(uchar)(Shape&0xff);AD9854_UDCLK=1; AD9854_UDCLK=0; /更新AD9854輸出 void delay (uint us) uint i;for(i=0;ius;i+)_nop_();unsigned char KeyScan(void) /鍵盤掃描函數(shù),使用行列逐級掃描法 unsigned char Val; KeyPort=0xf0;/高四位置高,低四位拉低 if(KeyPort!=0xf0)/表示有按鍵按下 delay(10); /去抖if(KeyPort!=0xf0) KeyPort=0xfe; /檢測第一行if(KeyPort!=0xfe) Val=KeyPort&0xf0; Val+=0x0e; while(KeyPort!=0xfe); delay(10); /去抖 while(KeyPort!=0xfe); return Val; KeyPort=0xfd; /檢測第二行if(KeyPort!=0xfd) Val=KeyPort&0xf0; Val+=0x0d; while(KeyPort!=0xfd); delay(10); /去抖 while(KeyPort!=0xfd); return Val; KeyPort=0xfb; /檢測第三行if(KeyPort!=0xfb) Val=KeyPort&0xf0; Val+=0x0b; while(KeyPort!=0xfb); delay(10); /去抖 while(KeyPort!=0xfb); return Val; KeyPort=0xf7; /檢測第四行if(KeyPort!=0xf7) Val=KeyPort&0xf0; Val+=0x07; while(KeyPort!=0xf7); delay(10); /去抖 while(KeyPort!=0xf7); return Val; return 0xff;unsigned char KeyPro(void) switch(KeyScan() case 0x7e:return 0;break;/0 按下相應的鍵顯示相對應的碼值 case 0x7d:return 1;break; case 0x7b:return 2;break;/2 case 0x77:return 3;break; case 0xbe:return 4;break;/4 case 0xbd:return 5;break; case 0xbb:return 6;break;/6 case 0xb7:return 7;break; case 0xde:return 8;break;/8 case 0xdd:return 9;break; case 0xdb:return 10;break;/a case 0xd7:return 11;break; case 0xee:return 12;break;/c case 0xed:return 13;break; case 0xeb:return 14;break;/e case 0xe7:return 15;break; default:return 0xff;break; int main()uchar num;fre=1000000;while(1) num=KeyPro(); if(num=1) AD9854_SetSine(1000000,4000); AD9854_FDATA = 1;delay(300); /延時AD9854_FDATA = 0;delay(300); if(num=2) fre+=100000; AD9854_Init();AD9854_SetSine(fre,4000); AD9854_FDATA = 1;delay(300); /延時時間長,便于觀察AD9854_FDATA = 0;delay(300); else if(num=3) fre-=100000;AD9854_Init();AD9854_SetSine(fre,4000);AD9854_FDATA = 1;delay(300); /延時時間長,便于觀察AD9854_FDATA = 0;delay(300); else if(num=4) AD9854_SetSine(40000000,4000); AD9854_FDATA = 1;delay(300); /延時時間長,便于觀察AD9854_FDATA = 0;delay(300); else if(num=5) AD9854_InitBPSK();AD9854_SetBPSK(0,8192);AD9854_FDATA = 1;delay(10); AD9854_FDATA = 0;delay(10); else if(num=6) AD9854_InitRFSK();AD9854_SetRFSK(100000,4000000,100000,30);delay(30000);- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 2013 全國大學生 電子設計 大賽 論文
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.szxfmmzy.com/p-8711459.html