基于單片機(jī)制作高頻DDS信號發(fā)生器_第1頁
基于單片機(jī)制作高頻DDS信號發(fā)生器_第2頁
基于單片機(jī)制作高頻DDS信號發(fā)生器_第3頁
基于單片機(jī)制作高頻DDS信號發(fā)生器_第4頁
基于單片機(jī)制作高頻DDS信號發(fā)生器_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 目錄1 DDS技術(shù)的基本原理12.1 DDS結(jié)構(gòu)12.2 DDS數(shù)學(xué)原理52 總體設(shè)計(jì)方案731系統(tǒng)設(shè)計(jì)原理732總體設(shè)計(jì)框圖83 系統(tǒng)的硬件設(shè)計(jì)83.2 DDS芯片的選擇及與單片機(jī)之間的通信83.3 單片機(jī)(AT89S52)控制電路113.4 液晶顯示模塊143.5 低通濾波器的設(shè)計(jì)164 信號發(fā)生器的軟件設(shè)計(jì)174.1 程序流程圖174.2 鍵盤掃描流程圖194.3 LCD的顯示215部分系統(tǒng)的仿真和調(diào)試216 系統(tǒng)的程序代碼257設(shè)計(jì)心的及體會328 參考文獻(xiàn)331 DDS技術(shù)的基本原理2.1 DDS結(jié)構(gòu)1971年,美國學(xué)者J.Tierney等人撰寫的“A Digital Freque

2、ncy Synthesizer”-文首次提出了以全數(shù)字技術(shù),從相位概念出發(fā)直接合成所需波形的一種新組成原理。限于當(dāng)時的技術(shù)和器件產(chǎn),它的性能指標(biāo)尚不能與已有的技術(shù)相比,故沒受到重視。近幾年間,隨著微電子技術(shù)的迅速發(fā)展,直接數(shù)字頻率合成器(Direct Digital Frequency Synthesis簡稱DDS或DDFS)得到了飛速的發(fā)展,它以有別于其它頻率合成方法的優(yōu)越性能和特點(diǎn)成為現(xiàn)代頻率合成技術(shù)中的佼佼者。具體體現(xiàn)在相對帶寬、頻率轉(zhuǎn)換時間短、頻率分辨率高、輸出相位連續(xù)、可產(chǎn)生寬帶正交信號及其他多種調(diào)制信號、可編程和全數(shù)字化、控制靈活方便等方面,并具有極高的性價比。DDS是直接數(shù)字式頻

3、率合成器(Direct Digital Synthesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點(diǎn),廣泛使用在電信與電子儀器領(lǐng)域,是實(shí)現(xiàn)設(shè)備全數(shù)字化的一個關(guān)鍵技術(shù)。直接數(shù)字頻率合成器(Direct Digital Synthesizer)是從相位概念出發(fā)直接合成所需波形的一種頻率合成技術(shù)。一個直接數(shù)字頻率合成器由相位累加器、加法器、波形存儲ROM、D/A轉(zhuǎn)換器和低通濾波器(LPF)構(gòu)成。DDS的原理框圖如下所示:StSnN位波形控制字WN位頻率控制字K相位控制字P圖2.1 DDS原理框圖其中K為頻率控制字、P為相位控制字、W為波形控制字、

4、fc為參考時鐘頻率,N為相位累加器的字長,D為ROM數(shù)據(jù)位及D/A轉(zhuǎn)換器的字長。相位累加器在時鐘fc的控制下以步長K作累加,輸出的N位二進(jìn)制碼與相位控制字P、波形控制字W相加后作為波形ROM的地址,對波形ROM進(jìn)行尋址,波形ROM輸出D位的幅度碼S(n)經(jīng)D/A轉(zhuǎn)換器變成階梯波S(t),再經(jīng)過低通濾波器平滑后就可以得到合成的信號波形。合成的信號波形形狀取決于波形ROM中存放的幅度碼,因此用DDS可以產(chǎn)生任意波形。這里我們用DDS實(shí)現(xiàn)正弦波的合成作為說明介紹。2.1.1 頻率預(yù)置與調(diào)節(jié)電路K被稱為頻率控制字,也叫相位增量。DDS方程為:f0=fCLK/2n,f0為輸出頻率,fc 為時鐘頻率。當(dāng)K

5、=1時,DDS輸出最低頻率(也即頻率分辨率),為fc/2n,而DDS的最大輸出頻率由Nyquist采樣定理決定,即fc/2,也就是說K的最大值為2N-1。因此,只要N足夠大,DDS可以得到很細(xì)的頻率間隔。要改變DDS的輸出頻率,只要改變控制字K即可。2.1.2累加器 fc頻率控制字相位量化序列圖2.2 累加器框圖相位累加器由N位加法器與N位寄存器級聯(lián)構(gòu)成。每來一個時鐘脈沖fc,加法器將頻率控制字K與寄存器輸出的累加相位數(shù)據(jù)相加,再把相加后的結(jié)果送至寄存器的數(shù)據(jù)輸入端。寄存器將加法器在上一個時鐘作用下繼續(xù)與頻率控制字進(jìn)行相加。這樣,相位累加器在時鐘的作用下,進(jìn)行相位累加。當(dāng)相位累加器累加滿時就會

6、產(chǎn)生一次溢出,完成一個周期性的動作。2.2.3 控制相位的加法器通過改變相位控制字P可以控制輸出信號的相位參數(shù)。令相位加法器的字長為N,當(dāng)相位控制字由0躍變到P(P0)時,波形存儲器的輸入為相位累加器的輸出與相位控制字P之和,因而其輸出的幅度編碼相位會增加P/2N,從而使最后輸出的信號產(chǎn)生相移。2.2.4 控制波形的加法器通過改變波形控制字W可以控制輸出信號的波形。由于波形存儲器中的不同波形是分塊存儲的,所以當(dāng)波形控制字改變時,波形存儲器的輸入為改變相位后的地址與波形控制字W(波形地址)之和,從而使最后輸出的信號產(chǎn)和相移。2.2.5 波形存儲器用相位累加器輸出的數(shù)據(jù)作為波形存儲器的取樣地址,進(jìn)

7、行波形的相位一幅值轉(zhuǎn)換,即可在給定的時間上確定輸出的波形的抽樣幅值。N位的尋址ROM相當(dāng)于把0360的正弦信號離散成具有2N個采樣值的序列,若波形ROM有D位數(shù)據(jù)位,則2N個樣值的幅值D位二進(jìn)制數(shù)值固化在ROM中,按照地址的不同可以輸出相應(yīng)相位的正弦信號的幅值。相位幅度變換原理圖如下圖所示:地址相位量化序列波形幅度量化序列(數(shù)據(jù)) 圖2.3 相位幅度變換原理圖2.2.6 D/A轉(zhuǎn)換器D/A轉(zhuǎn)換器的作用是把合成的正弦波數(shù)字量轉(zhuǎn)換成模擬量。正弦幅度量化序列S(n)經(jīng)D/A轉(zhuǎn)換后變成了包絡(luò)為正弦波的階梯波S(t)。需要注意的是,頻率合成器對D/A轉(zhuǎn)換器的分辨率有一定的要求,D/A轉(zhuǎn)換器的分辨率越高,

8、合成的正弦波S(t)臺階數(shù)就越多,輸出的波形的精度也就越高。2.2.7 低通濾波器 對D/A輸出的階梯波S(t)進(jìn)行頻譜分析,可知S(t)中除主頻fo外,還存在分布在fc,2fc等等的兩邊f(xié)o處的非諧波分量,幅值包絡(luò)為辛格函數(shù)。因此,為了取出主頻f0,必須在D/A轉(zhuǎn)換器的輸出端接入截止頻率為fc/2的低通濾波器。2.2 DDS數(shù)學(xué)原理設(shè)有一頻率為的余弦信號:現(xiàn)在以采樣頻率對進(jìn)行采樣,得到的離散序列為: 其中為采樣周期。對應(yīng)的相位序列為 從上式可以看出相位序列呈線性,即相鄰的樣值之間的相位增量是一個常數(shù),而且這個常數(shù)僅與信號的頻率有關(guān),相位增量為:因?yàn)樾盘栴l率與采樣頻率之間有以下關(guān)系: 其中與為

9、兩個正整數(shù),所以相位的增量也可以完成:由上式可知,若將的相位均勻的分為等份,那么頻率為的余弦信號以頻率采樣后,它的量化序列的樣品之間的量化相位增量為一個不變值。根據(jù)上述原理可以構(gòu)造一個不變量為量化相位增量的量化序列: 然后完成從到另一個序列的映射,由構(gòu)造序列: 公式(21)公式(2-1)是連續(xù)信號經(jīng)采樣頻率為采樣后的離散時間序列,根據(jù)采樣定理,當(dāng)時,經(jīng)過低通濾波器平滑后,可唯一恢復(fù)出。 可見,通過上述變換不變量將唯一的確定一個單頻率模擬余弦信號: 該信號的頻率為: 公式(22)公式(22)就是直接數(shù)字頻率合成(DDS)的方程式,在實(shí)際的DDS中,一般取,于是DDS方程就可以寫成: 公式(23)

10、根據(jù)公式(23)可知,要得到不同的頻率只要通過改變的具體數(shù)值就可以了,而且還可以得到DDS的最小頻率分辨率(最小頻率間隔)為當(dāng)時的輸出頻率:可見當(dāng)參考頻率始終一定是,其分辨率由相位累加器的位數(shù)決定,若取,則,即分辨率可以達(dá)到,這也是最低的合成頻率,輸出頻率的高精度DDS的一大優(yōu)點(diǎn)。由奈奎斯特準(zhǔn)則可知,允許輸出的最高頻率,即,但實(shí)際上在應(yīng)用中受到低通濾波器的限制,通常,以便于濾波鏡像頻率,一般:由此可見DDS的工作頻率帶較寬,可以合成從直流到的頻率信號,同時它的輸出相位連續(xù),頻率穩(wěn)定度高。2 總體設(shè)計(jì)方案31系統(tǒng)設(shè)計(jì)原理本文提出的采用DDS作為信號發(fā)生核心器件的全數(shù)控函數(shù)信號發(fā)生器設(shè)計(jì)方案, 根

11、據(jù)輸出信號波形類型可設(shè)置、輸出信號幅度和頻率可數(shù)控、輸出頻率寬等要求,選用了美國A/D公司的AD9850 芯片,并通過單片機(jī)程序控制和處理AD9850的32位頻率控制字, 再經(jīng)放大后加至以數(shù)字電位器為核心的數(shù)字衰減網(wǎng)絡(luò), 從而實(shí)現(xiàn)了信號幅度、頻率、類型以及輸出等選項(xiàng)的全數(shù)字控制。本系統(tǒng)主要由單片機(jī)、DDS直接頻率信號合成器、數(shù)字衰減電路、真有效值轉(zhuǎn)換模塊、A/D轉(zhuǎn)換模塊、數(shù)字積分選擇電路等部分組成。單片機(jī)AT89S52是整個系統(tǒng)關(guān)鍵部分,通過對鍵盤進(jìn)行掃描讀入相位信息,經(jīng)轉(zhuǎn)換后輸出到芯片AD9850,輸出波形。鍵盤輸入的數(shù)字信息經(jīng)AT89S52控制的LCD1602顯示32總體設(shè)計(jì)框圖系統(tǒng)構(gòu)成如

12、下圖3.1所示。LCD1602鍵盤單片機(jī)AD9850低通濾波器信號輸出圖3.1 系統(tǒng)框圖3 系統(tǒng)的硬件設(shè)計(jì)因?yàn)楸菊n題的功能電路與相關(guān)部件較多,為了便于研制期間的調(diào)試與最終成品的產(chǎn)業(yè)化,所以系統(tǒng)的最后實(shí)現(xiàn)采用了模塊化的思想,即先把各個相關(guān)的電路與部件做成相互獨(dú)立的分離模塊,而系統(tǒng)的功能則是通過各模塊間的級聯(lián)來完成的。下面將分別敘述各功能模塊及其中所用到的器件、電路以及在系統(tǒng)設(shè)計(jì)、調(diào)試過程中應(yīng)該注意的問題。3.2 DDS芯片的選擇及與單片機(jī)之間的通信信號的產(chǎn)生與控制部分電路由DDS片AD9851與單片機(jī)AT89S52組成, 用戶通過鍵盤輸入的信號要求被AT89S52接收,并經(jīng)其處理后將計(jì)算出的控制

13、字傳送給AD9851,由AD9851產(chǎn)生頻率幅度可控的信號。下面以AD9851芯片為中心加以討論。3.2.1 DDS芯片選擇及引腳圖本系統(tǒng)采用了美國模擬器件公司生產(chǎn)的高集成度產(chǎn)品 AD9851 芯片。AD9851 是在 AD9850 的基礎(chǔ)上,做了一些改進(jìn)以后生成的具有新功能的 DDS 芯片。AD9851 相對于 AD9850 的內(nèi)部結(jié)構(gòu),只是多了一個 6 倍參考時鐘倍乘器,當(dāng)系統(tǒng)時鐘為 180MHz 時,在參考時鐘輸入端,只需輸入 30MHz 的參考時鐘即可。AD9851 是由數(shù)據(jù)輸入寄存器、頻率/相位寄存器、具有 6 倍參考時鐘倍乘器的 DDS 芯片、10位的模/數(shù)轉(zhuǎn)換器、內(nèi)部高速比較器這

14、幾個部分組成。其中具有 6 倍參考時鐘倍乘器的 DDS 芯片是由 32 位相位累加器、正弦函數(shù)功能查找表、D/A 變換器以及低通濾波器集成到一起。這個高速 DDS 芯片時鐘頻率可達(dá) 180MHz, 輸出頻率可達(dá) 70 MHz,分辨率為 0.04Hz。AD9851采用28引腳的SSOP表面封裝,其引腳排列如圖3-5所示,各引腳定義如下:D0D7:8 位數(shù)據(jù)輸入口,可給內(nèi)部寄存器裝入 40 位控制數(shù)據(jù)。PGND:6 倍參考時鐘倍乘器地。PVCC:6 倍參考時鐘倍乘器電源。W-CLK:字裝入信號,上升沿有效。FQ-UD:頻率更新控制信號,時鐘上升沿確認(rèn)輸入數(shù)據(jù)有效。FREFCLOCK:外部參考時鐘輸

15、入。 CMOS/TTL 脈沖序列可直接或間接地加到 6 倍參考時鐘倍乘器上。在直接方式中,輸入頻率即是系統(tǒng)時鐘;在 6 倍參考時鐘倍乘器方式,系統(tǒng)時鐘為倍乘器輸出。 AGND:模擬地。AVDD:模擬電源(+5)。 DGND:數(shù)字地。 DVDD:數(shù)字電源(+5)。 RSET、DAC:外部復(fù)位連接端。 VOUTN:內(nèi)部比較器負(fù)向輸出端。 VOUTP:內(nèi)部比較器正向輸出端。 VINN:內(nèi)部比較器的負(fù)向輸入端。 圖3-5 AD9851管腳示意圖VINP:內(nèi)部比較器的正向輸入端。DACBP:DAC 旁路連接端。 IOUTB: “互補(bǔ)”DAC 輸出。 IOUT:內(nèi)部 DAC 輸出端。 RESET:復(fù)位端。

16、低電平清除 DDS累加器和相位延遲器為 0Hz 和 0 相位,同時置數(shù)據(jù)輸入為串行模式以及禁止 6 倍參考時鐘倍乘器工作。3.2.2 AD9851的串、并行通信AD9851的串行操作有兩種數(shù)據(jù)傳送方式,即從最高位開始傳送和從最低位開始傳送,這是由控制寄存器1的第8位來決定的。默認(rèn)狀態(tài)為低電平,此時先傳送最高位,若為高電平則先傳送最低位。串行操作的時序如圖3-6所示。 圖3-6 控制字串行輸入時序圖在串行輸入方式,W-CLK上升沿把25引腳的一位數(shù)據(jù)串行移入,當(dāng)移動40位后,用一個FQ_UD脈沖即可更新輸出頻率和相位。圖3-7是相應(yīng)的控制字串行輸入的控制時序圖。AD9851的復(fù)位(RESET)信

17、號為高電平有效,且脈沖寬度不小于5個參考時鐘周期。AD9851的參考時鐘頻率一般遠(yuǎn)高于單片機(jī)的時鐘頻率, 因此AD9851的復(fù)位(RESET)端可與單片機(jī)的復(fù)位端直接相連。圖3-7 控制字并行輸入的時序圖在并行裝入方式中,通過8位總線D0-D7將可數(shù)據(jù)輸入到寄存器,在重復(fù)5次之后再在FQ-UD上升沿把40位數(shù)據(jù)從輸入寄存器裝入到頻率/相位數(shù)據(jù)寄存器(更新DDS輸出頻率和相位),同時把地址指針復(fù)位到第一個輸入寄存器。接著在W-CLK的上升沿裝入8位數(shù)據(jù),并把指針指向下一個輸入寄存器,連續(xù)5個W-CLK上升沿后, W-CLK的邊沿就不再起作用,直到復(fù)位信號或FQ-UD上升沿把地址指針復(fù)位到第一個寄

18、存器。3.3 單片機(jī)(AT89S52)控制電路AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash、256字節(jié)RAM、32 位I/O 口線、看門狗定時器、2個數(shù)據(jù)指針、三個16 位定時器/計(jì)數(shù)器、一個6向量2級中斷結(jié)構(gòu)、全

19、雙工串行口、片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。一般單片機(jī)需外接一個時鐘電路和一個復(fù)位電路,其設(shè)計(jì)為下:3.3.1 時鐘電路圖3-8 時鐘電路 XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振

20、的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。AT89C52中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自激振蕩器。片外石英晶體或者陶瓷諧振器及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1、C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,這里采用電容30pF,晶振采用11.0592MHz。3.3.2 復(fù)位電路 AT89C52的外部復(fù)位電路有上電自動復(fù)位和手動按鍵復(fù)位。上

21、電復(fù)位電容充電來實(shí)現(xiàn)。手動按鍵復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù)位。按鍵電平復(fù)位電路是在普通RC復(fù)位電路的基礎(chǔ)上接一個有下拉電阻100K、上拉電容10f接VCC,電源由開關(guān)接至復(fù)位腳(和上拉電容并聯(lián)),上拉電容支路負(fù)責(zé)在“上電”瞬間實(shí)施復(fù)位;開關(guān)通過100K下拉電阻分壓器,保證對單片機(jī)實(shí)施按鍵電平復(fù)位。電路圖如下圖所示:圖3-9復(fù)位電路3.3.3 單片機(jī)控制電路圖 圖3-10 單片機(jī)控制電路原理圖P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在

22、這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗(yàn)時,輸出指令字節(jié)。程序校驗(yàn)時,需要外部上拉電阻。P1口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程和校驗(yàn)時,P1口接收低8位地址字節(jié)。P2 口:P2 口是一個具有內(nèi)部上拉電阻的

23、8 位雙向I/O 口,P2 輸出緩沖器。能驅(qū)動4個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時,P2口也接收高8位地址字節(jié)和一些控制信號。3.3.4 單片機(jī)與AD9851的接口單片機(jī)與AD9851的接口既可采用并行方式,也可采

24、用串行方式,但為了充分發(fā)揮芯片的高速性能,應(yīng)在單片機(jī)資源允許的情況下盡可能選擇并行方式,本文重點(diǎn)介紹其并行方式的接口。P3.1 I/O方式并行接口I/ O方式的并行接口電路比較簡單,但占用單片機(jī)資源相對較多,圖3-11是I/O方式并行接口的電路圖,AD9851的數(shù)據(jù)線D0D7與P1口相連, FQ_UD和W_CLK分別與P2.3(10引腳)和P2.4(11引腳)相連,所有的時序關(guān)系均可通過軟件控制實(shí)現(xiàn)。圖3.11 AT89S52與AD9851的電路連接圖3.4 液晶顯示模塊3.4.1 LCD1602的主要性能1602型LCD可以顯示2行16個字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個控

25、制端口,工作電壓為5V,并且具有字符對比度調(diào)節(jié)和背光功能6。1602型LCD的接口信號說明,如表3.1所示:表3.1 LCD1602接口說明編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀寫選擇端(H/L)13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極讀狀態(tài):輸入:RS=L,RW=H,E=H輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:R

26、S=H,RW=H,E=H輸出:無寫指令:輸入:RS=L,RW=L,D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫數(shù)據(jù):輸入:RS=H,RW=L,D0D7=數(shù)據(jù),E=高脈沖 輸出:無3.4.2 LCD與單片機(jī)的連接圖3-12 LCD與單片機(jī)的接口電路在實(shí)際的接線中,1602的DB0DB7與89S52的P0口相接,RS與P3.5相接,R/W與P3.6相接,E與P3.7相接。VL與地之間接一個10K的滑動變阻器來到1602初始顯示的調(diào)節(jié)。3.5 低通濾波器的設(shè)計(jì)為了使輸出的頻率不受外界和一些雜波的干擾,需用一個低通濾波器(LPF)濾除高次諧波。常用的濾波器的頻率響應(yīng)有三種:巴特沃斯型(Butt

27、erworth),切比雪夫型 (Chebyshev)和橢圓型 (Cauer)。其中巴特沃斯濾波器通帶最平坦,它的通帶內(nèi)沒有紋波,在靠近零頻處,有最平坦通帶,趨向阻帶時衰減單調(diào)增大,缺點(diǎn)是從通帶到阻帶的過渡帶最寬,對于帶外干擾信號的衰減作用最弱,過渡帶不夠陡峭,因此它適用于對通帶要求較高,而去除的頻率離通帶較遠(yuǎn)的情況;切比雪夫?yàn)V波器在通帶內(nèi)衰減在零值和一個上限值之間做等起伏變化,阻帶內(nèi)衰減單調(diào)增大,帶內(nèi)有起伏,但過渡帶比較陡峭;橢圓濾波器不僅通帶內(nèi)有起伏,阻帶內(nèi)也有起伏,而且過渡帶陡峭。比較起來,橢圓濾波器性能更好,本設(shè)計(jì)中采的是橢圓濾波器。具體電路圖如圖3-13所示。圖3-13 濾波電路4 信

28、號發(fā)生器的軟件設(shè)計(jì)在應(yīng)用系統(tǒng)中,系統(tǒng)軟件的設(shè)計(jì)是建立在具體硬件電路基礎(chǔ)之上,根據(jù)系統(tǒng)功能要求可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。好的軟件設(shè)計(jì)能夠充分發(fā)揮微控制器的運(yùn)算和邏輯控制功能,從而提高儀器的精度和使用的方便性。4.1 程序流程圖通過程序預(yù)置頻率,并實(shí)現(xiàn)對頻率步進(jìn)的控制,處理用戶由鍵盤鍵入的頻率值,判斷是否超出范圍,生成頻率控制字,經(jīng)并行方式送入DDS,合成用戶所需的頻率,并通過程序?qū)崿F(xiàn)頻率的顯示。程序流程圖如下:結(jié)束AT89C52初始化HAD9851初始化鍵盤掃描正弦波LCD1602初始化開始NY 圖4-1 程序流程圖4.2 鍵盤掃描流程圖鍵盤掃描按鍵s1是否按下選中千位按鍵s1是否按下選中百位按

29、鍵s1是否按下選中十位按鍵s1是否按下選中個位否是是否否是否是圖4-2 按鍵1掃描流程圖如圖所示,鍵盤初始化后掃描鍵盤,依次掃描3個按鍵,每個按鍵都編有延時去抖的程序,如果s1鍵按每按下一次下,則通過LCD中看出選中千位、百位、十位和各位中的哪一位,并通過s2和s3來改變相應(yīng)的數(shù)值。鍵盤掃描按鍵s2是否按下頻率加一否是鍵盤掃描按鍵s3是否按下頻率減一否是圖4-3 按鍵2、3的掃描流程圖鍵盤掃描按鍵s4是否按下相位加32否是圖4-3 按鍵4的掃描流程圖如果s2鍵按下,頻率加一。如果s3鍵按下,則頻率減一。如果s4鍵按下,則相位增加32。 4.3 LCD的顯示 圖4-4 1602的顯示流程圖本系統(tǒng)

30、采用的1602的液晶顯示,可顯示兩行數(shù)據(jù),每行16個數(shù)據(jù)。首先根據(jù)其指令編碼對其進(jìn)行初始化。但要注意,1602是一個慢顯示,所以對其讀寫數(shù)據(jù)需要一定的延時,以待其完全接收。在顯示時,首先根據(jù)其地址分配,設(shè)定第一行的起始位置,再顯示第一行的內(nèi)容。第二行顯示同理。5部分系統(tǒng)的仿真和調(diào)試在仿真過程中,由于在proteus元件庫中沒有AD9851芯片,也沒有其他的DDS芯片可以代替,所以在仿真過程中,我只做了LCD的顯示模塊的仿真,其仿真結(jié)果如下:開始仿真,LCD上第一行會顯示P: 第二行會顯示f:圖5-1 仿真結(jié)果1當(dāng)按鍵s1第一次按下時, 再通過按鍵s2和s3調(diào)節(jié)千位數(shù)值,并會LED上顯示一個頻率

31、的千位數(shù)值。圖5-2 仿真結(jié)果2當(dāng)按鍵s1第二次按下時, 再通過按鍵s2和s3調(diào)節(jié)千位數(shù)值,并會LED上顯示一個頻率的千位和百位數(shù)值。 圖5-3 仿真結(jié)果3當(dāng)按鍵s1第四次按下時, 再通過按鍵s2和s3調(diào)節(jié)千位數(shù)值,并會LED上顯示一個頻率的數(shù)值。圖5-4 仿真結(jié)果4當(dāng)按鍵s4第一次按下時,則可以增加相位。圖5-5 仿真結(jié)果5當(dāng)按鍵s4第二次按下時,則可以增加相位22.5。圖5-6 仿真結(jié)果66 系統(tǒng)的程序代碼# include # include # include #define uint unsigned int#define uchar unsigned charsbit ad9850

32、_w_clk =P22; /P2.2口接ad9850的w_clk腳/PIN7sbit ad9850_fq_up =P21; /P2.1口接ad9850的fq_up腳/PIN8sbit ad9850_rest =P20; /P2.0口接ad9850的rest腳/PIN12sbit ad9850_bit_data =P23; /P1.7口接ad9850的D7腳/PIN25uint ge,shi,bai,qian,flag;double timer;uchar temp=0,temp1=0;uint a=0x30,0x30,0x30,0x2e,0x30,0xdf; /相位數(shù)據(jù)結(jié)果保存sbit lcd

33、rs=P17;sbit lcdrw=P16;sbit lcde=P24;sbit s1=P10;sbit s2=P11;sbit s3=P12;sbit s4=P13;sbit e=P37;void ad9850_reset_serial(void)ad9850_w_clk=0;ad9850_fq_up=0;/rest信號ad9850_rest=0;ad9850_rest=1;ad9850_rest=0;/w_clk信號ad9850_w_clk=0;ad9850_w_clk=1;ad9850_w_clk=0;/fq_up信號ad9850_fq_up=0;ad9850_fq_up=1;ad985

34、0_fq_up=0;void ad9850_wr_serial(unsigned char w0,double frequence)unsigned char i,w;long uint y;double x;/計(jì)算頻率的HEX值x=/125;/適合125M晶振/如果時鐘頻率不為180MHZ,修改該處的頻率值,單位MHz !frequence=frequence/1000000;frequence=frequence*x;/*34.; /;y=frequence;/寫w4數(shù)據(jù)w=(y=0);for(i=0;ii)&0x01;ad9850_w_clk=1;ad9850_w_clk=0;/寫w3數(shù)

35、據(jù)w=(y8);for(i=0;ii)&0x01;ad9850_w_clk=1;ad9850_w_clk=0;/寫w2數(shù)據(jù)w=(y16);for(i=0;ii)&0x01;ad9850_w_clk=1;ad9850_w_clk=0;/寫w1數(shù)據(jù)w=(y24);for(i=0;ii)&0x01;ad9850_w_clk=1;ad9850_w_clk=0;/寫w0數(shù)據(jù)w=w0; for(i=0;ii)&0x01;ad9850_w_clk=1;ad9850_w_clk=0;/移入始能ad9850_fq_up=1;ad9850_fq_up=0;void delay(uint n) /延時程序uint

36、i,j;for(i=0;in;i+)for(j=0;j110;j+);void write_com(uchar com) /液晶控制指令子程序lcdrs=0;P0=com;delay(5);lcde=1;delay(5);lcde=0;void write_data(uchar date) /液晶數(shù)據(jù)輸入子程序lcdrs=1;P0=date;delay(5);lcde=1;delay(5);lcde=0;void display(uchar t)/初始化顯示子程序 uint phase;uchar j;phase=22.5*t;a0=phase/100+48;a1=phase%100/10+48;a2=phase%10+48;a4=48+5*(temp&0x01);write_com(0x80+0X02);for(j=0;j=5)flag=0;write_com(0x0c); timer=(qian*1000+bai*100+shi*10+ge);if(s4=0) delay(25); if(s4=0) temp1+=0x10; temp+; while(!s1); delay

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論