版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 函數(shù)發(fā)生器主要作為實(shí)驗(yàn)用信號(hào)源,是現(xiàn)今各種電子電路實(shí)驗(yàn)設(shè)計(jì)應(yīng)用中必不可少的儀器設(shè)備之一。本次設(shè)計(jì)的主要目的就是為了學(xué)習(xí)基于單片機(jī)的函數(shù)發(fā)生器的工作原理,設(shè)計(jì)出一個(gè)低頻的函數(shù)發(fā)生器。從本次設(shè)計(jì)不僅可以讓我對(duì)函數(shù)發(fā)生器的原理有更深的了解,而且也對(duì)單片機(jī)的知識(shí)有更深的掌握。</p><p> 單片機(jī)有很多
2、種類,而且制作函數(shù)發(fā)生器的方案繁多,本次設(shè)計(jì)是以AT89C51單片機(jī)為核心,選用DAC0832為數(shù)模轉(zhuǎn)換芯片,并輔以必要的模擬電路,設(shè)計(jì)出了一個(gè)基于AT89C51單片機(jī)的函數(shù)信號(hào)發(fā)生器。其設(shè)計(jì)內(nèi)容主要包括單片機(jī)最小系統(tǒng)的設(shè)計(jì)、DA轉(zhuǎn)換模塊的設(shè)計(jì)、鍵盤(pán)控制模塊的設(shè)計(jì)及LCD顯示模塊的設(shè)計(jì)。其中DA轉(zhuǎn)換模塊包括2塊DAC0832芯片和OP07運(yùn)放電路,第一塊DA芯片的輸出作為第二塊DA芯片的參考電壓,而第一塊DA芯片的2.5V參考電壓由MC
3、1403芯片的輸出來(lái)提供;鍵盤(pán)控制模塊采用3個(gè)按鍵來(lái)選擇波形類型及調(diào)節(jié)頻率、幅值;顯示模塊則采用LCD1602來(lái)顯示波形類型、頻率及幅值;最終將設(shè)計(jì)好的函數(shù)發(fā)生器的輸出接上示波器,在示波器上顯示實(shí)際輸出的波形。</p><p> 本設(shè)計(jì)最終能達(dá)到預(yù)期的效果,能實(shí)現(xiàn)電壓步進(jìn)0.1V,方波能夠任意調(diào)節(jié)占空比以及在LCD1602上顯示波形類型、電壓和頻率,并且可以通過(guò)示波器來(lái)觀察其輸出的波形。</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ā)展歷史及趨勢(shì)2</p><p> 第二節(jié) AT89C51單片機(jī)結(jié)構(gòu)簡(jiǎn)介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開(kāi)發(fā)環(huán)境簡(jiǎ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í)物展示和性能說(shuō)明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ā)生器的工作原理,制作出一個(gè)低頻的函數(shù)信號(hào)發(fā)生器。</p><p> 在科學(xué)研究、工程教育及生產(chǎn)實(shí)踐中,如工業(yè)過(guò)程控制、教學(xué)實(shí)驗(yàn)、機(jī)械振動(dòng)試驗(yàn)、動(dòng)態(tài)分析、材料試驗(yàn)、生
19、物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號(hào)發(fā)生器。函數(shù)發(fā)生器作為一種通用的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。但市面上能看到的此類儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。我們長(zhǎng)期使用的信號(hào)發(fā)生器,大部分是由模擬電路構(gòu)成的,這類儀器作為信號(hào)源,頻率可達(dá)上百M(fèi)Hz,在高頻范圍內(nèi)其頻率穩(wěn)定性高、可調(diào)性好。但用于低頻信號(hào)輸出時(shí),它所需要的RC值很大,參數(shù)準(zhǔn)確度難以保證。而且其體積大,損耗也大。
20、前人研制了采用8031單片機(jī)及程序存儲(chǔ)器構(gòu)成的最小系統(tǒng)組成的數(shù)字式低頻信號(hào)發(fā)生器,它在低頻范圍內(nèi)性能好,但是體積較大,價(jià)格較貴。隨著大規(guī)模集成電路技術(shù)的發(fā)展,集成度不斷提高,使得微型機(jī)的速度和性能大為提高,可靠性增加,成本降低。MCS-51就是將具有存儲(chǔ)程序、處理數(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上顯示波形類型、電壓和頻率,并且可以通過(guò)示波器來(lái)觀察其輸出的波形。</p><p><b> 1 單片機(jī)概述</b></p><p> 單片機(jī)的全稱是單片微型計(jì)算機(jī)(Single Chip Micro
22、computer),國(guó)際上統(tǒng)稱為微控制器(Micro Controller Unit,MCU)。它把組成微型計(jì)算機(jī)的各功能部件(中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可編程存儲(chǔ)器(EPROM)、并行及串行輸入/輸出(I/O)接口電路、定時(shí)器/計(jì)數(shù)器、中斷控制器等)集成在一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。</p><p> 1.1 單片機(jī)的發(fā)展歷史及趨勢(shì)</p>
23、;<p> 在進(jìn)行一個(gè)具體的單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)之前,需要對(duì)單片機(jī)的硬件資源配置和體系結(jié)構(gòu)有較深入的了解。本章將對(duì)AT89C51單片機(jī)的基礎(chǔ)內(nèi)容作較詳細(xì)的講解。</p><p> 單片機(jī)出現(xiàn)的歷史并不長(zhǎng),但發(fā)展十分迅猛。它的產(chǎn)生與發(fā)展和微處理器的產(chǎn)生和發(fā)展大體相同,自1971年Intel公司首先推出4位微處理器以來(lái),它的發(fā)展到目前為止大致可分為4個(gè)階段:</p><p>
24、 單片機(jī)發(fā)展的初級(jí)階段(20世紀(jì)70年代初~70年代中期)。</p><p> 1971年11月Intel公司首先設(shè)計(jì)出集成度為2000只晶體管/片的4位微處理器Intel 4004,并配有RAM、ROM和移位寄存器,構(gòu)成了第一臺(tái)MCS-4微處理器。隨后又設(shè)計(jì)出了8位微處理器Intel8008,在此期間Fairchild公司也設(shè)計(jì)出了8位微處理器F8。這些微處理器雖然還不是真正的單片機(jī),但從此拉開(kāi)了研制單片機(jī)的
25、序幕。</p><p> 低性能單片機(jī)階段(20世紀(jì)70年代中期~80年代初期)。</p><p> 以1976年Intel公司推出的MCS-48系列為代表,采用將8位CPU、8位并行I/O端口、8位定時(shí)器/計(jì)數(shù)器、RAM和ROM等集成在一塊半導(dǎo)體芯片上的單片結(jié)構(gòu),雖然其尋址范圍有限,也沒(méi)有串行I/O端口,RAM、ROM容量小,中斷系統(tǒng)也較簡(jiǎn)單,但功能可滿足一般工業(yè)控制和智能化儀表等的
26、需要。這種采用將CPU與計(jì)算機(jī)外圍電路集成到一塊芯片上的技術(shù),標(biāo)志著單片機(jī)的誕生。從而導(dǎo)致了計(jì)算機(jī)領(lǐng)域中開(kāi)始出現(xiàn)兩大分支:通用計(jì)算機(jī)系統(tǒng)和嵌入式系統(tǒng)。</p><p> 高性能單片機(jī)階段(20世紀(jì)80年代初期~90年代初期)。</p><p> 這一階段推出的8位單片機(jī)普遍帶有串行口,有多級(jí)中斷處理系統(tǒng),多個(gè)16位定時(shí)器/計(jì)數(shù)器。片內(nèi)RAM、ROM的容量加大,尋址范圍可達(dá)64KB,個(gè)別
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ò)的接口等。因而,它是目前國(guó)內(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)算速度;時(shí)鐘頻率高達(dá)20MHz甚至更高,使指令執(zhí)行速度相對(duì)加快;提高新型的串口總線結(jié)構(gòu),為系統(tǒng)的擴(kuò)展和配置打下了良好的基礎(chǔ);增加新的特殊功能部件
29、,如監(jiān)視定時(shí)器WDT、DMA傳輸、PWM輸出、可編程計(jì)數(shù)陣列PCA、調(diào)制解調(diào)器、通信控制器、浮點(diǎn)運(yùn)算單元等;半導(dǎo)體制造工藝的不斷進(jìn)步,使芯片向高集成度、低功耗方向發(fā)展。此階段單片機(jī)內(nèi)集成的功能越來(lái)越強(qiáng)大,并朝著片上系統(tǒng)方向發(fā)展,單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過(guò)程控制、高級(jí)機(jī)器人以及局域網(wǎng)等各方面得到大量應(yīng)用。</p><p> 隨著技術(shù)的進(jìn)步,早期的8位中、低檔單片機(jī)逐漸被淘汰
30、,但8位單片機(jī)并沒(méi)有消失,尤其是51系列單片機(jī)不僅沒(méi)有消失,反而還呈現(xiàn)快速發(fā)展的趨勢(shì)。目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,將進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方向發(fā)展。</p><p> 1.2 AT89C51單片機(jī)結(jié)構(gòu)簡(jiǎn)介</p><p> 1.2.1 AT89C51的基本特性</p><p> AT89
31、C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種
32、靈活性高且價(jià)廉的方案。</p><p> AT89C51單片機(jī)有40個(gè)管腳,分成兩排,每一排各有20個(gè)腳,其中左下角標(biāo)有箭頭的為第1腳,然后按逆時(shí)針?lè)较蛞来螢榈?腳、第3腳……第40腳。在40個(gè)管腳中,其中有32個(gè)腳可用于各種控制,比如控制小燈的亮與滅、控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)、控制電梯的升與降等,這32個(gè)腳叫做單片機(jī)的“端口”,在單片機(jī)技術(shù)中,每個(gè)端口都有一個(gè)特定的名字,比如第一腳的那個(gè)端口叫做“P1.0”。&l
33、t;/p><p> AT89C51單片機(jī)的主要特性:</p><p> ·與MCS-51兼容 </p><p> ·4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p> 壽命:1000寫(xiě)/擦循環(huán)</p><p> 數(shù)據(jù)保留時(shí)間:10年·全靜態(tài)工作:0Hz-24Hz·三級(jí)程序存儲(chǔ)
34、器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個(gè)16位定時(shí)器/計(jì)數(shù)器·5個(gè)中斷源 </p><p><b> ·可編程串行通道</b></p><p> ·低功耗的閑置和掉電模式</p><p> ·片內(nèi)振蕩器和時(shí)鐘電路 </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口是開(kāi)漏雙向口,可以寫(xiě)為1使其狀態(tài)為懸浮用作高阻輸入。P0也可以在訪問(wèn)外部程序存儲(chǔ)器時(shí)作地址的低字節(jié),在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)作數(shù)據(jù)總線,此時(shí)通過(guò)內(nèi)部強(qiáng)上拉輸出1。</p><p> ·P1口:P1口是帶內(nèi)部上拉的雙向I/O口,向P1口寫(xiě)入1時(shí),P1口被內(nèi)部上拉為高電平,可用作輸入口。
37、當(dāng)作為輸入腳時(shí),被外部拉低的P1口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。其中P1.0用作定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入/時(shí)鐘輸出;P1.1用作定時(shí)/計(jì)數(shù)器2重裝載/捕捉/方向控制。</p><p> ·P2口:P2口是帶內(nèi)部上拉的雙向I/O口,向P2口寫(xiě)入1時(shí),P2口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時(shí),被外部拉低的P2口會(huì)因?yàn)閮?nèi)部上拉而輸出電流。在訪問(wèn)外部程序存儲(chǔ)器和外部數(shù)據(jù)時(shí),分別作為地址高位字節(jié)和
38、16位地址(MOVX @DPTR),此時(shí)通過(guò)內(nèi)部強(qiáng)上拉傳送1。當(dāng)使用8位尋址方式(MOV@Ri)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口發(fā)送P2特殊功能寄存器的內(nèi)容。</p><p> ·P3口:P3口是帶內(nèi)部上拉的雙向I/O口。向P3口寫(xiě)入1時(shí),P3口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時(shí)被外部拉低的P3口會(huì)因?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):定時(shí)器0外部輸入</p><p> T1(P3.5):定時(shí)器1外部輸入</p><p> WR(P3.6):
40、外部數(shù)據(jù)存儲(chǔ)器寫(xiě)信號(hào)</p><p> RD(P3.7):外部數(shù)據(jù)存儲(chǔ)器讀信號(hào)</p><p> ·RST:當(dāng)晶振在運(yùn)行中只要復(fù)位管腳出現(xiàn)2個(gè)機(jī)器周期高電平即可復(fù)位。內(nèi)部有擴(kuò)散電阻連接到Vss,僅需要外接一個(gè)電容到Vcc即可實(shí)現(xiàn)上電復(fù)位。</p><p> ·ALE:地址鎖存使能,在訪問(wèn)外部存儲(chǔ)器時(shí),輸出脈沖鎖存地址的低字節(jié),在正常情況下,
41、ALE輸出信號(hào)恒定為1/6振蕩頻率。并可用作外部時(shí)鐘或定時(shí),注意每次訪問(wèn)外部數(shù)據(jù)時(shí)一個(gè)ALE脈沖將被忽略。ALE可以通過(guò)置位SFR的auxlilary.0禁止,置位后ALE只能在執(zhí)行MOVX指令時(shí)被激活。</p><p> ·PSEN:當(dāng)執(zhí)行外部程序存儲(chǔ)器代碼時(shí),PSEN每個(gè)機(jī)器周期被激活兩次.在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)PSEN無(wú)效,訪問(wèn)內(nèi)部程序存儲(chǔ)器時(shí)PSEN無(wú)效。</p><p&g
42、t; ·EA/VPP:在訪問(wèn)整個(gè)外部程序存儲(chǔ)器時(shí)EA必須外部置低,如果EA為高時(shí)將執(zhí)行內(nèi)部程序,除非程序計(jì)數(shù)器包含大于片內(nèi)FLASH的地址。該引腳在對(duì)FLASH編程時(shí)提供5V/12V編程電壓(Vpp),如果保密位1已編程EA在復(fù)位時(shí)由內(nèi)部鎖存。</p><p> ·XTAL1:反相振蕩放大器輸入和內(nèi)部時(shí)鐘發(fā)生電路輸入。</p><p> ·XTAL2:來(lái)
43、自反向振蕩器的輸出。</p><p> 圖1.1 AT89C51單片機(jī)的外部引腳圖</p><p><b> 1.3 本章小結(jié)</b></p><p> 本章第一節(jié)主要介紹了單片機(jī)的發(fā)展歷史及未來(lái)趨勢(shì),讓我們對(duì)單片機(jī)有了一個(gè)初步的了解。第二節(jié)比較詳細(xì)地描述了AT89C51單片機(jī)的結(jié)構(gòu)特性及引腳功能,為學(xué)習(xí)下一章打下了堅(jiān)實(shí)的基礎(chǔ)。</
44、p><p><b> 2 方案選擇</b></p><p> 函數(shù)發(fā)生器一般是指能自動(dòng)產(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)、電子測(cè)量、自動(dòng)控制、設(shè)備檢測(cè)、無(wú)線通訊等領(lǐng)域有著廣泛的應(yīng)用。信號(hào)發(fā)生器的基本功能是可以提供符合一定技術(shù)指標(biāo)要求的電信號(hào),其波形、頻率、幅值均可以調(diào)節(jié)。實(shí)現(xiàn)信號(hào)發(fā)生器電路的方案很多,其特點(diǎn)也不同,主要有模擬電路實(shí)現(xiàn)方案、數(shù)字電路實(shí)現(xiàn)方案和模數(shù)混合實(shí)現(xiàn)的方案。</p><p> 采用單片機(jī)控制技術(shù)實(shí)現(xiàn)的信號(hào)發(fā)生器</p><p>
46、 該方案的主要思路是采用編程的方法來(lái)產(chǎn)生希望得到的波形,用戶將要輸出的波形預(yù)先存儲(chǔ)在半導(dǎo)體存儲(chǔ)器中,在需要某種波形時(shí)將儲(chǔ)存在存儲(chǔ)器中的數(shù)據(jù)依次讀出來(lái),經(jīng)過(guò)數(shù)模轉(zhuǎn)換、濾波等處理后,輸出該波形的信號(hào)。該方案優(yōu)點(diǎn)是輸出信號(hào)的頻率穩(wěn)定,抗干擾能力強(qiáng),實(shí)現(xiàn)任意波形的信號(hào)容易,可通過(guò)外置按鍵或鍵盤(pán)來(lái)設(shè)定所需要產(chǎn)生信號(hào)源的類型和頻率,還可以通過(guò)顯示器顯示出波形的相關(guān)信息。不足之處是由于單片機(jī)的處理數(shù)據(jù)的速度有限,當(dāng)產(chǎn)生頻率比較高的信號(hào)時(shí),輸出波形的質(zhì)
47、量將下降。</p><p> 2、利用直接數(shù)字頻率合成(DDS)集成芯片實(shí)現(xiàn)的信號(hào)發(fā)生器</p><p> 隨著大規(guī)模集成電路制作技術(shù)的發(fā)展,采用直接數(shù)字頻率合成技術(shù)實(shí)現(xiàn)的信號(hào)產(chǎn)生集成芯片應(yīng)用越來(lái)越廣泛。DDS集成芯片內(nèi)部主要由相位累加器、波形存儲(chǔ)器、高速D/A轉(zhuǎn)換器等環(huán)節(jié)組成,在時(shí)鐘脈沖的控制下,相位累加器對(duì)輸入的頻率控制字不斷進(jìn)行累加得到相應(yīng)的相位碼,同時(shí)相位碼序列作為地址信號(hào)去尋
48、址波形存儲(chǔ)器進(jìn)行相位碼到幅度碼的轉(zhuǎn)換,并輸出不同的幅度編碼。這一系列不同的幅度編碼經(jīng)過(guò)D/A轉(zhuǎn)換器得到相應(yīng)的階梯電壓信號(hào),最后經(jīng)過(guò)低通濾波器平滑,即可輸出相應(yīng)的信號(hào)。一般集成DDS芯片內(nèi)部時(shí)鐘脈沖的頻率固定,其相位累加器位數(shù)也不變,所以只需改變頻率控制字即可實(shí)現(xiàn)輸出信號(hào)頻率的變化。利用DDS集成電路設(shè)計(jì)的信號(hào)發(fā)生器具有輸出頻率高,頻率穩(wěn)定度高,輸出頻率分辨率高,易于實(shí)現(xiàn)全數(shù)字控制等優(yōu)點(diǎn),是目前設(shè)計(jì)高精度、高性能信號(hào)發(fā)生器的首選方案。目前
49、典型的DDS集成芯片有AD9850、AD9851、AD9852和AD9834等。</p><p> 利用專用函數(shù)發(fā)生器集成電路實(shí)現(xiàn)的信號(hào)發(fā)生器</p><p> 利用集成函數(shù)發(fā)生器專用芯片可以方便的實(shí)現(xiàn)多種波形的輸出,而且外圍電路簡(jiǎn)單,調(diào)試容易。例如早期的函數(shù)發(fā)生器集成芯片有ICL8038、BA205、XR2206/2207/2209等,這些芯片的不足時(shí)輸出信號(hào)的頻率不高,最大僅有幾百
50、kHz,調(diào)節(jié)方式不靈活,頻率和脈沖信號(hào)的占空比不能獨(dú)立調(diào)節(jié)。MAX038是美國(guó)MAXIM公司推出的新一代單片函數(shù)信號(hào)發(fā)生器,MAX038內(nèi)部含有精密帶隙電壓參考、鑒相器和TTL同步輸出,可以采用較少的外部元件構(gòu)成一臺(tái)高頻函數(shù)發(fā)生器,也可單獨(dú)用作電壓控制振蕩器、頻率調(diào)制器、脈寬調(diào)制器、鎖相環(huán)、頻率合成器和FSK信號(hào)發(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、采用分立器件組成的信號(hào)發(fā)生器</p><p> 過(guò)去傳統(tǒng)的信號(hào)發(fā)生一般采用這種方式,該方案一般采用集成運(yùn)算放大器外加電阻、電容等元件,構(gòu)成方波、三角波發(fā)生器,然后將三角波信號(hào)或方波信號(hào)轉(zhuǎn)換成正弦波信號(hào)輸出;也可以直接采用RC正弦波信號(hào)發(fā)生器產(chǎn)生正弦波信號(hào)
52、。該方案的缺點(diǎn)是輸出信號(hào)頻率較低,輸出的波形質(zhì)量差,輸出頻率調(diào)節(jié)范圍小,電路復(fù)雜且體積大。 </p><p> 綜合考慮成本、復(fù)雜程度、技術(shù)要求等各種因素,選擇了單片機(jī)控制雙DA技術(shù)完成頻率的改變這種方案。</p><p> 2.2 頻率改變方案</p><p> 方案一:?jiǎn)纹瑱C(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)是對(duì)單片機(jī)查表頻率的精度要求較高,且隨著頻率增高而提高。</p><p> 方案二:?jiǎn)纹瑱C(jī)控制計(jì)數(shù)器的初值。其優(yōu)點(diǎn)是解除了單片機(jī)對(duì)查表頻率精度的要求;其缺點(diǎn)是當(dāng)DA的輸出頻率高于100Hz時(shí),每改變一個(gè)計(jì)數(shù)頻率引起輸出頻率的增加或者減少的頻率都大于100Hz
54、。對(duì)計(jì)數(shù)器的位數(shù)要求較高(至少需要10位),且由于受到VCO的振蕩頻率的影響輸出頻率失真度增加。</p><p> 綜合方案一和方案二的優(yōu)缺點(diǎn),本文采用了在低頻時(shí)控制單片機(jī)的查表頻率從而改變輸出頻率,在高頻時(shí)改變計(jì)數(shù)器的計(jì)數(shù)初值來(lái)改變頻率的方法從而較完美地實(shí)現(xiàn)要求。</p><p><b> 2.3 本章小結(jié)</b></p><p>
55、本章主要介紹了本設(shè)計(jì)的具體方案,本設(shè)計(jì)采用雙DA技術(shù)來(lái)生成波形,在頻率控制方面,本設(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)行,每一個(gè)模塊的設(shè)計(jì)都關(guān)系到整體。本章將詳細(xì)地介紹系統(tǒng)各個(gè)模塊的設(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)總體款圖主要包括以下幾個(gè)部分:</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)電壓通過(guò)MC1403芯片來(lái)實(shí)現(xiàn)。</p><p> 顯示部分:本設(shè)計(jì)采用LCD1602來(lái)顯示波形的類型、幅值的大小、頻率的大小。&l
58、t;/p><p> 鍵盤(pán)部分:本設(shè)計(jì)采用3個(gè)獨(dú)立按鍵來(lái)控制波形類型的選擇、幅值大小的改變及頻率大小的改變。</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> 電源:?jiǎn)纹瑱C(jī)使用的是5V電源,其中正極接40引腳(Vcc),負(fù)極接20引腳(GND)。</p><p> 晶振電路:晶振是晶體振蕩器的簡(jiǎn)稱,單片機(jī)是一種時(shí)序電路,必須提供脈沖信號(hào)才能正常工作。AT89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1和XTA
60、L2分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為11.0592MHz,電容值約為30μF。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生
61、電容,更好地保證震蕩器穩(wěn)定和可靠地工作。單片機(jī)內(nèi)部已經(jīng)集成了振蕩器;使用晶體振蕩器,接18(XTAL2)、19(XTAL1)腳。只要買來(lái)晶振、電容,按圖接上即可。</p><p> 復(fù)位電路:?jiǎn)纹瑱C(jī)復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。</p><p>
62、; 單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使程序計(jì)數(shù)器PC=0000H,這表明程序從0000H地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見(jiàn)表3.1。 </p><p> 表3.1 寄存器復(fù)位后狀態(tài)表</p><p> 按圖中畫(huà)法連好9腳(RST),單片機(jī)即可上電初始化。復(fù)位電
63、路的工作原理是:通電時(shí),電容兩端相當(dāng)于是短路,于是RST引腳上為高電平,然后電源通過(guò)電阻對(duì)電容充電,RST端電壓慢慢下降,降到一定程度,即為低電平,時(shí)間不少于5ms。復(fù)位后單片機(jī)才開(kāi)始正常工作。</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)換時(shí)間為1μs,滿量程誤差為±1LSB,參考電壓為(+10~-10)V,供電電源為(+5~+15)V,邏輯電平輸入與TTL兼容。從圖4中可見(jiàn),在DAC0832中有兩級(jí)鎖存器,第一級(jí)鎖存器稱為輸入寄存器,
65、它的允許鎖存信號(hào)為ILE,第二級(jí)鎖存器稱為DAC寄存器,它的鎖存信號(hào)也稱為通道控制信號(hào)/XFER。</p><p> 圖3.3中,當(dāng)ILE為高電平,片選信號(hào)/CS和寫(xiě)信號(hào)/WR1為低電平時(shí),輸入寄存器控制信號(hào)為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng)/WR1由低電平變高時(shí),控制信號(hào)成為低電平,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù)DB的變化而變化。</p>
66、<p> 對(duì)第二級(jí)鎖存來(lái)說(shuō),傳送控制信號(hào)/XFER和寫(xiě)信號(hào)/WR2同時(shí)為低電平時(shí),二級(jí)鎖存控制信號(hào)為高電平,8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)/WR2由低電平變高時(shí),控制信號(hào)變?yōu)榈碗娖?,于是將輸入寄存器的信息鎖存到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時(shí),輸出電流最大,當(dāng)DAC寄存器中數(shù)據(jù)全為0時(shí),輸出電流為0。</p><p> (3)、IOUT2:模擬電流輸出端2,IOUT2與IOUT1的和為一個(gè)常數(shù),即IOUT1+I(xiàn)OUT2=常數(shù)。</p><p
68、> (4)、RFB:反饋電阻引出端,DAC0832內(nèi)部已經(jīng)有反饋電阻,所以RFB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個(gè)反饋電阻接在運(yùn)算放大器的輸出端和輸入端之間。</p><p> (5)、VREF:參考電壓輸入端,此端可接一個(gè)正電壓,也可接一個(gè)負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來(lái)的模擬量電壓值的幅度,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ù)字地時(shí),DAC處于直通方式,8位數(shù)字量一旦到達(dá)DI7~DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。例如在構(gòu)成波形發(fā)生器的場(chǎng)合,就要用到這種方式,即把要產(chǎn)生基本波形的數(shù)據(jù)存在ROM中,連續(xù)取出送到DAC去轉(zhuǎn)換成電壓信號(hào)。</p>
71、<p> ?。?)單緩沖方式 :只要把兩個(gè)寄存器中的任何一個(gè)接成直通方式,而用另一個(gè)鎖存器數(shù)據(jù),DAC就可處于單緩沖工作方式。一般的做法是將WR2和XFER都接地,使DAC寄存器處于直通方式,另外把ILE接高電平,CS接端口地址譯碼信號(hào),WR1接CPU的WR信號(hào),這樣就可以通過(guò)一條MOVX指令,選中該端口,使CS和WR1有效,啟動(dòng)D/A轉(zhuǎn)換。</p><p> ?。?)雙緩沖方式 :主要在以下兩種情況
72、下需要用雙緩沖方式的D/A轉(zhuǎn)換。需在程序的控制下,先把轉(zhuǎn)換的數(shù)據(jù)輸入輸入緩存器,然后在某個(gè)時(shí)刻再啟動(dòng)D/A轉(zhuǎn)換。這樣,可先選中CS端口,把數(shù)據(jù)寫(xiě)入輸入寄存器;再選中XFER端口,把輸入寄存器內(nèi)容寫(xiě)入DAC寄存器,實(shí)現(xiàn)D/A轉(zhuǎn)換。在需要同步進(jìn)行D/A轉(zhuǎn)換的多路DAC系統(tǒng)中,采用雙緩沖方式,可以在不同的時(shí)刻把要轉(zhuǎn)換的數(shù)據(jù)打入各DAC的輸入寄存器,然后由一個(gè)轉(zhuǎn)換命令同時(shí)啟動(dòng)多個(gè)DAC轉(zhuǎn)換。先用3條輸出指令選擇3個(gè)端口,分別將數(shù)據(jù)寫(xiě)入各DAC的
73、輸入寄存器,當(dāng)數(shù)據(jù)準(zhǔn)備就緒后,再執(zhí)行一次寫(xiě)操作,使XFER變低同時(shí)選通3個(gè)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)電壓,通過(guò)改變單片機(jī)對(duì)第一片DAC0832的輸入來(lái)改變其輸出,從而改變第二片DAC0832的基準(zhǔn)電壓,從而控制第二片DAC0832的輸出電流,由此可見(jiàn),幅值的大小可由單片機(jī)來(lái)控制。同樣單片機(jī)也與第二片DAC0832相連接,通過(guò)單片機(jī)查表頻率的改變和定時(shí)器初值的改變來(lái)控制波形頻率的大小。由于DAC0832是電流輸出型,在輸出端需接一個(gè)電流電壓轉(zhuǎn)換電
75、路和一個(gè)負(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)電壓的場(chǎng)合。輸出電壓:2.5V+/-25mV,輸入電壓范圍:4.5V~40V,輸出電流:10mA。因?yàn)檩敵鍪枪潭ǖ模噪娐泛芎?jiǎn)單。就是Vin接電源輸入,GND接底,Vout加一個(gè)0.1uf~1uf的電容就可以了。Vout一般用作8~12bit的D/A芯片的基準(zhǔn)電壓。</p><p> 3.5 系統(tǒng)顯示功能設(shè)計(jì)</p><
77、p> 本設(shè)計(jì)采用LCD1602來(lái)顯示波形的類型、幅值及頻率。LCD1602液晶顯示模塊,它可以顯示兩行,每行16個(gè)字符,采用單+5V電源供電,外圍電路配置簡(jiǎn)單。LCD1602管腳如圖3.8所示:</p><p> 圖3.8 LCD1602芯片管腳圖</p><p> 表3.2 LCD1602管腳功能表</p><p> LCD1602主要管腳介紹:&
78、lt;/p><p> V0:液晶顯示器對(duì)比度調(diào)整端,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生‘鬼影’,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。</p><p> RS:寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器;低電平時(shí)選擇指令寄存器。</p><p> R/W:讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址;
79、當(dāng)RS為高電平R/W為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。</p><p> E:使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行指令。</p><p> LCD1602控制指令:</p><p> LCD1602有11個(gè)控制指令,如表3.3所示:</p><p> 表3.3 LCD1602指令對(duì)應(yīng)功能表</p>&
80、lt;p> 清屏指令表如表3.4所示:</p><p> 表3.4 LCD1602清屏指令表</p><p> 顯示開(kāi)關(guān)控制如表3.5所示:</p><p> 表3.5 顯示開(kāi)關(guān)控制表</p><p> 功能:設(shè)置顯示、光標(biāo)及閃爍開(kāi)、關(guān);</p><p> 其中:D表示顯示開(kāi)關(guān):D=1為開(kāi),D=0
81、為關(guān)。</p><p> C表示光標(biāo)開(kāi)關(guān):C=1為開(kāi),C=0為關(guān)。</p><p> B表示閃爍開(kāi)關(guān):B=1為開(kāi),B=0為關(guān)。</p><p> 光標(biāo)、畫(huà)面位移控制如表3.6所示:</p><p> 表3.6 LCD1602光標(biāo)、畫(huà)面位移控制表</p><p> 功能:光標(biāo)、畫(huà)面移動(dòng),不影響DDRAM。&l
82、t;/p><p> 其中:S/C=1:畫(huà)面平移一個(gè)字符位;</p><p> S/C=0:光標(biāo)平移一個(gè)字符位;</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> 讀寫(xiě)控制時(shí)序如表3.8所示:</p><p> 表3.8
84、LCD1602讀寫(xiě)控制時(shí)序</p><p> LCD1602與單片機(jī)連接圖如下:</p><p> 圖3.9 LCD1602與單片機(jī)連接電路圖</p><p> 3.6 系統(tǒng)按鍵功能設(shè)計(jì)</p><p> 此信號(hào)發(fā)生器采用三個(gè)按鍵與LCD1602配合使用來(lái)調(diào)節(jié)輸出信號(hào)的各個(gè)參數(shù)。如圖3.10所示,三個(gè)按鍵分別賦予的意義為:“+”鍵、“
85、—”鍵、功能鍵。</p><p> 圖3.10 按鍵分布與功能圖</p><p> “功能鍵”是選擇輸出波形需要調(diào)節(jié)的參數(shù),“+”鍵和“—”鍵則是增加或者減小輸出波形幅值或頻率。操作時(shí)必須觀察LCD1602上顯示的內(nèi)容再按鍵來(lá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é)輸出信號(hào)頻率,改變的是定時(shí)器的值。</p><p> (3)G:A— —“+”鍵和“—”鍵調(diào)節(jié)輸出信號(hào)幅值,改變的是A的值(0.0~5
87、.0V, 步進(jìn)為0.1V)。</p><p> 說(shuō)明:按動(dòng)“功能鍵”會(huì)使G的值在0、1、2之間循環(huán)切換。</p><p><b> 3.7 本章小結(jié)</b></p><p> 本章是本文的核心內(nèi)容,其詳細(xì)地介紹了該系統(tǒng)硬件設(shè)計(jì)的具體方案,對(duì)各硬件模塊以及調(diào)試過(guò)程中遇到的問(wèn)題及解決方法作了比較系統(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> 如果說(shuō)硬件是一個(gè)系統(tǒng)的軀體,那么軟件就是系統(tǒng)的靈魂。所謂軟件設(shè)計(jì)當(dāng)然包括軟件的流程設(shè)計(jì)和具體程序的編寫(xiě)。流程的設(shè)計(jì)代表系統(tǒng)的一個(gè)大概的運(yùn)行思路,而程序的編寫(xiě)當(dāng)然涉及到編寫(xiě)程序的軟件。本章將介紹編寫(xiě)程序的Keil軟件及
89、具體流程的設(shè)計(jì),并且將最終的設(shè)計(jì)成果一一展現(xiàn)。</p><p> 4.1 Keil C51開(kāi)發(fā)環(huán)境簡(jiǎn)介</p><p> 4.1.1 Keil uVision3環(huán)境介紹</p><p> Keil C51是KEIL公司推出的51系列單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),對(duì)于多數(shù)單片機(jī)的應(yīng)用開(kāi)發(fā),Keil C51是一款非常優(yōu)秀的軟件。Keil C51軟件支持功能強(qiáng)大的集成
90、開(kāi)發(fā)調(diào)試工具和豐富的庫(kù)函數(shù),生成的目標(biāo)代碼效率很高,多數(shù)語(yǔ)句的匯編代碼很緊湊,且容易理解,在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)</p><p> Keil uVision3是Keil C51 for Windows的集成開(kāi)發(fā)環(huán)境,可以用開(kāi)編譯C源代碼、匯編源程序、連接和重定位目標(biāo)文件和庫(kù)文件、創(chuàng)建HEX文件、調(diào)試目標(biāo)程序等。它集編輯、編譯、仿真于一體,并且支持匯編語(yǔ)言。Keil uVision3提供的多功能的
91、文件操作環(huán)境,包括一個(gè)內(nèi)藏式編輯室,它是標(biāo)準(zhǔn)的文件編輯器,具有十分強(qiáng)大的文件編輯功能,例如文件塊的移動(dòng)、剪切、復(fù)制、查找、刪除等,它支持鼠標(biāo)操作,也有快捷鍵。在Keil uVision3中,用戶可以同時(shí)打開(kāi)多個(gè)窗口對(duì)多個(gè)不同的文件進(jìn)行處理,這一特性有利于使用C51進(jìn)行結(jié)構(gòu)化的多模塊程序設(shè)計(jì)。在模塊化編程時(shí),如果同時(shí)打開(kāi)多個(gè)不同文件,可以在Keil uVision3中分別進(jìn)行編輯處理。Keil uVision3的主菜單欄涵蓋了幾乎所有的C
92、51編輯、編譯以及調(diào)試等功能方式,共有11個(gè)選項(xiàng),分別是File、Edit、View、Project、Debug、Flash、Peripherals、Tool、SVCS、Windows和Help。下面分別對(duì)各菜單的列表項(xiàng)所指向的功能進(jìn)行說(shuō)明。</p><p> ?。?)文件(File)菜單</p><p> 文件菜單命令主要用于對(duì)文件的一些操作,如新建、打開(kāi)、關(guān)閉、輸出等。文件菜單的“D
93、evice Database”選項(xiàng)用于修改Keil支持的51系列芯片的型號(hào)的設(shè)定。</p><p> ?。?)編輯(Edit)菜單</p><p> 編輯菜單命令主要包括剪切、復(fù)制、粘貼、查找、替換等編輯操作和書(shū)簽管理命令。</p><p> (3)視圖(View)菜單</p><p> 視圖菜單命令用于控制Keil的界面顯示,使用視圖
94、菜單中的命令可以顯示或隱藏Keil的各個(gè)窗口和工具欄。</p><p> ?。?)項(xiàng)目(Project)菜單</p><p> 項(xiàng)目菜單命令包括項(xiàng)目的創(chuàng)建、打開(kāi)、關(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> (6)燒寫(xiě)(Flash)菜單</p><p> 燒寫(xiě)菜單命令主要用于程序下載到EEPROM的控制。</p><p> ?。?)外設(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> 幫助菜單用于提供軟件幫助信息和版本說(shuō)明。</p><p> 4.1.2 利用Keil uVision3創(chuàng)建新項(xiàng)目</p><p> Keil uVision
98、3中的項(xiàng)目是一個(gè)特殊結(jié)構(gòu)的文件,它包含應(yīng)用開(kāi)發(fā)系統(tǒng)相關(guān)所以文件的相互關(guān)系,在Keil uVision3中,主要使用項(xiàng)目來(lái)進(jìn)行應(yīng)用系統(tǒng)的開(kāi)發(fā)。創(chuàng)建一個(gè)新項(xiàng)目的詳細(xì)步驟為:</p><p> 1、選擇菜單命令Project|New Project,彈出“Creat New Project”對(duì)話框。</p><p> 2、在對(duì)話框中選擇新項(xiàng)目要保存的路徑和文件名,單擊“保存”按鈕即可。Kei
99、l uVision3的項(xiàng)目文件擴(kuò)展名為.uv2。</p><p> 3、單擊“保存”按鈕后,彈出“Select Device for Target”對(duì)話框。用戶需要在左側(cè)的芯片列表中選擇調(diào)試使用的51系列單片機(jī)型號(hào),使對(duì)話框右側(cè)的“Descripion”文本框可以查看選中單片機(jī)型號(hào)的說(shuō)明。</p><p> 4、單擊“Select Device for Target”對(duì)話框中的“確定”
100、按鈕,程序會(huì)詢問(wèn)是否將標(biāo)準(zhǔn)51初始化程序加入到項(xiàng)目中,選擇“是”,程序會(huì)自動(dò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、如果沒(méi)有現(xiàn)成的程序,就需要新建一個(gè)程序文件。單擊新建文件的快捷按鈕,屏幕
101、中出現(xiàn)一個(gè)新的文字編輯窗口,這樣就可以在新的窗口中輸入需要的程序了。</p><p> 4.2 系統(tǒng)軟件流程設(shè)計(jì)</p><p> 4.2.1 系統(tǒng)軟件總體設(shè)計(jì)</p><p> 系統(tǒng)軟件總體設(shè)計(jì),初始化時(shí)輸出的是方波,顯示方波的幅值和頻率。通過(guò)按鍵可以選擇調(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)程序檢測(cè)到外部中斷0時(shí),執(zhí)行相應(yīng)的操作。其程序流程圖如圖4.2所示:</p><p> 圖4.2 外部中斷0程
103、序流程</p><p><b> 外部中斷1</b></p><p> 本設(shè)計(jì)采用外部中斷1控制波形類型的選擇以及幅值頻率的減小,當(dāng)程序檢測(cè)到外部中斷1時(shí),執(zhí)行相應(yīng)的操作。其程序流程圖如圖4.3所示:</p><p> 圖4.3 外部中斷1程序流程</p><p><b> 定時(shí)器0</b>
104、</p><p> 本設(shè)計(jì)采用定時(shí)器0來(lái)控制波形頻率的改變,通過(guò)裝初值來(lái)改變定時(shí)從而改變頻率。其流程圖如圖4.4所示:</p><p> 圖4.4 定時(shí)器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í)器、外部中斷的程序流程的設(shè)計(jì)以及在軟件調(diào)試過(guò)程中遇到的問(wèn)題。其實(shí),軟件設(shè)計(jì)的思路和流程圖的設(shè)計(jì)并不復(fù)雜,復(fù)雜的是程序編輯和編譯。如何使程序編譯無(wú)誤并實(shí)現(xiàn)其功能才是真正嚴(yán)峻的問(wèn)題。在用Keil軟件編程編譯的過(guò)程中,遇到一些問(wèn)題是不可避免的,如C
106、語(yǔ)言編程格式問(wèn)題,如何一一化解這需要一定的編程經(jīng)驗(yàn)和專業(yè)基礎(chǔ),這里將不一一敘述。在這次程序調(diào)試過(guò)程中主要遇到兩個(gè)棘手的問(wèn)題:第一個(gè)是無(wú)法將程序燒進(jìn)單片機(jī)。當(dāng)時(shí)只想到可能是燒寫(xiě)軟件沒(méi)有設(shè)置好,或者計(jì)算機(jī)端口跟軟件端口不匹配,但是經(jīng)過(guò)檢查后這些都沒(méi)問(wèn)題,弄了半天都找不到問(wèn)題的根源,后來(lái)在無(wú)意中看到51單片機(jī)相關(guān)資料后發(fā)現(xiàn)51單片機(jī)的ROM只有4K大小,也就是說(shuō)只能容納4K大小的程序,但是我編的程序卻有7K左右,難怪燒不進(jìn)去,面對(duì)這一問(wèn)題,要
107、么削減程序,要么把51的單片機(jī)換成8K的52系列的單片機(jī),要想從7K削減至4K基本不可能,所以只能換成52的單片機(jī)。其實(shí)51系列單片機(jī)跟52系列單片除了ROM大小不同,其他都一樣,所以對(duì)本設(shè)計(jì)沒(méi)有任何影響。第二個(gè)問(wèn)題是按鍵掃描程序的問(wèn)題。剛開(kāi)始按下按鍵時(shí)</p><p><b> 5 設(shè)計(jì)成果</b></p><p> 本次設(shè)計(jì)的結(jié)果無(wú)論從硬件的焊接上還是從軟件
108、的調(diào)試上都基本上還算令人滿意。液晶正常顯示,示波器上也能正常顯示波形。本章將一一介紹本設(shè)計(jì)的各個(gè)模塊的性能,包括液晶的顯示情況和示波器上波形的顯示情況。</p><p> 5.1 實(shí)物展示和性能說(shuō)明</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ā)生器和示波器三個(gè)部分。</p><p> 電源:它通過(guò)一個(gè)變壓器將220伏的電壓經(jīng)過(guò)處理后能提供本設(shè)計(jì)中要求的5伏和正負(fù)12伏的電壓。其中5伏電壓是供單片機(jī)系統(tǒng)和MC1403芯片使用,正負(fù)12伏電壓時(shí)供OP07芯片使用。</p><p> 函數(shù)發(fā)生器:該部分是本設(shè)計(jì)的核心主題,接通電源后,它將產(chǎn)
110、生方波、三角波、正弦波三種波形,而且上面的液晶能顯示波形的類型、幅值大小和頻率的大小,接上示波器就能在示波器上顯示波形。</p><p> 示波器:它是用來(lái)顯示從函數(shù)發(fā)生器產(chǎn)生的波形,可以通過(guò)它開(kāi)判斷函數(shù)發(fā)生器是否正常工作。</p><p> 5.1.2 液晶顯示模塊</p><p> 本設(shè)計(jì)要求在液晶上顯示波形的類型、波形的幅值大小和頻率大小。下面將一一展示
111、三種波形的顯示情況。方波的顯示如圖5.2所示:</p><p> 圖5.2 方波的顯示圖</p><p> 圖5.2所示液晶上A代表波形的幅值,此時(shí)按“+”、“—”按鍵可以改變賦值的大小。其中Mode:F表示當(dāng)前的波形類型為方波,而液晶第二行的F表示計(jì)數(shù)器的計(jì)數(shù)初值,計(jì)數(shù)初值的改變導(dǎo)致頻率的改變。</p><p> 三角波的顯示情況如圖5.3所示:</p
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)----基于51單片機(jī)的函數(shù)發(fā)生器的設(shè)計(jì)
- 基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于51單片機(jī)的音樂(lè)發(fā)生器設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-----基于單片機(jī)的函數(shù)信號(hào)發(fā)生器
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)函數(shù)發(fā)生器系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)函數(shù)發(fā)生器系統(tǒng)設(shè)計(jì)
- 單片機(jī)函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于51單片機(jī)的波形發(fā)生器設(shè)計(jì)-畢業(yè)設(shè)計(jì)論文
- 單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的低頻信號(hào)發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)(含外文翻譯)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 基于單片機(jī)的函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì) (2)
- 基于51單片機(jī)函數(shù)信號(hào)發(fā)生器設(shè)計(jì)1畢業(yè)論文
- 基于單片機(jī)控制的函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論