基于ad9851的信號源設(shè)計(jì)【畢業(yè)論文】_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b>  ( 屆)</b></p><p>  論文題目 基于AD9851的信號源設(shè)計(jì)</p><p>  (英文) Design Signal Source Based </p><p>  on AD9851 </p><p&g

2、t;  所在學(xué)院 電子信息學(xué)院 </p><p>  專業(yè)班級 電子信息工程 </p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期

3、 年 月 日</p><p><b>  摘 要</b></p><p>  信號發(fā)生器是一種能產(chǎn)生標(biāo)準(zhǔn)信號的電子儀器,是現(xiàn)代科研、通信系統(tǒng)、電工、電子教學(xué)試驗(yàn)以及各種電子測量技術(shù)中經(jīng)常使用的電子儀器之一,在導(dǎo)航、通信、雷達(dá)等領(lǐng)域有著廣泛的應(yīng)用。文中采用了DDS技術(shù),并以AD9851芯片為核心,以C8051微型處理為控制單元,并輔以液晶

4、顯示、鍵盤控制等單元來設(shè)計(jì)一種性能優(yōu)良的多功能信號發(fā)生器。編寫鍵盤功能程序、液晶功能程序、DDS模塊和單片機(jī)程序,應(yīng)用Keil Uvision2 IDE 調(diào)試環(huán)境進(jìn)行全速的在系統(tǒng)編程(ISP)和調(diào)試。實(shí)際測試結(jié)果表明,基于AD9851芯片的信號源工作可靠、效果良好,而且切換頻率速度快,既滿足了輸出波形高穩(wěn)定度、高精度、高分辨率的要求,輸出的正弦波在20MHz范圍內(nèi)波形無明顯失真,滿足任務(wù)書設(shè)計(jì)要求。</p><p&g

5、t;  關(guān)鍵詞:信號發(fā)生器;DDS;AD9851;C8051</p><p><b>  Abstract</b></p><p>  The signal generator is an electronic instrument that produces a standard signal , and it is widely used in navigatio

6、n, communications, radar and electronic equipment in modern scientific research , communications systems , electrical work and other applications areas. Using DDS technology , and the AD9851 chip as the core, the C8051 m

7、icroprocessor control unit , supported by LCD , keyboard control unit to design a performance excellent and versatile signal generator . With Keil Uvision2 IDE deb</p><p>  Key Words: Signal generator; DDS;

8、AD9851;C8051</p><p><b>  目錄</b></p><p><b>  1 引言1</b></p><p><b>  2 總體設(shè)計(jì)2</b></p><p><b>  3 硬件設(shè)計(jì)3</b></p><

9、p>  3.1 微處理器模塊3</p><p>  3.1.1微處理器單元電路3</p><p>  3.1.2時(shí)鐘電路5</p><p>  3.1.3復(fù)位電路6</p><p>  3.2 鍵盤和顯示模塊6</p><p>  3.2.1 鍵盤6</p><p>  3.2

10、.2液晶顯示模塊7</p><p>  3.3 DDS模塊8</p><p>  3.3.1 AD9851芯片介紹9</p><p>  3.3.2 DDS模塊電路設(shè)計(jì)10</p><p><b>  4 軟件設(shè)計(jì)12</b></p><p>  4.1總體程序設(shè)計(jì)12</p&g

11、t;<p>  4.2 鍵盤和顯示程序設(shè)計(jì)14</p><p>  4.2.1 鍵盤功能實(shí)現(xiàn)14</p><p>  4.2.2 液晶顯示功能實(shí)現(xiàn)15</p><p>  4.3 AD9851程序設(shè)計(jì)18</p><p>  4.3.1 AD9851控制寄存器定義18</p><p>  4.3

12、.2 串行數(shù)據(jù)格式18</p><p>  4.3.3 AD9851程序設(shè)計(jì)19</p><p>  5 制作和調(diào)試20</p><p><b>  6 結(jié)論22</b></p><p><b>  致 謝23</b></p><p><b>  參考文

13、獻(xiàn)24</b></p><p>  附錄1 系統(tǒng)實(shí)物圖25</p><p>  附錄2 部分實(shí)驗(yàn)程序26</p><p>  附錄3 畢業(yè)設(shè)計(jì)作品說明書29</p><p><b>  1 引言</b></p><p>  當(dāng)今是科學(xué)技術(shù)及儀器設(shè)備高度智能化飛速發(fā)展的信息

14、社會(huì),電子技術(shù)的進(jìn)步,給人類帶來了根本性的轉(zhuǎn)變。中國電子測量儀器,隨著世界高科技發(fā)展的潮流,走進(jìn)了高科技發(fā)展的道路,為我國國名經(jīng)濟(jì)、科學(xué)教育、特別是國防軍事的發(fā)展做出了巨大的貢獻(xiàn)。我國電子測量儀器在若干重大領(lǐng)域中取得了突破性的進(jìn)展,為我國電子測量儀器走向世界水平奠定了良好的基礎(chǔ)。 </p><p>  隨著現(xiàn)代電子技術(shù)的發(fā)展,在通訊、雷達(dá)、宇航、電視廣播、遙控遙測和電子測量等使用領(lǐng)域,都需要在一個(gè)特定的頻率范圍內(nèi)

15、使用一系列頻率信號。這時(shí),信號的頻率和穩(wěn)定度就顯得尤為重要。信號發(fā)生器是用來提供各種測量所需波形信號的電子儀器,是一種常用的信號源,可廣泛應(yīng)用于自動(dòng)控制、科學(xué)試驗(yàn)和電子電路等相關(guān)領(lǐng)域。但在分析電路時(shí),也常常需要了解輸出信號與輸入信號之間的關(guān)系,為此,常用信號發(fā)生器來產(chǎn)生信號以激勵(lì)系統(tǒng),同時(shí)觀察和分析系統(tǒng)對激勵(lì)信號的響應(yīng)[1-2]。</p><p>  現(xiàn)如今,信號發(fā)生器的應(yīng)用越來越廣,同時(shí)也對信號發(fā)生器的頻率穩(wěn)定

16、度、頻率范圍和輸出信號的頻率分辨率提出了越來越高的要求。因此,國內(nèi)外紛紛采用直接數(shù)字頻率合成技術(shù)來設(shè)計(jì)制作先進(jìn)的信號發(fā)生器。DDS 采用直接數(shù)字頻率合成技術(shù)、高速的數(shù)字電路和高速的 D/A 轉(zhuǎn)換技術(shù)。此外,DDS具有非常寬的調(diào)諧范圍,采用 DDS 數(shù)字方法可以產(chǎn)生多種波形,可以實(shí)現(xiàn)多種數(shù)字式調(diào)制。所以,本文采用高性能的DDS集成芯片AD9851設(shè)計(jì)并制作出信號發(fā)生器。用該方法設(shè)計(jì)的信號發(fā)生器具有頻率穩(wěn)定、變頻加速、幅值穩(wěn)定、波形失真度低

17、、電路結(jié)構(gòu)簡單等特點(diǎn)[3-4]。</p><p><b>  2 總體設(shè)計(jì)</b></p><p>  在信號發(fā)生器設(shè)計(jì)過程中要盡量使電路簡單化和模塊化,并充分利用軟件智能化功能。因?yàn)橛布嗔?,不但增加體積和成本,而且也使系統(tǒng)的可靠性和性價(jià)比下降。本設(shè)計(jì)遵循這一原則,在實(shí)現(xiàn)硬件電路功能的前提下,盡量簡化硬件電路設(shè)計(jì)。系統(tǒng)硬件組成框圖如圖2-1所示:</p>

18、<p>  圖2-1 系統(tǒng)總體框圖 </p><p>  本系統(tǒng)由鍵盤模塊、微處理器模塊、DDS模塊、顯示模塊及一些外圍電路組成。</p><p>  其中,單片機(jī)用來實(shí)現(xiàn)對整個(gè)系統(tǒng)的控制,本設(shè)計(jì)選用的是性價(jià)比高、低功耗、高性能的8051單片機(jī)??刂菩畔⑼ㄟ^與單片機(jī)相連接的鍵盤輸入,經(jīng)單片機(jī)處理后轉(zhuǎn)換為頻率/相位控制字通過接口電路送至DDS芯片。然后經(jīng)過DDS的D/A轉(zhuǎn)

19、換器就可以得到想要的輸出信號。</p><p>  8051與AD9851可采用并行通信方式也可以采用串行通信方式,并行通信方式需要較多的I/O口。</p><p>  系統(tǒng)中的鍵盤模塊和顯示模塊提供人機(jī)接口,便于選擇不同的信號頻率和信號類型。</p><p>  最后,所有的硬件都需要通過軟件來控制操作,軟件的程序編寫可以用C語言來完成。</p>&

20、lt;p><b>  3 硬件設(shè)計(jì)</b></p><p>  基于AD9851的信號源硬件電路包括微處理器模塊、鍵盤和顯示模塊及DDS模塊三部分。</p><p>  3.1 微處理器模塊</p><p>  微處理器:計(jì)算機(jī)系統(tǒng)核心部件(CPU)并不是一臺(tái)完整的計(jì)算機(jī)。</p><p>  8051是最早的最典

21、型的產(chǎn)品,該系列其它單片機(jī)都是在8051的基礎(chǔ)上進(jìn)行功能的改變而來的,所以人們習(xí)慣于用8051來稱呼MCS51系列單片機(jī),以滿足不同的需求。</p><p>  3.1.1微處理器單元電路 </p><p>  本系統(tǒng)采用的單片機(jī)是C8051F005芯片,是完全集成的混合信號系統(tǒng)級芯片,具有與8051兼容的高速CIP-51內(nèi)核,與MCS-51指令集完全兼容,內(nèi)置32KB的FLASH程序存

22、儲(chǔ)器、具有256B內(nèi)部RAM和2048B的XRAM。C8051F005單片機(jī)具有片內(nèi)調(diào)試電路,可通過JTAG接口可以進(jìn)行非侵入式、全速的在線系統(tǒng)調(diào)試。該單片機(jī)供電電壓為2.7-3.6V[5-6]。</p><p>  本系統(tǒng)的微處理器采用8051是MCS-51系列單片機(jī)的其中一種機(jī)型。MCS-51系列單片機(jī)和通用微機(jī)有所不同,MCS-51系列單片機(jī)在數(shù)據(jù)RAM區(qū)有一個(gè)工作寄存器區(qū);單片機(jī)把程序內(nèi)存和數(shù)據(jù)存儲(chǔ)器分成

23、兩個(gè)獨(dú)立的地址空間,采用不同的尋址方式,使用兩個(gè)不同的地址指針,PC指向程序內(nèi)存,DPTR指向數(shù)據(jù)存儲(chǔ)器;單片機(jī)的I/O端口在程序的控制下都可有第二功能,可由用戶系統(tǒng)設(shè)計(jì)者靈活選擇;它內(nèi)部有一個(gè)全雙工串行口,可同時(shí)發(fā)送和接收,有兩個(gè)物理上獨(dú)立的接收、發(fā)送緩存器[7-8]。</p><p>  通過對芯片的引腳進(jìn)行配置,選擇P0、P1、P2、P3口連接DDS模塊、液晶等模塊實(shí)現(xiàn)系統(tǒng)功能。圖3-1是C8051基本配置

24、原理圖。</p><p>  圖3-1 C8051基本配置原理圖</p><p>  8051 是一個(gè)高性能單片微控制器內(nèi)核,與Intel 8051指令集兼容。主要由以下功能單元構(gòu)成:</p><p>  (1) 控制單元(Cont rol Unit ) :負(fù)責(zé)取指、譯碼。8051 指令的第一個(gè)字節(jié)是操作碼,譯碼就針對指令的第一個(gè)字節(jié)進(jìn)行。譯碼得到的信息包括指令的長

25、度和指令執(zhí)行的周期數(shù),同時(shí)將指令分派給各個(gè)執(zhí)行部件[9-10]。</p><p>  (2) 算術(shù)邏輯運(yùn)算單元(ALU) :負(fù)責(zé)進(jìn)行算術(shù)邏輯運(yùn)算,支持8 位(8 ×8) 乘法和8 位除法。</p><p>  (3) 乘除法單元(MDU):負(fù)責(zé)16 ×16 位乘法、32/ 16 位乘法、16/ 16 位除法、32 位歸一化操作以及32 位移位操作。</p>

26、<p>  (4) 功耗管理單元( PMU) :提供兩種電源管理模式,即空閑( IDLE) 以及掉電模式(STOP) 。</p><p>  (5) 調(diào)試器接口(OCI) :片上Debug 調(diào)試接口。</p><p>  (6) 復(fù)位控制模塊(RSTCTRL) :產(chǎn)生系統(tǒng)復(fù)位信號。</p><p>  (7) 時(shí)鐘控制模塊(Clock Cont rol)

27、:接收外部時(shí)鐘信號,產(chǎn)生系統(tǒng)所需內(nèi)部時(shí)鐘。此外,還有8051 的基本外設(shè)如四個(gè)端口( Port s) 、兩個(gè)定時(shí)器( Timer) 、兩個(gè)串行通信口和看門狗電路(Watchdog) 所需的時(shí)鐘也是由時(shí)鐘控制模塊提供的。</p><p><b>  3.1.2時(shí)鐘電路</b></p><p>  C8051有內(nèi)部和外部振蕩器,每個(gè)振蕩器都可以產(chǎn)生系統(tǒng)所需時(shí)鐘。當(dāng)/RST

28、引腳為低電平時(shí)單片機(jī)復(fù)位,振蕩器都被禁止。當(dāng)/RST引腳為高電平時(shí)單片機(jī)脫離復(fù)位,MCU可以從內(nèi)部振蕩器運(yùn)行,也可以從外部振蕩器運(yùn)行[6]。本設(shè)計(jì)中單片機(jī)采用外部振蕩器。外部振蕩器需要一個(gè)外部諧振器、并行方式的晶體、電容或RC網(wǎng)絡(luò)連接到XTAL1/XTAL2引腳。時(shí)鐘電路如圖3-2所示: </p><p>  圖3-2 C8051單片機(jī)時(shí)鐘電路</p><p>  外接石英晶體(或陶瓷諧

29、振器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩器工作的穩(wěn)定性,如果使用石英晶體,電容一般使用30pF±10pF,而使用陶瓷諧振器選擇40pF±10pF。</p><p><b>  3.1.3復(fù)位電路</b></p><p>  復(fù)位是單片機(jī)的重要操作內(nèi)容。在簡單的復(fù)位電路

30、中,只要在微處理芯片的/RST引腳保持低電平達(dá)2個(gè)以上的機(jī)器周期,即可完成一次復(fù)位操作??紤]到電源的穩(wěn)定時(shí)間,參數(shù)漂移,一般只要在/RST引腳出現(xiàn)10ms以上的低電平,就能使單片機(jī)復(fù)位[9]。</p><p>  一般上電復(fù)位電路是利用RC充電原理實(shí)現(xiàn)的,C8051F000系列MCU內(nèi)部有一個(gè)電源監(jiān)視器,在上電期間該監(jiān)視器使MCU保持在復(fù)位狀態(tài),直到VDD上升到超過/RST的電平,如圖3-3所示。初始上電,電容兩

31、端等電位,則/RST為低電平,隨著對電容的充電,/RST 端電位逐漸升高,直至高電平。R、C 值的選取使/RST端保持10ms 的低電平,從而實(shí)現(xiàn)復(fù)位功能。在程序運(yùn)行過程中,如果出現(xiàn)意外情況,按下復(fù)位按鈕,電容C37通過電阻R16放電,/RST引腳為低電平,從而實(shí)現(xiàn)手動(dòng)復(fù)位。</p><p>  圖3-3 單片機(jī)復(fù)位電路</p><p>  3.2 鍵盤和顯示模塊</p>&

32、lt;p><b>  3.2.1 鍵盤</b></p><p>  在過程控制和智能化儀器儀表中,通常是用微機(jī)控制器進(jìn)行實(shí)時(shí)控制和數(shù)據(jù)處理的,為實(shí)現(xiàn)人機(jī)對話控制,鍵盤是必不可少的功能配置。利用按鍵可以實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù)、傳送命令、切換功能等,是人工干預(yù)單片微機(jī)系統(tǒng)的主要手段。</p><p>  鍵盤可分為獨(dú)立式鍵盤和矩陣式鍵盤。獨(dú)立式鍵盤是最簡單的鍵盤電路,

33、各個(gè)鍵相互獨(dú)立,每個(gè)按鍵獨(dú)立地與一根數(shù)據(jù)輸入線相連接。這種鍵盤的優(yōu)點(diǎn)是結(jié)構(gòu)簡單、使用方便,但隨著按鍵數(shù)量的增加所占用的I/O口線也增加。在使用按鍵數(shù)量不多的單片微機(jī)中,常使用這種獨(dú)立式鍵盤。矩陣式鍵盤:若有四根行線、四根列線,則構(gòu)成4*4矩陣鍵盤,最多可定義16個(gè)按鍵功能。若有八根行線、八根列線,則構(gòu)成8*8矩陣鍵盤,最多可定義64個(gè)按鍵功能。</p><p>  HD7279是一片具有串行接口、可以連接64鍵的

34、鍵盤矩陣的芯片,內(nèi)部含有鍵盤去抖動(dòng)電路。2*8的矩陣鍵盤的8個(gè)列信號連接至HD7276的10-17腳,2個(gè)行信號連接至18-19腳,HD7279的/CS、CLK、DATA和/KEY與單片機(jī)相連,實(shí)現(xiàn)鍵值的讀取。鍵盤電路如圖3-4所示。</p><p>  圖3-4 鍵盤電路原理圖 </p><p>  3.2.2液晶顯示

35、模塊</p><p>  液晶模塊是單片機(jī)應(yīng)用系統(tǒng)中實(shí)現(xiàn)人機(jī)對話的一種基本方式。HS12232-9液晶模塊具有低功耗、電壓范圍寬等特點(diǎn)。模塊內(nèi)帶標(biāo)準(zhǔn)字庫,內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了192個(gè)5*7點(diǎn)陣字符,32個(gè)5*10點(diǎn)陣字符。 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每

36、一個(gè)字符都有一個(gè)固定的代碼。</p><p>  HS12232-9液晶主要接口[9]</p><p>  第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。</p><p>  第5腳:R/W為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號,當(dāng)

37、RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。</p><p>  第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。  第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。</p><p>  D0~D7端為8位數(shù)據(jù)口,進(jìn)行數(shù)據(jù)傳送,而RS、R/W、E端則配合可以做出不同的操作。 </p><p>  液晶的接口是并行口,液晶與單片機(jī)對應(yīng)的接口直接連接。

38、液晶顯示電路原理圖如圖3-5所示。</p><p>  圖3-5液晶電路原理圖</p><p><b>  3.3 DDS模塊</b></p><p>  DDS的基本原理是利用采樣定理,通過查表法產(chǎn)生波形。每來一個(gè)時(shí)鐘脈沖fc,加法器將頻率控制字K與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器

39、在上一個(gè)時(shí)鐘脈沖作用后所產(chǎn)生的新相位數(shù)據(jù)回饋到加法器的輸入端,以使加法器在下一個(gè)時(shí)鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時(shí)鐘作用下,不斷對頻率控制字進(jìn)行線性相位累加。由此可以看出,相位累加器在每一個(gè)時(shí)鐘脈沖輸入時(shí),把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率[11]。用相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器(ROM)的相位取樣地址,這樣就可把存儲(chǔ)在波形內(nèi)存內(nèi)的波形

40、抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。波形內(nèi)存的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬信號。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。</p><p>  3.3.1 AD9851芯片介紹</p><p>  AD9851 是AD 公司采用先進(jìn)DDS (直接數(shù)字合成) 技術(shù),推出的具有高集成度DDS 電路的

41、器件,它內(nèi)部包含高速、高性能D/ A 轉(zhuǎn)換器及高速比較器,可作為全數(shù)字編程控制的頻率合成器和時(shí)鐘發(fā)生器。外接精密時(shí)鐘源時(shí),AD9851 可以產(chǎn)生一個(gè)頻譜純凈、頻率和相位都可以編程控制且穩(wěn)定性很好的模擬正弦波,這個(gè)正弦波能夠直接作為基準(zhǔn)信號源,或通過其內(nèi)部高速比較器轉(zhuǎn)換成方波輸出,作為靈敏時(shí)鐘產(chǎn)生器[12]。</p><p>  AD9851 主要特性如下:</p><p>  (1) 單電

42、源工作( + 2. 7~ + 5. 25V);</p><p>  (2) 工作溫度范圍- 45~85 ℃;</p><p>  (3) 低功耗,在180MHz 系統(tǒng)時(shí)鐘下,功率為555mW。電源設(shè)置有休眠狀態(tài),在該狀態(tài)下,功率僅為4mW;</p><p>  (4) 接口簡單,可用串行口或8 位并行口直接輸入頻率、相位控制數(shù)據(jù);</p><p&

43、gt;  (5) 內(nèi)含6倍參考時(shí)鐘倍乘器,可避免對外部高速參考時(shí)鐘振蕩器的需要,減小了由于外部頻率源過高而可能產(chǎn)生的相位噪聲;</p><p>  (6) 頻帶寬, 正常輸出工作頻率范圍為0 ~72MHz ;</p><p>  (7) 頻率分辨率高,其創(chuàng)新式高速DDS 碼可接受32 位調(diào)頻字,使得它在180MHz 系統(tǒng)時(shí)鐘下輸出頻率的精度可達(dá)0. 04Hz ;</p>&l

44、t;p>  相位可調(diào),可接收來自單片機(jī)的5 位相位控制字。</p><p>  AD9851有28個(gè)引腳,如圖3-6所示。其引腳功能如下:</p><p>  D0~D7:8 位數(shù)據(jù)輸入口,可給內(nèi)部寄存器裝入40 位控制數(shù)據(jù)。</p><p>  PGND :6 倍參考時(shí)鐘倍乘器地。</p><p>  PVCC :6 倍參考時(shí)鐘倍乘器

45、電源。</p><p>  W- CL K:字裝入信號,上升沿有效。</p><p>  FQ - UD :頻率更新控制信號,時(shí)鐘上升沿確認(rèn)輸入數(shù)據(jù)有效。</p><p>  REFCLOCK:外部參考時(shí)鐘輸入。CMOS/ TTL脈沖序列可直接或間接地加到6 倍參考時(shí)鐘倍乘器上,在直接方式中,輸入頻率即是系統(tǒng)時(shí)鐘;在6 倍參考時(shí)鐘倍乘器方式,系統(tǒng)時(shí)鐘為倍乘器輸出[1

46、2]。</p><p>  AGND :模擬地。</p><p>  AVDD :模擬電源( + 5V) 。</p><p>  DGND :數(shù)字地。</p><p>  DVDD :數(shù)字電源( + 5V) 。</p><p>  RSET :DAC 外部復(fù)位連接端。</p><p>  IOU

47、 TB:“互補(bǔ)”DAC輸出。</p><p>  IOU T :內(nèi)部DAC輸出端。</p><p>  VOU TN :內(nèi)部比較器負(fù)向輸出端。</p><p>  VOU TP :內(nèi)部比較器正向輸出端。</p><p>  VINN :內(nèi)部比較器的負(fù)向輸入端。</p><p>  VINP :內(nèi)部比較器的正向輸入端。&

48、lt;/p><p>  DACBP :DAC 旁路連接端。</p><p>  RESET :復(fù)位端。低電平清除DDS 累加器和相位延遲器為0Hz 和0°相位,同時(shí)置數(shù)據(jù)輸入為串行模式以及禁止6 倍參考時(shí)鐘倍乘器工作。</p><p>  3.3.2 DDS模塊電路設(shè)計(jì)</p><p>  對AD9851進(jìn)行讀寫工作模式可以是串行方式或

49、并行方式,這里采用串行工作方式。AD9851采用3線串行通信,7腳字裝入信號WCLK和8腳頻率更新控制信號FQ_UD是控制信號,25腳D7是數(shù)據(jù)信號,分別與單片機(jī)P3.4、P2.3和P3.5相連。12腳DAC復(fù)位引腳和22腳主復(fù)位引腳分別接地。AD9851正常工作時(shí)需要外部晶振,輸出信號頻率、頻率控制字與系統(tǒng)時(shí)鐘之間滿足如下關(guān)系:</p><p>  FTW=(f0x2N)/SYSCLK

50、 (3-1)</p><p>  其中FTW表示頻率控制字,N表示頻率控制字的位數(shù),f0為輸出信號的期望頻率,SYSCLK為系統(tǒng)時(shí)鐘。由式3-1可知,系統(tǒng)時(shí)鐘SYSCLK越大,頻率控制精度越高。如果直接選用高頻晶振,產(chǎn)生很大干擾,因此,通過選用AD981的6倍乘功能, DDS模塊的晶振頻率為24MHz,系統(tǒng)時(shí)鐘=6*24MHz=144 MHz。DDS模塊電路如圖3-7所示。</p><

51、p>  圖3-7 DDS模塊原理圖</p><p><b>  4 軟件設(shè)計(jì) </b></p><p>  本項(xiàng)目的軟件設(shè)計(jì)主要包括單片機(jī)的時(shí)鐘和I/0串口初始化、HD7279初始化、液晶初始化和AD9851初始化6部分的初始化程序、鍵值讀取、液晶送顯及AD9851控制等程序組成。</p><p><b>  4.1總體程序設(shè)計(jì)

52、</b></p><p>  系統(tǒng)定義了6個(gè)功能鍵,鍵1的功能為實(shí)現(xiàn)信號類型的切換,鍵2的功能是設(shè)定初始頻率,任務(wù)書要求輸出信號頻率為100Hz-20MHz,為了頻率調(diào)節(jié)的方便,設(shè)定頻率初值設(shè)置按鍵,頻率初值為100Hz、1kHz、10kHz、100kHz、1MHz和10MHz,按下鍵2,頻率初值在上述值之間循環(huán)切換,如要輸出10.1MHz的信號,可以設(shè)頻率初值為10MHz,再增加0.1MHz的步進(jìn)量

53、即可。主程序流程如圖4-1所示。</p><p>  圖4-1 主程序流程圖</p><p>  單片機(jī)時(shí)鐘初始化的主要任務(wù)是設(shè)定單片機(jī)系統(tǒng)時(shí)鐘。單片機(jī)采用外部11.0592MHz的晶振,因此8位寄存器OSCICN寄存器的第3位CLKSL置1,同時(shí)在單片機(jī)的運(yùn)行過程中,使能時(shí)鐘丟失檢測器(如果檢測到時(shí)鐘丟失,則復(fù)位單片機(jī)),因此最高位第7位設(shè)為1,其余為設(shè)為0,OSCICN寄存器的初始化值

54、為0x88。8位的外部振蕩器控制寄存器OSCXCN的4-6位XOSCMD設(shè)為110,外部振蕩器頻率控制位XFCN設(shè)為111,其余位設(shè)為0,所以O(shè)SCXCN的初始值為0x67。把初始化值寫入寄存器OSCICN和OSCICN中,就實(shí)現(xiàn)了單片機(jī)時(shí)鐘的初始化。</p><p>  C8051單片機(jī)有大量的數(shù)字資源需要通過數(shù)字I/O端口P0、P1、P2和P3才能使用。端口0、1和2中的每個(gè)引腳即可定義為對應(yīng)的端口I/O,又

55、可以分配為一個(gè)內(nèi)部數(shù)字資源。本課題中用到的數(shù)字資源如表4-1、4-2和4-3所示。根據(jù)C8051交叉開關(guān)優(yōu)先權(quán)譯碼表,設(shè)定P1.4為數(shù)字資源CP0,P1.6為數(shù)字資源CP1,P1.7為數(shù)字資源/INT1,其余為P2和P3口的I/O引腳,不用配置。因此端口I/O交叉開關(guān)寄存器XBR0的初始值設(shè)為0x80,XBR0的初始值設(shè)為0x11。XBR2中的WEAKPUD設(shè)為0,允許弱上拉,XBARE位設(shè)為1,交叉開關(guān)使能,其余位設(shè)為0,所以XBR0

56、的初始值設(shè)為0x40。</p><p>  HD7279初始化見4.2.1節(jié),AD9851初始化見4.3.2節(jié)。</p><p>  表4-1 HD7279模塊引腳名稱</p><p>  表4-2 DDS模塊引腳引腳與單片機(jī)IO口接口關(guān)系</p><p>  表4-3 液晶模塊引腳引腳與單片機(jī)IO口接口關(guān)系</p>&l

57、t;p>  4.2 鍵盤和顯示程序設(shè)計(jì) </p><p>  4.2.1 鍵盤功能實(shí)現(xiàn)</p><p>  HD7279是一片具有鍵盤接口的芯片,可連接多達(dá)64鍵的鍵盤矩陣。當(dāng)按下某一按鍵時(shí),該芯片能自動(dòng)給出響應(yīng)的編碼信息,并可自動(dòng)消除按鍵抖動(dòng),簡化軟件設(shè)計(jì)。HD7279與單片機(jī)采用串行通信,串行信號為片選信號/CS、同步時(shí)鐘信號CLK和串行數(shù)據(jù)信號DATA。當(dāng)有按鍵按下時(shí),HD72

58、79的KEY引腳輸出一低電平信號,觸發(fā)單片機(jī)的外部中斷1,在外部中部1的中斷服務(wù)子程序中讀出按鍵值。</p><p>  圖4-2 HD7279純指令時(shí)序圖</p><p>  圖4-3 HD7279初始化流程圖</p><p>  鍵盤功能實(shí)現(xiàn)程序設(shè)計(jì)包括HD7279的初始化和鍵值讀取兩部分。HD7279提供了復(fù)位指令0xA4,只要對HD7279寫入命令0xA4

59、即可實(shí)現(xiàn)復(fù)位。HD7279有三種指令接口時(shí)序,復(fù)位時(shí)按照純指令時(shí)序編寫程序,純指令時(shí)序如圖4-2所示。在編寫HD7279初始化程序時(shí),首先定義HD7279與單片機(jī)的通信接口,P2.0接/CS,P1.7接DATA,P1.6接CLK,外部中斷P1.4接KEY。然后依據(jù)圖4-2的時(shí)序依次發(fā)送8bit的指令數(shù)據(jù),HD7279初始化流程圖如圖4-3所示。</p><p>  圖4-4 HD7279讀鍵盤指令時(shí)序圖</

60、p><p>  圖4-5 HD7279讀鍵值流程圖</p><p>  HD7279讀鍵盤的指令為0x15,讀鍵盤指令的時(shí)序如圖4-4所示。讀鍵盤時(shí),首先要發(fā)送指令0x15,然后再讀出鍵值。讀鍵盤功能在單片機(jī)的外部中斷1的中斷服務(wù)子程序中實(shí)現(xiàn),讀鍵值流程如圖4-5所示。</p><p>  4.2.2 液晶顯示功能實(shí)現(xiàn)</p><p>  HS1

61、2232-9內(nèi)置ST7920A驅(qū)動(dòng)控制器,點(diǎn)陣為122×32點(diǎn),每行7個(gè)半漢字,共2行。內(nèi)部字型ROM 包括8192個(gè)16×16點(diǎn)陣的中文字型和126個(gè)16×8點(diǎn)陣的字母符號字型,另外還提供一個(gè)64×256點(diǎn)的繪圖區(qū)域(GDRAM)及240點(diǎn)的ICON RAM,可以和文字畫面混合顯示。與單片機(jī)的接口有8位并行、4位并行、2/3線串行。它采用低功率電源消耗,電壓范圍2.7~5.5V,功能齊全,漢字、

62、點(diǎn)陣圖形、ASCII碼、曲線同屏顯示;上下左右移動(dòng)當(dāng)前顯示屏幕、清屏、光標(biāo)顯示、閃爍、睡眠、喚醒、關(guān)閉顯示功能齊備,適合許多場合應(yīng)用[9]。</p><p>  對HS12232-9進(jìn)行操作主要有如下四種:</p><p>  1、寫指令,輸入:RS(CS)=L,R/W=L,D0~D7=指令,E=高脈沖。輸出:無。</p><p>  2、讀忙閑狀態(tài),輸入:RS=L

63、,RW=H,E=H。輸出:D0~D7=狀態(tài)字。</p><p>  3、寫數(shù)據(jù),輸入:RS=H,RW=L,D0~D7=數(shù)據(jù),E=高脈沖。輸出:無。</p><p>  4、讀數(shù)據(jù),輸入:RS=H,RW=H,E=H。輸出:D0~D7=數(shù)據(jù)。</p><p>  對這四種操作,主要是通過RS和R/W控制信號實(shí)現(xiàn)的,RS和R/W控制信號如表4-4所示。</p>

64、<p>  表4-4 RS和R/W控制信號</p><p>  HS12232-9與單片機(jī)可以采用串行和并行傳輸方式。當(dāng)采用串行傳輸方式時(shí), 24個(gè)時(shí)鐘脈沖傳送一個(gè)字節(jié)。單片機(jī)首先發(fā)送數(shù)據(jù)傳輸起始位5個(gè)“1”,HS12232-9收到連續(xù)的5個(gè)“1”,內(nèi)部傳輸被重置,同時(shí)串行傳輸被同步,緊接著RW位用于決定數(shù)據(jù)的傳輸方向(讀還是寫),RS用來選擇是內(nèi)部數(shù)據(jù)寄存器還是指令寄存器,第8位固定為“0”。收到

65、起始位、RW、RS、“0”組成的第一個(gè)字節(jié)后,一個(gè)字節(jié)的數(shù)據(jù)或指令被分成兩個(gè)字節(jié)來串行傳送或接收。數(shù)據(jù)或指令的高4位被放在第二個(gè)字節(jié)串行數(shù)據(jù)的高4位,低4位補(bǔ)4個(gè)“0”,數(shù)據(jù)或指令的低4位被放在第三個(gè)字節(jié)串行數(shù)據(jù)的高4位,低4位補(bǔ)4個(gè)“0”,這樣完成一個(gè)字節(jié)或數(shù)據(jù)的傳送。所以串行傳輸效率很低,本設(shè)計(jì)中采用并行傳輸方式。HS12232-9液晶8位并行方式寫操作時(shí)序如圖4-6所示。</p><p>  圖4-6液晶寫

66、操作時(shí)序</p><p>  圖4-7液晶顯示流程圖</p><p>  液晶系統(tǒng)上電后,首先判斷液晶是否處于空閑狀態(tài),若是,寫指令00H進(jìn)行清屏,然后寫指令0FH開液晶顯示開光標(biāo),再寫指令06H,文字不動(dòng),光標(biāo)主動(dòng)右移。把RS置為1,RW置為0,E置為0,再判斷液晶忙狀態(tài),然后再把E置為1,進(jìn)行寫操作。液晶模塊流程圖如圖4-7所示。</p><p>  液晶主屏顯

67、示當(dāng)前的信號類型、頻率值和單位:當(dāng)頻率的值小于1000Hz時(shí),液晶顯示為當(dāng)前頻率值,單位為Hz;當(dāng)頻率的值大于等于1000Hz小于1000000Hz時(shí),液晶顯示當(dāng)前頻率值,單位為KHz,當(dāng)頻率的值大于等于1000000Hz時(shí),液晶顯示當(dāng)前頻率值,單位為MHz。</p><p>  4.3 AD9851程序設(shè)計(jì)</p><p>  4.3.1 AD9851控制寄存器定義</p>

68、<p>  對AD9851的使用主要由用戶編程來決定,用戶通過對芯片內(nèi)部各種寄存器的讀寫以及外圍電路的配合來滿足用戶的各種應(yīng)用場合。</p><p>  AD9851內(nèi)部有5個(gè)輸入寄存器,用來存儲(chǔ)來自外部數(shù)據(jù)總線的32位的頻率控制字(頻率0-31)、5位相位控制字(相位0-4)、一位6倍參考時(shí)鐘頻率倍乘器使能控制字(6*REF-CLK Multiplier Enable)、一位電源休眠(Power-D

69、own)功能控制和一位邏輯O(Logic O)。邏輯O是廠家設(shè)定參數(shù)專用使能位,應(yīng)用時(shí)不能使能該位。否則會(huì)進(jìn)入廠家設(shè)定參數(shù)狀態(tài),只有通過復(fù)位才能退出該狀態(tài)[13-14]。</p><p>  輸入數(shù)據(jù)共為5*8=40位,每一位都控制著芯片的操作,每一位所代表的意義如表4-5所示:</p><p>  表4-5 AD9851寄存器位定義</p><p>  4.3.2

70、 串行數(shù)據(jù)格式</p><p>  AD9851提供并行輸入和串行輸入兩種工作模式,單片機(jī)向AD9851寫控制字可以采用并行傳輸,也可以采用串行傳輸方式。本設(shè)計(jì)中為了節(jié)省I/O口,使用串行傳輸方式。</p><p>  AD9851沒有提供硬件配置串行方式和并行方式的功能。串行和并行傳輸方式的選擇通過軟件方式選擇,在AD9851復(fù)位后,寫入的第一個(gè)8位數(shù)據(jù)如為xxxxx011,即高5位為任

71、意值,低3位為011,則AD9851改為串行傳輸方式[14],如圖4-8所示。如果AD9851復(fù)位后,寫入的第一個(gè)8位數(shù)據(jù)如為xxxxxx0x,則AD9851改為并行傳輸方式。</p><p>  圖4-8 串行方式使能序列</p><p>  本項(xiàng)目中采用串行傳輸方式,串行傳輸時(shí)序如圖4-9所示。由時(shí)序圖可知,AD9851在時(shí)鐘的上升沿采樣數(shù)據(jù)。</p><p>

72、  圖4-9 寫AD9851 的串行時(shí)序</p><p>  4.3.3 AD9851程序設(shè)計(jì)</p><p>  AD9851程序設(shè)計(jì)主要包括AD9851軟件復(fù)位和寫AD9851控制字兩部分。</p><p>  在硬件設(shè)計(jì)時(shí),AD9851的RESET引腳接地,不能實(shí)現(xiàn)硬件復(fù)位,因此要通過軟件進(jìn)行復(fù)位。根據(jù)時(shí)序圖,進(jìn)行如下操作即可實(shí)現(xiàn)復(fù)位:</p>

73、<p><b>  W_CLK=0;</b></p><p><b>  FQ_UD=0;</b></p><p><b>  W_CLK=1;</b></p><p><b>  W_CLK=0;</b></p><p><b>  

74、FQ_UD=1;</b></p><p>  AD9851的控制字共40位,如表4-4所示。W0-W31共32位頻率控制字隨著輸出信號的頻率改變而改變,W32-39模式控制字與頻率無關(guān),因此40位的寄存器分成兩部分:32位的頻率字和8位的模式控制字。8位的模式控制字只選擇了6倍頻使能,其余位都選擇默認(rèn)值。32位的頻率字計(jì)算公式為(3-1)式。AD9851外接24MHz的晶振,6倍頻使能后,系統(tǒng)時(shí)鐘為2

75、4*6=144MHz,頻率控制字的位數(shù)N=32,,因此(3-1)式可以寫為</p><p><b> ?。?-1)</b></p><p>  式中f0表示輸出信號的頻率,單位為Hz。每次通過鍵盤設(shè)定輸出信號的頻率后,再根據(jù)(4-1)式計(jì)算出頻率控制字,發(fā)送給AD9851,即可實(shí)現(xiàn)信號頻率的改變。</p><p>  串行接口方式下寫控制字需滿

76、足的時(shí)序關(guān)系為:在W_CLK的上升沿,引腳D7上的數(shù)據(jù)自最低有效位開始逐位串行移入輸入寄存器,40位數(shù)據(jù)輸入結(jié)束后,任何W_CLK上升沿到來,都會(huì)造成數(shù)據(jù)順序移出并導(dǎo)致原來數(shù)據(jù)無效。此時(shí),F(xiàn)Q_UD端的上升沿將40位數(shù)據(jù)裝入控制寄存器,更新芯片的輸出頻率和相位,同時(shí)把地址指針復(fù)位到第一個(gè)輸入寄存器,等待下一組新數(shù)據(jù)的寫入。AD9851程序流程圖如圖4-10所示。</p><p>  圖4-10 AD9851模塊程

77、序流程圖</p><p><b>  5 制作和調(diào)試</b></p><p>  本課題設(shè)計(jì)中用到了C8051單片機(jī)平臺(tái),在此平臺(tái)上,連接AD9851模塊和HS12232-9液晶模塊,組成硬件系統(tǒng)。應(yīng)用Keil Uvision2 IDE 調(diào)試環(huán)境進(jìn)行全速的在系統(tǒng)編程(ISP)和調(diào)試。Keil Uvision2 IDE開發(fā)工具支持觀察和修改存儲(chǔ)器和寄存器支持?jǐn)帱c(diǎn)、觀察點(diǎn)

78、、堆棧指示器、單步、運(yùn)行和停止命令。調(diào)試時(shí)不需要額外的目標(biāo)RAM、程序存儲(chǔ)器、定時(shí)器或通信通道,并且所有的模擬和數(shù)字外設(shè)都正常工作。</p><p>  軟硬件調(diào)試完成后,對信號發(fā)生器產(chǎn)生的信號進(jìn)行測試,所使用的主要儀器與設(shè)備為數(shù)字萬用表和示波器。其最終的試驗(yàn)平臺(tái)可由設(shè)計(jì)好的DDS信號發(fā)生器和示波器組成,系統(tǒng)實(shí)物和級聯(lián)測試見附錄1。使用帶寬200MHz的TDS2024示波器測量輸出信號。圖5-1是該信號發(fā)生器輸出

79、1kHz的波形,圖5-2是該信號發(fā)生器輸出20MHz的波形。從測試波形可以看出,輸出信號無明顯失真,信號頻率可達(dá)20MHz,滿足任務(wù)書要求。</p><p>  圖5-1 1kHz的正弦波</p><p>  圖5-2 20MHz的正弦波</p><p><b>  6 結(jié)論</b></p><p>  基于DDS技術(shù)信

80、號源的設(shè)計(jì),是在查閱大量國內(nèi)外文獻(xiàn)資料的基礎(chǔ)上,選擇了美國AD公司采用先進(jìn)的DDS技術(shù)生產(chǎn)的具有高集成度的DDS芯片AD9851,并利用C8051作為控制單片機(jī),以此為基礎(chǔ)設(shè)計(jì)了硬件實(shí)現(xiàn)電路,并配以鍵盤控制電路和頻率顯示電路,組成完整的硬件平臺(tái)。</p><p>  在硬件設(shè)計(jì)完成后,針對電路各個(gè)部分的功能進(jìn)行了C語言的程序設(shè)計(jì),實(shí)現(xiàn)了信號源的功能。</p><p>  應(yīng)用軟件設(shè)計(jì)中主要

81、闡述了信號源電路設(shè)計(jì)的總體思路,提出了鍵盤矩陣電路、頻率顯示電路和C8051對AD9851的頻率/相位控制字輸送的硬件設(shè)計(jì),對鍵盤電路控制過程和頻率電路顯示過程中的數(shù)據(jù)傳輸過程進(jìn)行了具體的描述。并對信號源電路中C語言程序設(shè)計(jì)提出了總體思路,對鍵盤控制電路、頻率顯示電路、C8051對AD9851的數(shù)據(jù)傳送的具體軟件實(shí)現(xiàn)程序?qū)崿F(xiàn)進(jìn)行了描述。</p><p>  從信號源的硬件實(shí)驗(yàn)設(shè)計(jì)和它的軟件編程的實(shí)際效果來看,基于

82、AD9851DDS芯片的信號源工作可靠、效果良好,而且切換頻率速度快,既滿足了輸出波形高穩(wěn)定度、高精度、高分辨率的要求,又有價(jià)格低廉、體積小的特點(diǎn)。實(shí)際測試結(jié)果表明,AD9851芯片輸出的正弦波在20MHz范圍內(nèi)波形無明顯失真,滿足任務(wù)書設(shè)計(jì)要求。實(shí)際信號頻率可達(dá)40MHz左右,只是隨著輸出信號頻率的增加,信號幅度逐漸衰減,如圖5-1所示,當(dāng)輸出信號為1kHz時(shí),信號峰-峰值約為500mv,當(dāng)輸出信號為20MHz時(shí),信號峰-峰值衰減為1

83、50mv左右,因此本文設(shè)計(jì)的信號源若要真正實(shí)用,后面還必須增加自動(dòng)增益控制電路,調(diào)節(jié)信號幅度。</p><p><b>  致 謝</b></p><p>  在畢業(yè)論文圓滿之際,艱辛的感覺不禁涌上我心頭,在這次畢業(yè)設(shè)計(jì)的過程中,我真是獲益匪淺。在這段時(shí)間里,我的專業(yè)技能水平以及實(shí)際動(dòng)手能力都得到了大幅度的提高,這為我以后的工作、學(xué)習(xí)提供了寶貴的實(shí)踐經(jīng)驗(yàn)。在此我要向

84、我的導(dǎo)師表示由衷的感謝,在論文撰寫期間,導(dǎo)師給予了我很大的幫助和指導(dǎo),正是她的無私奉獻(xiàn)和鼎力支持,我才能順利地寫完我學(xué)業(yè)中最后的一個(gè)重要篇章。同時(shí)感謝各位授課老師,在我大學(xué)期間,正是你們孜孜不倦的教誨使我能夠順利完成學(xué)業(yè),你們的潛移默化使我在這四年的學(xué)習(xí)生涯中積累了一筆寶貴的財(cái)富,這將使我在今后的學(xué)習(xí)工作中受益終生。感謝老師、家人和同學(xué)對我的學(xué)習(xí)上、生活上這么多的幫助!由衷的感謝你們對我的幫助和支持,沒有你們就沒有今天的收獲和成果,也為

85、我以后的事業(yè)和生活有了很大的幫助。</p><p>  在本論文撰寫過程中,參考并引用了許多作者的文獻(xiàn),他們的研究成果給了我極大的幫助和啟迪,在此謹(jǐn)表示衷心的感謝!</p><p>  最后向在百忙之中抽出時(shí)間對本論文進(jìn)行評審及評閱的各位專家表示衷心的感謝!</p><p><b>  參考文獻(xiàn)</b></p><p>

86、  [1]李季. 信號發(fā)生器發(fā)展淺析 [J]. 電子產(chǎn)品世界,2002(10):65-75.</p><p>  [2]杜歡陽,安瑩. DDS器件AD9851在信號源中的應(yīng)用[J]. 現(xiàn)代電子技術(shù).2004(24):11-12.</p><p>  [3] Tao Wang. Signal Gernator Based on Direct Digital Synthesis Techniq

87、ues[J]. International Journal of Digital Counter Technology and its Applications, 2011,8,5(8):24-30.</p><p>  [4]李寧,王雪. DDS芯片/AD9851在頻率合成信號發(fā)生器中的應(yīng)用[J]. 金陵職業(yè)大學(xué)學(xué)報(bào).2001(1):59-60.</p><p>  [5]楊恢先, 黃輝

88、先. 單片機(jī)原理及應(yīng)用[M]. 北京:人民郵電出版社, 2006,6.</p><p>  [6]周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)[M]. 北京:北京航空航天大學(xué)出版社, 2003,8.</p><p>  [7]陳永泰,劉雪燕. AD9851與AT89C51在信號源中的應(yīng)用[J]. 世界電子元器件.2004(7):63-65.</p><p>  [8]馬忠梅. 單

89、片機(jī)C語言應(yīng)用程序設(shè)計(jì)[M]. 北京航空航天大學(xué)出版社,2007,2.</p><p>  [9]胡漢才.單片機(jī)原理及其接口技術(shù)[M]. 北京:清華大學(xué)出版社,2010,5.</p><p>  [10]張培仁. MCS-51單片機(jī)原理及應(yīng)用[M]. 北京:清華大學(xué)出版社, 2003, 1.</p><p>  [11]黃愛蓉. 高性能DDS信號產(chǎn)生器的設(shè)計(jì)研究[J

90、]. 傳感器與儀器儀表, 2005, 21(8):153-156.</p><p>  [12]張富貴, 姚振東. 基于DDS的高性能信號發(fā)生器的實(shí)現(xiàn)[J]. 成都信息工程學(xué)院學(xué)報(bào), 2006, 21(1): 12-17.</p><p>  [13]郭勇, 肖明清等.DDS芯片AD9851及其應(yīng)用[J]. 電子技術(shù).2001(2):54-56.</p><p> 

91、 [14] Analog Devices. CMOS 180MHz DDS/DAC Synthesizer AD9851[DB/OL]. 2012-3-19. www.analog.com.</p><p>  附錄1 系統(tǒng)實(shí)物圖</p><p>  附錄2 部分實(shí)驗(yàn)程序</p><p>  //定義HD7279與C8051接口,需配合交叉開關(guān)定義</p&

92、gt;<p>  sbit HD7279_Key=P1^4; /*定義HD7279中斷硬件連接--->INT1*/</p><p>  sbit HD7279_Clk=P1^6; /*定義HD7279時(shí)鐘硬件連接*/</p><p>  sbit HD7279_Data=P1^7; /*定義HD7279數(shù)據(jù)硬件連接*/</p><p>  sbi

93、t HD7279_CS=P2^0;</p><p>  //HS12232液晶模塊與接口</p><p>  sbit LCD_RS=P2^5;//H: Data L: Instruction</p><p>  sbit LCD_RW=P2^4;//H: Read L: Write</p><p>  sbit LCD_

94、EN=P2^2;//Enable Signal</p><p>  //DB0~DB7=>P30~P37</p><p>  //AD9851模塊接口</p><p>  sbit FQ_UD=P2^3;</p><p>  sbit W_CLK=P3^4;</p><p>  sbit D7=P3^

95、5;</p><p>  void main (void) </p><p><b>  {</b></p><p>  Sysclk_Init (); // 初始化振蕩器,開放INT1中斷</p><p>  Port_Init (); // 初始化交叉開關(guān)&

96、lt;/p><p>  EA = 1; // 允許中斷</p><p>  LCD_Init();</p><p>  AD9851_Init();</p><p>  switch(key_data)</p><p><b>  {</b></p&

97、gt;<p><b>  case 0 :</b></p><p>  if ( display_str=="信號類型:余弦波" )</p><p>  display_str="信號類型:方波";</p><p>  if ( display_str=="信號類型:方波"

98、; )</p><p>  display_str="信號類型:余弦波";</p><p><b>  break;</b></p><p><b>  case 1 :</b></p><p><b>  f0_i++;</b></p>&l

99、t;p>  if (f0_i==6) f0_i=0; f0=f0_table(f0_i);</p><p><b>  break;</b></p><p><b>  case 2 :</b></p><p><b>  df_i++;</b></p><p>  

100、if (df_i==5) df_i=0; df=df_table(df_i);</p><p><b>  break;</b></p><p><b>  case 3 :</b></p><p>  frequency=f0+df;</p><p><b>  break;</b

101、></p><p><b>  case 4 :</b></p><p>  frequency=f0-df;</p><p><b>  break;</b></p><p>  gcvt(frequency, ptr); </p><p>  if (frequen

102、cy<1000) display_str2="信號頻率:",ptr, "Hz";</p><p>  if (frequency>=1000 && frequency<1000000)</p><p>  display_str2="信號頻率:",ptr, "kHz";&l

103、t;/p><p>  if (frequency>1000000) display_str2="信號頻率:",ptr, "MHz";</p><p>  Send_Com(0x80);//顯示移位控制</p><p>  LCD_Display(0,0,display_str);</p><p>

104、;  LCD_Display(1,0,display_str2);</p><p>  freqword=AD9851_freqword(frequency);</p><p>  AD9851_Write(freqword);</p><p><b>  break;</b></p><p><b>  }&

105、lt;/b></p><p>  while (1);</p><p>  }//end main</p><p>  void Sysclk_Init(void) // 將器件配置為使用外部 CMOS 時(shí)鐘。</p><p><b>  {</b></p><p>  WDTCN = 0x

106、de; // 禁止看門狗定時(shí)器</p><p>  WDTCN = 0xad;</p><p>  OSCXCN = 0x67; // 啟動(dòng)外部振蕩器,對于11.0592MHz的晶體,允許SYSCLK/1</p><p>  while ( (OSCXCN & XTLVLD_BIT) == 0 ); // 等待外部振蕩器起動(dòng)</p><p

107、>  OSCICN = 0x88; // 選擇外部振蕩器作為系統(tǒng)時(shí)鐘,禁止內(nèi)部振蕩器</p><p>  IE|=0x04;//開放INT1中斷</p><p>  Send_uchar(HD7279_RESET);</p><p>  Write_HD7279(0x98,0xff);//不消隱</p><p><b>

108、  }</b></p><p>  void Port_Init (void) // 配置交叉開關(guān)和 GPIO 端口</p><p><b>  { </b></p><p>  PRT0CF = 0xff; </p><p>  PRT1CF = 0x40; <

109、/p><p>  PRT2CF = 0xff; </p><p>  PRT3CF = 0xff; </p><p>  XBR0=0x80;I</p><p>  XBR1=0x11;</p><p>  XBR2 =0x40; &

110、lt;/p><p><b>  }</b></p><p>  /*****************************************************************************/</p><p>  void Int1_HD7279(void) interrupt 2 /*外部中斷1函數(shù)*/</p&

111、gt;<p><b>  {</b></p><p>  Set_Bit(Keyboard_Flag); /*設(shè)置鍵標(biāo)志*/</p><p>  Keyboard_Out=Read_HD7279(0x15); /*讀取鍵值*/</p><p><b>  }</b></p><p&

112、gt;  //DDS初始化函數(shù),AD9851模塊reset引腳直接接地,故無法通過該引腳對AD9851復(fù)位</p><p>  void AD9851_Init(void) </p><p><b>  {</b></p><p><b>  W_CLK=0;</b></p><p><b&g

113、t;  FQ_UD=0;</b></p><p><b>  W_CLK=1;</b></p><p><b>  W_CLK=0;</b></p><p><b>  FQ_UD=1;</b></p><p><b>  }</b></

114、p><p>  //DDS寫32位頻率字、8位控制字函數(shù)</p><p>  void AD9851_Write(ulong freqword)</p><p><b>  {</b></p><p>  uchar i,j,model=0x01;</p><p><b>  FQ_UD=0

115、;</b></p><p>  for(i=0;i<32;i++) //先寫32位的頻率控制字(先低位后高位)</p><p><b>  {</b></p><p>  D7=(bit)(freqword &(0x01));</p><p><b>  W_CLK=

溫馨提示

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

評論

0/150

提交評論