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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  近年來,單片微型計算機作為微型計算機的一個很重要的分支,以其強大的生命力飛速發(fā)展,在工業(yè)控制、智能儀器儀表、智能化設(shè)備和家用電器等領(lǐng)域得到了廣泛的應(yīng)用,因而引起了各行各業(yè)的極大關(guān)注,有著廣闊的發(fā)展前景。</p><p>  本次設(shè)計的是編寫低頻信號發(fā)生器程序。本程序80C2051單片機為核心,用C語言開

2、發(fā),組成一個單片機控制低頻信號發(fā)生器。低頻信號發(fā)生器是一種能夠產(chǎn)生多種波形,如三角波、鋸齒波、方波、正弦波等波形的電路被稱為信號發(fā)生器。我們可以通過按鍵選擇輸出波形轉(zhuǎn)換以及頻率的控制?,F(xiàn)在我們通過對信號發(fā)生器的原理以及構(gòu)成設(shè)計一個能變換出三角波、正弦波、方波的簡易信號發(fā)生器。我們通過對電路的分析,參數(shù)的確定選擇出一種最適合本課題的方案。本設(shè)計是基于單片機的低頻信號發(fā)生器,低頻信號發(fā)生器作為一種常用的信號源,廣泛應(yīng)用于電子電路、自動控制和

3、科學(xué)研究等領(lǐng)域。它是一種為電子測量和計量等工作提供符合嚴(yán)格技術(shù)要求的電信號設(shè)備,因此是電子測試系統(tǒng)的重要部件,也是決定電子測試系統(tǒng)性能的關(guān)鍵設(shè)備。次設(shè)計中要求輸出信號的頻率較低,因此使用了單片機作為控制器,用中斷查表法完成波形數(shù)據(jù)的輸出,再用D/A轉(zhuǎn)換器將輸出的數(shù)字電信號轉(zhuǎn)化為模擬電信號。其中,D/A轉(zhuǎn)換器輸出規(guī)定的正弦波或三角波信號,方波信號則直接由單片機的端口輸出。結(jié)合功能要求情況,使用51系列單片機作為控制器,用DAC0832作為

4、D/A轉(zhuǎn)換器,功能按鍵使用單片機的3個端</p><p>  關(guān)鍵詞 三角波信號,正弦信號,方波信號,波形轉(zhuǎn)換</p><p><b>  Abstract</b></p><p>  In recent years, single-chip micro-computer micro-computer as a very important

5、branch, the rapid development of its vitality, in industrial control, smart instrumentation, smart devices and appliances and other fields has been widely applied, giving rise to great concern to all walks of life, has b

6、road prospects for development.</p><p>  The design process is the preparation of low-frequency signal generator. 80C2051 chip as the core of this program, using C language development, the formation of a si

7、ngle-chip control low-frequency signal generator. Is a low frequency signal generator can produce a variety of waveforms such as triangle, sawtooth, square wave, sine wave such as the circuit is known as signal generator

8、. We can convert button to select the output waveform and frequency control. Now we are through the principle of s</p><p>  Keywords triangular wave signal, sinusoidal, square wave signal, the waveform conv

9、ersion</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  目 錄III</b></p><p><b>  1引言1&l

10、t;/b></p><p>  1.1單片機概述1</p><p>  1.2單片機的發(fā)展過程1</p><p>  1.3低頻信號源概述1</p><p>  2 總體方案論證與設(shè)計3</p><p><b>  3系統(tǒng)電路設(shè)計5</b></p><p>

11、  3.1 系統(tǒng)控制部分5</p><p>  3.1.1 AT89C51的主要性能5</p><p>  3.1.2 AT89C2051的引腳功能6</p><p>  3.2數(shù)/模轉(zhuǎn)換部分7</p><p>  3.2.1 DAC0832的主要性能8</p><p>  3.2.2 DAC0832的引腳功

12、能8</p><p>  3.2.3 DAC0832的工作方式8</p><p>  3.3整體系統(tǒng)原理9</p><p>  4 系統(tǒng)程序的設(shè)計10</p><p>  4.1 初始化子函數(shù)10</p><p>  4.2 鍵掃描子函數(shù)10</p><p>  4.3 波形數(shù)據(jù)產(chǎn)生

13、子函數(shù)11</p><p>  4.4 調(diào)試及性能分析12</p><p><b>  結(jié) 論13</b></p><p><b>  致 謝14</b></p><p><b>  參考文獻15</b></p><p><b>  

14、附錄116</b></p><p><b>  附錄222</b></p><p><b>  1引言</b></p><p><b>  1.1單片機概述</b></p><p>  在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構(gòu)成了單芯片微

15、型計算機,即單片機。單片機體積小、價格低、可靠性高,其非凡的嵌入式應(yīng)用形態(tài)對于滿足嵌入式應(yīng)用需要具有獨特的優(yōu)勢。目前,單片機應(yīng)用技術(shù)已經(jīng)成為電子應(yīng)用系統(tǒng)設(shè)計最為常用的技術(shù)手段。</p><p>  1.2單片機的發(fā)展過程</p><p>  單片機技術(shù)發(fā)展的十分迅速,產(chǎn)品種類已琳瑯滿目??傆^整個單片機發(fā)展過程,可以分為三個主要階段:</p><p>  一、 單芯片

16、微型機形成階段</p><p>  1976年,Intel公司推出了MCS-48系列單片機。該系列單片機早期產(chǎn)品在芯片內(nèi)集成有:8位CPU、1K字節(jié)程序存儲器(ROM)、64字節(jié)數(shù)據(jù)存儲器(RAM)、2根I/O線和1個8位定時/計數(shù)器。</p><p>  二 、性能完善提高階段</p><p>  1980年,Intel公司推出MCS-51系列單片機。該系列單片機

17、載芯片內(nèi)集成有:8位CPU、4K字節(jié)程序存儲器(ROM)、128字節(jié)數(shù)據(jù)存儲器(RAM)、4 個8位并行接口、1個全雙工串行接口和2個16位定時/計數(shù)器。尋址范圍為64K,并集成有控制功能較強的布爾處理器完成位處理功能。</p><p>  三 、為控制器化階段</p><p>  1982年,Intel公司推出MCS-96系列單片機。該系列單片機載芯片內(nèi)集成有:16位CPU、8K字節(jié)程序

18、存儲器(ROM)、232字節(jié)數(shù)據(jù)存儲器(RAM)、5個8位并行接口、1個全雙工串行接口和2個16位定時/計數(shù)器。尋址范圍最大為64K。片上還有8路10位ADC、1路PWM(D/A)輸出及高速I/O等部件。</p><p>  1.3低頻信號源概述</p><p>  在科學(xué)研究、工程教育及生產(chǎn)實踐中,常常需要用到低頻信號發(fā)生器。如工業(yè)過程控制、教學(xué)實驗、機械振動試驗、動態(tài)分析、材料試驗、生

19、物醫(yī)學(xué)等領(lǐng)域。 我們長期使用的信號發(fā)生器,大部分是由模擬電路構(gòu)成的,這類儀器作為信號源,頻率可達上百MHz,在高頻范圍內(nèi)其頻率穩(wěn)定性高、可調(diào)性好。但用于低頻信號輸出時,它所需要的RC值很大,參數(shù)準(zhǔn)確度難以保證,而且其體積大,損耗也大。</p><p>  傳統(tǒng)的設(shè)計方法先

20、是采用RC振蕩器或LC振蕩器,后采用石英晶體振蕩器為核心,提供一個高穩(wěn)定度的信號源,但是其電路復(fù)雜,結(jié)構(gòu)龐大造價也很高。之后有人研究制造了采用8031單片機及程序存儲器構(gòu)成的最小系統(tǒng)組成的數(shù)字式低頻信號發(fā)生器,它在低頻范圍內(nèi)性能好,但是體積較大,價格較貴。隨著大規(guī)模集成電路技術(shù)的發(fā)展,集成度不斷提高,使得微型機的速度和性能大為提高,可靠性增加,成本降低。</p><p>  本次設(shè)計采用一片AT89C51單片機作

21、為控制器,用DAC0832作為D/A轉(zhuǎn)換器做成的低頻信號發(fā)生器。功能按鍵使用單片機的3個端口,用中斷查表法完成波形數(shù)據(jù)的輸出。輸出頻率有較好的穩(wěn)定性,元器件比較常見,價格低廉,電路設(shè)計方便,操作方便,體積小,性能高。</p><p>  2 總體方案論證與設(shè)計</p><p>  低頻信號發(fā)生器的實現(xiàn)主要有如下幾種:</p><p>  一:利用單片機與精密函數(shù)發(fā)生

22、器構(gòu)成的程控信號發(fā)生器。這種信號發(fā)生器能夠克服常規(guī)信號發(fā)生器的缺陷,保證在某個信號的頻帶內(nèi)正弦波的失真度小于0.5%。它的輸出信號頻率調(diào)整和幅值調(diào)整都由單片機完成。但是,由于數(shù)模轉(zhuǎn)換器的非線性誤差和函數(shù)發(fā)生器本身的非線性誤差,這種信號發(fā)生器輸出信號的頻率與理論值會有一定的偏差。</p><p>  二:利用DSP處理器,根據(jù)幅值,頻率參數(shù),計算產(chǎn)生高精度的信號所需數(shù)據(jù)表,經(jīng)數(shù)模轉(zhuǎn)換后輸出,形成需要的信號波形。這種

23、信號發(fā)生器可實現(xiàn)程控調(diào)幅,調(diào)頻。但這種信號發(fā)生器輸出頻率不能連續(xù)可調(diào),計算煩瑣,控制也不便。</p><p>  三:基于單片機,鎖相環(huán),可編程分頻、相位累加、存儲器波形存儲以及D/A轉(zhuǎn)換器等組成的數(shù)字式函數(shù)信號發(fā)生器。輸出的頻率的大小由鎖相環(huán)和可編程計數(shù)器來控制,最終由地址發(fā)生器對存儲器中的波形數(shù)據(jù)硬件掃描,單片機提供要輸出的波形數(shù)據(jù)給存儲器。這種方案電路簡潔,不受單片機的時鐘頻率的限制,輸出信號精度高,頻率“

24、連續(xù)”,穩(wěn)定性好,可靠性高,功耗低,調(diào)頻,調(diào)幅都很方便,而且可簡化軟件設(shè)計,實現(xiàn)模塊化設(shè)計的要求。</p><p>  四:考慮到輸出信號的頻率較低,使用單片機作為控制器使用單片機作為控制器,用中斷查表法完成波形數(shù)據(jù)的輸出,再用D/A轉(zhuǎn)換器輸出規(guī)定的波形信號。方波信號直接由單片機的端口輸出。結(jié)合功能要求情況,使用80C51單片機作為控制器,用DAC0832作為D/A轉(zhuǎn)換器。功能按鍵使用單片機的3個端口。能使輸出頻

25、率有較好的穩(wěn)定性,元器件比較常見,價格低廉,電路設(shè)計方便。</p><p>  綜合考慮,方案四各項性能和指標(biāo)都優(yōu)于其他幾種方案,能使輸出頻率有較好的穩(wěn)定性,充分體現(xiàn)了模塊化設(shè)計的要求,而且這些芯片及器件均為通用器件,在市場上較常見,價格也低廉,樣品制作成功的可能性比較大,所以本設(shè)計采用方案四。</p><p>  其系統(tǒng)組成原理框圖如圖2.1所示。</p><p>

26、;  圖2. 組成原理框圖</p><p><b>  1系統(tǒng)組成原理框圖</b></p><p><b>  3系統(tǒng)電路設(shè)計</b></p><p>  3.1 系統(tǒng)控制部分</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programma

27、ble and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89

28、C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  3.1.1 AT89C51的主要性能</p><p>  與MCS-51 兼容 </p><p>  4K字節(jié)可編程FLASH存儲器   </p><p>  壽命:1000寫/擦循環(huán)  </p><p&

29、gt;  數(shù)據(jù)保留時間:10年   </p><p>  全靜態(tài)工作:0Hz-24MHz   </p><p>  三級程序存儲器鎖定   </p><p>  128×8位內(nèi)部RAM   </p><p>  32可編程I/O線   </p><p>  兩個16位定時器/計數(shù)器   </p>

30、<p><b>  5個中斷源   </b></p><p>  可編程串行通道   </p><p>  低功耗的閑置和掉電模式   </p><p>  片內(nèi)振蕩器和時鐘電路</p><p>  3.1.2 AT89C2051的引腳功能  </p><p><b>  V

31、CC:供電電壓。</b></p><p><b>  GND:接地。  </b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0

32、輸出原碼,此時P0外部必須被拉高。   </p><p>  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。  </p><p>  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/

33、O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制

34、信號。  </p><p>  P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時為閃爍編程和編程校驗接收一些控制信號。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p>  圖3.1

35、管腳備選功能</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個

36、ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p>  PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。</p><p>

37、  EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p>  XTAL2:來自反向

38、振蕩器的輸出。</p><p>  3.2數(shù)/模轉(zhuǎn)換部分</p><p>  DAC0832是CMOS工藝制造的8位數(shù)/模(D/A)轉(zhuǎn)換器,屬于8位電流輸出型D/A轉(zhuǎn)換器,轉(zhuǎn)換時間為1us,片內(nèi)帶輸入數(shù)字鎖存器,其引腳排列和內(nèi)部組成原理如圖3.2所示。DAC0832與單片機接成數(shù)據(jù)直接寫入方式,當(dāng)單片機把一個數(shù)據(jù)直接寫入DAC寄存器時,DAC0832的輸出模擬電壓信號隨之變化。利用D/A轉(zhuǎn)

39、換器可以產(chǎn)生各種波形,如方波,三角波,鋸齒波等以及它們組合產(chǎn)生的復(fù)合波形和不規(guī)則波形。這些復(fù)合波形利用標(biāo)準(zhǔn)的測試設(shè)備很難產(chǎn)生的。</p><p>  圖3.2 DAC0832引腳排列和內(nèi)部組成原理圖</p><p>  3.2.1 DAC0832的主要性能</p><p><b>  輸入數(shù)據(jù)量為8位。</b></p><p

40、>  采用CMOS工藝,所有引腳的邏輯電平與TTL兼容。</p><p>  數(shù)據(jù)輸入可以采用雙緩沖,單緩沖或直通方式。</p><p><b>  轉(zhuǎn)換時間:1US。</b></p><p><b>  精度:1LSB。</b></p><p><b>  分辨率:8位。</

41、b></p><p>  單一電源:5~15V,功耗20MV。</p><p>  參考電壓:+10~-10V。 </p><p>  3.2.2 DAC0832的引腳功能</p><p>  D7~D0:8位數(shù)據(jù)量輸入。</p><p>  ILE:數(shù)據(jù)輸入鎖存允許,高電平有效。</p><

42、;p><b> ?。浩x。</b></p><p> ?。狠斎爰拇嫫鲗懶盘?。當(dāng)ILE、、同時有效時,數(shù)據(jù)裝入輸入寄存器,實現(xiàn)輸入數(shù)據(jù)的第一級緩沖。</p><p> ?。簲?shù)據(jù)傳送控制信號??刂茝妮斎爰拇嫫鞯紻AC寄存器的內(nèi)部數(shù)據(jù)傳送。</p><p> ?。篋AC寄存器寫信號。當(dāng)和均有效時,將輸入寄存器中的數(shù)據(jù)裝入DAC寄存器并開始D/

43、A轉(zhuǎn)換,實現(xiàn)輸入數(shù)據(jù)的第二級緩沖。</p><p>  VREF:參考電壓源。電壓為-10~+10V。</p><p>  Rfb:內(nèi)部反饋電阻接線端。</p><p>  IOUT1:DAC電流輸出1。其值隨輸入數(shù)字量線性變化。</p><p>  IOUT2:DAC電流輸出2。</p><p>  —當(dāng)DAC寄存

44、器內(nèi)容全為1時,IOUT1最大,IOUT2=0;</p><p>  —當(dāng)DAC寄存器內(nèi)容全為0時,IOUT1=0,IOUT2最大;</p><p>  —當(dāng)DAC寄存器內(nèi)容為N時,IOUT1= VREF *N/(256* Rfb), IOUT2= VREF / Rfb—IOUT1,無論N值多大, IOUT1+ IOUT2= VREF / Rfb *(1—28)=常數(shù),約等于VREF /

45、Rfb。</p><p>  VCC:工作電源。其值為+5~15V,典型值為+15V。</p><p>  AGND:模擬信號地線。</p><p>  DGND:數(shù)字信號地線。</p><p>  3.2.3 DAC0832的工作方式</p><p>  DAC0832有雙緩沖、 單緩沖和直通3種工作方式。</

46、p><p>  雙緩沖工作方式:進行兩級緩沖。</p><p>  單緩沖工作方式:只進行一級緩沖。</p><p>  直通工作方式:不進行緩沖,適應(yīng)于比較簡單的場合。</p><p><b>  3.3整體系統(tǒng)原理</b></p><p>  簡易低頻信號源系統(tǒng)結(jié)構(gòu)原理圖見附錄。單片機外接12M

47、的晶振。方波的產(chǎn)生是通過執(zhí)行波形發(fā)生程序,由DAC8032輸出。三角波、正弦波波形的產(chǎn)生是通過AT89C51 執(zhí)行某一波形發(fā)生程序,對三角波、正弦波的每個周期波形用256個采樣點合成,之后由P0.0~P0.7向D/A轉(zhuǎn)換器的輸入端發(fā)送具有一定規(guī)律的數(shù)據(jù),經(jīng)過DAC0832數(shù)/模轉(zhuǎn)換后,在D/A轉(zhuǎn)換電路的輸出端得到相應(yīng)的電壓波形。連接示波器后即可顯示出波形。分別在單片機的P1.2、P3.2、P3.3口接3個按鍵,T1為波形選擇按鍵,采用鍵

48、盤掃描方式。T2為頻率增加按鍵,T3為頻率減小按鍵,頻率加減采用了外部中斷方式。</p><p><b>  4 系統(tǒng)程序的設(shè)計</b></p><p>  4.1 初始化子函數(shù)</p><p>  初始化子函數(shù)的主要工作是設(shè)置定時器的工作模式、初值預(yù)置、開中斷和打開定時器等。在這里,定時器T0工作于16位定時模式,單片機按定時時間重復(fù)地把波形

49、數(shù)據(jù)送到DAC0832的寄存器。其程序流程圖如圖4.1所示:</p><p>  圖4.1 初始化子函數(shù)程序流程圖</p><p>  4.2 鍵掃描子函數(shù)</p><p>  鍵掃描子函數(shù)的任務(wù)是檢查波形變換按鍵是否按下,若有鍵按下,則執(zhí)行相應(yīng)的功能。這里按鍵用于波型選擇,其程序流程圖如圖4.2所示:</p><p><b>  

50、NO</b></p><p><b>  YES</b></p><p>  圖4.2 查鍵子函數(shù)程序流程圖</p><p>  4.3 波形數(shù)據(jù)產(chǎn)生子函數(shù)</p><p>  波形數(shù)據(jù)產(chǎn)生函數(shù)是定時器T0的中斷程序。當(dāng)定時器計數(shù)益出時,發(fā)生一次中斷。當(dāng)發(fā)生中斷時,單片機按次序?qū)⒉ㄐ螖?shù)據(jù)表中的波形數(shù)據(jù)一一送

51、入DAC0832,DAC0832根據(jù)輸入的數(shù)據(jù)大小輸出對應(yīng)電壓。波形數(shù)據(jù)產(chǎn)生子函數(shù)程序流程圖如圖4.3所示:</p><p>  圖4.3 波形數(shù)據(jù)產(chǎn)生子函數(shù)程序流程圖</p><p>  4.4 調(diào)試及性能分析</p><p>  硬件電路的調(diào)試比較簡單,只要元器件安裝無誤,一般都能一次成功。軟件的調(diào)試主要是各子程序的調(diào)試,對于頻率的增減按鍵,由于計時器為16位

52、定時器,最大值為65535,在加減時用255作為加減數(shù),這樣頻率的調(diào)整變化較快些,但是在接近最高頻率時變化太快;如果加減時用1作為加減數(shù),那么在頻率的高端變化平穩(wěn),而在頻率的低端則變化太慢。調(diào)試時可根據(jù)應(yīng)用特點選擇加減數(shù)的大小。簡易低頻信號源輸出頻率指標(biāo)實際測試如下:</p><p>  正弦波(三角波)輸出頻率:0.1-50Hz,幅值1.0~1.5V。</p><p>  方波輸出頻率:

53、0.1-50Hz,幅值為5V。</p><p>  低頻信號源輸出的頻率不是很高,在設(shè)計時每周期波形用256個采樣點合成,波形不是很光滑。如果增加采樣點,則輸出的頻率會更低,所以在設(shè)計時應(yīng)根據(jù)應(yīng)用特點選擇合理的采樣點數(shù)。用單片機產(chǎn)生低頻率信號的最大優(yōu)點是可以輸出產(chǎn)生復(fù)雜的不規(guī)則波形,這是一般通用信號源無法做到的。</p><p><b>  結(jié) 論</b></p

54、><p>  通過了一學(xué)期的單片機原理及應(yīng)用的理論學(xué)習(xí),終于迎來了為期兩周的單片機課程設(shè)計。通過兩周緊張而忙碌的課程設(shè)計,我最終完成了低頻信號源的設(shè)計,并且從中受益匪淺。</p><p>  在我知道的設(shè)計題目是低頻信號源后,我感到無從下手,并深感自己單片機知識的不足。接下來我到處去搜集有關(guān)低頻信號源的資料。經(jīng)過去圖書館查找相關(guān)書籍,上網(wǎng)查找有關(guān)資料以及向老師詢問等,我終于找到了一些頭緒,對低

55、頻信號源的設(shè)計有了一個整體的構(gòu)思。通過我對找道的材料仔細(xì)研究,最終確定了設(shè)計方案。在確定了相關(guān)元器件并畫好原理框圖之后,開始進行低頻信號源控制程序的設(shè)計。我查閱單片機C語言設(shè)計有關(guān)指導(dǎo)的書,設(shè)計的程序包括主函數(shù)、初始化子函數(shù)、鍵掃描子函數(shù)、波形數(shù)據(jù)產(chǎn)生子函數(shù),完成了函數(shù)的正確定義及調(diào)用。此外還找到了單片機控制芯片AT89C51和數(shù)模轉(zhuǎn)換器DAC8032的相關(guān)內(nèi)容,對其主要性能和引腳功能進行了大致了解,大大的豐富了我的單片機知識,開闊了視

56、野。其中還有一大項就是利用Keil軟件和Proteus軟件進行程序的仿真,那么對此軟件掌握的程度就至關(guān)重要了。經(jīng)過半天的上機操作,對Keil軟件的基本操作熟悉之后,在自己的探索和同學(xué)的幫助之下,把源程序?qū)懭?,設(shè)置好各項參數(shù)之后,編譯、連接、運行,成功的完成了程序的仿真。經(jīng)過各方面的加工之后,低頻信號源的設(shè)計終于完成了。</p><p>  這次設(shè)計使我成長了許多,我明白了低頻信號源的設(shè)計過程,對一些單片機控制芯片

57、和數(shù)模轉(zhuǎn)換器有了更深的了解,對Keil軟件和Proteus軟件有了更好的掌握。懂得了如何利用自己學(xué)過的知識,如何把學(xué)過的知識融會貫通,靈活運用,單片機知識大大增加。我明白了只有通過這樣的課程設(shè)計及實踐,讓同學(xué)們自己去查找資料,才能更有效的使同學(xué)們增進知識,它與理論學(xué)習(xí)是相輔相成,密不可分,缺一不可的。</p><p><b>  致 謝</b></p><p>  通

58、過了一學(xué)期的單片機原理及應(yīng)用的理論學(xué)習(xí),終于迎來了為期兩周的單片機課程設(shè)計。通過兩周緊張而忙碌的課程設(shè)計,我最終完成了低頻信號源的設(shè)計,并且從中受益匪淺。兩周的時間雖然很短暫,但使我從中獲益匪淺。在這里我要對幫助我的老師和同學(xué)表示感謝。</p><p>  首先,感謝xx老師對我的諄諄教誨。本次設(shè)計的工作都是在田老師的指導(dǎo)下進行的,盡管他很忙,但是仍然抽出寶貴的時間給我們講解很多不懂的程序,直到我們完全明白為止。

59、他像朋友一樣與我們親切的探討論文,糾正論文的錯誤,指導(dǎo)我們?nèi)绾伟褟木W(wǎng)上和圖書館查閱的資料變成我們自己的作品,在此我深深鞠躬。xx老師有著的淵博的學(xué)術(shù)知識,嚴(yán)謹(jǐn)?shù)目茖W(xué)知識和對工作認(rèn)真負(fù)責(zé)的態(tài)度,讓我體會到了學(xué)者的風(fēng)范,而他諄諄教導(dǎo)的為師之道也將令我終身難忘。</p><p>  其次,感謝曾幫助和鼓勵過我,與我同組的白婷、董航、孫國鋒同學(xué),我們在設(shè)計期間互相探討,互相學(xué)習(xí),才取得了這樣的成績。是你們在我最困難的時候

60、給與我克服困難的勇氣,是你們在我最無助的時候給與我力量,在此中心的說聲“謝謝”!</p><p>  最后,感謝美麗的學(xué)校,是它提供給我便利的環(huán)境,使我的本次課程設(shè)計順利完成。</p><p><b>  參考文獻</b></p><p>  [1] 張迎新等. 單片機原理及應(yīng)用 [M]. 北京:電子工業(yè)出版社,2004.10</p>

61、;<p>  [2] 張友德等. 單片微型機原理、應(yīng)用和實驗[M]. 北京:電子工業(yè)出版社,2005.6</p><p>  [3] 李勛等編著. 單片機實用教程[M]. 北京:航空航天大學(xué)出版社,2000.6</p><p>  [4] 李群芳. 單片機微型計算機與接口技術(shù)[M]. 北京:電子工業(yè)出版社,2006.3</p><p>  [5] 夏繼

62、強、沈德金編著. 單片機實驗與實踐教程[M]. 北京:航空航天大學(xué)出版社,2001.11</p><p>  [6] 黃智偉. 全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程[M]. 北京:電子工業(yè)出版社,2005.7</p><p>  [7] 周立功.單片機實驗與實踐[M]. 北京:航空航天大學(xué)出版社,2006.8</p><p>  [8] 周堅. 單片機C語言輕松入門[M]

63、. 北京:航空航天大學(xué)出版社,2006.7</p><p>  [9] 李華主編. MCS-51系列單片機實用接口技術(shù)[M]. 北京:航空航天大學(xué)出版社,1993.8</p><p>  [10] 李朝青編著. 單片機原理及接口技術(shù)[M]. 北京:航空航天大學(xué)出版社,1999.3</p><p>  [11] 張友德等. 單片微型機原理[M]、應(yīng)用和實驗[M].電子

64、工業(yè)出版社,2001</p><p>  [12] 吳經(jīng)國等.單片機應(yīng)用技術(shù)[M]. 中國電力出版社,2004</p><p>  [13] 李群芳.單片機微型計算機與接口技術(shù)[M].電子工業(yè)出版社,2004</p><p>  [14] 黃智偉.全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程[M].電子工業(yè)出版社,2003</p><p>  [15] 周

65、立功.單片機實驗與實踐[M].北京航空航天大學(xué)出版社,2004</p><p><b>  附錄1</b></p><p>  簡易低頻信號源程序:</p><p>  #include <reg51.h></p><p>  #define uchar unsigned char</p>&l

66、t;p>  #define uint unsigned int</p><p>  #define out P0</p><p>  #define in P1</p><p>  uchar boxing,temp1,i;</p><p>  uint b=390;</p><p>  uint a;

67、 //定義全局變量</p><p>  /*************************正弦波數(shù)據(jù)表*****************************/</p><p>  uchar code sin_tab[256]= </p><p><b>  { </b

68、></p><p>  0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,</p><p>  0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5,</p><p>  0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,</p><p>  0xB9

69、,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,</p><p>  0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,</p><p>  0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,</p><p>  0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,

70、0xE4,</p><p>  0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,</p><p>  0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5,</p><p>  0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,</p><p>  0xD

71、E,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,</p><p>  0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,</p><p>  0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,</p><p>  0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA

72、,0xA7,</p><p>  0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,</p><p>  0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80,</p><p>  0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,</p><p>  0x

73、69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,</p><p>  0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,</p><p>  0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,</p><p>  0x35,0x34,0x32,0x30,0x2F,0x2D,0x2

74、C,0x2A,</p><p>  0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,</p><p>  0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B,</p><p>  0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,</p><p>  0

75、x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,</p><p>  0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,</p><p>  0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,</p><p>  0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x

76、34,0x35,</p><p>  0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,</p><p>  0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56,</p><p>  0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,</p><p>  

77、0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D</p><p><b>  };</b></p><p>  /**************************三角波數(shù)據(jù)表*****************************/</p><p>  uchar code thr_tab[256]=<

78、/p><p><b>  { </b></p><p>  0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,</p><p>  0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,</p><p>  0x90,0x91,0x92,0x93,0x94,0x95,0

79、x96,0x97,</p><p>  0x98,0x99,0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,</p><p>  0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,</p><p>  0xA8,0xA9,0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,</p><p> 

80、 0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,</p><p>  0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,</p><p>  0xBF,0xBE,0xBD,0xBC,0xBB,0xBA,0xB9,0xB8,</p><p>  0xB7,0xB6,0xB5,0xB4,0xB3,0xB2,

81、0xB1,0xB0,</p><p>  0xAF,0xAE,0xAD,0xAC,0xAB,0xAA,0xA9,0xA8,</p><p>  0xA7,0xA6,0xA5,0xA4,0xA3,0xA2,0xA1,0xA0,</p><p>  0x9F,0x9E,0x9D,0x9C,0x9B,0x9A,0x99,0x98,</p><p>

82、  0x97,0x96,0x95,0x94,0x93,0x92,0x91,0x90,</p><p>  0x8F,0x8E,0x8D,0x8C,0x8B,0x8A,0x89,0x88,</p><p>  0x87,0x86,0x85,0x84,0x83,0x82,0x81,0x80,</p><p>  0x7F,0x7E,0x7D,0x7C,0x7B,0x7A

83、,0x79,0x78,</p><p>  0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,</p><p>  0x6F,0x6E,0x6D,0x6C,0x6B,0x6A,0x69,0x68,</p><p>  0x67,0x66,0x65,0x64,0x63,0x62,0x61,0x60,</p><p>

84、;  0x5F,0x5E,0x5D,0x5C,0x5B,0x5A,0x59,0x58,</p><p>  0x57,0x56,0x55,0x54,0x53,0x52,0x51,0x50,</p><p>  0x4F,0x4E,0x4D,0x4C,0x4B,0x4A,0x49,0x48,</p><p>  0x47,0x46,0x45,0x44,0x43,0x4

85、2,0x41,0x40,</p><p>  0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,</p><p>  0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,</p><p>  0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,</p><p&g

86、t;  0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,</p><p>  0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,</p><p>  0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,</p><p>  0x70,0x71,0x72,0x73,0x74,0x

87、75,0x76,0x77,</p><p>  0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F</p><p><b>  };</b></p><p>  void init(void) //初始化函數(shù)</p><p><b>  {</b

88、></p><p><b>  boxing=0;</b></p><p><b>  in=0xff;</b></p><p><b>  out=0x00;</b></p><p><b>  P3=0xff;</b></p>&l

89、t;p>  TMOD=0x01;</p><p>  TCON=0x05;</p><p>  a=65536-b;</p><p>  TH0=a/256;</p><p>  TL0=a%256;</p><p><b>  ET0=1;</b></p><p>

90、<b>  EX0=1;</b></p><p><b>  EX1=1; </b></p><p><b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p

91、><p>  void delay (uint t) //延時函數(shù) </p><p><b>  {</b></p><p>  uint j; </p><p>  for(j=0;j<t;j++);</p><p><b>  }<

92、;/b></p><p>  void keyscan(void) //按鍵檢測</p><p><b>  {</b></p><p>  temp1=in&0x0f;</p><p>  delay(550);</p><p>  temp1=in&a

93、mp;0x0f;</p><p>  if(temp1!=0x0f)</p><p><b>  {</b></p><p>  switch (temp1)</p><p><b>  {</b></p><p>  case 0x0b : boxing++; break;

94、</p><p>  default : break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void timer0(void) interrupt

95、1 //計數(shù)器中斷函數(shù)</p><p><b>  { </b></p><p><b>  i++;</b></p><p>  a=65536-b;</p><p>  TH0=a/256;</p><p>  TL0=a%256;</p>

96、<p>  if(i==256)</p><p><b>  i=0;</b></p><p><b>  }</b></p><p>  void main() //主函數(shù)</p><p><b>  {</b>&

97、lt;/p><p><b>  init();</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  keyscan();</p><p>  if(boxing==3)</p>

98、<p><b>  boxing=0;</b></p><p>  if(boxing==0)</p><p><b>  {</b></p><p>  if(i<=123)</p><p><b>  out=0xdf;</b></p>&

99、lt;p><b>  else</b></p><p><b>  out=0x3f;</b></p><p><b>  }</b></p><p>  if(boxing==1)</p><p><b>  {</b></p>&l

100、t;p>  out=sin_tab[i];</p><p><b>  }</b></p><p>  if(boxing==2)</p><p><b>  {</b></p><p>  out=thr_tab[i];</p><p><b>  }<

101、;/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void intt0(void) interrupt 0 //頻率加中斷函數(shù)</p><p><b>  { </b></p><

102、;p><b>  EA=0;</b></p><p><b>  TR0=0;</b></p><p>  b=(b-b/10);</p><p>  a=65536-b;</p><p>  TH0=a/256;</p><p>  TL0=a%256; </p

103、><p><b>  TR0=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  void intt1(void) interrupt 2 //頻率減中斷函數(shù)</p><p>&l

104、t;b>  { </b></p><p><b>  EA=0;</b></p><p><b>  TR0=0;</b></p><p>  b=(b+b/10);</p><p>  a=65536-b;</p><p>  TH0=a/2

105、56;</p><p>  TL0=a%256;</p><p><b>  TR0=1;</b></p><p><b>  EA=1;</b></p><p><b>  }</b></p><p>  //*********************

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論