2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  緒  論1</b></p><p><b>  1 系統(tǒng)設(shè)計2</b></p><p>  1.1 方案論證2</p><p>  1.1.1 信號模塊2</p><p>

2、;  1.1.2 控制模塊3</p><p>  1.1.3 顯示模塊4</p><p>  1.1.4 鍵盤輸入模塊4</p><p>  1.1.5 系統(tǒng)各模塊的最終方案4</p><p>  1.2 理論分析與計算5</p><p>  1.2.1 頻率精度計算5</p>&

3、lt;p>  1.2.2 DDS的理論分析5</p><p>  1.2.3 DDS的參數(shù)計算6</p><p>  2 硬件系統(tǒng)設(shè)計7</p><p>  2.1 硬件元器件的選用7</p><p>  2.1.1 C8051F020控制芯片簡介7</p><p>  2.1.2 AD995

4、4簡介9</p><p>  2.2 單元硬件電路設(shè)計13</p><p>  2.2.1 矩陣(4×4)鍵盤電路13</p><p>  2.2.2 電源電路14</p><p>  2.2.3 電壓調(diào)幅電路14</p><p>  2.2.4 方波電路14</p>&l

5、t;p>  2.2.5 三角波電路15</p><p>  3 軟件系統(tǒng)設(shè)計16</p><p>  3.1 程序流程圖16</p><p><b>  4 系統(tǒng)測試19</b></p><p>  4.1 仿真測試19</p><p>  4.2 指標(biāo)測試19</p&g

6、t;<p>  4.3測試方法20</p><p><b>  5 結(jié)束語22</b></p><p><b>  致謝23</b></p><p><b>  參考文獻(xiàn)24</b></p><p>  附錄一 對AD9954編程的主要源程序清單25&

7、lt;/p><p>  附錄二 LCD顯示子程序35</p><p>  摘 要:隨著數(shù)字集成電路、微電子技術(shù)和EDA技術(shù)的深入研究,DDS技術(shù)以其有別于其它頻率合成技術(shù)的優(yōu)越性能和特點(diǎn),成為現(xiàn)代頻率合成技術(shù)中的佼佼者。根據(jù)題目要求,我們以單片機(jī)C8051F020芯片和AD9954芯片為核心,輔以必要的模擬電路,設(shè)計一臺信號發(fā)生器,使之能產(chǎn)生正弦波、方波和三角波。該系統(tǒng)主要由控制模塊、信號

8、模塊、顯示模塊、鍵盤輸入模塊構(gòu)成。僅用單片AD9954就實(shí)現(xiàn)了直接數(shù)字頻率合成技術(shù)(DDS),產(chǎn)生穩(wěn)幅正弦波。輸出的正弦波經(jīng)過比較電路來實(shí)現(xiàn)方波的輸出,而三角波則是在方波的基礎(chǔ)上通過接入積分電路來實(shí)現(xiàn)的。單片機(jī)對內(nèi)部寄存器控制,AD9954就可以產(chǎn)生一個頻譜純凈、頻率和相位都可編程控制且穩(wěn)定性很好的模擬波形,整個系統(tǒng)結(jié)構(gòu)緊湊,電路簡單,功能強(qiáng)大,可擴(kuò)展性強(qiáng)。通過鍵盤輸入、LCD顯示形成人機(jī)交互界面,實(shí)現(xiàn)對輸出信號的控制。</p&g

9、t;<p>  關(guān)鍵詞:信號發(fā)生器;C8051F020;直接數(shù)字頻率合成器(DDS);AD9954</p><p>  Abstract:As digital integrated circuits, microelectronic technology and in-depth study of EDA technology, its technology is different from ot

10、her DDS frequency synthesizer technology and the superior performance characteristics of a modern frequency synthesis technology leader. Under the title, we C8051F020 microcontroller chip and AD9954 chip as the core, sup

11、plemented by the necessary circuit simulation, design a signal generator, so that it can produce sine, square and triangular wave. The syst</p><p>  Keywords: signal generator; C8051F020; Direct Digital Synt

12、hesis (DDS); AD9954</p><p><b>  緒  論</b></p><p>  直接數(shù)字頻率合成技術(shù)(direct digital synthesizer,DDS)是在20世紀(jì)7O年代提出的,利用數(shù)字可控振蕩器技術(shù),直接以數(shù)字信號控制產(chǎn)生高精度頻率信號,頻率分辨率可達(dá)LHz,與傳統(tǒng)的直接頻率合成(Ds)、鎖相環(huán)間接頻率合成(PLL ),F(xiàn)NP

13、LL合成和PSG單環(huán)路合成相比,具有頻率切換時間極短、頻率分辨率高、相位連續(xù),相噪低,結(jié)構(gòu)簡單、體積小、成本低等優(yōu)勢。鑒于DDS技術(shù)有如此優(yōu)越的條件,現(xiàn)在大多數(shù)設(shè)備、系統(tǒng)都采用了這種技術(shù)。當(dāng)然,作為通信系統(tǒng)中必不可少的信號發(fā)生器也越來越多地容納了該技術(shù),本文將要介紹的是基于ADI公司生產(chǎn)的DDS芯片AD9954的信號發(fā)生器的設(shè)計方案。</p><p>  AD9954是采用先進(jìn)的DDS技術(shù)開發(fā)的高集成度DDS器件

14、。其主要特性如下:內(nèi)置400MSPS時鐘;內(nèi)含l4位DAC;相位、幅度可編程;有32位頻率轉(zhuǎn)換字;可用串行I/0控制;內(nèi)置超高速模擬比較器;可自動線性和非線性掃頻;內(nèi)部集成有1024×32位RAM;采用1.8V電源供電;可4~20倍頻;支持大多數(shù)數(shù)字輸入中的5V輸入電平。</p><p>  控制芯片選擇C8051F020,通過對AD9954編程實(shí)現(xiàn)正弦波,該輸出的正弦波能達(dá)到MHZ以上,輸出是波形失真

15、率極低。用LCD和鍵盤作為良好的人機(jī)界面,用鍵盤輸入要顯示的頻率,LCD顯示頻率的大小。將輸出的正弦波經(jīng)比較器電路來實(shí)現(xiàn)方波的輸出,經(jīng)實(shí)驗(yàn)發(fā)現(xiàn)輸出的方波能達(dá)到100KHZ以上且輸出的波形失真率小,波形純真。輸出的方波再經(jīng)過積分電路便得到三角波,經(jīng)實(shí)驗(yàn)觀察可以看到,輸出的波形正常,能達(dá)到KHZ以上,輸出的波形失真率低。</p><p><b>  1 系統(tǒng)設(shè)計</b></p>&

16、lt;p><b>  1.1 方案論證</b></p><p>  1.1.1 信號模塊</p><p>  方案一:采用專用信號發(fā)生器。MAX038是美信公司的低失真單片信號發(fā) 生器集成電路,內(nèi)部電路完善。使用該芯片,設(shè)計簡單,可以生成同一頻率信號的各種波形信號,但頻率精確度和穩(wěn)定度都難以達(dá)到要求。</p><p>  方案二:采用傳

17、統(tǒng)的直接頻率合成法直接合成。利用混頻器、倍頻器、分頻器和帶通濾波器完成對頻率的算術(shù)運(yùn)算。由于采用大量的倍頻、分頻、混頻和濾波環(huán)節(jié),導(dǎo)致直接頻率合成器的結(jié)構(gòu)復(fù)雜,體積龐大,成本高,而且容易產(chǎn)生過多的雜散分量,難以達(dá)到較高的頻譜純度。</p><p>  方案三:采用鎖相環(huán)間接頻率合成(PPL)。雖然具有工作頻率高、寬帶、頻譜質(zhì)量好的優(yōu)點(diǎn),但由于鎖相環(huán)本身是一個惰性環(huán)節(jié),鎖定時間較長,故頻率轉(zhuǎn)換時間較長。另外,由模擬

18、方法合成的正弦波的參數(shù)(如幅度、頻率和相位等)都很難控制,不易實(shí)現(xiàn)。</p><p>  方案四:采用直接數(shù)字合成(Direct Digital Frequency Synthesizer,簡稱DDS或DDFS)。用隨機(jī)讀/寫存儲器RAM存儲所需波形的量化數(shù)據(jù),按照不同頻率要求,以頻率控制字K為步進(jìn)對相位增量進(jìn)行累加,以累加相位值作為地址碼讀取存在存儲器內(nèi)的波形數(shù)據(jù),經(jīng)D/A轉(zhuǎn)換和幅度控制,再濾波即可得所需波形。

19、由于DDS具有相對帶寬很寬,頻率轉(zhuǎn)換時間極短(可小于20微妙),頻率分辨率高,全數(shù)字化結(jié)構(gòu)便于集成以及輸出相位連續(xù),頻率、相位和幅度均可實(shí)現(xiàn)程控,因此,可以完全滿足本題目的要求。</p><p>  DDS的原理框圖如圖1所示:</p><p>  圖1 DDS原理框圖</p><p>  DDS技術(shù)頻率分辨率高、轉(zhuǎn)換速度快、信號純度高、相位可控、輸出信號無電流脈

20、沖疊加、輸出可平穩(wěn)過渡且相位可保持連續(xù)變化。</p><p>  方案論證:從題目要求來看,上述三種方案都可以滿足題目合成頻率范圍的要求,但信號發(fā)生器產(chǎn)生的頻率穩(wěn)定度、精確度都不如DDS合成的頻率;另一方面,DDS比信號發(fā)生器更容易精確控制,所以我們選擇DDS方案進(jìn)行頻率合成。</p><p>  1.1.2 控制模塊</p><p>  方案一:采用89C51芯

21、片單片機(jī),現(xiàn)在市場很多成品都在用它,但89C51最大的缺陷在于不支持ISP(在線更新程序)功能,。對于短短幾天的比賽時間,用編程器對它進(jìn)行燒寫程序,是非常浪費(fèi)時間和精力的,如果將來要對產(chǎn)品進(jìn)行升級的話也是非常困難的。因此不考慮用80C51作控制模塊的主芯片。</p><p>  方案二:采用89C2051開發(fā)制造產(chǎn)品,因?yàn)?051看起來體積比較小,功能也較全面.但是2051不是標(biāo)準(zhǔn)的51內(nèi)核,所以89C2051的

22、程序不能直接移植到51上。由于2051是精簡型,所以P口變得很少,這樣一來可利用資源比較緊張,只能做一些簡單的產(chǎn)品。因此,對于本設(shè)計來說是不想適應(yīng)的。</p><p>  方案三:采用SST系列單片機(jī),SST單片機(jī)是在AT89C系列單片機(jī)的基礎(chǔ)上改進(jìn)而成的,提高了工作頻率,可采用串口進(jìn)行在線編程調(diào)試,增加了內(nèi)存的容量和PAC可編程計數(shù)器等功能。從基本功能的改進(jìn)上與89S52系列基本上相同。并且這種單片機(jī)的價格高于

23、其它同類產(chǎn)品,并且很多的功能用不上,故不考慮用這個方案。</p><p>  方案四:C8051F020是Cygnal出的一種混合信號系統(tǒng)級單片機(jī)(片上系統(tǒng)SOC),片內(nèi)含CIP-51的CPU內(nèi)核,它的指令系統(tǒng)與MCS-51完全兼容;其中的C8051F020單片機(jī)含有64kB片內(nèi)Flash程序存儲器、4352B(256B+4KB)的RAM;8個I/O端口共64根I/O口線;一個12位A/D轉(zhuǎn)換器和一個8位A/D轉(zhuǎn)

24、換器以及一個雙12位D/A轉(zhuǎn)換器;2個比較器、5個16位通用定時器、5個捕捉/比較模塊的可編程計數(shù)/定時器陣列、看門狗定時器、VDD監(jiān)視器和溫度傳感器等部分;C8051F020單片機(jī)支持雙時鐘,其工作電壓范圍為2.7~3.6V(端口I/O,RST和JTAG引腳的耐壓為5V)。</p><p>  綜合上述,根據(jù)我們題目的要求,用低端產(chǎn)品,如89C51,不能很好的達(dá)到題目指標(biāo);用高端產(chǎn)品,如SST系列,它有很多的功

25、能用不上和“內(nèi)存”太大,等于大材小用,并且成本增加。與以前的51系列單片機(jī)相比,C8051F020增添了許多功能,同時其可靠性和速度也有了很大提高,且C8051F020的種種特點(diǎn)和所能達(dá)到的指標(biāo),對我們這個題目非常合適,因此最終采用C8051F020作為主控制芯片我們自制了單片機(jī)最小系統(tǒng)。</p><p>  1.1.3 顯示模塊</p><p>  方案一:采用LED數(shù)碼管顯示。雖然功

26、率低,控制簡單,但卻只能顯示數(shù)字和一些簡單的字符,沒有較好的人機(jī)界面。</p><p>  方案二:采用LCD液晶顯示,可以顯示所有字符及自定義字符,并能同時顯示多組數(shù)據(jù)漢字,字符清晰。由于自身具有控制器,不但可以減輕主單片機(jī)的負(fù)擔(dān),而且可以實(shí)現(xiàn)菜單驅(qū)動方式的顯示結(jié)果,實(shí)現(xiàn)編輯模塊全屏幕編輯的功能,達(dá)到友好的人機(jī)界面。用LCD顯示,能解決LED只能顯示數(shù)字等幾個簡單字符的缺點(diǎn),接口電路簡單,性能好,效果多,控制方

27、便,顯示的方式多。</p><p>  比較上述兩種方案,采用方案二。</p><p>  1.1.4 鍵盤輸入模塊</p><p>  方案一:采用傳統(tǒng)的獨(dú)立式按鍵。這種方式占用系統(tǒng)的資源較多,而且效率低,程序的編寫量大而復(fù)雜。</p><p>  方案二:為了提高單片機(jī)的資源利用率,按鍵部分使用矩陣(4×4)鍵盤。這種方法在開

28、關(guān)數(shù)量多的情況下可以節(jié)省很多的接口,并且提高系統(tǒng)接口的利用率。</p><p>  故:確定選擇采用方案二。</p><p>  1.1.5 系統(tǒng)各模塊的最終方案</p><p>  經(jīng)過仔細(xì)的分析與論證,決定系統(tǒng)各模塊的最終方案如下:</p><p>  信號模塊:采用AD9954;</p><p>  控制模塊:

29、采用C8051F020控制;</p><p>  顯示模塊:采用LCD顯示;</p><p>  鍵盤輸入模塊:采用矩陣(4×4)鍵盤;</p><p>  單片機(jī)C8051F020用于控制系統(tǒng)中LCD顯示、鍵盤的輸入的確認(rèn)及控制信號的輸出。系統(tǒng)基本框圖如圖2:</p><p>  圖2 系統(tǒng)基本框圖</p><

30、;p>  1.2 理論分析與計算</p><p>  1.2.1 頻率精度計算</p><p>  采用美國AD公司先進(jìn)的DDS直接數(shù)字頻率合成技術(shù)生產(chǎn)的高集成度產(chǎn)品AD9954芯片。AD9954內(nèi)部時鐘最大為400MSPS,內(nèi)置14位高速高精度DAC,1.8V低功耗工作,自帶頻率設(shè)置,幅度設(shè)置,相位設(shè)置,PSK,F(xiàn)SK,掃頻等功能,并有1024×4字節(jié)的RAM。其頻率

31、字為32位,故頻率絕對精度為HZ(系統(tǒng)時鐘為400M),當(dāng)頻率高于1KHZ時,相對精度為。</p><p>  1.2.2 DDS的理論分析</p><p>  DDS的基本原理是,在高速存儲器中放入正弦函數(shù)——相位數(shù)據(jù)表格,經(jīng)過查表操作,將讀出的數(shù)據(jù)送到高速DAC產(chǎn)生正弦波??删幊藾DS系統(tǒng)原理如圖三:</p><p>  圖3 可編程DDS系統(tǒng)原理</p

32、><p>  N:相位累加器位數(shù); M:相位累加器實(shí)際對ROM尋址的位數(shù)</p><p>  S:ROM輸出正弦信號(離散化)的位數(shù)</p><p>  位數(shù):相位累加器舍去的位數(shù),滿足位數(shù)=N-M</p><p>  DDS系統(tǒng)由頻率控制字、相位累加器、正弦查詢表、數(shù)/模轉(zhuǎn)換器和低通濾波器組成。參考時鐘為高穩(wěn)定度的晶體振蕩器,其輸

33、出用于同步DDS各組成部分的工作。DDS系統(tǒng)的核心是相位累加器,它由N位加法器與N位相位寄存器構(gòu)成,類似于一個簡單的計算器。每來一個時間脈沖,相位寄存器的輸出就增加一個步長的相位增量值,加法器將頻率控制數(shù)據(jù)與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加結(jié)果送至累加寄存器的數(shù)據(jù)輸入端。相位累加器進(jìn)入線性相位累加,累加至滿量程時產(chǎn)生一次計數(shù)溢出,這個溢出頻率即為DDS的輸出頻率。正弦查詢表是一個可編程只讀存儲器(PROM),存儲的是以相位為地址

34、的一個周期正弦信號的采樣編碼值,包含一個周期正弦波的數(shù)字幅度信息,每個地址對應(yīng)于正弦波中0~360°范圍的一個相位點(diǎn)。將相位寄存器的輸出與相位控制字相加,得到的數(shù)據(jù)作為一個地址對正弦查詢表進(jìn)行尋址,查詢表把輸入的地址相位信息映射成正弦波幅度信號,驅(qū)動DAC,輸出模擬信號。低通濾波器平滑并濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。</p><p>  1.2.3 DDS的參數(shù)計算</p&

35、gt;<p>  對于計數(shù)容量為2N相位累加器和具有M個相位取樣點(diǎn)的正弦波波形存儲器,若頻率控制字為K,輸出信號頻率為f o,參考時鐘頻率為f c,則DDS系統(tǒng)輸出信號的頻率為</p><p>  f o=kfc/2N</p><p>  輸出信號頻率的頻率分辨率為</p><p>  △f min=fc/2N</p><p>

36、  由奈奎斯特采樣定理可知,DDS輸出的最大頻率為</p><p>  f max=fc/2</p><p>  頻率控制字可由以上公式推出:</p><p>  K=f o×2N/fc</p><p>  當(dāng)外部參考時鐘頻率為50MHz,輸出頻率需要為1MHz時,系統(tǒng)時鐘經(jīng)過6倍頻,使得f c變?yōu)?00MHz,這樣就可利用以上公

37、式計算出DDS的需要設(shè)定的控制頻率字K=248/300</p><p><b>  2 硬件系統(tǒng)設(shè)計</b></p><p>  2.1 硬件元器件的選用</p><p>  2.1.1 C8051F020控制芯片簡介</p><p>  (1) C8051F020的功能</p><p>  

38、C8051F020是Cygnal出的一種混合信號系統(tǒng)級單片機(jī)(片上系統(tǒng)SOC),片內(nèi)含CIP-51的CPU內(nèi)核,它的指令系統(tǒng)與MCS-51完全兼容;其中的C8051F020單片機(jī)含有64kB片內(nèi)Flash程序存儲器、4352B(256B+4KB)的RAM;8個I/O端口共64根I/O口線大量減少了外部連線和器件擴(kuò)展;一個12位A/D轉(zhuǎn)換器和一個8位A/D轉(zhuǎn)換器以及一個雙12位D/A轉(zhuǎn)換器;2個比較器、5個16位通用定時器、5個捕捉/比較

39、模塊的可編程計數(shù)/定時器陣列、看門狗定時器、VDD監(jiān)視器和溫度傳感器等部分;C8051F020單片機(jī)支持雙時鐘,其工作電壓范圍為2.7~3.6V(端口I/O,RST和JTAG引腳的耐壓為5V)。C8051F020功能圖如圖4。</p><p>  圖4 C8051F020功能圖</p><p>  (2) C8051F020的特點(diǎn)</p><p><b&g

40、t;  a.運(yùn)行速度</b></p><p>  C8051F020的指令運(yùn)行速度是一般80C51系列單片機(jī)的10倍以上。因?yàn)槠銫IP-51中采用了流水線處理結(jié)構(gòu),已經(jīng)沒有了機(jī)器周期時序,指令執(zhí)行的最小時序單位為系統(tǒng)時鐘,大部分指令只要1~2個系統(tǒng)周期即可完成。又由于其時鐘系統(tǒng)比80C51的更加完善,有多個時鐘源,且時鐘源可編程,時鐘頻率范圍為0~25 MHz,當(dāng)CIP-5l工作在最大系統(tǒng)時鐘頻率25

41、 MHz時,它的峰值速度可以達(dá)到25 MI/s,C8051F020已進(jìn)入了8位高速單片機(jī)行列。</p><p>  b.I/O端口的配置方式</p><p>  C8051F020擁有8個8位的I/O端口,大量減少了外部連線和器件擴(kuò)展,有利于提高可靠性和抗干擾能力。其中低4個I/O端口除可作為一般的通用I/O端口外,還可作為其他功能模塊的輸入或輸出引腳,它是通過交叉開關(guān)配置寄存器XBR0、

42、XBR1、XBR2(各位名稱及格式如表1所示)選擇并控制的,它們控制優(yōu)先權(quán)譯碼選擇開關(guān)電路如圖1所示,可將片內(nèi)的計數(shù)器/定時器、串行總線、硬件中斷、比較器輸出及其它的數(shù)字信號配置為在端口I/O引腳出現(xiàn),這樣用戶可以根據(jù)自己的特定需要選擇所需的數(shù)字資源和通用I/O口。數(shù)字交叉開關(guān)是一個比較大的數(shù)字開關(guān)網(wǎng)路,這在所有80C51系列單片機(jī)上是一個空白。另外P1MDIN用于選擇P1的輸入方式是模擬輸入還是數(shù)字輸入,復(fù)位值為11111111B,即

43、默認(rèn)為數(shù)字輸入方式。而80C51單片機(jī)的I/O引腳是固定分配的,即占用引腳多,配置又不夠靈活。</p><p><b>  c.交叉開關(guān)</b></p><p>  C8051F020通過優(yōu)先權(quán)交叉開關(guān)譯碼器控制數(shù)字開關(guān)網(wǎng)路,端口引腳的分配順序是從P0.0開始一直到P3.7。當(dāng)交叉開關(guān)配置寄存器XBR0、XBR1和XBR2中外設(shè)的對應(yīng)使能位被設(shè)置為邏輯“1”時,交叉開

44、關(guān)將端口引腳分配給外設(shè),例如,如果UARTOEN位(XBR0.2)被設(shè)置為邏輯“1”,則TX0和RX0引腳將分別被分配到P0.0和P0.1。因?yàn)閁ART0有最高優(yōu)先權(quán),所以當(dāng)UARTOEN位被設(shè)置為邏輯“1”時其引腳將總是被分配到P0.0和P0.1。未被設(shè)置的交叉開關(guān)分配端口可作為通用I/O口。</p><p>  注意:當(dāng)選擇了串行通信外設(shè)(即SMBus、SPI或UART)時,交叉開關(guān)將為所有相關(guān)功能分配引腳。

45、例如,不能為UART0功能只分配TX0引腳而不分配RX0引腳。交叉開關(guān)寄存器被正確配置后,通過將XBARE(XBR2.6)設(shè)置為邏輯“1”來使能交叉開關(guān)。 在C8051F020軟件編程中須首先設(shè)置看門狗定時器的工作狀態(tài);其次,要由內(nèi)部振蕩器控制寄存器OSCICN設(shè)置采用內(nèi)部時鐘還是外部時鐘工作,若選擇外部時鐘可通過外部振蕩器控制寄存器OSCXCN來選擇適當(dāng)?shù)念l率,上題目采用內(nèi)部時鐘,并通過時鐘控制寄存器CKCON選擇使用系統(tǒng)時鐘的12分

46、頻。再次,若選擇的I/O口是低四個端口P0~P3作為工作口,需要設(shè)定寄存器XBR0、XBR1、XBR2(復(fù)位值為0),在本設(shè)計中未用到數(shù)字資源,故XBR0、XBR1的值為復(fù)位值,只需設(shè)定XBR2的值為40H允許功能選擇開關(guān)即可,若本設(shè)計中的P1.2換為P4.2,則無需設(shè)定寄存器XBR0、XBR1、XBR2,因?yàn)楦叨丝赑4~P7與交叉開關(guān)無關(guān)。最后還要選擇所用I/O口的輸出方式,P0、P1、P2、P3口分別由POMDOUT、P1MD-OU

47、T、P2MDOUT、P</p><p>  了所有的專用寄存器及相應(yīng)位的地址定義文件,用戶只需加一條$ include (C8051F020.inc)指令即可。C8051F020引腳圖如圖5:</p><p>  圖5 C8051F020引腳圖</p><p>  2.1.2 AD9954簡介</p><p>  (1) AD9954的概

48、念及內(nèi)部特征</p><p>  AD9954是采用先進(jìn)的DDS技術(shù)開發(fā)的高集成度DDS器件。它內(nèi)置高速、高性能D/A轉(zhuǎn)換器及超高速比較器,可用為數(shù)字編程控制的頻率合成器,能產(chǎn)生200MHz的模擬正弦波。AD9954內(nèi)含1024×32靜態(tài)RAM,利用該RAM可實(shí)現(xiàn)高速調(diào)制,并支持幾種掃頻模式。AD9954可提供自定義的線性掃頻操作模式,通過AD9954的串行I/O口輸入控制字可實(shí)現(xiàn)快速變頻且具有良好的頻

49、率分辨率。其應(yīng)用范圍包括靈敏頻率合成器、可編程時鐘發(fā)生器、雷達(dá)和掃描系統(tǒng)的FM調(diào)制源以及測試和測量裝置等。AD9954的內(nèi)部結(jié)構(gòu)主要特性:1.內(nèi)置400MSPS時鐘;2.內(nèi)含14位DAC;3.相位、幅度可編程;4.有32位頻率轉(zhuǎn)換字;5.可用串行I/O控制;6.內(nèi)置超高速模擬比較器;7.可自動線性和非線性掃頻;8.內(nèi)部集成有1024×32位RAM;9.采用1.8V電源供電;10.可4~20倍倍頻;11.支持大多數(shù)數(shù)字輸入中的5

50、V輸入電平;12.可實(shí)現(xiàn)多片同步。 </p><p>  (2) AD9954的引腳說明 </p><p>  AD9954采用48腳TQFP/EP封裝,各引腳定義如下:</p><p>  I/O UPDATE:在該引腳的上升沿可把內(nèi)部緩沖存儲器中的內(nèi)容送到I/O寄存器中。引腳電平的建立和保持與SYNC-CLK輸出信號有關(guān);</p><p>

51、;  DGND和AGND:數(shù)字地與模擬地;</p><p>  OSC/REFCLK和OSC/REFCLK:參考時鐘或振蕩輸入端:</p><p>  CYRSTAL OUT:振蕩器輸出端;</p><p>  CLKMODESELECT:振蕩器控制端,為1時使能振蕩器,為0時不使能振蕩器;</p><p>  LOOP_FILTER:該引腳

52、應(yīng)與AVDD間串聯(lián)一個1kΩ電阻和一個0.1μF電容;</p><p>  IOUT和IOUT:DAC輸出端,使用時應(yīng)接一個上接電阻;</p><p>  DACBP:DAC去耦端,使用時應(yīng)接一個0.01μF的旁路電容;</p><p>  DAC_RSET:DAC復(fù)位端,使用時應(yīng)通過一個3.92kΩ的電阻接至AGND端;</p><p> 

53、 COMP_OUT:比較器輸出端,可以輸出方波或脈沖信號;</p><p>  COMP_IN和COMP_IN:比較器輸入端;</p><p>  PWRDWNCTL:外部電源掉電控制輸入引腳; </p><p>  RESET:芯片復(fù)位端; </p><p>  IOSYNC:異步串行端口控制復(fù)位引腳;為1時,當(dāng)前I/O操作立即停止;為0時

54、開始新的I/O操作;不用時,此引腳必須接地;</p><p>  SDO:采用3線串口操作時,SDO為串行數(shù)據(jù)輸出端。采用2線串口操作時,SDO不用,可以不連;</p><p>  CS:片選端,低電平有效,允許多芯片共用I/O總線;</p><p>  SCLK:I/O操作的串行數(shù)據(jù)時鐘輸入端;</p><p>  SDIO:采用3線串口操

55、作時,SDO為串行數(shù)據(jù)輸入端,采用2線操作時,SDO為雙向串行數(shù)據(jù)端。</p><p>  DVDD_I/O;I/O電源,可以是1.8V或3.3V;</p><p>  SYNC_IN:同步多片AD9954輸入信號,使用時與主AD9954的SYNC_CLK的輸出相連;</p><p>  SYNC_CLK:時鐘輸出腳,為內(nèi)部時鐘的1/4,可用作外圍硬件同步;<

56、/p><p>  OSK:在編程操作時可用該腳來控制幅度與時間斜率,與SYNC_CLK同步;當(dāng)OSK不能被編程時,此腳接DGND;</p><p>  PS1和PS0:可用來選擇4個RAM段控制字區(qū)中的一個。</p><p>  (3) AD9954電路部分</p><p>  AD9954為電流輸出型芯片,自帶濾波功能,故其外圍電路主要為數(shù)據(jù)控

57、制線的引出和電流轉(zhuǎn)換為電壓輸出電路,AD9954的外圍電路如圖6:</p><p>  圖6 AD9954的外圍電路</p><p>  (4) AD9954總體外圍電路</p><p>  由C8051F020輸出控制信號控制AD9954,AD9954產(chǎn)生波形,AD9954總體外圍電路如圖7:</p><p>  圖7 AD9954總

58、體外圍電路 </p><p>  2.2 單元硬件電路設(shè)計</p><p>  2.2.1 矩陣(4×4)鍵盤電路</p><p>  在開關(guān)數(shù)量多的情況下,采用矩陣(4×4)鍵盤可以節(jié)省很多的接口,并且提高系統(tǒng)接口的利用率。矩陣(4×4)鍵盤電路如圖8:</p><p>  圖8 矩陣(4×4)鍵

59、盤電路</p><p>  2.2.2 電源電路</p><p>  電源模塊提供+5V、-5V電壓。電源電路如圖9:</p><p><b>  圖9 電源電路</b></p><p>  2.2.3 電壓調(diào)幅電路</p><p>  采用放大電路調(diào)節(jié)正弦波信號的電壓峰-峰值,使V opp

60、在0~5V可調(diào)。放大電路如圖10。</p><p>  圖10 調(diào)幅電路</p><p>  2.2.4 方波電路</p><p>  輸入正弦波信號外接比較電路產(chǎn)生方波信號。比較電路如圖11:</p><p><b>  圖11 方波電路</b></p><p>  2.2.5 三角波電

61、路</p><p>  輸入方波信號外接積分電路產(chǎn)三角波波信號。</p><p><b>  積分電路如圖12</b></p><p><b>  3 軟件系統(tǒng)設(shè)計</b></p><p>  3.1 程序流程圖</p><p> ?。?)題目要求信號發(fā)生器產(chǎn)生正弦波、方波

62、和三角波三種周期性波形,我們對DDS模塊編程實(shí)現(xiàn)正弦波的輸出,在產(chǎn)生正弦波的基礎(chǔ)上外接比較電路產(chǎn)生方波,再通過積分電路實(shí)現(xiàn)三角波的輸出。主程序根據(jù)鍵盤設(shè)定正弦波的頻率,按確定鍵后則輸出所需的正弦波。主流程圖如圖13所示。主要程序見附錄A。</p><p><b>  圖13 主流程圖</b></p><p> ?。?)LCD顯示的流程如圖14所示:</p>

63、<p>  圖14 LCD顯示流程圖</p><p>  (3)鍵盤掃描秒子程序如圖15所示</p><p>  圖15:鍵盤掃描流程圖</p><p><b>  4 系統(tǒng)測試</b></p><p><b>  4.1 仿真測試</b></p><p>  

64、在對軟件進(jìn)行仿真測試時,使用Keil 進(jìn)行模擬測試。測試目的:</p><p>  鍵盤的鍵位是否正確。</p><p>  LCD的顯示是否正常。</p><p>  信號發(fā)生器是否能產(chǎn)生我們所需要的波形。</p><p><b>  4.2 指標(biāo)測試</b></p><p>  4.2.1 誤

65、差分析</p><p>  頻率誤差來源:測試儀表數(shù)字示波器本身在測量上存在誤差</p><p>  幅值誤差來源:由于通用電路板本身機(jī)構(gòu)的限制,影響了整個電路的布局和走線,從而引入了一定的噪聲和干擾。</p><p>  相位誤差:由于波形是通過一系列有限的離散采樣點(diǎn)表示,不可避免引入相位量誤差,增加采樣點(diǎn)數(shù)可以減小誤差。</p><p>

66、  4.2.2 測試儀器</p><p>  示波器:YB5400系列數(shù)字存儲示波器</p><p>  4.2.3 輸出波形頻率范圍測試</p><p>  測試數(shù)據(jù)如表一、表二、表三:</p><p>  表一 第1組測試數(shù)據(jù)</p><p>  表二 第2組測試數(shù)據(jù)</p><p>  

67、表三 第3組測試數(shù)據(jù)</p><p>  由表中的數(shù)據(jù)可以看出,在輸出頻率穩(wěn)定度方面,正弦波、方波、三角波均十分穩(wěn)定。</p><p><b>  4.3測試方法</b></p><p>  4.3.1測試正弦波輸出頻率</p><p> ?。?)連接電路(電源電路、C8051F020芯片、AD9954芯片、顯示模塊、鍵

68、盤輸入模塊)。</p><p> ?。?)打開示波器電源。</p><p>  (3)運(yùn)用鍵盤輸入設(shè)定頻率,按確定鍵。</p><p> ?。?)觀察示波器的顯示頻率、周期和峰-峰值。</p><p> ?。?)記錄正弦波的輸出頻率</p><p><b>  (6)關(guān)閉電源</b></p&

69、gt;<p>  4.3.2 測試方波輸出頻率</p><p> ?。?)連接電路(電源電路、C8051F020芯片、AD9954芯片、顯示模塊、鍵盤輸入模塊、比較器)。</p><p> ?。?)打開示波器電源。</p><p>  (3)運(yùn)用鍵盤輸入設(shè)定頻率,按確定鍵。</p><p> ?。?)調(diào)節(jié)電位器,觀察示波器的顯示

70、頻率、周期和峰-峰值。</p><p> ?。?)記錄方波的輸出頻率</p><p><b>  (6)關(guān)閉電源</b></p><p>  4.3.3測試三角波輸出頻率</p><p> ?。?)連接電路(電源電路、C8051F020芯片、AD9954芯片、顯示模塊、鍵盤輸入模塊、比較電路、積分電路)。</p&g

71、t;<p>  (2)打開示波器電源。</p><p> ?。?)運(yùn)用鍵盤輸入設(shè)定頻率,按確定鍵。</p><p>  (4)調(diào)節(jié)電位器,觀察示波器的顯示頻率、周期和峰-峰值。</p><p> ?。?)記錄三角波的輸出頻率。</p><p><b>  (6)關(guān)閉電源。</b></p>&l

72、t;p><b>  5 結(jié)束語</b></p><p>  設(shè)計基本實(shí)現(xiàn)了信號發(fā)生器的基本要求,能輸出正弦波、方波、三角波,輸出的頻率也能達(dá)到基本要求100HZ—100KHZ,輸出的正弦波在1000歐的負(fù)載下,能實(shí)現(xiàn)峰峰值在0—5V可調(diào)。輸出的波形純真,失真率低??梢宰鳛橐话愕男盘柊l(fā)生器使用。但由于知識水平的有限,該信號發(fā)生器不能實(shí)現(xiàn)在50歐負(fù)載的情況下,正弦波峰峰值在0—5V可調(diào)。不

73、能在10—100KHZ之間實(shí)現(xiàn)10HZ的步進(jìn)和100KHZ—1MHZ實(shí)現(xiàn)1000HZ的步進(jìn)。這是一大遺憾。</p><p>  單片機(jī)控制AD9954產(chǎn)生正弦信號電路及其濾波放大輸出電路是該信號發(fā)生器設(shè)計的核心部分,由于器件對于帶寬的要求比較高,因此在器件的選擇和濾波器的設(shè)計上有較高的要求。</p><p><b>  致謝</b></p><p&

74、gt;  本文是在導(dǎo)師凌老師的悉心指導(dǎo)下完成的,在大專的三年時間里,導(dǎo)師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、淵博的知識、活躍的學(xué)術(shù)思想、執(zhí)著的科研精神及高尚的做人原則,都給我留下了終生難忘的印象。所有這一切都將成為我受益終生的寶貴財富!在此,學(xué)生謹(jǐn)向?qū)煴硎局孕牡母兄x!</p><p>  真誠地感謝凌老師。通過他們的精心指導(dǎo)與有益討論,我在研究思想方法上得到了許多啟發(fā),并感謝李茂清-李老師的支持與幫助,在他們的幫助下使我完成論文。

75、</p><p>  感謝我的父親、母親對我的理解、支持和幫助。盡管與他們?yōu)槲腋冻龅囊磺邢啾?,所有的語言都顯得蒼白無力,我仍要真誠地說聲:謝謝!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]黃志偉.全國大學(xué)生電子設(shè)計競賽系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,2006.</p><p>  [

76、2]全國大學(xué)生電子設(shè)計競賽組委會.全國大學(xué)生電子設(shè)計競賽獲獎作品匯編.北京:北京理工大學(xué)出版社,2004</p><p>  [3]潘琢金譯.C8051F020/1/2/3混合信號ISP FLASH微控器數(shù)據(jù)手冊.沈陽:沈陽新華電子有限公司,2002</p><p>  [4]謝自美《電子線路設(shè)計.實(shí)驗(yàn).測試(第三版)》武漢:華中科技大學(xué)出版社。2000年7月 </p>&l

77、t;p>  [5]楊幫文《新型集成器件家用電路》北京:電子工業(yè)出版社,2002.8 </p><p>  [6]第二屆全國大學(xué)生電子設(shè)計競賽組委會。全國大學(xué)生電子設(shè)計競賽獲獎作品選編。北京:北京理工大學(xué)出版社,1997. </p><p>  [7]李炎清《畢業(yè)論文寫作與范例》廈門:廈門大學(xué)出版社。2006.10 </p><p>  [8]潭博學(xué)、苗江靜《集

78、成電路原理及應(yīng)用》北京:電子工業(yè)出版社。2003.9 </p><p>  [9]陳梓城《家用電子電路設(shè)計與調(diào)試》北京:中國電力出版社。2006</p><p>  附錄一 對AD9954編程的主要源程序清單</p><p>  //對AD9954編程的主要源程序清單</p><p>  #include "c8051f020.h

79、"</p><p>  #include "intrins.h"</p><p>  //ad9954初始化</p><p>  extern void AD9954_init(void);</p><p><b>  //寫一個字節(jié)</b></p><p>  ex

80、tern void AD9954_writebyte_m(unsigned char dat);</p><p><b>  //讀一個字節(jié)</b></p><p>  extern unsigned char AD9954_readbyte_m(void);</p><p>  //向9954寄存器寫數(shù)據(jù)</p><p&g

81、t;  extern void AD9954_write_reg(unsigned char address,unsigned char *pointer);</p><p>  //從9954寄存器讀數(shù)據(jù)</p><p>  extern void AD9954_read_reg(unsigned char address,unsigned char *pointer);</p&g

82、t;<p>  //從IO緩沖到寄存器</p><p>  extern void AD9954_io_updata();</p><p>  //用9954產(chǎn)生正弦波,輸入?yún)?shù)為頻率,單位Hz</p><p>  extern void AD9954_gener_cos(double freq);</p><p><b&

83、gt;  //使能正弦輸出</b></p><p>  extern void AD9954_en_cos_o();</p><p>  //參考時鐘頻率調(diào)節(jié)</p><p>  extern void AD9954_ref_clk(unsigned char t);</p><p>  //AD9954滿幅輸出</p>

84、;<p>  extern void AD9954_amp_full(void);</p><p>  unsigned char Getkey();</p><p>  void DDS_ctrl(unsigned char key);</p><p>  void AD9954_Phase();</p><p>  voi

85、d AD9954_add(void);</p><p>  /*******LCD有關(guān)******/</p><p>  void lcd_delay(void);</p><p>  unsigned char LCDBusyWait();</p><p>  void WriteLCD_Data(unsigned char Data);&

86、lt;/p><p>  void WriteLCD_Command(unsigned char Command);</p><p>  unsigned char ChangeAddress(unsigned char StartAddress);</p><p>  void WriteLCD(unsigned char StartAddress,unsigned c

87、har Size,unsigned char Charactors[]);</p><p>  void WriteLCD_Number(unsigned char Address,unsigned char Number);</p><p>  void WriteLcd_Number_3bit(unsigned char Address,unsigned char Number);&l

88、t;/p><p>  void WriteLcd_Number_4bit(unsigned char Address_4bit,unsigned int Number4bit);</p><p>  void DISPInitial();</p><p>  #include "ad9954.h"</p><p>  void

89、 SYSCLK_Init (void)</p><p>  { int i; // delay counter</p><p>  OSCXCN = 0x67; // start external oscillator with 22.1184MHz crystal</p>

90、<p>  for (i=0; i < 256; i++) ; // XTLVLD blanking interval (>1ms)</p><p>  while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle</p><p>  OSCICN = 0x8

91、8; // select external oscillator as SYSCLK</p><p>  // source and enable missing clock</p><p>  // detector</p><p><b>  }</b></p><p>  

92、//-----------------------------------------------------------------------------</p><p>  // PORT_Init </p><p>  //-----------------------------------------------------------------------------<

93、;/p><p>  // Configure the Crossbar and GPIO ports</p><p>  void PORT_Init (void)</p><p><b>  {</b></p><p>  XBR0 = 0x00; // </p>

94、<p>  XBR1 = 0x00;</p><p>  XBR2 = 0x40; // Enable crossbar and weak pull-ups</p><p>  P0MDOUT |= 0xf8; // 將有下拉的引腳配置為推挽方式</p><p> 

95、 P74OUT=0X13; //set P4 as push-pull output</p><p><b>  }</b></p><p>  double F0ctrl_word=10000000;</p><p>  bit ddsF0_enter=1;</p><p&

96、gt;  main(){char xdata i_buf1[10]={0,0,0,0,0,0,};</p><p>  unsigned char key=0,temp=0xff;</p><p>  unsigned int i;</p><p>  WDTCN = 0xde; // disa

97、ble watchdog timer</p><p>  WDTCN = 0xad;</p><p>  SYSCLK_Init();//啟動外部振蕩器</p><p>  PORT_Init();</p><p>  DISPInitial();</p><p>  AD9954_init();

98、 //9954初始化</p><p>  AD9954_en_cos_o(); //使能輸出</p><p>  AD9954_ref_clk(4); //時鐘4倍頻</p><p>  AD9954_gener_cos(10000000); //輸出

99、10M Hz正弦波</p><p>  AD9954_amp_full(); //滿幅輸出</p><p><b>  while(1)</b></p><p>  { key=Getkey(); </p><p>  for(i=0;i<65535;i++);

100、</p><p>  for(i=0;i<20000;i++);</p><p>  DDS_ctrl(key);</p><p><b>  }</b></p><p><b>  }</b></p><p>  unsigned char Getkey()<

101、/p><p>  { P6=0xFE;</p><p>  if(P6==0xEE)return 1;</p><p>  if(P6==0xDE)return 2;</p><p>  if(P6==0xBE)return 3;</p><p>  if(P6==0x7E)return 4;</p>&

102、lt;p><b>  P6=0xFD;</b></p><p>  if(P6==0xED)return 5;</p><p>  if(P6==0xDD)return 6;</p><p>  if(P6==0xBD)return 7;</p><p>  if(P6==0x7D)return 8;</p&

103、gt;<p><b>  P6=0xFB;</b></p><p>  if(P6==0xEB)return 9;</p><p>  if(P6==0xDB)return 0;</p><p>  if(P6==0xBB)return 11;</p><p>  if(P6==0x7B)return 12

104、;</p><p><b>  P6=0xF7;</b></p><p>  if(P6==0xE7)return 13;</p><p>  if(P6==0xD7)return 14;</p><p>  if(P6==0xB7)return 15;</p><p>  if(P6==0x77

105、)return 16;</p><p>  return 76;</p><p><b>  } </b></p><p>  void DDS_ctrl(unsigned char key)</p><p>  {if( (key>=0)&(key<=9) )</p><p>

106、;  { if(ddsF0_enter)</p><p>  { F0ctrl_word=0;</p><p>  ddsF0_enter=0;</p><p>  WriteLCD(0x8B,0,"輸入狀態(tài)");</p><p><b>  }</b></p><

107、p>  if(F0ctrl_word<9999999)</p><p>  { F0ctrl_word=10*F0ctrl_word+key;</p><p>  WriteLcd_Number_4bit(0x91,(long)F0ctrl_word/10000); //H_4bit</p><p>  WriteLcd_Number_4bit(0

108、x93,(long)F0ctrl_word%10000); //L_4bit</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(key==16)</p><p>  { AD9954_gener_cos(F0ctrl_wor

109、d);</p><p>  ddsF0_enter=1;</p><p>  WriteLCD(0x8B,0,"請輸入 ");</p><p><b>  }</b></p><p><b>  }</b></p><p>  #include &quo

110、t;ad9954.h"</p><p>  #defineAD9954_CRL P0</p><p>  sbitAD9954_FUD = AD9954_CRL^3; //有下拉</p><p>  sbitAD9954_PS1 = AD9954_CRL^7; //有下拉</p><p>  s

111、bitAD9954_PS0 = AD9954_CRL^6; //有下拉</p><p>  sbitAD9954_SYN = AD9954_CRL^4; //有下拉</p><p>  sbitAD9954_RST = AD9954_CRL^5; //有下拉</p><p>  sbitAD9954_CLK=AD9954_

112、CRL^0;</p><p>  sbit AD9954_SIO=AD9954_CRL^2; //雙向口</p><p>  #define FREQ_COFF 10.73741824</p><p>  static unsigned char _REF_CLK_T=1;</p><p>  char code

113、 reg_length[11]={4,3,2,1,4,2,4,5,5,5,5};//寄存器長度表,用于查詢AD9954控制寄存器的長度</p><p>  char xdata o_buf[10]={0xaa,0xaa,0xaa,1,1,1};</p><p>  char xdata i_buf[10]={0,0,0,0,0,0,};</p><p&

114、gt;  void delay_u(long v)</p><p>  { long i;</p><p>  for(i=0;i<v;i++)</p><p><b>  {_nop_();</b></p><p><b>  nop_();</b></p>

115、<p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b> 

116、 }</b></p><p><b>  }</b></p><p>  void AD9954_init(void)</p><p>  { AD9954_CRL=0x00;</p><p>  AD9954_RST=1;</p><p>  delay_u(10

117、000);</p><p>  AD9954_RST=0;</p><p>  AD9954_CLK=0;</p><p>  AD9954_SIO=0;</p><p><b>  }</b></p><p>  void AD9954_writebyte_m(unsigned char

118、 dat) </p><p>  { char i,t;</p><p>  AD9954_CLK=0;</p><p>  AD9954_SIO=1;</p><p>  P0MDOUT |= 0x01; </p><p>  for(i=0;i<8;i++

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論