版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘要</b></p><p> 隨著電子測量和其他產(chǎn)業(yè)的快速發(fā)展為多種信號發(fā)生器和電子技術(shù)的強烈需求,產(chǎn)生的信號發(fā)生器的范圍增加,性能改進。在教育和科研開發(fā),生產(chǎn)工程的實踐,如教學(xué),工業(yè)過程控制,生物醫(yī)學(xué)等領(lǐng)域,經(jīng)常需要使用低頻信號源。信號發(fā)生器作為一種通用的電子設(shè)備,在生產(chǎn),研究,監(jiān)測和控制,通信等領(lǐng)域得到了廣泛的應(yīng)用。本系統(tǒng)為簡易低頻信號源的設(shè)計,通過控制
2、鍵、D/A轉(zhuǎn)換及外圍電路實現(xiàn)低頻信號產(chǎn)生功能。能輸出三角波、正弦波、方波。</p><p> 關(guān)鍵詞:低頻信號源,單片機,D/A轉(zhuǎn)換</p><p><b> Abstract</b></p><p> With the rapid development of electronic measurement and other indus
3、tries for the strong demand for a variety of signal generators and electronic technology, resulting in increased range of the signal generator, the performance improved. In scientific research, production and engineering
4、 education practice, such as the field of teaching experiments, industrial process control, biomedical, etc. often need to use low-frequency signal generating source. Signal generator as a generic electronic equi</p&g
5、t;<p> Key words: low-frequency signal, source single-chip, D / A converter,</p><p><b> 目 錄</b></p><p><b> 1緒論1</b></p><p> 1.1課題研究的背景1</p&g
6、t;<p> 1.2國內(nèi)外波形發(fā)生器技術(shù)進展1</p><p> 1.3課題研究的目的及意義1</p><p> 1.4論文的主要研究內(nèi)容2</p><p> 2系統(tǒng)的硬件設(shè)計3</p><p> 2.1硬件結(jié)構(gòu)框圖與電路原理圖3</p><p> 2.2系統(tǒng)的硬件模塊設(shè)計3<
7、;/p><p> 2.2.1主控模塊3</p><p> 2.2.2 DA轉(zhuǎn)換模塊5</p><p><b> 2.3時鐘電路7</b></p><p><b> 2.4復(fù)位電路7</b></p><p> 2.5按鍵控制模塊8</p><
8、p> 2.6電路原理圖8</p><p> 3系統(tǒng)的軟件設(shè)計9</p><p><b> 3.1主流程圖9</b></p><p> 3.2各功能模塊子程序10</p><p><b> 4 系統(tǒng)調(diào)試12</b></p><p> 4.1軟件調(diào)試
9、12</p><p> 4.2硬件調(diào)試12</p><p><b> 結(jié)論15</b></p><p><b> 參考文獻16</b></p><p><b> 致謝17</b></p><p><b> 附錄:原代碼18&
10、lt;/b></p><p><b> 1緒論 </b></p><p> 1.1課題研究的背景</p><p> 波形發(fā)生器采用模擬電子電路,和模擬設(shè)備體積大,存在的價格,功耗等缺點,并產(chǎn)生更復(fù)雜的信號波形,電路結(jié)構(gòu)非常復(fù)雜。同時,在兩個方面的綜合性能,通過調(diào)整電位器來實現(xiàn)輸出頻率的調(diào)節(jié),很難調(diào)整到一個固定的值;二是脈沖的占空比不
11、可調(diào)節(jié)。</p><p> 在上個世紀(jì)的十年,微處理器,可以使用的處理器,以及,波形發(fā)生器的功能擴展的硬件和軟件的復(fù)雜波形。上世紀(jì)年代末,有幾個真的高性能,高價位的函數(shù)發(fā)生器,但惠普推出的信號模擬器系統(tǒng)模型,它由波形數(shù)字化、波形發(fā)生軟件組成。</p><p> 1.2國內(nèi)外波形發(fā)生器技術(shù)進展</p><p> ?。?)在過去由于較低的頻率范圍相對狹窄的應(yīng)用,提高
12、了輸出波形的頻率,使波形發(fā)生器可以在更廣泛領(lǐng)域的應(yīng)用。波形發(fā)生器通常允許函數(shù)是用一系列的點,線和固定,段落,波形數(shù)據(jù)到內(nèi)存同時利用一個強大的方式。促進一個任意波形發(fā)生器的波形發(fā)生器的發(fā)展和作用,對各種計算機語言的快速發(fā)展,和任意波形發(fā)生器的軟件術(shù)起到了促進作用。</p><p> ?。?)與VXI資源結(jié)合??偩€由于測量測量儀器產(chǎn)生復(fù)雜的波形,需要在許多領(lǐng)域的測量系統(tǒng)使用一個高需求的成熟,系統(tǒng)資源提供了明顯的優(yōu)勢,
13、但由于模塊的開發(fā)周期長,需要特定的機箱配套使用,模塊允許波形發(fā)生器是有限的大面積如航空航天,軍事和國防。</p><p> (3)當(dāng)今世界在以電子信息技術(shù)為前提下推動了社會跨躍式的進步,科學(xué)技術(shù)的飛速發(fā)展日新月異帶動了各國生產(chǎn)力的大規(guī)模提高。由此可見科技已成為各國競爭的核心,尤其是電子信息技術(shù)更顯得尤為重要,在國民生產(chǎn)各部門電子信息技術(shù)得到了廣泛的應(yīng)用。</p><p> 1.3課題研
14、究的目的及意義</p><p> 目前,市場上的信號發(fā)生器的品種,一般基于頻帶分為以下幾類:超高頻:頻率在1MHz以上,可達幾十兆赫茲。高頻:幾百KHZ 到幾MHZ。低頻:頻率為幾十HZ到幾百KHZ。超低頻:頻率為零點幾赫茲到幾百赫茲。超高頻信號發(fā)生器,產(chǎn)生一般使用振蕩器電路的波形圖。在實際應(yīng)用中,超低頻波和高頻波一般不采用,通常與頻率,那是幾十到數(shù)百赫茲的頻率?;谝陨嫌猛?,本次畢業(yè)論文要設(shè)計一個低頻信號源,
15、用單片機,加上一片D/A轉(zhuǎn)換芯片,你可以做一個簡單的信號發(fā)生器,頻率可以通過單片機編程。我們可以生產(chǎn)各種波形的程序編寫,為機器,用戶的選擇運行不同的程序有不同的波形。一些輸出的電壓轉(zhuǎn)換電路耦合到完成一個頻率,信號發(fā)生器的通用設(shè)計的振幅可以調(diào)。這樣的機器便宜的小,功耗低,中度頻率,攜帶方便。</p><p> 1.4論文的主要研究內(nèi)容</p><p> 本文結(jié)合國內(nèi)外研究成果,通過比較幾
16、種常用的低頻信號源論文內(nèi)容主要分為以下幾部分。</p><p> 第1章:介紹了低頻信號源,背景,目的,意義和內(nèi)容。</p><p> 第2章:分析概括幾種設(shè)計思路,設(shè)計系統(tǒng)的總原理圖,分模塊介紹系統(tǒng)的硬件功能。</p><p> 第3章:詳細介紹設(shè)計中用到的器件的性能。</p><p> 第4章:描述了軟件工作流模塊描述了其每個子
17、過程。</p><p> 第5章:介紹調(diào)試流程。</p><p><b> 2系統(tǒng)的硬件設(shè)計</b></p><p> 2.1硬件結(jié)構(gòu)框圖與電路原理圖</p><p> 波形的產(chǎn)生是通過AT89C2051單片機執(zhí)行某一波形發(fā)生程序,向D/A轉(zhuǎn)換器的輸入端按一定的規(guī)律發(fā)生數(shù)據(jù),從而在D/A轉(zhuǎn)換電路的輸出端得到相應(yīng)的
18、電壓波形。</p><p> DAC0832有三種聯(lián)接方式。一種是兩級緩沖器型,即輸入數(shù)據(jù)經(jīng)過兩級緩沖器型。輸入數(shù)據(jù)經(jīng)過兩級緩沖器后,送D/A轉(zhuǎn)換電路。第二種是單級緩沖器型,輸入數(shù)據(jù)經(jīng)輸入寄存器直接送入DAC寄存器,然后送D/A轉(zhuǎn)換電路。第三種是兩個緩沖器直通,輸入數(shù)據(jù)直接送D/A轉(zhuǎn)換電路進行轉(zhuǎn)換。</p><p> 結(jié)構(gòu)框圖如圖2-1:</p><p><
19、;b> 圖2-1結(jié)構(gòu)框圖</b></p><p> 2.2系統(tǒng)的硬件模塊設(shè)計</p><p><b> 2.2.1主控模塊</b></p><p> 在設(shè)計中,AT89C2051芯片主要用作處理鍵盤輸入的信息,輸出相應(yīng)波形需要的數(shù)字量,輸出顯示模塊需要的位選信號和要顯示的數(shù)據(jù)。</p><p>
20、 下面是對AT89C2051芯片的簡介:</p><p> 1. AT89C2051內(nèi)部結(jié)構(gòu)概述:</p><p> AT89C2051單片機芯片集成了以下幾個基本組成部分。 </p><p> 1. 一個8位的CPU</p><p> 2. 256B單元內(nèi)數(shù)據(jù)存儲器(RAM)</p><p>
21、3. 4KB片內(nèi)程序存儲器(ROM)</p><p> 4. 4個8位并行I/O接口P0~P3。</p><p> 5. 兩個定時/計數(shù)器。</p><p> 6. 5個中斷源的中斷管理控制系統(tǒng)。</p><p> 7. 一個個全雙工串行端口(通用異步接收發(fā)送器)</p><p><b> 2.管腳
22、:</b></p><p> VCC:電源電壓輸入端。</p><p><b> GND:電源地?!?lt;/b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。</p><p> P1口:P1口是提供內(nèi)部上拉電阻的位雙向端口,可接收輸出電流保險杠。</p&
23、gt;<p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流。 </p><p> P3口: P3口除了作為普通I/O口,還有第二功能:</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /IN
24、T0(外部中斷0) </p><p> P3.3 /INT1(外部中斷1) </p><p> P3.4 T0(T0定時器的外部計數(shù)輸入) </p><p> P3.5 T1(T1定時器的外部計數(shù)輸入) </p><p> I/O端口作為輸入端口有兩種模式,稱為讀取端口讀引腳。除了P1口外P0、P2、P3口都還有其他的功能?! ?
25、lt;/p><p> ALE/PROG:如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。</p><p> PSEN:外部程序存儲器的選通,低電平有效。在這段期間從外部程序存儲器讀取,每個機器周期兩次有效。然而,你訪問外部數(shù)據(jù)存儲器時,這兩個有效信號不會出現(xiàn)?! ?lt;/p><p>
26、 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)振蕩器反相放大器和時鐘發(fā)生器的輸入端?! ?lt;/p><p&
27、gt; XTAL2:片內(nèi)振蕩器反相放大器的輸出端。</p><p> AT89C2051單片機引腳如圖2-2所示。</p><p> 圖2-2 AT89C2051單片機引腳</p><p> 2.2.2 DA轉(zhuǎn)換模塊</p><p> DAC0832是CMOS工藝制造的8位數(shù)/模(D/A)轉(zhuǎn)換器在進行轉(zhuǎn)換。</p>&
28、lt;p> 幾個性能參數(shù)主要涉及以下:</p><p> ?、欧直媛?位DAC的分辨率為1/255=0.39%。 </p><p> ?、妻D(zhuǎn)換精度±1LSB。它反映了DAC的線性度。在一般情況下,轉(zhuǎn)換精度與實用性的絕對轉(zhuǎn)換精度。絕對轉(zhuǎn)換精度相對于輸出表示為一個百分比的全面相對轉(zhuǎn)換精度,有時與最低比特位(LSB)的幾分之幾?! ?lt;/p><p>
29、?、欠蔷€性誤差。D/A轉(zhuǎn)換器轉(zhuǎn)換成線性誤差被定義為實際的特性曲線之間的最大偏差和理想特性曲線,和相對測量的滿量程的百分比偏差。</p><p> ⑷轉(zhuǎn)換速率/建立時間。響應(yīng)時間如果運算放大器的輸出電壓輸出時間主要是人體所需的。</p><p> 根據(jù)對上述參數(shù)的綜合考慮,由于DAC0832有如上特征,本設(shè)計選定DAC0832芯片,其簡介如下:</p><p>
30、 1.DAC0832的內(nèi)部結(jié)構(gòu) </p><p> 當(dāng)從低到高,低,數(shù)據(jù)鎖存到輸入寄存器,然后輸入寄存器的輸出不再是按照輸入數(shù)據(jù)的變化。第二鎖存器,和低水平的同時,高度,然后輸入和一個輸出寄存器的變化;此后,當(dāng)從低到高,變低,輸入數(shù)據(jù)被鎖存到寄存器?! ?lt;/p><p> 2.DAC0832的引腳特性 </p><p> 各引腳的特性如圖2-3:</
31、p><p> 圖2-3 DAC0832引腳圖</p><p> XFER——傳輸控制信號,低有效?! ?lt;/p><p> DI7~DI0——8位數(shù)據(jù)輸入端?! ?lt;/p><p> IOUT1——模擬電流輸出端1?! ?lt;/p><p> IOUT2——模擬電流輸出端2。IOUT1+IOUT2=常數(shù)。 </p
32、><p> Rfb——反饋電阻引出端。</p><p> VREF——參考電壓輸入端??山与妷悍秶鸀?#177;10V。</p><p> VCC——芯片供電電壓端。范圍為+5V~+15V,最佳工作狀態(tài)是+15V?!?lt;/p><p> 3.DAC0832的工作方式 </p><p> DAC0832大致有3種工
33、作方式: </p><p> ?、艈尉彌_方式:單緩沖方式控制輸入和寄存器接收數(shù)據(jù)的同時,或只輸入寄存器和寄存器連接在直道?!?lt;/p><p> ⑵雙緩沖方式:進行兩級緩沖。</p><p> ⑶直通方式:不進行緩沖,適用于比較簡單的場合。</p><p> 根據(jù)上述資料,單片機與DAC0832的相連電路如圖2.7所示,其中P3口與DA
34、C0832的數(shù)據(jù)輸入端口D0~D7相連,DAC0832的VCC,ILE接電源,Vref接參考電壓,XFER,AGND,DGND,WR1,WR2。</p><p><b> 2.3時鐘電路</b></p><p> 單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩方式。</p><p> 在引腳XTAL1和XTAL2外接晶體振蕩器
35、或陶瓷諧振蕩器,構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自積振蕩,并產(chǎn)生振蕩時鐘脈沖。晶振通常選用6MHZ、12MHZ、或24MHZ。電容C1、C2的主要作用是幫助振蕩器起振,其值的大小對振蕩器頻率有微調(diào)作用,典型值為C1=C2=30pF,如圖2-4所示。</p><p> 圖2-4 時鐘部分電路圖</p><p><b> 2.4復(fù)位
36、電路</b></p><p> AT89C2051單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。上電或開關(guān)復(fù)位要求電源接通后,單片機自動復(fù)位,并且在單片機運行期間,用開關(guān)操作也能使單片機復(fù)位。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。
37、當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作,如圖2-5所示。</p><p> 圖2-5 上電自動復(fù)位電路</p><p><b> 2.5按鍵控制模塊</b></p><p> 鍵盤中每一個按鍵都是一個常開的開關(guān)電路,當(dāng)所設(shè)置的功能鍵按下時,則處于閉合狀態(tài),需要通過接口電路與
38、單片機相連,以便把鍵的開關(guān)狀態(tài)通知單片機,單片機可以采用查詢或中斷的方式了解有無鍵輸入并檢查哪一個按鍵被按下,并通過轉(zhuǎn)移指令轉(zhuǎn)入執(zhí)行該鍵的功能程序,執(zhí)行完又返回到原始狀態(tài)。</p><p> 控制系統(tǒng)按最小化工作模式設(shè)計,P3.0~P3.2腳接三個按鍵,其中T1為頻率增加鍵,T2為頻率減小鍵,T3為正弦波與三角波選擇按鍵。當(dāng)按下T1鍵時,每按一次則輸出波形頻率加10HZ,當(dāng)按下T2鍵時,每按一次則輸出波形頻率減
39、10HZ,如圖2-6。</p><p> 圖2-6按鍵模塊控制圖</p><p><b> 2.6電路原理圖</b></p><p><b> 電路原理圖如下:</b></p><p><b> 圖2-7電路原理圖</b></p><p><
40、;b> 3系統(tǒng)的軟件設(shè)計</b></p><p><b> 3.1主流程圖</b></p><p> 主程序的任務(wù)時進行上電初始化,并在程序運行中不斷查詢按鍵情況,執(zhí)行相應(yīng)的功能,</p><p> 系統(tǒng)主流程圖如圖3-1所示。</p><p> 圖 3-1 系統(tǒng)主流程圖</p>
41、<p> 3.2各功能模塊子程序</p><p> 低頻信號源信號的產(chǎn)生程序主要分以下幾個模塊:</p><p><b> 1.初始化子程序:</b></p><p> 主要工作是設(shè)置定時器的工作模式、初值預(yù)置、開中斷和打開定時器等。在這里,定時器T1工作與16位定時模式,單片機按定時時間重復(fù)地把波形數(shù)據(jù)送到DAC0832的
42、寄存器,初始化子程序流程圖如圖3-2所示。</p><p> 圖3-2 初始化子程序流程圖</p><p> 2.鍵盤掃描子程序:</p><p> 鍵掃描子程序的任務(wù)是檢查3個按鍵是否有按鍵下,若有鍵按下,則執(zhí)行下相應(yīng)的功能。</p><p> 鍵盤掃描程序流程圖如圖3-3所示。</p><p> 圖3-3
43、 鍵盤掃描程序流程圖</p><p> 3.波形數(shù)據(jù)產(chǎn)生子程序</p><p> 波形數(shù)據(jù)產(chǎn)生子程序是定時器T1的中斷程序。當(dāng)定時器計數(shù)溢出時,發(fā)生一次中斷。當(dāng)發(fā)生中斷時,單片機將按次序?qū)⒉ㄐ螖?shù)據(jù)表中的波形數(shù)據(jù)一一送入DAC0832,DAC0832再根據(jù)輸入的數(shù)據(jù)大小輸出對應(yīng)的電壓,波形數(shù)據(jù)產(chǎn)生子程序流程圖如圖3-4所示。</p><p> 圖3-4波形數(shù)據(jù)產(chǎn)
44、生子程序流程圖</p><p><b> 4 系統(tǒng)調(diào)試</b></p><p><b> 4.1軟件調(diào)試</b></p><p> 首先在Keil軟件中查找AT89C2051芯片,把它作為控制處理器,然后開始新建一個工程文件,將之前編寫好的各個功能程序錄入到軟件中去,在開始編譯之前我會首先檢查程序有沒有明顯錯誤的代碼
45、,然后保存過后開始編譯程序,KEIL會在編譯之后把錯誤的程序結(jié)果標(biāo)注出來方便了人們的修改。然后根據(jù)錯誤位置提示加以修改,當(dāng)各個功能程序都編譯完成后,然后再對整個程序進行全速執(zhí)行,再查看整體程序中有哪些地方出現(xiàn)錯誤,接著根據(jù)提示加以修改知道全速執(zhí)行整個程序完全正確無誤。最后軟件調(diào)試成功。如圖4-1</p><p> 圖4-1軟件調(diào)試結(jié)果</p><p><b> 4.2硬件調(diào)試
46、</b></p><p> 對于中頻率的增減按鍵由于計數(shù)器為16位定時器,最大值為65535,所以在加減時用255作為加減數(shù)。這樣頻率的調(diào)整變化比較快,但在接近最高頻率時變化太快。如果加減時用1作為加減數(shù),那么在頻率的高端變化平穩(wěn),而在頻率的低端則變化太慢。調(diào)試時可根據(jù)應(yīng)用特點選擇加減數(shù)的大小。簡易低頻信號源輸出的頻率不是很高,在設(shè)計時每周期波形用了256個采樣點合成,波形不是很平滑。如果增加采樣點
47、,則輸出的頻率會更低。用單片機產(chǎn)生低頻信號的最大優(yōu)點是可以輸出復(fù)雜的不規(guī)則波形,這是一般的通用信號源無法做到的。</p><p> 仿真原理圖如圖4-2</p><p><b> 圖4-2仿真圖</b></p><p> 方波波形仿真圖如圖4-3</p><p> 圖4-3方波波形仿真圖 </p&g
48、t;<p> 正弦波波形仿真圖如圖4-4</p><p> 圖4-4正弦波波形仿真圖</p><p> 三角波波形仿真圖如圖4-5</p><p> 圖4-5三角波波形仿真圖</p><p><b> 結(jié)論</b></p><p> 本文主要研究了以AT89S51單片機為
49、主要控制器件的低頻信號源的設(shè)計。主要內(nèi)容如下:</p><p> 1、論文首先介紹了低頻信號源的發(fā)展?fàn)顩r,突出了運用單片機做控制器的低頻信號源的優(yōu)點,研究了幾種主流設(shè)計思路并最終選定了軟硬件結(jié)合的方法。</p><p> 2、其次研究了電路整體設(shè)計和各個模塊的設(shè)計并對用到的器件做了描述,數(shù)模轉(zhuǎn)換選定了DAC0832芯片,單片機產(chǎn)生所需要的輸出波形數(shù)據(jù),鍵盤用來更改波形和頻率。</
50、p><p> 3、論文最后對設(shè)計的軟件部分和調(diào)試過程進行了研究,描述了整個程序的框架,繪制了流程圖,然后依次完成了初始化程序和其他各項子程序,其中在鍵盤掃描子程序上做了比較細致的描述。調(diào)試過程將主要仿真形式描述出來。</p><p> 4、簡易低頻信號源輸出的頻率不是很高,在設(shè)計時每周期波形用了256個采樣點合成,波形不是很平滑。如果增加采樣點,則輸出的頻率會更低。用單片機產(chǎn)生低頻信號的最
51、大優(yōu)點是可以輸出復(fù)雜的不規(guī)則波形,這是一般的通用信號源無法做到的。</p><p><b> 參考文獻</b></p><p> [1] 潘永雄. 單片機原理與應(yīng)用(第2版)[M] 電子工業(yè)出版社。</p><p> [2] 何立民.單片機應(yīng)用技術(shù)選編(8)[M] 北京航空航天大學(xué)出版社,2000。</p><p>
52、; [3] 張洪潤等.單片機原理及應(yīng)用[M] 北京科學(xué)出版社. 2002.8。</p><p> [4] 安鵬,馬偉.S12單片機模塊應(yīng)用及程序調(diào)試[J].電子產(chǎn)品世界,2006:162-163. </p><p> [5] 鄔寬明.單片機外圍器件實用手冊[M].北京航空大學(xué)出版社,1998.</p><p> [6] 沙占友.單片機外圍電路設(shè)計[M].電子
53、工業(yè)出版社,2003:46-48.</p><p> [7] 邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].清華大學(xué)出版社,北京2004</p><p> [8] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].高等教育出版社,第四版.</p><p> [9] 謝自美.電子線路設(shè)計·實驗·測試[M].華中科技大學(xué)出版社,第二版.</p>&l
54、t;p> [10] 趙晶.電路設(shè)計與制版 Protel 99 高級應(yīng)用[M].人民郵電出版社,2000.</p><p> [11] 張毅剛.單片機原理及應(yīng)用 [M] 高等教育出版社。</p><p> [12] 戴佳.51單片機應(yīng)用程序設(shè)計實例精講 [M]電子工業(yè)出版社。</p><p> [13]胡漢才. 單片機原理及其接口技術(shù).北京:北京清華大學(xué)
55、和出版社.</p><p> [14]樓然苗 李光飛. 單片機課程設(shè)計指導(dǎo). [M] 北京航空航天大學(xué)出版社,2012。</p><p><b> 致謝</b></p><p> 經(jīng)歷了兩個多月我終于完成了這個論文,雖然在寫作過程中遇到了各種各樣的難題,但是在老師與同學(xué)的幫助指導(dǎo)下,我還是圓滿的完成了。尤其要感謝我的論文指導(dǎo)老師——xxx
56、老師,他對我進行了無私的指導(dǎo),不厭其煩。還要感謝論文中所借鑒到著作的作者,沒有他們的啟發(fā)我也很難把論文寫的完整。</p><p> 由于我的水平有限,論文難免有不足之處,歡迎各位老師批評指正。</p><p><b> 附錄:原代碼</b></p><p> #include "reg51.h"</p>
57、<p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> #define key P3 //鍵盤口</p><p> #define dataout P1 //正弦波等數(shù)據(jù)輸出口</p><p&
58、gt; /*************************正弦波數(shù)據(jù)表*****************************/</p><p> uchar code sin_tab[256]=</p><p> {0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92,</p><p> 0x94,0x97,0x99,0x9B
59、,0x9E,0xA0,0xA3,0xA5,</p><p> 0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7,</p><p> 0xB9,0xBB,0xBD,0xBF,0xC1,0xC3,0xC5,0xC7,</p><p> 0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4,</p>
60、<p> 0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE,</p><p> 0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4,</p><p> 0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7,</p><p> 0xE7,0xE7,0xE7,0xE
61、7,0xE6,0xE6,0xE5,0xE5,</p><p> 0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF,</p><p> 0xDE,0xDD,0xDC,0xDB,0xDA,0xD8,0xD7,0xD6,</p><p> 0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9,</p>
62、;<p> 0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9,</p><p> 0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7,</p><p> 0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94,</p><p> 0x92,0x8F,0x8D,0x
63、8A,0x88,0x85,0x83,0x80,</p><p> 0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C,</p><p> 0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x59,</p><p> 0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47,</p&g
64、t;<p> 0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37,</p><p> 0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A,</p><p> 0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21,</p><p> 0x20,0x1F,0x1E,0
65、x1D,0x1D,0x1C,0x1C,0x1B,</p><p> 0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19,</p><p> 0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B,</p><p> 0x1B,0x1C,0x1C,0x1D,0x1D,0x1E,0x1F,0x20,</p&
66、gt;<p> 0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29,</p><p> 0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35,</p><p> 0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45,</p><p> 0x47,0x49,0x4B,
67、0x4D,0x4F,0x52,0x54,0x56,</p><p> 0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69,</p><p> 0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D};</p><p> /***************************三角波數(shù)據(jù)表***********
68、***************/</p><p> uchar code thr_tab[256]=</p><p> {0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,</p><p> 0x88,0x89,0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,</p><p> 0x90,0x
69、91,0x92,0x93,0x94,0x95,0x96,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,0xA
70、F,</p><p> 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,0
71、xB6,0xB5,0xB4,0xB3,0xB2,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,0x
72、98,</p><p> 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,
73、0x7E,0x7D,0x7C,0x7B,0x7A,0x79,0x78,</p><p> 0x77,0x76,0x75,0x74,0x73,0x72,0x71,0x70,</p><p> 0x6F,0x6E,0x6D,0x6C,0x6B,0x6A,0x69,0x68,</p><p> 0x66,0x66,0x65,0x64,0x63,0x62,0x61,0
74、x60,</p><p> 0x5F,0x5E,0x5D,0x5C,0x5B,0x5A,0x59,0x58,</p><p> 0x55,0x55,0x55,0x54,0x53,0x52,0x51,0x50,</p><p> 0x4F,0x4E,0x4D,0x4C,0x4B,0x4A,0x49,0x48,</p><p> 0x44
75、,0x44,0x45,0x44,0x43,0x42,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,0x55,0x55,0x56,
76、0x57,</p><p> 0x58,0x59,0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,</p><p> 0x60,0x61,0x62,0x63,0x66,0x65,0x66,0x67,</p><p> 0x68,0x69,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,</p><p> 0x7
77、0,0x71,0x72,0x73,0x77,0x75,0x76,0x77,</p><p> 0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x7F};</p><p> /******************************************************************************/</p><
78、p> uint data THHL=65535;//T1的16位定時器初值</p><p> uchar data keyword,n=0; //鍵值存放,查表指針</p><p> bdata sinthr;</p><p> sbit sin_thr=sinthr^0; //正弦波\三角波標(biāo)志(1為正弦波)</p>
79、<p> sbit ww=key^7; //方波輸出口</p><p> /*******************************鍵掃描子函數(shù)***********************************/</p><p><b> keyscan()</b></p><p><b
80、> {</b></p><p> keyword=key&0x07; //00000111 P30 P31 P32</p><p> if(keyword!=0x07)</p><p><b> {</b></p><p> while((key&0x07)!=0x07
81、);//等待鍵釋放</p><p> switch(keyword)</p><p><b> {</b></p><p> case 6:{if(THHL>=65235)THHL=65535;else{THHL=THHL+255;}break;}</p><p> case 5:{if(THHL<=
82、500)THHL=0;else{THHL=THHL-255;}break;}</p><p> case 3:{sin_thr=~sin_thr;break;}</p><p> default:{break;}</p><p><b> }</b></p><p><b> }</b>&l
83、t;/p><p><b> }</b></p><p><b> //</b></p><p> /***************************初始化函數(shù)****************************************/</p><p> clearmen()</
84、p><p><b> {</b></p><p><b> key=0xff;</b></p><p> dataout=0x00;//按鍵輸入狀態(tài),波形輸出為0</p><p> THHL=65535;</p><p> TH1=THHL/256;</p&
85、gt;<p> TL1=THHL%256;//裝定時初值(T1用)</p><p> TMOD=0X11;</p><p><b> ET1=1;</b></p><p><b> TR1=1;</b></p><p> EA=1;//16 位定時模式,T1中斷允許,
86、開定時器,開總中斷</p><p><b> }</b></p><p><b> //</b></p><p> /*********************************主函數(shù)***************************************/</p><p><
87、;b> main()</b></p><p><b> {</b></p><p> clearmen();</p><p><b> while(1)</b></p><p><b> {</b></p><p> key
88、scan();</p><p><b> }</b></p><p><b> }</b></p><p><b> //</b></p><p> /***********************************T1中斷函數(shù)******************
89、****************/</p><p> void time_intt1(void) interrupt 3 </p><p><b> {</b></p><p><b> EA=0;</b></p><p><b> TR1=0;</b></p&g
90、t;<p> TH1=THHL/256;</p><p> TL1=THHL%256;</p><p><b> TR1=1;</b></p><p> if(sin_thr)</p><p><b> {</b></p><p> dataout=
91、sin_tab[n];</p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> dataout=thr_tab[n];</p><p><b> }&
92、lt;/b></p><p> if(n>=255)</p><p><b> {</b></p><p><b> n=0;</b></p><p><b> }</b></p><p><b> else</b&
93、gt;</p><p><b> {</b></p><p><b> n++;</b></p><p><b> }</b></p><p><b> ww=~ww;</b></p><p><b> EA=1
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的簡易低頻信號發(fā)射源的設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計(論文)-51單片機的簡易低頻信號源設(shè)計
- 畢業(yè)論文--單片機低頻信號發(fā)生器設(shè)計與制作
- 簡易低頻信號源設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計--基于單片機的低頻信號發(fā)生器設(shè)計
- 低頻信號源單片機課程設(shè)計
- 低頻信號源單片機課程設(shè)計
- 基于at89c51單片機的數(shù)字式簡易低頻信號發(fā)生器
- 低頻信號源單片機課程設(shè)計 (2)
- 基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計(含外文翻譯)
- 基于單片機的簡易電子琴的設(shè)計畢業(yè)論文
- 基于51單片機的簡易計算器設(shè)計畢業(yè)論文
- 畢業(yè)論文 基于51單片機簡易計算器的設(shè)計
- 基于單片機的串行通信發(fā)射機設(shè)計【畢業(yè)論文】
- 單片機的簡易計算器設(shè)計-畢業(yè)論文
- 畢業(yè)論文——基于單片機的脈搏信號檢測
- 基于單片機的串行通信發(fā)射機設(shè)計【畢業(yè)論文】
- 畢業(yè)論文--基于51單片機簡易計算器的設(shè)計
- 基于單片機的信號發(fā)生器設(shè)計-畢業(yè)論文
- 畢業(yè)論文——基于單片機的脈搏信號檢測
評論
0/150
提交評論