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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  函數(shù)發(fā)生器主要作為實(shí)驗(yàn)用信號源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。本次設(shè)計(jì)的主要目的就是為了學(xué)習(xí)基于單片機(jī)的函數(shù)發(fā)生器的工作原理,設(shè)計(jì)出一個低頻的函數(shù)發(fā)生器。從本次設(shè)計(jì)不僅可以讓我對函數(shù)發(fā)生器的原理有更深的了解,而且也對單片機(jī)的知識有更深的掌握。</p><p>  單片機(jī)有很多

2、種類,而且制作函數(shù)發(fā)生器的方案繁多,本次設(shè)計(jì)是以AT89C51單片機(jī)為核心,選用DAC0832為數(shù)模轉(zhuǎn)換芯片,并輔以必要的模擬電路,設(shè)計(jì)出了一個基于AT89C51單片機(jī)的函數(shù)信號發(fā)生器。其設(shè)計(jì)內(nèi)容主要包括單片機(jī)最小系統(tǒng)的設(shè)計(jì)、DA轉(zhuǎn)換模塊的設(shè)計(jì)、鍵盤控制模塊的設(shè)計(jì)及LCD顯示模塊的設(shè)計(jì)。其中DA轉(zhuǎn)換模塊包括2塊DAC0832芯片和OP07運(yùn)放電路,第一塊DA芯片的輸出作為第二塊DA芯片的參考電壓,而第一塊DA芯片的2.5V參考電壓由MC

3、1403芯片的輸出來提供;鍵盤控制模塊采用3個按鍵來選擇波形類型及調(diào)節(jié)頻率、幅值;顯示模塊則采用LCD1602來顯示波形類型、頻率及幅值;最終將設(shè)計(jì)好的函數(shù)發(fā)生器的輸出接上示波器,在示波器上顯示實(shí)際輸出的波形。</p><p>  本設(shè)計(jì)最終能達(dá)到預(yù)期的效果,能實(shí)現(xiàn)電壓步進(jìn)0.1V,方波能夠任意調(diào)節(jié)占空比以及在LCD1602上顯示波形類型、電壓和頻率,并且可以通過示波器來觀察其輸出的波形。</p>

4、<p>  【關(guān)鍵詞】:AT89C51單片機(jī);DAC0832;LCD1602;按鍵</p><p><b>  ABSTRACT</b></p><p>  Function as the main generators by signals. Electronic circuits is now the design in the application

5、of the necessary equipment. The design of the main purpose is to learn revivification function of the generators works, a low frequency function of the generators. in this design could not only allow me to the principle

6、functions of programme,there is more, but also for a more monolithic integrated circuits to learn.</p><p>  Monolithic integrated circuits there are many varieties, and the production function of the generat

7、ors, the design is AT89c51 monolithic integrated circuits to the selection of a module dac0832 the chips, and supported by the simulation circuits, and devised a function of the signal based on at89c51 monolithic integra

8、ted circuits generators. The design includes monolithic integrated circuits to the system design, and D/A the module for the design, the keyboard control module of the design and LC</p><p>  The design of th

9、e will to achieve the desired results can be achieved step 3 1v voltage and waves to any regulation of free and lcd1602 than on the type of signal wave, voltage and frequency, and may, by the wave is varied to observe th

10、e output.</p><p>  【Key words】:at89c51mcu;dac0832;lcd1602;key</p><p><b>  目 錄</b></p><p><b>  前 言1</b></p><p>  第一章 單片機(jī)概述2</p><p

11、>  第一節(jié) 單片機(jī)的發(fā)展歷史及趨勢2</p><p>  第二節(jié) AT89C51單片機(jī)結(jié)構(gòu)簡介3</p><p>  一、AT89C51的基本特性3</p><p>  二、AT89C51單片機(jī)的外部引腳介紹4</p><p>  第三節(jié) 本章小結(jié)6</p><p>  第二章 方案選擇7&l

12、t;/p><p>  第一節(jié) 波形生成方案7</p><p>  第二節(jié) 頻率改變方案8</p><p>  第三節(jié) 本章小結(jié)9</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)10</p><p>  第一節(jié) 各模塊硬件設(shè)計(jì)10</p><p>  一、系統(tǒng)總體設(shè)計(jì)10</p&

13、gt;<p>  二、單片機(jī)最小系統(tǒng)設(shè)計(jì)11</p><p>  三、8位DA轉(zhuǎn)換器DAC083212</p><p>  四、2.5V基準(zhǔn)電壓模塊設(shè)計(jì)16</p><p>  五、系統(tǒng)顯示功能設(shè)計(jì)16</p><p>  六、系統(tǒng)按鍵功能設(shè)計(jì)20</p><p>  第二節(jié) 本章小結(jié)21&

14、lt;/p><p>  第四章 系統(tǒng)軟件設(shè)計(jì)23</p><p>  第一節(jié) Keil C51開發(fā)環(huán)境簡介23</p><p>  一、Keil uVision3環(huán)境介紹23</p><p>  二、利用Keil uVision3創(chuàng)建新項(xiàng)目24</p><p>  第二節(jié) 系統(tǒng)軟件流程設(shè)計(jì)25</p&

15、gt;<p>  一、系統(tǒng)軟件總體設(shè)計(jì)25</p><p>  二、子系統(tǒng)軟件設(shè)計(jì)26</p><p>  三、系統(tǒng)詳細(xì)流程28</p><p>  第三節(jié) 本章小結(jié)29</p><p>  第五章 設(shè)計(jì)成果30</p><p>  第一節(jié) 實(shí)物展示和性能說明30</p>

16、<p>  一、系統(tǒng)設(shè)計(jì)的實(shí)物整體30</p><p>  二、液晶顯示模塊31</p><p>  三、示波器顯示模塊33</p><p>  第二節(jié) 本章小結(jié)35</p><p><b>  結(jié) 論36</b></p><p><b>  致 謝37<

17、;/b></p><p><b>  參考文獻(xiàn)38</b></p><p><b>  附 錄39</b></p><p>  一、英文原文:39</p><p>  二、英文翻譯:42</p><p>  三、工程設(shè)計(jì)圖紙:44</p>&l

18、t;p><b>  四、源程序:45</b></p><p><b>  前 言</b></p><p>  本次設(shè)計(jì)的主要是學(xué)習(xí)基于單片機(jī)的函數(shù)發(fā)生器的工作原理,制作出一個低頻的函數(shù)信號發(fā)生器。</p><p>  在科學(xué)研究、工程教育及生產(chǎn)實(shí)踐中,如工業(yè)過程控制、教學(xué)實(shí)驗(yàn)、機(jī)械振動試驗(yàn)、動態(tài)分析、材料試驗(yàn)、生

19、物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號發(fā)生器。函數(shù)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。但市面上能看到的此類儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。我們長期使用的信號發(fā)生器,大部分是由模擬電路構(gòu)成的,這類儀器作為信號源,頻率可達(dá)上百M(fèi)Hz,在高頻范圍內(nèi)其頻率穩(wěn)定性高、可調(diào)性好。但用于低頻信號輸出時,它所需要的RC值很大,參數(shù)準(zhǔn)確度難以保證。而且其體積大,損耗也大。

20、前人研制了采用8031單片機(jī)及程序存儲器構(gòu)成的最小系統(tǒng)組成的數(shù)字式低頻信號發(fā)生器,它在低頻范圍內(nèi)性能好,但是體積較大,價格較貴。隨著大規(guī)模集成電路技術(shù)的發(fā)展,集成度不斷提高,使得微型機(jī)的速度和性能大為提高,可靠性增加,成本降低。MCS-51就是將具有存儲程序、處理數(shù)據(jù)以及與外設(shè)交換信息的功能電路集成在一塊芯片中,并符合一定系統(tǒng)結(jié)構(gòu)而構(gòu)成的單片機(jī)。 單片機(jī)有很多種類,而且制作函數(shù)發(fā)生器的方案繁多,本次設(shè)計(jì)是以AT89C51單片機(jī)為

21、核心,選用DAC0832</p><p>  本設(shè)計(jì)最終能達(dá)到預(yù)期的效果,能實(shí)現(xiàn)電壓步進(jìn)0.1V,方波能夠任意調(diào)節(jié)占空比以及在LCD1602上顯示波形類型、電壓和頻率,并且可以通過示波器來觀察其輸出的波形。</p><p><b>  1 單片機(jī)概述</b></p><p>  單片機(jī)的全稱是單片微型計(jì)算機(jī)(Single Chip Micro

22、computer),國際上統(tǒng)稱為微控制器(Micro Controller Unit,MCU)。它把組成微型計(jì)算機(jī)的各功能部件(中央處理器(CPU)、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可編程存儲器(EPROM)、并行及串行輸入/輸出(I/O)接口電路、定時器/計(jì)數(shù)器、中斷控制器等)集成在一塊半導(dǎo)體芯片上,構(gòu)成一個完整的微型計(jì)算機(jī)。</p><p>  1.1 單片機(jī)的發(fā)展歷史及趨勢</p>

23、;<p>  在進(jìn)行一個具體的單片機(jī)應(yīng)用系統(tǒng)開發(fā)之前,需要對單片機(jī)的硬件資源配置和體系結(jié)構(gòu)有較深入的了解。本章將對AT89C51單片機(jī)的基礎(chǔ)內(nèi)容作較詳細(xì)的講解。</p><p>  單片機(jī)出現(xiàn)的歷史并不長,但發(fā)展十分迅猛。它的產(chǎn)生與發(fā)展和微處理器的產(chǎn)生和發(fā)展大體相同,自1971年Intel公司首先推出4位微處理器以來,它的發(fā)展到目前為止大致可分為4個階段:</p><p> 

24、 單片機(jī)發(fā)展的初級階段(20世紀(jì)70年代初~70年代中期)。</p><p>  1971年11月Intel公司首先設(shè)計(jì)出集成度為2000只晶體管/片的4位微處理器Intel 4004,并配有RAM、ROM和移位寄存器,構(gòu)成了第一臺MCS-4微處理器。隨后又設(shè)計(jì)出了8位微處理器Intel8008,在此期間Fairchild公司也設(shè)計(jì)出了8位微處理器F8。這些微處理器雖然還不是真正的單片機(jī),但從此拉開了研制單片機(jī)的

25、序幕。</p><p>  低性能單片機(jī)階段(20世紀(jì)70年代中期~80年代初期)。</p><p>  以1976年Intel公司推出的MCS-48系列為代表,采用將8位CPU、8位并行I/O端口、8位定時器/計(jì)數(shù)器、RAM和ROM等集成在一塊半導(dǎo)體芯片上的單片結(jié)構(gòu),雖然其尋址范圍有限,也沒有串行I/O端口,RAM、ROM容量小,中斷系統(tǒng)也較簡單,但功能可滿足一般工業(yè)控制和智能化儀表等的

26、需要。這種采用將CPU與計(jì)算機(jī)外圍電路集成到一塊芯片上的技術(shù),標(biāo)志著單片機(jī)的誕生。從而導(dǎo)致了計(jì)算機(jī)領(lǐng)域中開始出現(xiàn)兩大分支:通用計(jì)算機(jī)系統(tǒng)和嵌入式系統(tǒng)。</p><p>  高性能單片機(jī)階段(20世紀(jì)80年代初期~90年代初期)。</p><p>  這一階段推出的8位單片機(jī)普遍帶有串行口,有多級中斷處理系統(tǒng),多個16位定時器/計(jì)數(shù)器。片內(nèi)RAM、ROM的容量加大,尋址范圍可達(dá)64KB,個別

27、片內(nèi)還帶有A/D轉(zhuǎn)換接口。這一階段中最具典型性的產(chǎn)品為1980年Intel公司推出的MCS-51系列單片機(jī),其他代表產(chǎn)品有Motorola公司的6801和Zilog公司的Z8等。這類單片機(jī)的運(yùn)算速度大幅度提高,增加了外圍電路功能,強(qiáng)化了智能控制的特征,拓寬了單片機(jī)的應(yīng)用范圍,使之能用于智能終端、局域網(wǎng)絡(luò)的接口等。因而,它是目前國內(nèi)外單片機(jī)產(chǎn)品的主流,各制造公司還在不斷的改進(jìn)和發(fā)展它。</p><p>  四、8位

28、單片機(jī)鞏固發(fā)展階段及16位、32位單片機(jī)不斷推出階段(20世紀(jì)90年代至今)。</p><p>  此階段單片機(jī)在集成度、功能、速度、可靠性、應(yīng)用領(lǐng)域等方面向更高水平發(fā)展。如:CPU的位數(shù)有8位、16位、32位,而結(jié)構(gòu)上采用雙CPU結(jié)構(gòu)或內(nèi)部流水線結(jié)構(gòu),以提高處理能力和運(yùn)算速度;時鐘頻率高達(dá)20MHz甚至更高,使指令執(zhí)行速度相對加快;提高新型的串口總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展和配置打下了良好的基礎(chǔ);增加新的特殊功能部件

29、,如監(jiān)視定時器WDT、DMA傳輸、PWM輸出、可編程計(jì)數(shù)陣列PCA、調(diào)制解調(diào)器、通信控制器、浮點(diǎn)運(yùn)算單元等;半導(dǎo)體制造工藝的不斷進(jìn)步,使芯片向高集成度、低功耗方向發(fā)展。此階段單片機(jī)內(nèi)集成的功能越來越強(qiáng)大,并朝著片上系統(tǒng)方向發(fā)展,單片機(jī)在大量數(shù)據(jù)的實(shí)時處理、高級通信系統(tǒng)、數(shù)字信號處理、復(fù)雜工業(yè)過程控制、高級機(jī)器人以及局域網(wǎng)等各方面得到大量應(yīng)用。</p><p>  隨著技術(shù)的進(jìn)步,早期的8位中、低檔單片機(jī)逐漸被淘汰

30、,但8位單片機(jī)并沒有消失,尤其是51系列單片機(jī)不僅沒有消失,反而還呈現(xiàn)快速發(fā)展的趨勢。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,將進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內(nèi)裝化等幾個方向發(fā)展。</p><p>  1.2 AT89C51單片機(jī)結(jié)構(gòu)簡介</p><p>  1.2.1 AT89C51的基本特性</p><p>  AT89

31、C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種

32、靈活性高且價廉的方案。</p><p>  AT89C51單片機(jī)有40個管腳,分成兩排,每一排各有20個腳,其中左下角標(biāo)有箭頭的為第1腳,然后按逆時針方向依次為第2腳、第3腳……第40腳。在40個管腳中,其中有32個腳可用于各種控制,比如控制小燈的亮與滅、控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)、控制電梯的升與降等,這32個腳叫做單片機(jī)的“端口”,在單片機(jī)技術(shù)中,每個端口都有一個特定的名字,比如第一腳的那個端口叫做“P1.0”。&l

33、t;/p><p>  AT89C51單片機(jī)的主要特性:</p><p>  ·與MCS-51兼容 </p><p>  ·4K字節(jié)可編程閃爍存儲器 </p><p>  壽命:1000寫/擦循環(huán)</p><p>  數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲

34、器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計(jì)數(shù)器·5個中斷源 </p><p><b>  ·可編程串行通道</b></p><p>  ·低功耗的閑置和掉電模式</p><p>  ·片內(nèi)振蕩器和時鐘電路 </p><

35、p>  1.2.2 AT89C51單片機(jī)的外部引腳介紹</p><p>  AT89C51單片機(jī)的外部引腳的排列及名稱如圖1.1所示:圖1.1所示管腳描述如下:</p><p>  ·VCC:提供掉電空閑正常工作電壓。</p><p>  ·GND:接地。

36、 </p><p>  ·P0口:P0口是開漏雙向口,可以寫為1使其狀態(tài)為懸浮用作高阻輸入。P0也可以在訪問外部程序存儲器時作地址的低字節(jié),在訪問外部數(shù)據(jù)存儲器時作數(shù)據(jù)總線,此時通過內(nèi)部強(qiáng)上拉輸出1。</p><p>  ·P1口:P1口是帶內(nèi)部上拉的雙向I/O口,向P1口寫入1時,P1口被內(nèi)部上拉為高電平,可用作輸入口。

37、當(dāng)作為輸入腳時,被外部拉低的P1口會因?yàn)閮?nèi)部上拉而輸出電流。其中P1.0用作定時/計(jì)數(shù)器2的外部計(jì)數(shù)輸入/時鐘輸出;P1.1用作定時/計(jì)數(shù)器2重裝載/捕捉/方向控制。</p><p>  ·P2口:P2口是帶內(nèi)部上拉的雙向I/O口,向P2口寫入1時,P2口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的P2口會因?yàn)閮?nèi)部上拉而輸出電流。在訪問外部程序存儲器和外部數(shù)據(jù)時,分別作為地址高位字節(jié)和

38、16位地址(MOVX @DPTR),此時通過內(nèi)部強(qiáng)上拉傳送1。當(dāng)使用8位尋址方式(MOV@Ri)訪問外部數(shù)據(jù)存儲器時,P2口發(fā)送P2特殊功能寄存器的內(nèi)容。</p><p>  ·P3口:P3口是帶內(nèi)部上拉的雙向I/O口。向P3口寫入1時,P3口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時被外部拉低的P3口會因?yàn)閮?nèi)部上拉而輸出電流,P3口還具有以下特殊功能:RxD(P3.0):串行輸入口</p&

39、gt;<p>  TxD(P3.1):串行輸出口</p><p>  INT0(P3.2):外部中斷0</p><p>  INT1(P3.3):外部中斷</p><p>  T0(P3.4):定時器0外部輸入</p><p>  T1(P3.5):定時器1外部輸入</p><p>  WR(P3.6):

40、外部數(shù)據(jù)存儲器寫信號</p><p>  RD(P3.7):外部數(shù)據(jù)存儲器讀信號</p><p>  ·RST:當(dāng)晶振在運(yùn)行中只要復(fù)位管腳出現(xiàn)2個機(jī)器周期高電平即可復(fù)位。內(nèi)部有擴(kuò)散電阻連接到Vss,僅需要外接一個電容到Vcc即可實(shí)現(xiàn)上電復(fù)位。</p><p>  ·ALE:地址鎖存使能,在訪問外部存儲器時,輸出脈沖鎖存地址的低字節(jié),在正常情況下,

41、ALE輸出信號恒定為1/6振蕩頻率。并可用作外部時鐘或定時,注意每次訪問外部數(shù)據(jù)時一個ALE脈沖將被忽略。ALE可以通過置位SFR的auxlilary.0禁止,置位后ALE只能在執(zhí)行MOVX指令時被激活。</p><p>  ·PSEN:當(dāng)執(zhí)行外部程序存儲器代碼時,PSEN每個機(jī)器周期被激活兩次.在訪問外部數(shù)據(jù)存儲器時PSEN無效,訪問內(nèi)部程序存儲器時PSEN無效。</p><p&g

42、t;  ·EA/VPP:在訪問整個外部程序存儲器時EA必須外部置低,如果EA為高時將執(zhí)行內(nèi)部程序,除非程序計(jì)數(shù)器包含大于片內(nèi)FLASH的地址。該引腳在對FLASH編程時提供5V/12V編程電壓(Vpp),如果保密位1已編程EA在復(fù)位時由內(nèi)部鎖存。</p><p>  ·XTAL1:反相振蕩放大器輸入和內(nèi)部時鐘發(fā)生電路輸入。</p><p>  ·XTAL2:來

43、自反向振蕩器的輸出。</p><p>  圖1.1 AT89C51單片機(jī)的外部引腳圖</p><p><b>  1.3 本章小結(jié)</b></p><p>  本章第一節(jié)主要介紹了單片機(jī)的發(fā)展歷史及未來趨勢,讓我們對單片機(jī)有了一個初步的了解。第二節(jié)比較詳細(xì)地描述了AT89C51單片機(jī)的結(jié)構(gòu)特性及引腳功能,為學(xué)習(xí)下一章打下了堅(jiān)實(shí)的基礎(chǔ)。</

44、p><p><b>  2 方案選擇</b></p><p>  函數(shù)發(fā)生器一般是指能自動產(chǎn)生正弦波、方波、三角波的電壓波形的電路或者儀器。其波形產(chǎn)生方法有單片機(jī)控制DA技術(shù)、直接數(shù)字合成等;電路形式可以采用由運(yùn)放及分離元件構(gòu)成,也可以采用單片集成函數(shù)發(fā)生器。本章將討論采用何種方法設(shè)計(jì)函數(shù)發(fā)生器。</p><p>  2.1 波形生成方案<

45、/p><p>  函數(shù)發(fā)生器在科學(xué)實(shí)驗(yàn)、電子測量、自動控制、設(shè)備檢測、無線通訊等領(lǐng)域有著廣泛的應(yīng)用。信號發(fā)生器的基本功能是可以提供符合一定技術(shù)指標(biāo)要求的電信號,其波形、頻率、幅值均可以調(diào)節(jié)。實(shí)現(xiàn)信號發(fā)生器電路的方案很多,其特點(diǎn)也不同,主要有模擬電路實(shí)現(xiàn)方案、數(shù)字電路實(shí)現(xiàn)方案和模數(shù)混合實(shí)現(xiàn)的方案。</p><p>  采用單片機(jī)控制技術(shù)實(shí)現(xiàn)的信號發(fā)生器</p><p> 

46、 該方案的主要思路是采用編程的方法來產(chǎn)生希望得到的波形,用戶將要輸出的波形預(yù)先存儲在半導(dǎo)體存儲器中,在需要某種波形時將儲存在存儲器中的數(shù)據(jù)依次讀出來,經(jīng)過數(shù)模轉(zhuǎn)換、濾波等處理后,輸出該波形的信號。該方案優(yōu)點(diǎn)是輸出信號的頻率穩(wěn)定,抗干擾能力強(qiáng),實(shí)現(xiàn)任意波形的信號容易,可通過外置按鍵或鍵盤來設(shè)定所需要產(chǎn)生信號源的類型和頻率,還可以通過顯示器顯示出波形的相關(guān)信息。不足之處是由于單片機(jī)的處理數(shù)據(jù)的速度有限,當(dāng)產(chǎn)生頻率比較高的信號時,輸出波形的質(zhì)

47、量將下降。</p><p>  2、利用直接數(shù)字頻率合成(DDS)集成芯片實(shí)現(xiàn)的信號發(fā)生器</p><p>  隨著大規(guī)模集成電路制作技術(shù)的發(fā)展,采用直接數(shù)字頻率合成技術(shù)實(shí)現(xiàn)的信號產(chǎn)生集成芯片應(yīng)用越來越廣泛。DDS集成芯片內(nèi)部主要由相位累加器、波形存儲器、高速D/A轉(zhuǎn)換器等環(huán)節(jié)組成,在時鐘脈沖的控制下,相位累加器對輸入的頻率控制字不斷進(jìn)行累加得到相應(yīng)的相位碼,同時相位碼序列作為地址信號去尋

48、址波形存儲器進(jìn)行相位碼到幅度碼的轉(zhuǎn)換,并輸出不同的幅度編碼。這一系列不同的幅度編碼經(jīng)過D/A轉(zhuǎn)換器得到相應(yīng)的階梯電壓信號,最后經(jīng)過低通濾波器平滑,即可輸出相應(yīng)的信號。一般集成DDS芯片內(nèi)部時鐘脈沖的頻率固定,其相位累加器位數(shù)也不變,所以只需改變頻率控制字即可實(shí)現(xiàn)輸出信號頻率的變化。利用DDS集成電路設(shè)計(jì)的信號發(fā)生器具有輸出頻率高,頻率穩(wěn)定度高,輸出頻率分辨率高,易于實(shí)現(xiàn)全數(shù)字控制等優(yōu)點(diǎn),是目前設(shè)計(jì)高精度、高性能信號發(fā)生器的首選方案。目前

49、典型的DDS集成芯片有AD9850、AD9851、AD9852和AD9834等。</p><p>  利用專用函數(shù)發(fā)生器集成電路實(shí)現(xiàn)的信號發(fā)生器</p><p>  利用集成函數(shù)發(fā)生器專用芯片可以方便的實(shí)現(xiàn)多種波形的輸出,而且外圍電路簡單,調(diào)試容易。例如早期的函數(shù)發(fā)生器集成芯片有ICL8038、BA205、XR2206/2207/2209等,這些芯片的不足時輸出信號的頻率不高,最大僅有幾百

50、kHz,調(diào)節(jié)方式不靈活,頻率和脈沖信號的占空比不能獨(dú)立調(diào)節(jié)。MAX038是美國MAXIM公司推出的新一代單片函數(shù)信號發(fā)生器,MAX038內(nèi)部含有精密帶隙電壓參考、鑒相器和TTL同步輸出,可以采用較少的外部元件構(gòu)成一臺高頻函數(shù)發(fā)生器,也可單獨(dú)用作電壓控制振蕩器、頻率調(diào)制器、脈寬調(diào)制器、鎖相環(huán)、頻率合成器和FSK信號發(fā)生器,它的主要特點(diǎn)有:0.1Hz~20MHz的輸出頻率調(diào)節(jié)范圍,350:1的掃頻范圍,10%~90%的占空比調(diào)節(jié)范圍,可以輸

51、出正弦波、方波、矩形波、三角波、鋸齒波等波形,且頻率和占空比調(diào)節(jié)互不影響,是目前較為理想的函數(shù)發(fā)生器集成芯片。</p><p>  4、采用分立器件組成的信號發(fā)生器</p><p>  過去傳統(tǒng)的信號發(fā)生一般采用這種方式,該方案一般采用集成運(yùn)算放大器外加電阻、電容等元件,構(gòu)成方波、三角波發(fā)生器,然后將三角波信號或方波信號轉(zhuǎn)換成正弦波信號輸出;也可以直接采用RC正弦波信號發(fā)生器產(chǎn)生正弦波信號

52、。該方案的缺點(diǎn)是輸出信號頻率較低,輸出的波形質(zhì)量差,輸出頻率調(diào)節(jié)范圍小,電路復(fù)雜且體積大。 </p><p>  綜合考慮成本、復(fù)雜程度、技術(shù)要求等各種因素,選擇了單片機(jī)控制雙DA技術(shù)完成頻率的改變這種方案。</p><p>  2.2 頻率改變方案</p><p>  方案一:單片機(jī)控制DA產(chǎn)生波形均是由查表產(chǎn)生,查表頻率的改變可導(dǎo)致送至DA的數(shù)據(jù)端得點(diǎn)與點(diǎn)之間的

53、距離變化,點(diǎn)與點(diǎn)距離的變化后,波形的周期將發(fā)生變化,也就是波形的頻率改變了。因此控制單片機(jī)的查表頻率即可實(shí)現(xiàn)頻率的步進(jìn)。其優(yōu)點(diǎn)是能夠很方便的改變頻率;其缺點(diǎn)是對單片機(jī)查表頻率的精度要求較高,且隨著頻率增高而提高。</p><p>  方案二:單片機(jī)控制計(jì)數(shù)器的初值。其優(yōu)點(diǎn)是解除了單片機(jī)對查表頻率精度的要求;其缺點(diǎn)是當(dāng)DA的輸出頻率高于100Hz時,每改變一個計(jì)數(shù)頻率引起輸出頻率的增加或者減少的頻率都大于100Hz

54、。對計(jì)數(shù)器的位數(shù)要求較高(至少需要10位),且由于受到VCO的振蕩頻率的影響輸出頻率失真度增加。</p><p>  綜合方案一和方案二的優(yōu)缺點(diǎn),本文采用了在低頻時控制單片機(jī)的查表頻率從而改變輸出頻率,在高頻時改變計(jì)數(shù)器的計(jì)數(shù)初值來改變頻率的方法從而較完美地實(shí)現(xiàn)要求。</p><p><b>  2.3 本章小結(jié)</b></p><p>  

55、本章主要介紹了本設(shè)計(jì)的具體方案,本設(shè)計(jì)采用雙DA技術(shù)來生成波形,在頻率控制方面,本設(shè)計(jì)采用控制單片機(jī)查表的頻率和改變計(jì)數(shù)器的計(jì)數(shù)初值相結(jié)合的方法。</p><p><b>  3 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  硬件設(shè)計(jì)是系統(tǒng)設(shè)計(jì)非常重要的一部分,這關(guān)系到系統(tǒng)能否正常運(yùn)行,每一個模塊的設(shè)計(jì)都關(guān)系到整體。本章將詳細(xì)地介紹系統(tǒng)各個模塊的設(shè)計(jì),包括單片機(jī)最小系統(tǒng)

56、、DA轉(zhuǎn)換模塊、液晶顯示模塊和按鍵控制模塊等。</p><p>  3.1 各模塊硬件設(shè)計(jì)</p><p>  3.1.1 系統(tǒng)總體設(shè)計(jì)</p><p>  本設(shè)計(jì)總體框圖如圖3.1所示:</p><p>  圖3.1 系統(tǒng)總體框圖</p><p>  系統(tǒng)總體款圖主要包括以下幾個部分:</p><

57、p>  單片機(jī)部分:本設(shè)計(jì)選用AT89C51單片機(jī)作為控制核心。</p><p>  DA轉(zhuǎn)換部分:本設(shè)計(jì)采用2塊DAC0832芯片,其中一塊的輸出用于另一塊DA的基準(zhǔn)</p><p>  基準(zhǔn)電壓部分:第一塊DA的2.5V基準(zhǔn)電壓通過MC1403芯片來實(shí)現(xiàn)。</p><p>  顯示部分:本設(shè)計(jì)采用LCD1602來顯示波形的類型、幅值的大小、頻率的大小。&l

58、t;/p><p>  鍵盤部分:本設(shè)計(jì)采用3個獨(dú)立按鍵來控制波形類型的選擇、幅值大小的改變及頻率大小的改變。</p><p>  3.2單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p>  本設(shè)計(jì)以AT89C51單片機(jī)為核心,要使AT89C51單片機(jī)正常工作,必須滿足它的基本條件,這就是最小工作系統(tǒng),如圖3.2所示:</p><p>  圖3.2 AT89C5

59、1單片機(jī)最小系統(tǒng)</p><p>  最小工作系統(tǒng)包括如下幾部分:</p><p>  電源:單片機(jī)使用的是5V電源,其中正極接40引腳(Vcc),負(fù)極接20引腳(GND)。</p><p>  晶振電路:晶振是晶體振蕩器的簡稱,單片機(jī)是一種時序電路,必須提供脈沖信號才能正常工作。AT89C51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTA

60、L2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592MHz,電容值約為30μF。在焊接刷電路板時,晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生

61、電容,更好地保證震蕩器穩(wěn)定和可靠地工作。單片機(jī)內(nèi)部已經(jīng)集成了振蕩器;使用晶體振蕩器,接18(XTAL2)、19(XTAL1)腳。只要買來晶振、電容,按圖接上即可。</p><p>  復(fù)位電路:單片機(jī)復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時,都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復(fù)位是一個很重要的操作方式。</p><p>

62、;  單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)冷啟動后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見表3.1。 </p><p>  表3.1 寄存器復(fù)位后狀態(tài)表</p><p>  按圖中畫法連好9腳(RST),單片機(jī)即可上電初始化。復(fù)位電

63、路的工作原理是:通電時,電容兩端相當(dāng)于是短路,于是RST引腳上為高電平,然后電源通過電阻對電容充電,RST端電壓慢慢下降,降到一定程度,即為低電平,時間不少于5ms。復(fù)位后單片機(jī)才開始正常工作。</p><p>  EA引腳:31引腳一般接到正電源端。</p><p>  3.3 8位DA轉(zhuǎn)換器DAC0832</p><p>  3.3.1 DAC0832芯片引腳介

64、紹</p><p>  DAC0832是雙列直插式8位D/A轉(zhuǎn)換器。能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。圖3.3和圖3.4分別為DAC0832的引腳圖和內(nèi)部結(jié)構(gòu)圖。其主要參數(shù)如下:分辨率為8位,轉(zhuǎn)換時間為1μs,滿量程誤差為±1LSB,參考電壓為(+10~-10)V,供電電源為(+5~+15)V,邏輯電平輸入與TTL兼容。從圖4中可見,在DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器,

65、它的允許鎖存信號為ILE,第二級鎖存器稱為DAC寄存器,它的鎖存信號也稱為通道控制信號/XFER。</p><p>  圖3.3中,當(dāng)ILE為高電平,片選信號/CS和寫信號/WR1為低電平時,輸入寄存器控制信號為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)/WR1由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。</p>

66、<p>  對第二級鎖存來說,傳送控制信號/XFER和寫信號/WR2同時為低電平時,二級鎖存控制信號為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)/WR2由低電平變高時,控制信號變?yōu)榈碗娖剑谑菍⑤斎爰拇嫫鞯男畔㈡i存到DAC寄存器中。</p><p>  圖3.3 DAC0832引腳圖</p><p>  圖3.3中其余各引腳的功能定義如下:</p>

67、<p>  (1)、DI7~DI0:8位的數(shù)據(jù)輸入端,DI7為最高位。</p><p>  (2)、IOUT1:模擬電流輸出端1,當(dāng)DAC寄存器中數(shù)據(jù)全為1時,輸出電流最大,當(dāng)DAC寄存器中數(shù)據(jù)全為0時,輸出電流為0。</p><p>  (3)、IOUT2:模擬電流輸出端2,IOUT2與IOUT1的和為一個常數(shù),即IOUT1+I(xiàn)OUT2=常數(shù)。</p><p

68、>  (4)、RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以RFB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個反饋電阻接在運(yùn)算放大器的輸出端和輸入端之間。</p><p>  (5)、VREF:參考電壓輸入端,此端可接一個正電壓,也可接一個負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10~-10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。<

69、;/p><p>  (6)、VCC:芯片供電電壓,范圍為(+5~15)V。</p><p>  (7)、AGND:模擬量地,即模擬電路接地端。</p><p>  (8)、DGND:數(shù)字量地。</p><p>  圖3.4 DAC0832內(nèi)部結(jié)構(gòu)圖</p><p>  3.3.2 DAC0832的工作方式</p>

70、;<p>  DAC0832可處于三種不同的工作方式:</p><p> ?。?)直通方式 :當(dāng)ILE接高電平,CS、WR1、WR2和XFER都接數(shù)字地時,DAC處于直通方式,8位數(shù)字量一旦到達(dá)DI7~DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。例如在構(gòu)成波形發(fā)生器的場合,就要用到這種方式,即把要產(chǎn)生基本波形的數(shù)據(jù)存在ROM中,連續(xù)取出送到DAC去轉(zhuǎn)換成電壓信號。</p>

71、<p> ?。?)單緩沖方式 :只要把兩個寄存器中的任何一個接成直通方式,而用另一個鎖存器數(shù)據(jù),DAC就可處于單緩沖工作方式。一般的做法是將WR2和XFER都接地,使DAC寄存器處于直通方式,另外把ILE接高電平,CS接端口地址譯碼信號,WR1接CPU的WR信號,這樣就可以通過一條MOVX指令,選中該端口,使CS和WR1有效,啟動D/A轉(zhuǎn)換。</p><p> ?。?)雙緩沖方式 :主要在以下兩種情況

72、下需要用雙緩沖方式的D/A轉(zhuǎn)換。需在程序的控制下,先把轉(zhuǎn)換的數(shù)據(jù)輸入輸入緩存器,然后在某個時刻再啟動D/A轉(zhuǎn)換。這樣,可先選中CS端口,把數(shù)據(jù)寫入輸入寄存器;再選中XFER端口,把輸入寄存器內(nèi)容寫入DAC寄存器,實(shí)現(xiàn)D/A轉(zhuǎn)換。在需要同步進(jìn)行D/A轉(zhuǎn)換的多路DAC系統(tǒng)中,采用雙緩沖方式,可以在不同的時刻把要轉(zhuǎn)換的數(shù)據(jù)打入各DAC的輸入寄存器,然后由一個轉(zhuǎn)換命令同時啟動多個DAC轉(zhuǎn)換。先用3條輸出指令選擇3個端口,分別將數(shù)據(jù)寫入各DAC的

73、輸入寄存器,當(dāng)數(shù)據(jù)準(zhǔn)備就緒后,再執(zhí)行一次寫操作,使XFER變低同時選通3個D/A的DAC寄存器,實(shí)現(xiàn)同步轉(zhuǎn)換。</p><p>  3.3.3 DAC0832與單片機(jī)連接及外圍電路的設(shè)計(jì)</p><p>  圖3.5 第一片DAC0832外接轉(zhuǎn)換電路</p><p>  圖3.6 第二片DAC0832外接轉(zhuǎn)換電路</p><p>  本次函數(shù)

74、發(fā)生器的設(shè)計(jì)采用雙AD技術(shù)。即用第一片DAC0832芯片的輸出作為第二片DAC0832的基準(zhǔn)電壓,通過改變單片機(jī)對第一片DAC0832的輸入來改變其輸出,從而改變第二片DAC0832的基準(zhǔn)電壓,從而控制第二片DAC0832的輸出電流,由此可見,幅值的大小可由單片機(jī)來控制。同樣單片機(jī)也與第二片DAC0832相連接,通過單片機(jī)查表頻率的改變和定時器初值的改變來控制波形頻率的大小。由于DAC0832是電流輸出型,在輸出端需接一個電流電壓轉(zhuǎn)換電

75、路和一個負(fù)電壓轉(zhuǎn)換為正電壓轉(zhuǎn)換電路即可輸出0~Vref的電壓值。其電路圖如圖3.5、圖3.6所示:</p><p>  3.4 2.5V基準(zhǔn)電壓模塊設(shè)計(jì)</p><p>  本設(shè)計(jì)采用MC1403芯片實(shí)現(xiàn)2.5V電壓基準(zhǔn),其引腳圖如圖3.7所示:</p><p>  圖3.7 MC1403引腳圖</p><p>  MC1403是低壓基準(zhǔn)芯片

76、。一般用作8~12bit的D/A芯片的基準(zhǔn)電壓等一些需要基本精準(zhǔn)的基準(zhǔn)電壓的場合。輸出電壓:2.5V+/-25mV,輸入電壓范圍:4.5V~40V,輸出電流:10mA。因?yàn)檩敵鍪枪潭ǖ?,所以電路很簡單。就是Vin接電源輸入,GND接底,Vout加一個0.1uf~1uf的電容就可以了。Vout一般用作8~12bit的D/A芯片的基準(zhǔn)電壓。</p><p>  3.5 系統(tǒng)顯示功能設(shè)計(jì)</p><

77、p>  本設(shè)計(jì)采用LCD1602來顯示波形的類型、幅值及頻率。LCD1602液晶顯示模塊,它可以顯示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單。LCD1602管腳如圖3.8所示:</p><p>  圖3.8 LCD1602芯片管腳圖</p><p>  表3.2 LCD1602管腳功能表</p><p>  LCD1602主要管腳介紹:&

78、lt;/p><p>  V0:液晶顯示器對比度調(diào)整端,接地電源時對比度最高,對比度過高時會產(chǎn)生‘鬼影’,使用時可以通過一個10K的電位器調(diào)整對比度。</p><p>  RS:寄存器選擇,高電平時選擇數(shù)據(jù)寄存器;低電平時選擇指令寄存器。</p><p>  R/W:讀寫信號線,高電平時進(jìn)行讀操作,低電平時進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址;

79、當(dāng)RS為高電平R/W為高電平R/W為低電平時可以寫入數(shù)據(jù)。</p><p>  E:使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行指令。</p><p>  LCD1602控制指令:</p><p>  LCD1602有11個控制指令,如表3.3所示:</p><p>  表3.3 LCD1602指令對應(yīng)功能表</p>&

80、lt;p>  清屏指令表如表3.4所示:</p><p>  表3.4 LCD1602清屏指令表</p><p>  顯示開關(guān)控制如表3.5所示:</p><p>  表3.5 顯示開關(guān)控制表</p><p>  功能:設(shè)置顯示、光標(biāo)及閃爍開、關(guān);</p><p>  其中:D表示顯示開關(guān):D=1為開,D=0

81、為關(guān)。</p><p>  C表示光標(biāo)開關(guān):C=1為開,C=0為關(guān)。</p><p>  B表示閃爍開關(guān):B=1為開,B=0為關(guān)。</p><p>  光標(biāo)、畫面位移控制如表3.6所示:</p><p>  表3.6 LCD1602光標(biāo)、畫面位移控制表</p><p>  功能:光標(biāo)、畫面移動,不影響DDRAM。&l

82、t;/p><p>  其中:S/C=1:畫面平移一個字符位;</p><p>  S/C=0:光標(biāo)平移一個字符位;</p><p>  R/L=1:右移;R/L=0:左移。</p><p>  功能設(shè)置如表3.7所示:</p><p>  表3.7 LCD1602功能設(shè)計(jì)表</p><p>  功

83、能:工作方式設(shè)置(初始化指令)</p><p>  其中:DL=1,8位數(shù)據(jù)接口;DL=0,四位數(shù)據(jù)接口;</p><p>  N=1,兩行顯示;N=0,一行顯示;</p><p>  F=1,5 10點(diǎn)陣字符;F=0,5 7點(diǎn)陣字符。</p><p>  讀寫控制時序如表3.8所示:</p><p>  表3.8

84、LCD1602讀寫控制時序</p><p>  LCD1602與單片機(jī)連接圖如下:</p><p>  圖3.9 LCD1602與單片機(jī)連接電路圖</p><p>  3.6 系統(tǒng)按鍵功能設(shè)計(jì)</p><p>  此信號發(fā)生器采用三個按鍵與LCD1602配合使用來調(diào)節(jié)輸出信號的各個參數(shù)。如圖3.10所示,三個按鍵分別賦予的意義為:“+”鍵、“

85、—”鍵、功能鍵。</p><p>  圖3.10 按鍵分布與功能圖</p><p>  “功能鍵”是選擇輸出波形需要調(diào)節(jié)的參數(shù),“+”鍵和“—”鍵則是增加或者減小輸出波形幅值或頻率。操作時必須觀察LCD1602上顯示的內(nèi)容再按鍵來調(diào)節(jié)相應(yīng)參數(shù)。LCD1602上顯示的內(nèi)容如圖3.11所示。</p><p>  圖3.11 LCD1602顯示內(nèi)容示意圖</p>

86、;<p>  (1)G:M——“+”鍵和“—”鍵調(diào)節(jié)輸出波形類型,改變的是mode 的值(方波為0,三角波為1,正弦波為2)。</p><p>  (2)G:F— —“+”鍵和“—”鍵調(diào)節(jié)輸出信號頻率,改變的是定時器的值。</p><p>  (3)G:A— —“+”鍵和“—”鍵調(diào)節(jié)輸出信號幅值,改變的是A的值(0.0~5

87、.0V, 步進(jìn)為0.1V)。</p><p>  說明:按動“功能鍵”會使G的值在0、1、2之間循環(huán)切換。</p><p><b>  3.7 本章小結(jié)</b></p><p>  本章是本文的核心內(nèi)容,其詳細(xì)地介紹了該系統(tǒng)硬件設(shè)計(jì)的具體方案,對各硬件模塊以及調(diào)試過程中遇到的問題及解決方法作了比較系統(tǒng)的闡述。其中硬件設(shè)計(jì)方面包括單片機(jī)最小系統(tǒng)的

88、設(shè)計(jì)、按鍵的設(shè)計(jì)、液晶顯示模塊的設(shè)計(jì)、DA轉(zhuǎn)換模塊的設(shè)計(jì)及基準(zhǔn)電壓的設(shè)計(jì)等。</p><p><b>  4 系統(tǒng)軟件設(shè)計(jì)</b></p><p>  如果說硬件是一個系統(tǒng)的軀體,那么軟件就是系統(tǒng)的靈魂。所謂軟件設(shè)計(jì)當(dāng)然包括軟件的流程設(shè)計(jì)和具體程序的編寫。流程的設(shè)計(jì)代表系統(tǒng)的一個大概的運(yùn)行思路,而程序的編寫當(dāng)然涉及到編寫程序的軟件。本章將介紹編寫程序的Keil軟件及

89、具體流程的設(shè)計(jì),并且將最終的設(shè)計(jì)成果一一展現(xiàn)。</p><p>  4.1 Keil C51開發(fā)環(huán)境簡介</p><p>  4.1.1 Keil uVision3環(huán)境介紹</p><p>  Keil C51是KEIL公司推出的51系列單片機(jī)C語言軟件開發(fā)系統(tǒng),對于多數(shù)單片機(jī)的應(yīng)用開發(fā),Keil C51是一款非常優(yōu)秀的軟件。Keil C51軟件支持功能強(qiáng)大的集成

90、開發(fā)調(diào)試工具和豐富的庫函數(shù),生成的目標(biāo)代碼效率很高,多數(shù)語句的匯編代碼很緊湊,且容易理解,在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢</p><p>  Keil uVision3是Keil C51 for Windows的集成開發(fā)環(huán)境,可以用開編譯C源代碼、匯編源程序、連接和重定位目標(biāo)文件和庫文件、創(chuàng)建HEX文件、調(diào)試目標(biāo)程序等。它集編輯、編譯、仿真于一體,并且支持匯編語言。Keil uVision3提供的多功能的

91、文件操作環(huán)境,包括一個內(nèi)藏式編輯室,它是標(biāo)準(zhǔn)的文件編輯器,具有十分強(qiáng)大的文件編輯功能,例如文件塊的移動、剪切、復(fù)制、查找、刪除等,它支持鼠標(biāo)操作,也有快捷鍵。在Keil uVision3中,用戶可以同時打開多個窗口對多個不同的文件進(jìn)行處理,這一特性有利于使用C51進(jìn)行結(jié)構(gòu)化的多模塊程序設(shè)計(jì)。在模塊化編程時,如果同時打開多個不同文件,可以在Keil uVision3中分別進(jìn)行編輯處理。Keil uVision3的主菜單欄涵蓋了幾乎所有的C

92、51編輯、編譯以及調(diào)試等功能方式,共有11個選項(xiàng),分別是File、Edit、View、Project、Debug、Flash、Peripherals、Tool、SVCS、Windows和Help。下面分別對各菜單的列表項(xiàng)所指向的功能進(jìn)行說明。</p><p> ?。?)文件(File)菜單</p><p>  文件菜單命令主要用于對文件的一些操作,如新建、打開、關(guān)閉、輸出等。文件菜單的“D

93、evice Database”選項(xiàng)用于修改Keil支持的51系列芯片的型號的設(shè)定。</p><p> ?。?)編輯(Edit)菜單</p><p>  編輯菜單命令主要包括剪切、復(fù)制、粘貼、查找、替換等編輯操作和書簽管理命令。</p><p> ?。?)視圖(View)菜單</p><p>  視圖菜單命令用于控制Keil的界面顯示,使用視圖

94、菜單中的命令可以顯示或隱藏Keil的各個窗口和工具欄。</p><p> ?。?)項(xiàng)目(Project)菜單</p><p>  項(xiàng)目菜單命令包括項(xiàng)目的創(chuàng)建、打開、關(guān)閉、維護(hù)、目標(biāo)環(huán)境設(shè)定、編譯等命令。</p><p> ?。?)調(diào)試(Debug)菜單</p><p>  調(diào)試菜單命令用于軟件仿真環(huán)境下的調(diào)試,提供斷點(diǎn)、單步、跟蹤等操作指令。

95、</p><p> ?。?)燒寫(Flash)菜單</p><p>  燒寫菜單命令主要用于程序下載到EEPROM的控制。</p><p>  (7)外設(shè)(Perpherals)菜單</p><p>  外設(shè)菜單是外圍模塊菜單命令,用于控制芯片的復(fù)位和片內(nèi)功能模塊的控制。</p><p> ?。?)工具(Tools)菜

96、單</p><p>  工具菜單主要用于支持第三方調(diào)試系統(tǒng),包括Gimpel Software公司的PC-Lint和西門子公司的Easy-Case.</p><p> ?。?)軟件版本控制系統(tǒng)(SVCS)菜單</p><p>  軟件版本控制系統(tǒng)菜單命令用于設(shè)置和運(yùn)行軟件版本控制系統(tǒng)。</p><p> ?。?0)窗口(Windows)菜單&

97、lt;/p><p>  窗口菜單命令用于設(shè)置窗口的排版方式,與Windows的窗口管理兼容。</p><p> ?。?1)幫助(Help)菜單</p><p>  幫助菜單用于提供軟件幫助信息和版本說明。</p><p>  4.1.2 利用Keil uVision3創(chuàng)建新項(xiàng)目</p><p>  Keil uVision

98、3中的項(xiàng)目是一個特殊結(jié)構(gòu)的文件,它包含應(yīng)用開發(fā)系統(tǒng)相關(guān)所以文件的相互關(guān)系,在Keil uVision3中,主要使用項(xiàng)目來進(jìn)行應(yīng)用系統(tǒng)的開發(fā)。創(chuàng)建一個新項(xiàng)目的詳細(xì)步驟為:</p><p>  1、選擇菜單命令Project|New Project,彈出“Creat New Project”對話框。</p><p>  2、在對話框中選擇新項(xiàng)目要保存的路徑和文件名,單擊“保存”按鈕即可。Kei

99、l uVision3的項(xiàng)目文件擴(kuò)展名為.uv2。</p><p>  3、單擊“保存”按鈕后,彈出“Select Device for Target”對話框。用戶需要在左側(cè)的芯片列表中選擇調(diào)試使用的51系列單片機(jī)型號,使對話框右側(cè)的“Descripion”文本框可以查看選中單片機(jī)型號的說明。</p><p>  4、單擊“Select Device for Target”對話框中的“確定”

100、按鈕,程序會詢問是否將標(biāo)準(zhǔn)51初始化程序加入到項(xiàng)目中,選擇“是”,程序會自動復(fù)制標(biāo)準(zhǔn)51初始化程序到項(xiàng)目所在目錄并將其加入項(xiàng)目文件。</p><p>  5、下面需要向項(xiàng)目中添加文件。選中項(xiàng)目窗口中的文件組后單擊鼠標(biāo)右鍵,在彈出的菜單中選擇Add Files to Group”項(xiàng)添加所需文件。</p><p>  6、如果沒有現(xiàn)成的程序,就需要新建一個程序文件。單擊新建文件的快捷按鈕,屏幕

101、中出現(xiàn)一個新的文字編輯窗口,這樣就可以在新的窗口中輸入需要的程序了。</p><p>  4.2 系統(tǒng)軟件流程設(shè)計(jì)</p><p>  4.2.1 系統(tǒng)軟件總體設(shè)計(jì)</p><p>  系統(tǒng)軟件總體設(shè)計(jì),初始化時輸出的是方波,顯示方波的幅值和頻率。通過按鍵可以選擇調(diào)節(jié)頻率還是調(diào)節(jié)幅值以及選擇輸出正弦波和三角波。流程圖如圖4.1所示:</p><p

102、>  圖4.1主程序流程圖</p><p>  4.2.2 子系統(tǒng)軟件設(shè)計(jì)</p><p><b>  外部中斷0</b></p><p>  本設(shè)計(jì)采用外部中斷0控制波形類型的選擇以及幅值頻率的增加,當(dāng)程序檢測到外部中斷0時,執(zhí)行相應(yīng)的操作。其程序流程圖如圖4.2所示:</p><p>  圖4.2 外部中斷0程

103、序流程</p><p><b>  外部中斷1</b></p><p>  本設(shè)計(jì)采用外部中斷1控制波形類型的選擇以及幅值頻率的減小,當(dāng)程序檢測到外部中斷1時,執(zhí)行相應(yīng)的操作。其程序流程圖如圖4.3所示:</p><p>  圖4.3 外部中斷1程序流程</p><p><b>  定時器0</b>

104、</p><p>  本設(shè)計(jì)采用定時器0來控制波形頻率的改變,通過裝初值來改變定時從而改變頻率。其流程圖如圖4.4所示:</p><p>  圖4.4 定時器0程序流程</p><p>  4.3 系統(tǒng)詳細(xì)流程</p><p>  系統(tǒng)詳細(xì)流程圖如圖4.5所示:</p><p>  圖4.5 系統(tǒng)詳細(xì)流程圖</p

105、><p><b>  4.4 本章小結(jié)</b></p><p>  本章主要介紹了系統(tǒng)軟件設(shè)計(jì)的思路,包括系統(tǒng)總體設(shè)計(jì)的流程圖、定時器、外部中斷的程序流程的設(shè)計(jì)以及在軟件調(diào)試過程中遇到的問題。其實(shí),軟件設(shè)計(jì)的思路和流程圖的設(shè)計(jì)并不復(fù)雜,復(fù)雜的是程序編輯和編譯。如何使程序編譯無誤并實(shí)現(xiàn)其功能才是真正嚴(yán)峻的問題。在用Keil軟件編程編譯的過程中,遇到一些問題是不可避免的,如C

106、語言編程格式問題,如何一一化解這需要一定的編程經(jīng)驗(yàn)和專業(yè)基礎(chǔ),這里將不一一敘述。在這次程序調(diào)試過程中主要遇到兩個棘手的問題:第一個是無法將程序燒進(jìn)單片機(jī)。當(dāng)時只想到可能是燒寫軟件沒有設(shè)置好,或者計(jì)算機(jī)端口跟軟件端口不匹配,但是經(jīng)過檢查后這些都沒問題,弄了半天都找不到問題的根源,后來在無意中看到51單片機(jī)相關(guān)資料后發(fā)現(xiàn)51單片機(jī)的ROM只有4K大小,也就是說只能容納4K大小的程序,但是我編的程序卻有7K左右,難怪燒不進(jìn)去,面對這一問題,要

107、么削減程序,要么把51的單片機(jī)換成8K的52系列的單片機(jī),要想從7K削減至4K基本不可能,所以只能換成52的單片機(jī)。其實(shí)51系列單片機(jī)跟52系列單片除了ROM大小不同,其他都一樣,所以對本設(shè)計(jì)沒有任何影響。第二個問題是按鍵掃描程序的問題。剛開始按下按鍵時</p><p><b>  5 設(shè)計(jì)成果</b></p><p>  本次設(shè)計(jì)的結(jié)果無論從硬件的焊接上還是從軟件

108、的調(diào)試上都基本上還算令人滿意。液晶正常顯示,示波器上也能正常顯示波形。本章將一一介紹本設(shè)計(jì)的各個模塊的性能,包括液晶的顯示情況和示波器上波形的顯示情況。</p><p>  5.1 實(shí)物展示和性能說明</p><p>  5.1.1系統(tǒng)設(shè)計(jì)的實(shí)物整體</p><p>  本設(shè)計(jì)的完整實(shí)物圖如圖5.1所示:</p><p>  圖5.1 本設(shè)計(jì)

109、的實(shí)物整體展示圖</p><p>  本實(shí)物圖中包括供電電源、函數(shù)發(fā)生器和示波器三個部分。</p><p>  電源:它通過一個變壓器將220伏的電壓經(jīng)過處理后能提供本設(shè)計(jì)中要求的5伏和正負(fù)12伏的電壓。其中5伏電壓是供單片機(jī)系統(tǒng)和MC1403芯片使用,正負(fù)12伏電壓時供OP07芯片使用。</p><p>  函數(shù)發(fā)生器:該部分是本設(shè)計(jì)的核心主題,接通電源后,它將產(chǎn)

110、生方波、三角波、正弦波三種波形,而且上面的液晶能顯示波形的類型、幅值大小和頻率的大小,接上示波器就能在示波器上顯示波形。</p><p>  示波器:它是用來顯示從函數(shù)發(fā)生器產(chǎn)生的波形,可以通過它開判斷函數(shù)發(fā)生器是否正常工作。</p><p>  5.1.2 液晶顯示模塊</p><p>  本設(shè)計(jì)要求在液晶上顯示波形的類型、波形的幅值大小和頻率大小。下面將一一展示

111、三種波形的顯示情況。方波的顯示如圖5.2所示:</p><p>  圖5.2 方波的顯示圖</p><p>  圖5.2所示液晶上A代表波形的幅值,此時按“+”、“—”按鍵可以改變賦值的大小。其中Mode:F表示當(dāng)前的波形類型為方波,而液晶第二行的F表示計(jì)數(shù)器的計(jì)數(shù)初值,計(jì)數(shù)初值的改變導(dǎo)致頻率的改變。</p><p>  三角波的顯示情況如圖5.3所示:</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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論