畢業(yè)設(shè)計(jì)論文單片機(jī)與AD9954硬軟件的設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)論文單片機(jī)與AD9954硬軟件的設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)論文單片機(jī)與AD9954硬軟件的設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)論文單片機(jī)與AD9954硬軟件的設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)論文單片機(jī)與AD9954硬軟件的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、dds能有效地實(shí)現(xiàn)頻率精調(diào),它可以在許多鎖相環(huán)(pll)設(shè)計(jì)中代替多重環(huán)路。在一個(gè)pll中保持適當(dāng)?shù)姆诸l比關(guān)系,可以將dds的高頻率分辨率及快速轉(zhuǎn)換時(shí)間特性與鎖相環(huán)路的輸出頻率高、寄生噪聲和雜波低的特點(diǎn)有機(jī)地結(jié)合起來(lái),從而實(shí)現(xiàn)更為理想的ddspll混合式頻率合成技術(shù)。 在頻率粗調(diào)時(shí)用pll來(lái)覆蓋所需工作頻段,選擇適當(dāng)?shù)姆诸l比可獲得較高的相位噪聲,而dds被用來(lái)覆蓋那些粗調(diào)增量,在其內(nèi)實(shí)現(xiàn)頻率精調(diào)。這種方案以其優(yōu)越的相位穩(wěn)定性和極低的顫噪效應(yīng)滿足了各種系統(tǒng)對(duì)頻率源苛刻的技術(shù)要求。這也是目前開(kāi)發(fā)應(yīng)用dds技術(shù)最廣泛的一種方法。采用這種方案組成的頻率合成器已在很高的頻率上得以實(shí)現(xiàn)。 當(dāng)然,dds的應(yīng)

2、用不僅限于這些,它還可用于核磁諧振頻譜學(xué)及其成像、檢測(cè)儀表等。隨著dds集成電路器件速度的飛速發(fā)展,它已成為一種可用于滿足系統(tǒng)頻率要求的重要而靈活的設(shè)計(jì)手段本文通過(guò)用單片機(jī)與ad9954芯片進(jìn)行通信,使其產(chǎn)生一個(gè)穩(wěn)定的20mhz的頻率。從而使人們更多的了解dds及其應(yīng)用。第一章 單片機(jī)的簡(jiǎn)介一個(gè)8位的80c51微處理器,片內(nèi)256字節(jié)數(shù)據(jù)存儲(chǔ)器ram/sfr,用以存放可以讀寫(xiě)的數(shù)據(jù),如運(yùn)算的中間結(jié)果,最終結(jié)果以及欲顯示的數(shù)據(jù);片內(nèi)4kb程序存儲(chǔ)器flash rom,用以存放程序,一些原始數(shù)據(jù)和表格;4個(gè)8位并行i/o口p0p3,每個(gè)端口既可用作輸入,也可用作輸出;兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,每

3、個(gè)定時(shí)器/計(jì)數(shù)器都可設(shè)置成計(jì)數(shù)方式,用以對(duì)外部事件進(jìn)行計(jì)數(shù),也可設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或者定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制;具有5個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷控制系統(tǒng);一個(gè)全雙工uart(通用異步接受發(fā)送器)的串行i/o口,用于實(shí)現(xiàn)單片機(jī)之間或者單片機(jī)與pc機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接,最高允許震蕩頻率為24mhz;89c51與80c51相比具有節(jié)電工作方式,即休閑方式及掉電方式。11中央處理器(cpu): cpu是單片機(jī)內(nèi)部的核心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處理單元,主要由運(yùn)算器、控制器和寄存器陣列構(gòu)成。111 運(yùn)算器:運(yùn)算器用來(lái)完成算術(shù)運(yùn)算和

4、邏輯運(yùn)算功能,它是 89c51內(nèi)部處理各種信息的主要部件。運(yùn)算器主要由算術(shù)邏輯單元(alu)、累加器(acc)、暫存寄存器(tmp1、tmp2)和狀態(tài)寄存器(psw)組成。算術(shù)邏輯單元(alu): 89c51中的alu由加法器和一個(gè)布爾處理器組成。 累加器(acc):用來(lái)存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的一個(gè)操作數(shù)或運(yùn)算的結(jié)果。暫存寄存器(tmp1、tmp2):用來(lái)存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的另一個(gè)操作數(shù),它對(duì)用戶不開(kāi)放。狀態(tài)寄存器(psw):psw是一個(gè)8位標(biāo)志寄存器,用來(lái)存放alu操作結(jié)果的有關(guān)狀態(tài)。112控制器:控制器是單片機(jī)內(nèi)部按一定時(shí)序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的部件??刂破髦饕?/p>

5、由程序計(jì)數(shù)器pc、指令寄存器ir、指令譯碼器id和定時(shí)控制邏輯電路等構(gòu)成。程序計(jì)數(shù)器pc是專(zhuān)門(mén)用于存放現(xiàn)行指令的16位地址的。cpu就是根據(jù)pc中的地址到rom中去讀取程序指令碼和數(shù)據(jù),并送給指令寄存器ir進(jìn)行分析。指令寄存器ir用于存放cpu根據(jù)pc地址從rom中讀出的指令操作碼。指令譯碼器id是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后產(chǎn)生相應(yīng)于某一特定操作的信號(hào)。定時(shí)控制邏輯中定時(shí)部件用來(lái)產(chǎn)生脈沖序列和多種節(jié)拍脈沖。 113寄存器陣列:寄存器陣列是單片機(jī)內(nèi)部的臨時(shí)存儲(chǔ)單元或固定用途單元,包括通用寄存器組和專(zhuān)用寄存器組。通用寄存器組用來(lái)存放過(guò)渡性的數(shù)據(jù)和地址,提高cpu的運(yùn)行速度。專(zhuān)用寄存

6、器組主要用來(lái)指示當(dāng)前要執(zhí)行指令的內(nèi)存地址,存放特定的操作數(shù),指示指令運(yùn)行的狀態(tài)等。114存儲(chǔ)器: 89c51單片機(jī)內(nèi)部有256個(gè)字節(jié)的ram數(shù)據(jù)存儲(chǔ)器和4kb的閃存程序存儲(chǔ)器(flash),當(dāng)不夠使用時(shí),可分別擴(kuò)展為64 kb外部ram存儲(chǔ)器和64 kb外部程序存儲(chǔ)器。它們的邏輯空間是分開(kāi)的,并有各自的尋址機(jī)構(gòu)和尋址方式。這種結(jié)構(gòu)的單片機(jī)稱(chēng)為哈佛型結(jié)構(gòu)單片機(jī)。程序存儲(chǔ)器是可讀不可寫(xiě)的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲(chǔ)器是既可讀也可寫(xiě)的,用于存放運(yùn)算的中間結(jié)果,進(jìn)行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。89c51單片機(jī)對(duì)外部電路進(jìn)行控制或交換信息都是通過(guò)i/o端口進(jìn)行的。單片機(jī)的i/o端口分為并行i/o端

7、口和串行i/o端口,它們的結(jié)構(gòu)和作用并不相同。并行i/o端口: 89c51有四個(gè)8位并行i/o端口,分別命名為p0口、p1口、p2口和p3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進(jìn)制信息。 串行i/o端口:89c51有一個(gè)全雙工的可編程串行i/o端口,它利用了p3口的第二功能,即將p3.1引腳作為串行數(shù)據(jù)的發(fā)送線txd,將p3.0引腳作為串行數(shù)據(jù)的接收線rxd。 115 定時(shí)器/計(jì)數(shù)器:89c51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,簡(jiǎn)稱(chēng)為定時(shí)器0(t0)和定時(shí)器1(t1),t0和t1分別由兩個(gè)8位寄存器構(gòu)成,其中t0由th0(高8位)和tl0(低8位)構(gòu)成,t1由th1(高8位

8、)和tl1(低8位)構(gòu)成。th0、tl0、th1、tl1都是sfr中的特殊功能寄存器。t0和t1在tcon和tmod的控制下可工作在定時(shí)器模式或計(jì)數(shù)器模式下,每種模式下又有不同的工作方式。當(dāng)定時(shí)或計(jì)數(shù)溢出時(shí)還可申請(qǐng)中斷。116中斷系統(tǒng):單片機(jī)中的中斷是指cpu暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù)(執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指夠處理上述中斷過(guò)程所需要的部分電路。89c51的中斷系統(tǒng)由中斷源、中斷允許控制器ie、中斷優(yōu)先級(jí)控制器ip、定時(shí)器控制器tcon(中斷標(biāo)志寄存器)等構(gòu)成,ie、ip、tcon均為sfr特殊功能寄存器(見(jiàn)表2.2)。117內(nèi)部總

9、線:總線是用于傳送信息的公共途徑??偩€可分為數(shù)據(jù)總線、地址總線和控制總線。單片機(jī)內(nèi)的cpu、存儲(chǔ)器、i/o接口等單元部件都是通過(guò)總線連接到一起的。采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,增強(qiáng)系統(tǒng)靈活性。89c51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。118 89c51單片機(jī)引腳及其功能:89c51有40條引腳,與其他51系列單片機(jī)引腳是兼容的。這40條引腳可分為i/o端口線、電源線、控制線、外接晶體線四部分。其封裝形式有兩種:雙列直插封裝(dip)形式和方形封裝形式,如圖所示。 (a) 雙列直插式封裝 (b) 方形封裝圖1 89c51封裝和引腳分配圖119 8

10、9c51單片機(jī)工作方式:單片機(jī)在開(kāi)機(jī)時(shí)或在工作中因干擾而使程序失控或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位的作用是使中央處理器cpu以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。1191 復(fù)位原理:89c51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由reset(rst)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持rst引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位。復(fù)位后,pc程序計(jì)數(shù)器的內(nèi)容為0000h,其他特殊功能寄存器的復(fù)位狀態(tài)如表2.5所示。片內(nèi)ram中內(nèi)容不變。1192 常用復(fù)位電路: 一般有上電復(fù)位、手動(dòng)開(kāi)關(guān)復(fù)位和自動(dòng)復(fù)位電路三種,如圖所示。 (a)上電復(fù)位電路;

11、(b) 手動(dòng)復(fù)位電路;(c) 自動(dòng)復(fù)位電路圖2 單片機(jī)復(fù)位電路圖1193 89c51時(shí)鐘電路: 單片機(jī)內(nèi)各部件之間有條不紊的協(xié)調(diào)工作,其控制信號(hào)是在一種基本節(jié)拍的指揮下按一定時(shí)間順序發(fā)出的,這些控制信號(hào)在時(shí)間上的相互關(guān)系就是cpu時(shí)序。而產(chǎn)生這種基本節(jié)拍的電路就是振蕩器和時(shí)鐘電路。 89c51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的單級(jí)反相放大器,如圖所示。 圖3 89c51內(nèi)部振蕩器電路圖引腳xtal1為反相器輸入端,xtal2為反相器輸出端。當(dāng)在放大器兩個(gè)引腳上外接一個(gè)晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反饋元件時(shí),便構(gòu)成一個(gè)自激振蕩器,如下圖所示。圖4 內(nèi)部振蕩器等效電路圖12 單片

12、機(jī)的應(yīng)用領(lǐng)域121 在智能儀器儀表的應(yīng)用: 單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類(lèi)型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。122在家用電器中的應(yīng)用:可以這樣說(shuō),現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門(mén),無(wú)所不在。123在工業(yè)控制中的應(yīng)用:

13、 用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。124在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用:現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車(chē)無(wú)線通信、再到日常工作中隨處可見(jiàn)的移動(dòng)電話,集群移動(dòng)通信,無(wú)線電對(duì)講機(jī)等。125單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用: 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病

14、床呼叫系統(tǒng)等等。 此外,單片機(jī)在工商、金融、科研、教育、國(guó)防航空等領(lǐng)域都有著十分廣泛的用途。 13單片機(jī)的發(fā)展趨勢(shì) 單片機(jī)現(xiàn)在可以說(shuō)是百花齊放,百家爭(zhēng)鳴的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流c51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供了廣闊的天地。縱觀單片機(jī)的發(fā)展過(guò)程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:131微型單片化: 現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(cpu)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(ram)、只讀程序存儲(chǔ)器(rom)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)

15、型的單片機(jī)集成了如a/d轉(zhuǎn)換器、pmw(脈寬調(diào)制電路)、wdt(看門(mén)狗)、有些單片機(jī)將lcd(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中smd(表面封裝)越來(lái)越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。132低功耗cmos化:mcs-51系列的8031推出時(shí)的功耗達(dá)630mw,而現(xiàn)在的單片機(jī)普遍都在100mw左右,隨著對(duì)單片機(jī)功耗要求越來(lái)

16、越低,現(xiàn)在的各 個(gè)單片機(jī)制造商基本都采用了cmos(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80c51就采用了hmos(即高密度金屬氧化物半導(dǎo)體工藝)和chmos(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。cmos雖然功耗低,但由于其物理特征決定其工作速度不夠高,而chmos則具備了高速和低功耗的特點(diǎn),這些特征,更適合于要求低功耗像電池供電的應(yīng)用場(chǎng)合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。133主流與多品種共存: 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80c51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有philips公司的產(chǎn)品,atmel公司的產(chǎn)品和中國(guó)臺(tái)灣的winbond系列單片機(jī)。所以8

17、0c51占據(jù)了半壁江山。而microchip公司的pic精簡(jiǎn)指令集合(risc)也有著強(qiáng)勁的發(fā)展勢(shì)頭,中國(guó)臺(tái)灣的holtex公司近年的單片機(jī)產(chǎn)量與日俱增,與其底價(jià)質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)份額。此外還有motorola公司的產(chǎn)品,日本幾大公司的專(zhuān)用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ)、相輔相成、共同發(fā)展的道路。 九十年代以后,單片機(jī)在結(jié)構(gòu)上采用雙cpu或內(nèi)部流水線,cpu位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20mhz,片內(nèi)帶有pwm輸出、監(jiān)視定時(shí)器wdt、可編程計(jì)數(shù)器陣列pca、dma傳輸、調(diào)制解調(diào)器等。芯片向高度集成化、低功耗方

18、向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過(guò)程控制、高級(jí)機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類(lèi)單片機(jī)有nec公司的mpd7800,mitsubishi公司的m337700,revkwell公司的r6500。第二章 ad9954簡(jiǎn)介21 ad9954的內(nèi)部結(jié)構(gòu)ad9954的內(nèi)部結(jié)構(gòu)如圖1所示,其主要特性如下: 內(nèi)置400msps時(shí)鐘; 內(nèi)含l4位dac;相位、幅度可編程;有32位頻率轉(zhuǎn)換字;可用串行io控制;內(nèi)置超高速模擬比較器可自動(dòng)線性和非線性掃頻內(nèi)部集成有1024 x 32位ram;采用18v電源供電;可4 20倍倍頻;支持大多數(shù)數(shù)字輸入中的5、,輸入電

19、平;可實(shí)現(xiàn)多片同步。 22引腳說(shuō)明ad9954采用48腳tqfpep封裝,其引腳排列如圖2所示,各引腳定義如下:i0 update:在該引腳的上升沿可把內(nèi)部緩沖存儲(chǔ)器中的內(nèi)容送到io寄存器中。引腳電平的建立和保持與sync-clk輸出信號(hào)有關(guān);dvdd和avdd:數(shù)字與模擬電源引腳,電壓值為18v;dgnd和agnd:數(shù)字地與模擬地;oscreclk和oscrefclk:參考時(shí)鐘或振蕩輸入端;限srai。out:振蕩器輸出端;clkmodesetect:振蕩器控制端,為1時(shí)使能振蕩器,為0時(shí)不使能振蕩器;loopfilter:該引腳應(yīng)與avdd間串聯(lián)一個(gè)1kq電阻和一個(gè)01ttf電容;iout

20、和iout:dac輸出端,使用時(shí)應(yīng)接一個(gè)上拉電阻;dacbp:dac去耦端,使用時(shí)應(yīng)接一個(gè)001ttf的旁路電容;dacr鯽:dac復(fù)位端,使用時(shí)應(yīng)通過(guò)一個(gè)392kq的電阻接至agnd端;co out:比較器輸出端,可以輸出方波或脈沖信號(hào);comp_in和compin:比較器輸入端;pwrdwnctl:外部電源掉電控制輸入引腳;砒蕊r:芯片復(fù)位端;iosync:異步串行端口控制復(fù)位引腳;為1時(shí),當(dāng)前io操作立即停止;為0時(shí)開(kāi)始新的io操作;不用時(shí),此引腳必須接地;sdo:采用3線串口操作時(shí),sdo為串行數(shù)據(jù)輸出端。采用2線串口操作時(shí),sdo不用,可以不連;cs:片選端,低電平有效,允許多芯片共

21、用io總線;sclk:io操作的串行數(shù)據(jù)時(shí)鐘輸入端;sd10:采用3線串口操作時(shí),sdo為串行數(shù)據(jù)輸入端,采用2線操作時(shí),sdo為雙向串行數(shù)據(jù)端;dvdd_io:i0電源,可以是18v或33v;syncin:同步多片ad9954的輸入信號(hào),使用時(shí)與主ad9954的syncclk的輸出相連;syncclk:時(shí)鐘輸出腳,為內(nèi)部時(shí)鐘的14,可用作外圍硬件同步;osk:在編程操作時(shí)可用該腳來(lái)控制幅度與時(shí)間斜率,與sync-clk同步;當(dāng)osk不能被編程時(shí),此腳接dgnd;ps1和ps0:可用來(lái)選擇4個(gè)ram段控制字區(qū)中的一個(gè)。23 ad9954的串行操作在ad9954的串行操作中,指令字節(jié)用來(lái)指定讀寫(xiě)

22、操作和寄存器地址。由于串行操作是在寄存器級(jí)別上發(fā)生的,因此串行端口控制器應(yīng)能識(shí)別指令字節(jié)寄存器地址和自動(dòng)產(chǎn)生適當(dāng)?shù)募拇嫫髯止?jié)地址。在串行操作指令階段和通信階段,一般先傳送指令階段的指令字,指令階段對(duì)應(yīng)于sclk的前8個(gè)上升沿,其對(duì)應(yīng)的指令字(8比特)包含了以下信息:其中rw位用于決定指令字后的操作是讀還是寫(xiě),高電平為讀出,低電平為寫(xiě)入;6、5位的電平高低與操作無(wú)關(guān);40位則對(duì)應(yīng)于a4a0,表示操作串行寄存器地址,該地址信息同時(shí)包含了與該指令字所在指令段對(duì)應(yīng)的通信段的傳送字節(jié)數(shù)。指令階段后接著是通訊階段,傳送對(duì)應(yīng)于字節(jié)數(shù)的幾個(gè)通信周期。通信周期完成后,ad9954的串口控制器即認(rèn)為接下來(lái)的8個(gè)s

23、clk的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字。iosync引腳為高時(shí)將立即終止當(dāng)前的通信周期,而當(dāng)iosync引腳狀態(tài)回到低電平時(shí),ad9954串口控制器即認(rèn)為接下來(lái)的8個(gè)系統(tǒng)時(shí)鐘的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字,從而保持通信的同步。ad9954的串行操作有兩種數(shù)據(jù)傳送方式,即從最高位開(kāi)始傳送和從最低位開(kāi)始傳送,這是由控制寄存器0的第8位來(lái)決定的。默認(rèn)狀態(tài)為低電平,此時(shí)先傳送最高位,若為高電平則先傳送最低位。串行操作 的讀寫(xiě)時(shí)序如圖3所示。24 ad9954的ramad9954內(nèi)部的1024×32靜態(tài)ram具有雙向單一人口,對(duì)它進(jìn)行的讀寫(xiě)操作不能同時(shí)進(jìn)行,寫(xiě)操作優(yōu)先。ram的使

24、能位是cfr<31> (控制功能寄存器的31位),此位為低時(shí),對(duì)ram的操作只能通過(guò)串行端口;此位為高且cfr<30> 為邏輯0時(shí),ram的輸出為相位累加器的輸入,此時(shí)給芯片提供的是頻率轉(zhuǎn)換字;此位為高且cfr<30> 為邏輯1時(shí),ram的輸出可作為相位偏移加法器的輸入給芯片提供相位偏移控制字。寫(xiě)ram的操作首先通過(guò)控制psi、pso來(lái)選擇ram段,然后再對(duì)相應(yīng)的ram控制寄存器寫(xiě)ram操作的地址變化率、起始地址、終止地址、模式控制和停留方式位。ram段控制寄存器的5、6、7位可用來(lái)指示ram操作的5種模式,即直接轉(zhuǎn)換模式、上斜坡模式、雙向斜變模式、連續(xù)雙向

25、斜變模式和連續(xù)循環(huán)模式。其中連續(xù)循環(huán)模式是使能ram,ram模式控制字為100,這種模式可提供自動(dòng)、連續(xù)、單向的掃頻,地址發(fā)生器從起始地址開(kāi)始,當(dāng)其增加到終止地址后會(huì)自動(dòng)回到起始地址重新開(kāi)始下次循環(huán)。ram段控制寄存器的39 24位可定義ram控制器在每個(gè)地址停留的sync-cik的周期數(shù)取值范圍是165535;9、8、2316位用于定義10位終止地址;30、1510位則用于定義10位起始地址。寄存器表1。25 如下為dds的基本原理第三章 單片機(jī)與ad9954通信31硬件原理 ad9954發(fā)射出信號(hào)電平轉(zhuǎn)換單片機(jī)8051at89s5232 程序圖主函數(shù)寫(xiě)入頻率將浮點(diǎn)型頻率值mhz轉(zhuǎn)換成頻率控

26、制字頻率控制字寫(xiě)入ad9954發(fā)出頻率此程序的關(guān)健是單片機(jī)與ad9954進(jìn)行通信,只須看懂時(shí)序圖就可以了。第四單 調(diào)試下面用keil uvision與 porteus仿真軟件介紹數(shù)字計(jì)算器的仿真與調(diào)試。41keil c51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)411 系統(tǒng)的整體結(jié)構(gòu):c51工具包的整體結(jié)構(gòu)中,其中uvision與ishell分別是c51 for windows和for dos的集成開(kāi)發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及a51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由lib51創(chuàng)建生成庫(kù)文

27、件,也可以與庫(kù)文件一起經(jīng)l51連接定位生成絕對(duì)目標(biāo)文件(.abs)。abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如eprom中。412 采用keil 開(kāi)發(fā)的89c51單片機(jī)應(yīng)用程序步驟:.在uvision 集成開(kāi)發(fā)環(huán)境中創(chuàng)建新項(xiàng)目(project),擴(kuò)展文件名為.uv2,并為該項(xiàng)目選定合適的單片機(jī)cpu器件(本設(shè)計(jì)采用atmel 公司下的at89c51).用uvision 的文本編輯器編寫(xiě)源文件,可以是匯編文件(.asm),也可以使c語(yǔ)言文件(擴(kuò)展名.c),并將該文件

28、添加到項(xiàng)目中去。一個(gè)項(xiàng)目文件可以包含多個(gè)文件,除了源程序文件外,還可以是庫(kù)文件、頭文件或文本說(shuō)明文件。.通過(guò)uvision 2 的相關(guān)選擇項(xiàng),配置編譯環(huán)境、連接定位器以及debug調(diào)試器的功能。.對(duì)項(xiàng)目中的源文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的hex文件,如果出現(xiàn)編譯連接錯(cuò)誤則返回到第2步,修改源文件中的錯(cuò)誤后重構(gòu)整個(gè)項(xiàng)目。.對(duì)沒(méi)有語(yǔ)法錯(cuò)誤的程序進(jìn)行仿真調(diào)試,調(diào)試成功后將hex文件寫(xiě)入到單片機(jī)應(yīng)用系統(tǒng)的rom中。第五章 結(jié)束語(yǔ)畢業(yè)設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單

29、片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此作為自動(dòng)化專(zhuān)業(yè)的學(xué)生來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的。 我的題目是單片機(jī)與ad9954硬軟件的設(shè)計(jì),對(duì)于我們這些工科學(xué)生來(lái)說(shuō),這是一次考驗(yàn)。怎么才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣讓自己的業(yè)余更接近專(zhuān)業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無(wú)一用?這都是我們所要考慮和努力的。這次畢業(yè)設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒。不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一

30、些簡(jiǎn)單的編程。通過(guò)這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)匯編語(yǔ)言掌握得不夠好。這次畢業(yè)設(shè)計(jì)通過(guò)自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成了。參考文獻(xiàn):1 侯玉寶, 陳忠平,,李成群. 基于proteus的51系列單片機(jī)設(shè)計(jì)與仿真 北京 電子工業(yè)出版社,20082 沈德金,陳粵初mcs-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗本?/p>

31、航空航天大學(xué)出版社,19903 胡漢才.單片機(jī)原理及接口技術(shù).清華大學(xué)出版社,19964 何立民mcs-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)北京航空航天大學(xué)出版社,199015 張毅剛、彭喜元、姜守達(dá)、喬立巖新編mcs-51系列單片機(jī)應(yīng)用設(shè)計(jì)哈爾濱工業(yè)大學(xué)出版社,2003.66 康萬(wàn)新,謝維成,楊加國(guó).畢業(yè)設(shè)計(jì)指導(dǎo)及案例剖析,清華大學(xué)出版社, 2007年7 馬忠梅等單片機(jī)c語(yǔ)言應(yīng)用程序設(shè)計(jì)北京航空航天大學(xué)出版社,1997:201-2118 付家才,單片機(jī)控制工程實(shí)踐技術(shù),化學(xué)工業(yè)出版社,2004年9 及力,馬東升.protel 99se原理圖與pcb設(shè)計(jì)教程,電子工業(yè)出版社,2007年10 黃智偉.全國(guó)

32、大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,2006年附表一:附表二:#include <reg51.h>/#include"ad9954.h"unsigned long cfr1 =0;unsigned long cfr1slave=0x00800000;unsigned long cfr2 =0;unsigned long asf;unsigned long arr;unsigned long ftw0;unsigned long pow0;unsigned long ftw1;unsigned long nlscw=0xff000053e2;uns

33、igned long plscw=0xff000053e2;unsigned long multfreq=0xffffffff;/計(jì)算頻率控制字的系數(shù)unsigned long cs2,pwr,ret,clkms;sbit ps1=p10;sbit ps0=p11; /ram部分先擇控制sbit sdio=p13;/當(dāng)做為3線口操作時(shí)做為串行數(shù)據(jù)輸入,采用2線時(shí),為雙向數(shù)據(jù)口sbit sclk=p14;/串行數(shù)據(jù)時(shí)鐘輸入端sbit cs=p15;/片選項(xiàng),允許多個(gè)芯片共用i/o總線 sbit osk=p12;/編程操作時(shí)用來(lái)控制幅度與時(shí)間的斜率sbit io_update=p21;/在上升沿將

34、buffer中的數(shù)據(jù)送到i/o寄存器中sbit io_sync=p17;/異步串行端口復(fù)位控制,為高停止,為0時(shí)繼續(xù)開(kāi)始新的i/o操作sbit sdo=p16;/sbit jiak=p23;/sbit youyik=p22;/sbit zuoyik=p21;/sbit jiank=p20;/*函數(shù)名稱(chēng):端口操作*功能描述:ad9954端口基本操作*輸入:無(wú)*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:無(wú)*/void sclk_0(void) sclk=0;void sclk_1(void) sclk=1;void sdio_0(void) sdio=0;void sdio_1(void) sdio=1;

35、void cs_enable(void) cs=0; void cs_disable(void) cs=1;void cs2_enable(void)cs2=0;void cs2_disable(void)cs2=1;void io_update_0(void)io_update=0;void io_update_1(void)io_update=1;void io_sync_1(void)io_sync=1;void io_sync_0(void) io_sync=0;void ps0_set_high(void)ps0=1;void ps0_set_low(void)ps0=0;void

36、ps1_set_high(void)ps1=1;void ps1_set_low(void)ps1=0;/*函數(shù)名稱(chēng):io9954_init*功能描述:io_init*輸入:無(wú)*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:無(wú)*/void io9954_init() pwr=0; ret=0; cs2=0; clkms=0; io_update=0; io_sync=0; sdio=0; sclk=0; cs=0; sdo=0;/*函數(shù)名稱(chēng):nnop*功能描述:us級(jí)軟件延時(shí)(不精確)*輸入:延時(shí)參數(shù),值越大時(shí)延時(shí)越久*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:無(wú)*/void nnop(unsigned long

37、 nvalue)unsigned long i;for(i=nvalue;i>0;i-);/*函數(shù)名稱(chēng):writebyte*功能描述:向ad9954發(fā)送一字節(jié)數(shù)據(jù)msb first*輸入:unsigned char data發(fā)送的數(shù)據(jù)*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:端口操作nnop*/void writebyte(unsigned char data)unsigned char k;for(k=0;k<8;k+)sclk_0();nnop(4);/延時(shí)很重要if(data&0x80)=0x80)sdio_1();elsesdio_0();data=data<1;n

38、nop(2);/延時(shí)很重要sclk_1();nnop(4);/延時(shí)很重要/*函數(shù)名稱(chēng):readbyte*功能描述:從ad9954讀取一字節(jié)數(shù)據(jù)msb first* 輸入:無(wú)*輸出:unsigned char讀回的數(shù)據(jù)*全局變量:無(wú)*調(diào)用模塊:端口操作*/unsigned char readbyte(void)unsigned char data=0;unsigned char k;sdio=0;for(k=0;k<8;k+)sclk_0();nnop(1);nnop(1);sclk_1();nnop(1);nnop(1);data=data<<1;if(sdio)data|=

39、0x01;sdio=1;return data;/*函數(shù)名稱(chēng):rw_reg*功能描述:ad9954讀寫(xiě)寄存器操作*輸入:unsigned char addr寄存器地址*unsigned char *buf寫(xiě)寄存器:指向發(fā)送數(shù)據(jù)的指針*讀寄存器:指向讀回?cái)?shù)據(jù)的指針*unsigned char num發(fā)送或讀回的數(shù)據(jù)長(zhǎng)度 num byte*unsigned char rw讀寫(xiě)選擇1 讀0寫(xiě)*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:readbyte writebyte*/void rw_reg(unsigned char addr,unsigned char*buf,unsigned char num,u

40、nsigned char rw)unsigned char ins;if(rw=1)ins=addr|0x80;writebyte(ins);dobufnum-1=readbyte();num-;nnop(5);while(num);elseins=addr;writebyte(ins);dowritebyte(bufnum-1);num-;nnop(5);while(num);/*函數(shù)名稱(chēng)ad9954_write_reg*功能描述:ad9954寫(xiě)寄存器操作*輸入:unsigned long command寫(xiě)入寄存器的指令*unsigned char num發(fā)送或讀回的數(shù)據(jù)長(zhǎng)度num byte

41、*unsigned char addr寄存器地址*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:rw_reg*/void ad9954_write_reg(unsigned long command,unsigned char num,unsigned char addr)unsigned char temp_com5=0,0,0,0,0;unsigned char i;unsigned long temp;temp=command;for(i=0;i<num;i+)temp_comi=(temp&0xff);temp=temp>>8;rw_reg(addr,temp_com,n

42、um,0);/*?*函數(shù)名稱(chēng):ftw_float*功能描述:將浮點(diǎn)型頻率值mhz轉(zhuǎn)換成頻率控制字*輸入:float freqfloat浮點(diǎn)型頻率值mhz*輸出:unsigned long4 byte頻率控制字*全局變量:無(wú)*調(diào)用模塊:無(wú)*/unsigned long ftw_float(float freqfloat)unsigned long temp=0; float freqf=0;freqf=freqfloat/20;/ad9954主頻20mhztemp=(freqf*multfreq);return(temp);/*?*函數(shù)名稱(chēng):更新數(shù)據(jù)操作*功能描述:每次更新寄存器的固定操作*輸入

43、:無(wú)*輸出:無(wú)*全局變量:無(wú)*調(diào)用模塊:無(wú)*/void ad9954_updata_first(void) io9954_init(); cs_enable(); io_sync_1(); nnop(40); io_sync_0(); io_update_0();void ad9954_updata_final(void)cs_disable();nnop(20);io_update_1();/*single-tone mode*/*函數(shù)名稱(chēng):ad9954_singletone_init*功能描述:ad9954 single-tone mode初始化*輸入:無(wú)*輸出:無(wú)*全局變量:cfr1 cfr2 ad9954功能控制寄存器*調(diào)用模塊:ad9954_write_reg*/void ad9954_singletone_init(void)cfr1=0x00000000;ad9954_updata_first();ad9954_write_reg(cfr1,4,0x00);/控制寄存器1ad9954_write_reg(cfr2,3,0x01);/控制寄存器2ad9954_updata_final();/*

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論