版權(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> 多功能信號(hào)發(fā)生器是是一種常用的信號(hào)源,能產(chǎn)生模擬電壓波形,廣泛地應(yīng)用于電子電路、自動(dòng)控制系統(tǒng)和教學(xué)實(shí)驗(yàn)等領(lǐng)域。且特殊波形發(fā)生器的價(jià)格昂貴。目前使用的信號(hào)發(fā)生器大部分是函數(shù)信號(hào)發(fā)生器,它具有價(jià)格低、性能高和在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少等特點(diǎn)。</p><p> 本設(shè)計(jì)信號(hào)發(fā)生器采用AT8
2、9S52單片機(jī)作為控制核心,外圍采用了包括電源模塊、數(shù)字/模擬轉(zhuǎn)換電路(DAC0832)、運(yùn)放電路(LM324)、鍵盤(pán)模塊等。設(shè)計(jì)采用AT89S52單片機(jī)和一片DAC0832數(shù)模轉(zhuǎn)換器以及一些外圍電路組成低頻信號(hào)發(fā)生器。此發(fā)生器能產(chǎn)生從1HZ-1MHZ的低失真正弦波,三角波,方波,矩形波,鋸齒波等信號(hào)。輸出波形的頻率和種類可用程序控制改變。在單片機(jī)上加外圍按鍵,通過(guò)按鍵控制波形頻率的增減以及波形的選擇。在單片機(jī)的輸出端口接DAC0832
3、進(jìn)行D/A轉(zhuǎn)換,再通過(guò)運(yùn)算放大器進(jìn)行波形幅度調(diào)整,最后輸出波形接在示波器上顯示。</p><p> 本設(shè)計(jì)根據(jù)要求主要研究了軟件編程實(shí)現(xiàn)波形和頻率的可調(diào)。外圍電路實(shí)現(xiàn)數(shù)模轉(zhuǎn)換和信號(hào)波形放大。由于采用了LM324運(yùn)算放大器和穩(wěn)壓電路,使其電路更加具有較高的穩(wěn)定性能,性能比高。此電路清晰,出現(xiàn)故障容易查找錯(cuò)誤,操作簡(jiǎn)單、方便。具有典型性。</p><p> [關(guān)鍵詞]:函數(shù)信號(hào)發(fā)生器;單片
4、機(jī); DAC0832;AT89S52</p><p><b> Abstract</b></p><p> Signal generator is a common signal source, can produce an analog voltage waveform,widely used in electronic circuits, automatic
5、control systems, and teaching experiments and other fields. waveform generator and a special price of expensive . Currently used mostly function signal generator signal generator。it has low cost, high performance and goo
6、d stability at low frequency within the range, easy operation, small size, power consumption and so on. The design generator using AT89S52 microco</p><p> The major design required study a software pro
7、gramming waveform and frequency adjustable. External digital-analog conversion circuit and signal waveforms to enlarge. Because use the LM324 operational amplifier and voltage regulator circuit, so the circuit is with hi
8、gher performance, the high performance. The circuit clear, easy to find failure error, simple and convenient. Is a typical circuit . Key words: signal generator; SCM; DAC0832; AT89S52 </p><p><b> 目錄&
9、lt;/b></p><p><b> 摘要5</b></p><p><b> 第一章 緒論8</b></p><p> 1.1 課題背景、目的及意義8</p><p> 1.2 設(shè)計(jì)要求和任務(wù)8</p><p> 1.3 單片機(jī)概述9</p
10、><p> 1.3.1 單片機(jī)的發(fā)展9</p><p> 1.3.2 單片機(jī)的應(yīng)用10</p><p> 1.4 AT89S52單片機(jī)11</p><p> 1.5 信號(hào)發(fā)生器概述14</p><p> 1.6 本論文主要研究的內(nèi)容14</p><p> 第二章 系統(tǒng)設(shè)計(jì)方案
11、16</p><p> 2.1 系統(tǒng)分析16</p><p> 2.1.1 問(wèn)題定義16</p><p> 2.1.2 系統(tǒng)可行性分析16</p><p> 2.2 系統(tǒng)需求分析17</p><p> 2.3 總體方案設(shè)計(jì)18</p><p> 第三章 硬件設(shè)計(jì)19&
12、lt;/p><p> 3.1 總體硬件設(shè)計(jì)19</p><p> 3.2 系統(tǒng)模塊設(shè)計(jì)19</p><p> 3.2.1 電源設(shè)計(jì)19</p><p> 3.2.2 顯示器接口設(shè)計(jì)19</p><p> 3.2.3 復(fù)位與時(shí)鐘電路設(shè)計(jì)22</p><p> 3.2.4 鍵盤(pán)接口
13、設(shè)計(jì)23</p><p> 3.2.5 D/A轉(zhuǎn)換設(shè)計(jì)25</p><p> 3.2.6 I/V轉(zhuǎn)換波形輸出電路28</p><p> 第四章 軟件設(shè)計(jì)及測(cè)試31</p><p> 4.1軟件總體設(shè)計(jì)31</p><p> 4.2 軟件功能設(shè)計(jì)31</p><p> 系統(tǒng)
14、總流程圖如下圖4-1:31</p><p> 圖4-1 系統(tǒng)總流程框圖32</p><p> 4.3 PROTEUS軟件仿真35</p><p> 4.4 系統(tǒng)測(cè)試報(bào)告40</p><p><b> 結(jié)論與展望41</b></p><p><b> 致 謝42&l
15、t;/b></p><p><b> 參考文獻(xiàn)43</b></p><p> 附錄一 源程序43</p><p> 附錄二 電路原理圖54</p><p> 附錄三 硬件實(shí)物圖55</p><p> 附錄四 外文資料翻譯56</p><p><
16、;b> 第一章 緒論</b></p><p> 1.1 課題背景、目的及意義</p><p> 隨著電子測(cè)量及其他部門(mén)對(duì)各類信號(hào)發(fā)生器的廣泛需求及電子技術(shù)的迅速發(fā)展,促使信號(hào)發(fā)生器種類增多,性能提高。尤其隨著70年代微處理器的出現(xiàn),更促使信號(hào)發(fā)生器向著自動(dòng)化、智能化方向發(fā)展?,F(xiàn)在,許多信號(hào)發(fā)生器帶有微處理器,因而具備了自校、自檢、自動(dòng)故障診斷和自動(dòng)波形形成和修正等功
17、能,可以和控制計(jì)算機(jī)及其他測(cè)量?jī)x器一起方便的構(gòu)成自動(dòng)測(cè)試系統(tǒng)。當(dāng)前信號(hào)發(fā)生器總的趨勢(shì)是向著寬頻率覆蓋、低功耗、高頻率精度、多功能、自動(dòng)化和智能化方向發(fā)展。</p><p> 在科學(xué)研究、工程教育及生產(chǎn)實(shí)踐中,如工業(yè)過(guò)程控制、教學(xué)實(shí)驗(yàn)、機(jī)械振動(dòng)試驗(yàn)、動(dòng)態(tài)分析、材料試驗(yàn)、生物醫(yī)學(xué)等領(lǐng)域,常常需要用到低頻信號(hào)發(fā)生器。而在我們?nèi)粘I钪校约耙恍┛茖W(xué)研究中,鋸齒波和正弦波信號(hào)是常用的基本測(cè)試信號(hào)。信號(hào)發(fā)生器作為一種通用
18、的電子儀器,在生產(chǎn)、科研、測(cè)控、通訊等領(lǐng)域都得到了廣泛的應(yīng)用。 但市面上能看到的儀器在頻率精度、帶寬、波形種類及程控方面都已不能滿足許多方面實(shí)際應(yīng)用的需求。加之各類功能的半導(dǎo)體集成芯片的快速生產(chǎn),都使我們研制一種低功耗、寬頻帶,能產(chǎn)生多種波形并具有程控等低頻的信號(hào)發(fā)生器成為可能。</p><p> 該設(shè)計(jì)課題的研究和制作全面說(shuō)明對(duì)低頻信號(hào)發(fā)生系統(tǒng)要有一個(gè)全面的解、對(duì)低頻信號(hào)的發(fā)生原理要理解掌握,以及低頻信號(hào)發(fā)生
19、器工作流程:波形的設(shè)定,D/A轉(zhuǎn)換,單片機(jī)(51單片機(jī),鍵盤(pán)控制),顯示和各模塊的連接通信等各個(gè)部分要熟練聯(lián)接調(diào)試,能夠正確的了解常規(guī)芯片的使用方法、掌握簡(jiǎn)單信號(hào)發(fā)生器應(yīng)用系統(tǒng)軟硬件的設(shè)計(jì)方法,進(jìn)一步鍛煉了我們?cè)谛盘?hào)處理方面的實(shí)際工作能力。</p><p> 1.2 設(shè)計(jì)要求和任務(wù)</p><p> 熟悉和掌握單片機(jī)的結(jié)構(gòu)和工作原理,了解信號(hào)發(fā)生器的工作原理。掌握以單片機(jī)為核心的電路設(shè)
20、計(jì)的基本方法,并通過(guò)實(shí)際程序的設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序的設(shè)計(jì)方法和調(diào)試技術(shù);了解開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過(guò)程。綜合運(yùn)用所學(xué)專業(yè)知識(shí)解決工程問(wèn)題。</p><p><b> 具體設(shè)計(jì)要求如下:</b></p><p> ?。?) 具有產(chǎn)生正弦波、三角波、方波、矩形波、鋸齒波波形的功能。</p><p> (2) 信號(hào)的頻率范圍為1Hz-1
21、MHz。</p><p> (3) 信號(hào)的輸出波形幅度Vp-p可調(diào)。</p><p> ?。?) 通過(guò)鍵盤(pán)輸入任意頻率數(shù)值和選擇任意波形。</p><p><b> 1.3 單片機(jī)概述</b></p><p> 單片微型計(jì)算機(jī)(單片機(jī))作為微型計(jì)算機(jī)的一個(gè)很重要的分支,自問(wèn)世以來(lái),以其極高的性價(jià)比,受到人們的重視和
22、關(guān)注,因此應(yīng)用廣泛,發(fā)展迅速。相對(duì)而言,單片機(jī)體積小、重量輕、抗干擾能力強(qiáng),對(duì)環(huán)境要求不高,并且價(jià)格低廉、可靠性高、靈活性好,開(kāi)發(fā)較為容易。目前,在我國(guó),單片機(jī)已經(jīng)廣泛地用于智能儀表、機(jī)電設(shè)備過(guò)程控制、自動(dòng)檢測(cè)、家用電器和數(shù)據(jù)處理等各個(gè)方面。</p><p> 1.3.1 單片機(jī)的發(fā)展</p><p> 單片機(jī)誕生于20世紀(jì)70年代。最初的單片機(jī)是利用大規(guī)模集成電路技術(shù)把中央處理單元(
23、簡(jiǎn)稱CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)及其他I/O通信口集成在一塊芯片上,構(gòu)成一個(gè)最小的計(jì)算機(jī)系統(tǒng)。現(xiàn)代的單片機(jī)則增加了更多的片內(nèi)外設(shè)(比如定時(shí)器、計(jì)數(shù)器、串行口、中斷、并行I/O口,甚至包括A/D轉(zhuǎn)換器、脈寬調(diào)制器PWM等),使得單片機(jī)的功能越來(lái)越強(qiáng)大,應(yīng)用領(lǐng)域越來(lái)越廣泛。因?yàn)檫@樣一塊芯片就具有一臺(tái)計(jì)算機(jī)的功能,因而被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。由于單片機(jī)的硬件結(jié)構(gòu)和指令系統(tǒng)都是按照工業(yè)控制要求來(lái)設(shè)計(jì)的,常用在工
24、業(yè)的檢查、控制裝置中,因而也被稱為微控制器(Micro-Controller)。</p><p> 單片機(jī)按照其用途可以劃分為通用型和專用型兩大類。通常所說(shuō)的單片機(jī)是指通用型單片機(jī)。通用型單片機(jī)是把可開(kāi)發(fā)資源(如ROM,RAM,I/O口)全部提供給使用者。專用型單片機(jī)的硬件結(jié)構(gòu)和指令是按照某個(gè)特定用途而設(shè)計(jì)的,如:頻率合成調(diào)諧器(DDS)、USB控制器、收音機(jī)機(jī)芯控制器、打印機(jī)控制器等。</p>
25、<p> ?。?) 單片機(jī)發(fā)展歷史</p><p> 20世紀(jì)70年代,微電子技術(shù)正處于發(fā)展階段,集成電路屬于中規(guī)模發(fā)展時(shí)期,各種新材料、新工藝尚未成熟。</p><p> 1976年Intel公司推出了MCS-48單片機(jī),這個(gè)時(shí)期的單片機(jī)才是真正的8位單片微型計(jì)算機(jī),并推向市場(chǎng)。</p><p> 80年代初,單片機(jī)已經(jīng)發(fā)展到了高性能階段。<
26、/p><p> 80年代,世界各大公司競(jìng)相研制出品種多、功能強(qiáng)的單片機(jī),約有幾十個(gè)系列,300多個(gè)品種,此時(shí)的單片機(jī)均屬于真正的單片化,大多集成了CPU、RAM、ROM、數(shù)目繁多的I/O接口、多種中斷系統(tǒng),甚至還有一些帶A/D轉(zhuǎn)換器。其發(fā)展到了一個(gè)全新的階段,應(yīng)用領(lǐng)域更加廣泛。 在眾多品種的單片機(jī)中,MCS-51系列是我國(guó)較早引進(jìn)的Intel公司的單片機(jī)產(chǎn)品。由于其性能優(yōu)良,已經(jīng)被國(guó)內(nèi)外用戶廣泛認(rèn)可和采用,占據(jù)了
27、重要的市場(chǎng)份額。</p><p> (2) 單片機(jī)發(fā)展特點(diǎn)</p><p> 單片機(jī)技術(shù)從出現(xiàn)至今已走過(guò)近30多年的發(fā)展路程??v觀30多年來(lái)單片機(jī)的發(fā)展歷程,單片機(jī)技術(shù)以微處理器技術(shù)及超大規(guī)模集成電路技術(shù)的發(fā)展為先導(dǎo),以廣泛的應(yīng)用領(lǐng)域?yàn)閯?dòng)力,表現(xiàn)出極具個(gè)性的發(fā)展特點(diǎn)。主要表現(xiàn)在以下幾點(diǎn): 壽命長(zhǎng)、8位、16位、32位共同發(fā)展、運(yùn)行速度越來(lái)越快、低電壓與低功耗、低噪聲與高可靠性技術(shù)、OT
28、P技術(shù)、MTP可多次編程。</p><p> ?。?) 單片機(jī)發(fā)展趨</p><p> 回顧歷史,在Intel公司推出了MCS-51不久便實(shí)施了最徹底的技術(shù)開(kāi)放政策。在眾多電器商、半導(dǎo)體商的積極參與下,將MCS-51發(fā)展成了眾多型號(hào)系列的80C51 MCU(Micro Controller Unit,微控制器)家族。MCS-51經(jīng)典的體系結(jié)構(gòu)、極好的兼容性和Intel公司的開(kāi)放政策不僅使
29、眾多廠家參與發(fā)展,也誘使半導(dǎo)體廠家對(duì)MCS-51實(shí)行為所欲為的改造。從各種新型單片機(jī)的性能可以看出,單片機(jī)是向大容量、高性能化、外圍電路內(nèi)集成化幾方面發(fā)展。其中主要表現(xiàn)在以下及方面:CPU功能的加強(qiáng)、存儲(chǔ)器的發(fā)展、片內(nèi)I/O的改進(jìn)、片內(nèi)資源的增加、調(diào)試方式的改進(jìn)等。</p><p> 1.3.2 單片機(jī)的應(yīng)用</p><p> 單片機(jī)以其卓越的性能、小巧的體積、極高的性價(jià)比,在國(guó)民經(jīng)濟(jì)
30、的各個(gè)領(lǐng)域中得到了廣泛的應(yīng)用。但是由于單片機(jī)自身的一些特點(diǎn),在實(shí)際應(yīng)用中又有著自己的應(yīng)用特性和應(yīng)用范圍。</p><p><b> ?。?) 應(yīng)用特點(diǎn)</b></p><p> 基于單片機(jī)的應(yīng)用系統(tǒng)和其他一般的微型機(jī)相比,具有以下一些特點(diǎn):小巧靈活、可靠性高、使用方便,容易擴(kuò)展、性價(jià)比高,容易產(chǎn)品化等等。</p><p><b>
31、?。?) 應(yīng)用領(lǐng)域</b></p><p> 智能化管理及過(guò)程控制等領(lǐng)域,大致可分如下幾個(gè)方面:在智能儀器儀表上的應(yīng)用、在工業(yè)控制中的應(yīng)用、在家用電器中的應(yīng)用、在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用、在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用等等。</p><p> 此外,單片機(jī)在工商、金融、科研、教育和國(guó)防航空航天等領(lǐng)域都有著十分廣泛的用途。</p><p> 1.4 AT
32、89S52單片機(jī)</p><p> ?。?) 功能特性描述</p><p> AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲(chǔ)器。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門(mén)狗定時(shí)器,兩個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。</p&
33、gt;<p><b> ?。?) 引腳功能</b></p><p> AT89S52單片機(jī)有44個(gè)引腳PLCC和TQFP方形封裝形式,40個(gè)引腳的雙列直插式封裝形式,最常用的40個(gè)引腳封裝形式及其配置如圖1-1所示,各個(gè)引腳功能說(shuō)明如下:</p><p> 圖1-1 89S52單片機(jī)的引腳</p><p> VCC:電源,
34、接+5V</p><p><b> GND:接地</b></p><p> P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)
35、時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p> P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P1 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸
36、發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。</p><p> P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行M
37、OVX @DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p> P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高
38、,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。晶振工作時(shí),RST腳將持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T(mén)狗計(jì)時(shí)完成后,RST 腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DI
39、SRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p> ALE/:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳()也用作編程輸入脈沖。 </p><p> :外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。<
40、;/p><p> /VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在flash編程期間,也接收12伏VPP電壓。</p><p> XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p> XTAL2:振蕩器反相放大器的輸出端。</p>
41、<p> ?。?) AT89S52 的存儲(chǔ)器結(jié)構(gòu)</p><p> AT89S52器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64KB尋址。</p><p> 程序存儲(chǔ)器:如果引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始。對(duì)于89S52,如果接VCC,讀寫(xiě)程序先從內(nèi)部存儲(chǔ)器(地址為0000H~1FFFH)開(kāi)始,接著從外部尋址,尋址地址為:2000H~FFFF
42、H。</p><p> 數(shù)據(jù)存儲(chǔ)器:AT89S52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪問(wèn)高于7FH 的地址時(shí),尋址方式?jīng)Q定CPU 訪問(wèn)高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問(wèn)特殊功能寄存器(SFR)。</p><p><b> ?。?) 定時(shí)器&
43、lt;/b></p><p> ?、?MCS-51系列中51子系列有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器:定時(shí)/計(jì)數(shù)器T0和定時(shí)/計(jì)數(shù)器T1,52子系列有三個(gè),還有一個(gè)定時(shí)/計(jì)數(shù)器T2。</p><p> ?、?每個(gè)定時(shí)/計(jì)數(shù)器既可以對(duì)系統(tǒng)時(shí)鐘計(jì)數(shù)實(shí)現(xiàn)定時(shí),也可以對(duì)外部信號(hào)計(jì)數(shù)實(shí)現(xiàn)計(jì)數(shù)功能,通過(guò)編程設(shè)定來(lái)實(shí)現(xiàn)。</p><p> ?、?每個(gè)定時(shí)/計(jì)數(shù)器都有多種
44、工作方式,其中T0有四種工作方式;T1有三種工作方式,T2有三種工作方式。通過(guò)編程設(shè)置其方式寄存器TMOD可設(shè)定定時(shí)器工作于某種方式。</p><p> ?、?每一個(gè)定時(shí)/計(jì)數(shù)器定時(shí)計(jì)數(shù)時(shí)間到時(shí)產(chǎn)生溢出,使控制寄存器TCON中相應(yīng)的溢出位置位,溢出可通過(guò)查詢或中斷方式處理。</p><p><b> ?。?) 中斷</b></p><p>
45、 AT89S52 有6個(gè)中斷源:兩個(gè)外部中斷( 和),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。</p><p> 1.5 信號(hào)發(fā)生器概述</p><p> 目前,市場(chǎng)上的信號(hào)發(fā)生器多種多樣,一般按頻帶分為以下幾種:</p><p> 超高頻:頻率范圍1MHz以上
46、,可達(dá)幾十兆赫茲。</p><p> 高頻:幾百KHZ到幾MHZ。</p><p> 低頻:頻率范圍為幾十HZ到幾百KHZ。</p><p> 超低頻:頻率范圍為零點(diǎn)幾赫茲到幾百赫茲。</p><p> 超高頻信號(hào)發(fā)生器,產(chǎn)生波形一般用LC振蕩電路。</p><p> 高頻、低頻和超低頻信號(hào)發(fā)生器,大多使用文
47、氏橋振蕩電路,即RC振蕩電路,通過(guò)改變電容和電阻值,改變頻率。</p><p> 依據(jù)以上可以用單片機(jī)AT89S52,加上一片DAC0832,就可以做成一個(gè)簡(jiǎn)單的信號(hào)發(fā)生器,其頻率受單片機(jī)運(yùn)行的程序的控制。我們可以把產(chǎn)生各種波形的程序,寫(xiě)在ROM中,裝入本機(jī),按用戶的選擇,運(yùn)行不同的程序,產(chǎn)生不同的波形。再在DAC0832輸出端加上一些電壓變換電路,就完成了一個(gè)頻率、幅值可調(diào)的多功能信號(hào)發(fā)生器的設(shè)計(jì)。</
48、p><p> 1.6 本論文主要研究的內(nèi)容</p><p> 本設(shè)計(jì)采用89S52及其外圍擴(kuò)展系統(tǒng),軟件方面主要是應(yīng)用C語(yǔ)言設(shè)計(jì)程序。系統(tǒng)以89S52單片機(jī)為核心,配置相應(yīng)的外設(shè)及接口電路,用C語(yǔ)言開(kāi)發(fā),組成一個(gè)多功能信號(hào)發(fā)生系統(tǒng)。硬件電路設(shè)計(jì)具有典型性,電路設(shè)計(jì)具有實(shí)用性。</p><p> 本設(shè)計(jì)將完成以下幾個(gè)方面的工作:</p><p&g
49、t; ?。?) 選芯片,盡量滿足一般工業(yè)控制要求、以增強(qiáng)其實(shí)用性。</p><p> ?。?) 原理圖設(shè)計(jì)在保證正確的前提下,盡量采用典型的電路設(shè)計(jì)。</p><p> (3) 固化于單片機(jī)芯片中的軟件采用模塊設(shè)計(jì),層次清楚,具有上電復(fù)位及初始化功能,具有很好的軟件開(kāi)發(fā)框架。 </p><p> ?。?) 掌握單片機(jī)仿真軟件KEIL的使用。</p>
50、<p> 為此,論文包括以下內(nèi)容:</p><p> ?、?緒論。主要介紹單片機(jī)發(fā)展概況和信號(hào)發(fā)生器的概述,為以后幾章的介紹奠定基礎(chǔ)。</p><p> ?、?系統(tǒng)總體方案設(shè)計(jì)。本章主要考慮系統(tǒng)性能、功能和器件選擇。包括兩個(gè)主要內(nèi)容,系統(tǒng)分析和系統(tǒng)總體方案設(shè)計(jì)。</p><p> ③ 系統(tǒng)的硬件設(shè)計(jì)。本章完成系統(tǒng)的硬件總體設(shè)計(jì),詳細(xì)說(shuō)明了設(shè)計(jì)思路。&l
51、t;/p><p> ?、?系統(tǒng)軟件設(shè)計(jì)實(shí)現(xiàn)。本章是系統(tǒng)的具體實(shí)現(xiàn),對(duì)系統(tǒng)按功能模塊進(jìn)行介紹。以及系統(tǒng)的測(cè)試結(jié)果總結(jié)。</p><p> 第二章 系統(tǒng)設(shè)計(jì)方案</p><p><b> 2.1 系統(tǒng)分析</b></p><p> 2.1.1 問(wèn)題定義</p><p> 基于單片機(jī)的信號(hào)發(fā)生系統(tǒng)
52、是一個(gè)實(shí)際應(yīng)用系統(tǒng),可為相關(guān)實(shí)驗(yàn)及實(shí)際應(yīng)用提供支持。本論文包括硬件系統(tǒng)的詳細(xì)設(shè)計(jì)及C語(yǔ)言在基本控制中的應(yīng)用。此系統(tǒng)具有的功能如下:</p><p><b> 硬件部分</b></p><p> (1) 單片機(jī)所需的平穩(wěn)電壓(電源設(shè)計(jì)±12V,5V);</p><p><b> ?。?) 獨(dú)立鍵盤(pán);</b>&l
53、t;/p><p> ?。?) 時(shí)鐘電路與復(fù)位電路;</p><p> ?。?) 具有8位精度的D/A轉(zhuǎn)換功能;</p><p> ?。?) 波形產(chǎn)生與電壓變換功能;</p><p><b> 軟件部分</b></p><p> ?。?) 系統(tǒng)復(fù)位初始化;</p><p>
54、(2) 鍵盤(pán)掃描與處理;</p><p> ?。?) 按鍵服務(wù)程序;</p><p> ?。?) 定時(shí)器0中斷服務(wù)程序;</p><p> ?。?) 正弦波,三角波,方波,矩形波,鋸齒波發(fā)生程序;</p><p> 2.1.2 系統(tǒng)可行性分析</p><p><b> ?。?) 設(shè)計(jì)環(huán)境</b>
55、</p><p> 本設(shè)計(jì)主要用Protel電子設(shè)計(jì)軟件進(jìn)行電子線路的設(shè)計(jì)。電路原理圖的設(shè)計(jì)是仿真中的第一步,也是非常重要的一步。電路原理圖設(shè)計(jì)得好壞將直接影響到后面的工作。電路原理圖的設(shè)計(jì)過(guò)程可分為以下幾個(gè)步驟:</p><p> ① 設(shè)置電路圖紙參數(shù)及相關(guān)信息</p><p> ② 裝入所需要的元件</p><p><b>
56、; ③ 設(shè)置元件</b></p><p><b> ?、?連線電路圖</b></p><p> ?、?調(diào)整、檢查和修改</p><p><b> ⑥ 補(bǔ)充完善</b></p><p><b> ?。?) 可行性分析</b></p><p>
57、; 根據(jù)技術(shù)指標(biāo)及系統(tǒng)設(shè)計(jì)目的,經(jīng)研究芯片的選擇如下:</p><p> ?、?主控芯片采用ATMEL公司的AT89S52;</p><p> ?、?采用12MHz的晶振器為AT89S52提供時(shí)鐘信號(hào);</p><p> ?、?穩(wěn)壓塊選用7812與7805相串聯(lián),提供12V和5V電壓,7912產(chǎn)生-12V電壓;</p><p> ④ 對(duì)于
58、89S52的P0口的數(shù)據(jù)經(jīng)過(guò)DAC0832進(jìn)行D/A轉(zhuǎn)換;</p><p> ?、?8位D/A轉(zhuǎn)換器采用DAC0832;</p><p> ?、?運(yùn)算放大器采用LM324。</p><p> ?。?) 設(shè)計(jì)中可能存在的問(wèn)題及解決方案——排除問(wèn)題的可行性討論</p><p> 此設(shè)計(jì)要求最終制作出實(shí)體,因此,設(shè)計(jì)原理圖時(shí)應(yīng)著重考慮設(shè)計(jì)最終的電
59、路板的可行性。在設(shè)計(jì)時(shí)要對(duì)每一個(gè)電路模塊仔細(xì)檢查,查閱其他書(shū)籍進(jìn)行校對(duì),還要進(jìn)行實(shí)物實(shí)驗(yàn),以確保設(shè)計(jì)的可實(shí)現(xiàn)性。在最后的電路板的調(diào)試階段,需要診斷模塊程序和單片機(jī)仿真機(jī)合作進(jìn)行,從而克服調(diào)試程序本身的不可靠性,可方便地進(jìn)行調(diào)試及錯(cuò)誤診斷。</p><p> (4) 經(jīng)濟(jì)上的可行性討論</p><p> 本設(shè)計(jì)是一個(gè)實(shí)驗(yàn)系統(tǒng),芯片的選擇在前面已經(jīng)討論,從前面的討論中可見(jiàn)芯片大部分都是常用
60、芯片。因此,設(shè)計(jì)費(fèi)用主要集中在購(gòu)買(mǎi)元器件上,而大部分的元器件,在市場(chǎng)上很容易找到不是很貴,所以經(jīng)濟(jì)上本設(shè)計(jì)完全可行。</p><p> 2.2 系統(tǒng)需求分析</p><p><b> ?。?)系統(tǒng)功能要求</b></p><p> 系統(tǒng)具有D/A轉(zhuǎn)換功能,信號(hào)幅度放大功能,上電自動(dòng)復(fù)位功能,鍵盤(pán)輸入接口。</p><p&
61、gt; ?。?) 系統(tǒng)性能要求</p><p> ?、?系統(tǒng)的D/A轉(zhuǎn)換功能具有8位精度;</p><p> ?、?89S52單片機(jī)時(shí)鐘信號(hào)為12MHZ;</p><p> ?、?系統(tǒng)上電自動(dòng)復(fù)位;</p><p> 2.3 總體方案設(shè)計(jì)</p><p> 算法設(shè)計(jì):本設(shè)計(jì)涉及的算法較少,將在第四章軟件設(shè)計(jì)中介紹。
62、</p><p> 系統(tǒng)總體結(jié)構(gòu)框圖設(shè)計(jì):一個(gè)單片機(jī)主系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是單片機(jī)系統(tǒng)擴(kuò)展部分設(shè)計(jì),它包括存儲(chǔ)器擴(kuò)展和接口擴(kuò)展。存儲(chǔ)器擴(kuò)展指EPROM、EEPROM和RAM的擴(kuò)展。接口擴(kuò)展是指各接口芯片以及其他功能器件的擴(kuò)展。二是各功能模塊的設(shè)計(jì),如信號(hào)檢測(cè)功能模塊、信號(hào)控制功能模塊、人機(jī)對(duì)話功能模塊、通訊功能模塊等,根據(jù)系統(tǒng)功能要求配置相應(yīng)的D/A、鍵盤(pán)、顯示器等外圍設(shè)備。本設(shè)計(jì)主要包括硬件設(shè)
63、計(jì)和軟件設(shè)計(jì)。其中硬件主系統(tǒng)框圖如圖2-1所示。</p><p> 圖2-1 主系統(tǒng)結(jié)構(gòu)框圖</p><p><b> 第三章 硬件設(shè)計(jì)</b></p><p> 3.1 總體硬件設(shè)計(jì)</p><p> 單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元(如ROM、I/O、定時(shí)/
64、計(jì)數(shù)器等)容量不能滿足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇適當(dāng)?shù)男酒?,設(shè)計(jì)適當(dāng)?shù)碾娐贰6窍到y(tǒng)配置,即按照功能要求配置外圍設(shè)備如顯示設(shè)備、D/A轉(zhuǎn)換等。</p><p><b> (1) 程序存貯器</b></p><p> 89S52內(nèi)部自帶8K的ROM,512B的RAM,所以不需要對(duì)其擴(kuò)展存儲(chǔ)器。</p><p><b>
65、; (2) 鍵盤(pán)接口</b></p><p> 本設(shè)計(jì)使用按鍵較少,采用獨(dú)立式鍵盤(pán)控制。</p><p><b> (3) D/A轉(zhuǎn)換</b></p><p> 本設(shè)計(jì)D/A轉(zhuǎn)換部分采用DAC0832芯片,由于它自帶鎖存器,故在使用時(shí)不必加74LS373進(jìn)行數(shù)據(jù)鎖存。</p><p> (4) 信號(hào)
66、變換部分</p><p> 對(duì)信號(hào)的變換部分采用四運(yùn)放集成芯片LM324,它采用14腳雙列直插塑料封裝,它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器。</p><p> 3.2 系統(tǒng)模塊設(shè)計(jì)</p><p> 3.2.1 電源設(shè)計(jì)</p><p> 穩(wěn)壓電源是單片機(jī)控制系統(tǒng)的重要組成部分,它不僅為測(cè)控系統(tǒng)提供多路電源電壓,還直接影響到系統(tǒng)
67、的技術(shù)指標(biāo)和抗干擾性能。 </p><p> 本機(jī)使用三種共地電源:+12V,-12V,+5V,硬件設(shè)計(jì)中采用自帶穩(wěn)壓電源方式,此電源穩(wěn)壓主要采用穩(wěn)壓塊7812、7912和7805,使用這些穩(wěn)壓塊,穩(wěn)壓效果比較好,使用較方便。</p><p> 圖3-1 穩(wěn)壓電源模塊電路圖</p><p> 3.2.2 復(fù)位與時(shí)鐘電路設(shè)計(jì)</p><p&
68、gt; ?。? ) 復(fù)位電路設(shè)計(jì)</p><p> 單片機(jī)的復(fù)位是靠外電路實(shí)現(xiàn)的,在時(shí)鐘電路工作后,只要在單片機(jī)的RST引腳上出現(xiàn)24個(gè)時(shí)鐘振蕩脈沖(2個(gè)機(jī)器周期)以上的高電平,單片機(jī)便實(shí)現(xiàn)初始化狀態(tài)復(fù)位。為了保證應(yīng)用系統(tǒng)可靠地復(fù)位,通常是RST引腳保持10ms以上的高電平。復(fù)位電路連接如圖3-4所示。此電路僅用一個(gè)電容及一個(gè)電阻。系統(tǒng)上電時(shí),在RC電路充電過(guò)程中,由于電容兩端電壓不能跳變,故使RESET端電平
69、呈高電位,系統(tǒng)復(fù)位。經(jīng)過(guò)一段時(shí)間,電容充電,使RESET端呈低電位,復(fù)位結(jié)束。</p><p> 圖3-2 復(fù)位電路</p><p> ?。?) 時(shí)鐘電路設(shè)計(jì) </p><p> 8051系列單片機(jī)的時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。本設(shè)計(jì)采用內(nèi)部震蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡(jiǎn)稱晶振),就構(gòu)成了內(nèi)部振蕩方式
70、。由于單片機(jī)內(nèi)部有一個(gè)高增益反向放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,并產(chǎn)生振蕩時(shí)鐘脈沖。晶振通常選用6MHZ、12MHZ或24MHZ。內(nèi)部振蕩方式如圖3-5所示。圖中電容C1、C2起穩(wěn)定振蕩頻率、快速起振的作用。電容值一般5~30pF。內(nèi)部振蕩方式所得時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。 </p><p> 圖3-3 內(nèi)部振蕩</p><p> 3.2.3鍵盤(pán)接口設(shè)計(jì)
71、</p><p> ?。?) 人機(jī)交互接口的設(shè)計(jì)</p><p> 所謂人機(jī)交互接口,是指人與計(jì)算機(jī)之間建立聯(lián)系、交互信息的輸入/輸出設(shè)備的接口。這些輸入/輸出設(shè)備主要有鍵盤(pán)、顯示器和打印機(jī)等。是控制系統(tǒng)與操作人員之間的交互窗口。鍵盤(pán)的結(jié)構(gòu)形式一般有兩種:獨(dú)立式鍵盤(pán)與矩陣式鍵盤(pán)。本次主要介紹設(shè)計(jì)所用的獨(dú)立鍵盤(pán)的工作方式。</p><p> ?。?) 鍵盤(pán)設(shè)計(jì)需要解
72、決的幾個(gè)問(wèn)題</p><p><b> ?、?按鍵的確認(rèn)</b></p><p> 鍵盤(pán)實(shí)際上是一組按鍵開(kāi)關(guān)的集合,其中每一個(gè)按鍵就是一個(gè)開(kāi)關(guān)量輸入裝置。鍵的閉合與否,取決于機(jī)械彈性開(kāi)關(guān)的通、斷狀態(tài)。反應(yīng)在電壓上就是呈現(xiàn)出高電平或低電平,若高電平表示斷開(kāi),那么低電平鍵閉合。所以,通過(guò)電平狀態(tài)(高或低)的檢測(cè),便可確定相應(yīng)按鍵是否已被按下。</p>&l
73、t;p> ?、?重鍵與連擊的處理</p><p> 實(shí)際按鍵操作中,若無(wú)意中同時(shí)或先后按下兩個(gè)以上的鍵,系統(tǒng)確定哪個(gè)鍵操作是有效的,完全取決設(shè)計(jì)者的意圖。如視按下時(shí)間最長(zhǎng)者為有效鍵,或認(rèn)為最先按下的鍵為當(dāng)前的按鍵,也可以將最后釋放的鍵看成是輸入鍵。不過(guò)單片機(jī)控制系統(tǒng)的資源有限,交互能力不強(qiáng),通常總是采用單鍵按下有效,多鍵同時(shí)按下無(wú)效的原則。</p><p> 有時(shí),由于操作人員按
74、鍵動(dòng)作不夠熟練,會(huì)使一次按鍵產(chǎn)生多次擊鍵的效果,及重鍵的情形。為消除重鍵的影響,編制程序時(shí)可以將鍵的釋放作為按鍵的結(jié)束。等鍵釋放電平后再轉(zhuǎn)去執(zhí)行相應(yīng)的功能程序,以防止一次擊鍵多次執(zhí)行的錯(cuò)誤發(fā)生。</p><p><b> ?、?按鍵防抖動(dòng)技術(shù)</b></p><p> 鍵盤(pán)作為向系統(tǒng)提供操作人員的干預(yù)命令的接口,以其特定的按鍵代表著各種確定操作命令。所以準(zhǔn)確無(wú)誤地辨
75、認(rèn)每個(gè)鍵的動(dòng)作及其所處的狀態(tài),是系統(tǒng)能否正常工作的關(guān)鍵。</p><p> 多數(shù)鍵盤(pán)的按鍵均采用機(jī)械彈性開(kāi)關(guān)。一個(gè)電信號(hào)通過(guò)機(jī)械觸點(diǎn)的斷開(kāi)、閉合過(guò)程,完成高、低電平的切換。由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)閉合及斷開(kāi)的瞬間必然伴隨有一連串的抖動(dòng)。</p><p> 消除按鍵盤(pán)抖動(dòng)通常有兩種方法:硬件消抖和軟件消抖。通過(guò)硬件電路消除按鍵過(guò)程中抖動(dòng)的影響是一種廣為采用的措施。這種做法,工
76、作可靠,且節(jié)省機(jī)時(shí)。 硬件消抖是通過(guò)在按鍵輸出電路上加一定的硬件線路來(lái)消除抖動(dòng),一般采用R—S觸發(fā)器或單穩(wěn)態(tài)電路。 </p><p> 獨(dú)立式鍵盤(pán)就是各按鍵相互獨(dú)立,每個(gè)按鍵各接一根I/O口線,每根I/O口線上的按鍵都不會(huì)影響其它的I/O口線,示例如圖3-6所示。矩陣式鍵盤(pán)又叫行列式鍵盤(pán)。用I/O口線組成行、列結(jié)構(gòu),鍵位設(shè)置在行列的交點(diǎn)上。例如4×4的行、列結(jié)構(gòu)可組成16個(gè)鍵的鍵盤(pán),比一個(gè)鍵位用一根I
77、/O口線的獨(dú)立式鍵盤(pán)少了一半的I/O口線。對(duì)矩陣鍵盤(pán)的工作過(guò)程可分兩步:第一步是CPU首先檢測(cè)鍵盤(pán)上是否有鍵按下;第二步是再識(shí)別是哪一個(gè)鍵按下。</p><p> 圖3-4 獨(dú)立式鍵盤(pán)</p><p> 3.2.4 D/A轉(zhuǎn)換設(shè)計(jì)</p><p> DAC0832是CMOS工藝制造的8位D/A轉(zhuǎn)換器,屬于8位電流輸出型D/A轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為1us,片內(nèi)帶輸入
78、數(shù)字鎖存器。DAC0832與單片機(jī)接成數(shù)據(jù)直接寫(xiě)入方式,當(dāng)單片機(jī)把一個(gè)數(shù)據(jù)寫(xiě)入DAC寄存器時(shí),DAC0832的輸出模擬電壓信號(hào)隨之對(duì)應(yīng)變化。利用D/A轉(zhuǎn)換器可以產(chǎn)生各種波形,如方波、三角波、正弦波、鋸齒波等以及它們組合產(chǎn)生的復(fù)合波形和不規(guī)則波形。</p><p> (1) DAC0832主要性能</p><p> 輸入的數(shù)字量為8位;</p><p> 采用C
79、MOS工藝,所有引腳的邏輯電平與TTL兼容;</p><p> 數(shù)據(jù)輸入可以采用雙緩沖、單緩沖和直通方式;</p><p><b> 轉(zhuǎn)換時(shí)間:1us;</b></p><p><b> 分辨率:8位;</b></p><p> 單一電源:5—15V,功耗20mw;</p>&
80、lt;p> 參考電壓:-12— +12V;</p><p> (2) DAC0832內(nèi)部結(jié)構(gòu)資料</p><p> 芯片內(nèi)有兩級(jí)輸入寄存器,使DAC0832具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。要是需要相應(yīng)的模擬信號(hào),可通過(guò)一個(gè)高輸入阻抗的線性運(yùn)算放大器實(shí)現(xiàn)這個(gè)功能。運(yùn)放的反饋電阻可
81、通過(guò)RFB端引用片內(nèi)固有電阻,還可以外接。 </p><p> 該片邏輯輸入滿足TTL電壓電平范圍,可直接與TTL電路或微機(jī)電路相接,下面是芯片電路原理圖3-7。</p><p> 圖3-5 DAC0832電路原理圖</p><p> 待轉(zhuǎn)換的8位數(shù)字量由芯片的8位數(shù)據(jù)輸入線D0~D7輸入,經(jīng)DAC0832轉(zhuǎn)換后,通過(guò)2個(gè)電流輸出端IOUT1和IOUT2輸出,
82、IOUT1是邏輯電平為"1"的各位輸出電流之和,IOUT2是邏輯電平為"0"的各位輸出電流之和。另外,ILE、、、和是控制轉(zhuǎn)換的控制信號(hào)。 DAC0832由8位輸入寄存器、8位DAC寄存器和8位D/A轉(zhuǎn)換電路組成。輸入寄存器和DAC寄存器作為雙緩沖,因?yàn)樵贑PU數(shù)據(jù)線直接接到DAC0832的輸入端時(shí),數(shù)據(jù)在輸入端保持的時(shí)間僅僅是在CPU執(zhí)行輸出指令的瞬間內(nèi),輸入寄存器可用于保存此瞬間出現(xiàn)的
83、數(shù)據(jù)。有時(shí),微機(jī)控制系統(tǒng)要求同時(shí)輸出多個(gè)模擬量參數(shù),此時(shí)對(duì)應(yīng)于每一種參數(shù)需要一片DAC0832,每片DAC0832的轉(zhuǎn)換時(shí)間相同,就可采用DAC寄存器對(duì)CPU分時(shí)輸入到輸入寄存器的各參數(shù)在同一時(shí)刻開(kāi)始鎖存,進(jìn)而同時(shí)產(chǎn)生各模擬信號(hào)。 DAC0832的數(shù)據(jù)輸出方式在微機(jī)應(yīng)用系統(tǒng)中,通常使用的是電壓信號(hào),而DAC0832輸出的是電流信號(hào),這就需要由運(yùn)算放大器組成的電路實(shí)現(xiàn)轉(zhuǎn)換。其中有輸出電壓各自極性固定的單極性輸出和隨系統(tǒng)變化輸出電壓
84、有正負(fù)極性的雙極性輸出兩種輸出方式</p><p> ?。?) DAC0832芯片原理</p><p> ILE是輸入數(shù)據(jù)鎖存信號(hào),高電平有效。</p><p> 是片選信號(hào),低電平有效。</p><p> 是讀信號(hào),低電平有效。</p><p> 當(dāng)ILE 、 、 同時(shí)有效時(shí)LE=1輸入寄存器的輸出隨輸入而變
85、化。</p><p> 由低到高跳變時(shí)將輸入數(shù)據(jù)鎖存到輸入寄存器。</p><p> 是轉(zhuǎn)移控制信號(hào),低電平有效。</p><p> 是寫(xiě)信號(hào),低電平有效。</p><p> 當(dāng) 、同時(shí)有效時(shí),LE2=1,DAC寄存器輸出隨輸入而變化。</p><p> 出現(xiàn)由低到高電平上跳變時(shí)將輸入數(shù)據(jù)鎖存到DAC寄存器,
86、數(shù)據(jù)進(jìn)入D/A轉(zhuǎn)換器開(kāi)始D/A轉(zhuǎn)換。</p><p> IOUT1模擬電流輸出端1 當(dāng)輸入數(shù)字全“1”是,輸出電流最大約為,,全是“0”是輸出電流為零。</p><p> IOUT2模擬電流輸出端2,IOUT1+IOUT2=常數(shù)。</p><p> 制作低頻信號(hào)發(fā)生器有許多方案:主要有單緩沖方式,雙緩沖方式和直通方式。單緩沖方式具有適用于只有一路模擬信號(hào)輸出或
87、幾路模擬信號(hào)非同步輸出的情形的優(yōu)點(diǎn),但是電路線路連接比較簡(jiǎn)單。本設(shè)計(jì)主要用單緩沖方式。主要介紹單緩沖工作方式,單緩沖工作方式DAC寄存器工作處于直通狀態(tài),輸入寄存器工作于受控鎖存器狀態(tài),此時(shí)需要一次寫(xiě)操作就開(kāi)始轉(zhuǎn)換,轉(zhuǎn)換一個(gè)數(shù)據(jù)的主要過(guò)程,首先去數(shù)字量,而后依次打開(kāi)第一級(jí)鎖存和第二級(jí)鎖存。</p><p> D/A轉(zhuǎn)換簡(jiǎn)單說(shuō)就是應(yīng)用電阻解碼網(wǎng)絡(luò),將N位數(shù)字量逐位轉(zhuǎn)化為模擬量并求和,從而實(shí)現(xiàn)將N位數(shù)字量轉(zhuǎn)化為模擬
88、量(簡(jiǎn)單的說(shuō)就是加權(quán),比如十進(jìn)制的1101=1*10^3+1*10^2+0*10^1+1*10^0,只是在這里應(yīng)用的是二進(jìn)制算法)</p><p> ?。?) DAC0832同CPU的連接</p><p> 微處理器與DAC0832之間可以不加鎖存器,而是利用DAC0832內(nèi)部鎖存器,將CPU通過(guò)數(shù)據(jù)總線直接向DAC0832輸出的停留時(shí)間很短的數(shù)據(jù)保存,直至轉(zhuǎn)換結(jié)束。 DAC08
89、32同CPU的接口如圖3-8所示。DAC0832作為微處理器的一個(gè)端口,用地址92H的選通作為和的控制信號(hào),微處理器的寫(xiě)信號(hào)直接來(lái)控制和。</p><p> 圖3-6 D/A轉(zhuǎn)換電路圖</p><p> 3.2.5 I/V轉(zhuǎn)換波形輸出電路</p><p> DAC0832為電流輸出型轉(zhuǎn)換器,一般要求輸出是電壓,所以還必須經(jīng)過(guò)一個(gè)外接的運(yùn)算放大器轉(zhuǎn)換成電壓。&
90、lt;/p><p> 如圖3-9所示為一種用兩級(jí)運(yùn)算放大器組成的模擬電壓輸出電路。從第一個(gè)運(yùn)放輸出為單極性模擬電壓,從第二個(gè)運(yùn)放輸出為雙極性模擬電壓。如果參考電壓為+5V,則點(diǎn)a輸出電壓為0~-5V,點(diǎn)b輸出電壓為±5V。 </p><p> 圖3-7 I/V轉(zhuǎn)換波形發(fā)生電路</p><p> ?。?) LM324簡(jiǎn)介</p><p&g
91、t; LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖1所示的符號(hào)來(lái)表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相
92、位相同。LM324的引腳排列見(jiàn)3-10中圖2。由于LM324四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中。</p><p> 圖3-8 LM423外部與內(nèi)部結(jié)構(gòu)</p><p> (2) 雙極性輸出的實(shí)現(xiàn)</p><p> 若D/A轉(zhuǎn)換器輸出為雙極性,則設(shè)計(jì)如圖3-11所示。</p><
93、;p> 圖3-9 D/A轉(zhuǎn)換器雙極性輸出電路</p><p> 圖3-11中,運(yùn)算放大器A2的作用是把運(yùn)算放大器A1的單向輸出電壓轉(zhuǎn)換成雙向輸出電壓。其原理是將A2的輸入端Σ通過(guò)電阻R1與參考電壓VREF相連,VREF經(jīng)R1向A2提供一個(gè)偏流I1,其電流方向與I2相反,因此運(yùn)算放大器A2的輸入電流為I1、I2之代數(shù)和。則D/A轉(zhuǎn)換器的總輸出電壓為:</p><p><b&
94、gt; ?。?-1)</b></p><p><b> (3-2)</b></p><p> 為DAC0832提供的參考電壓,輸入的波形數(shù)據(jù)。由上式3-1和3-2可得:</p><p><b> ?。?-3)</b></p><p> 取,當(dāng)時(shí),;時(shí),;時(shí),
95、 。由上述分析可看出,取不同數(shù)據(jù)時(shí)(0~255),可得對(duì)稱的雙極性波形輸出。再取,則式(3-1)可表示為:</p><p> 由上式可知,輸出信號(hào)的幅度受的改變而改變。</p><p> 第四章 軟件設(shè)計(jì)及測(cè)試</p><p><b> 4.1軟件總體設(shè)計(jì)</b></p><p> 應(yīng)用系統(tǒng)中的應(yīng)用軟件是根據(jù)系統(tǒng)
96、功能要求而設(shè)計(jì)的,能可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。一個(gè)優(yōu)秀的應(yīng)用系統(tǒng)的應(yīng)具有下列特點(diǎn):</p><p> (1) 根據(jù)軟件功能要求,將系統(tǒng)軟件分成若干個(gè)獨(dú)立的部分。設(shè)計(jì)出軟件的總體結(jié)構(gòu),使其結(jié)構(gòu)清晰、流程合理。</p><p> (2) 要樹(shù)立結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格,各功能程序模塊化、子程序化。既便于調(diào)試、鏈接,又便于移植、修改。</p><p> (3) 建立正確的
97、數(shù)學(xué)模型。即根據(jù)功能要求,描述各個(gè)輸入和輸出變量之間的數(shù)學(xué)關(guān)系,它是關(guān)系到系統(tǒng)好壞的重要因素。</p><p> (4) 為提高軟件設(shè)計(jì)的總體效率,以簡(jiǎn)明、直觀法對(duì)任務(wù)進(jìn)行描述,在編寫(xiě)應(yīng)用軟件之前,應(yīng)繪制出程序流程圖。</p><p> (5) 要合理分配系統(tǒng)資源,包括ROM、RAM、定時(shí)數(shù)器、中斷資源等。</p><p> (6) 注意在程序的有關(guān)位置處寫(xiě)上
98、功能注釋,提高程序的可讀性。</p><p> (7) 加強(qiáng)軟件抗干擾設(shè)計(jì),它是提高系統(tǒng)應(yīng)用可靠性的有利措施。</p><p> 本系統(tǒng)的軟件包括以下幾個(gè)程序模塊:</p><p> (1) 初始化程序;</p><p><b> (2) 顯示程序;</b></p><p> (3) 鍵
99、盤(pán)掃描程序與處理程序;</p><p> (4) 定時(shí)器0服務(wù)程序;</p><p> (5) 正弦波發(fā)生程序及其服務(wù)程序;</p><p> (6) 三角波發(fā)生程序;</p><p> (7) 方波發(fā)生程序;</p><p> (8) 矩形波發(fā)生程序;</p><p> (9) 鋸
100、齒波發(fā)生程序;</p><p> 4.2 軟件功能設(shè)計(jì)</p><p> 系統(tǒng)總流程圖如下圖4-1:</p><p> 圖4-1 系統(tǒng)總流程框圖</p><p> 其中系統(tǒng)的初始化流程如圖4-2所示。</p><p> 圖4-2 初始化流程圖</p><p> (1) 鍵盤(pán)掃描及處理
101、程序設(shè)計(jì)</p><p> 這部分程序包括如下幾部分:</p><p> ?、?鍵盤(pán)掃描程序judge;</p><p> ?、?先對(duì)P1置數(shù),行掃描;</p><p> ③ 判斷是否有鍵按下;</p><p> ④ 延時(shí)10ms,軟件去干擾;</p><p> ?、?確認(rèn)按鍵按下X =
102、P1, 保存行掃描時(shí)有鍵按下時(shí)狀態(tài);</p><p><b> ?、?列掃描;</b></p><p> ?、?保存列掃描時(shí)有鍵按下時(shí)狀態(tài); </p><p><b> ⑧ 取出鍵值;</b></p><p> ?、?執(zhí)行相應(yīng)鍵值程序。</p><p> 下面分別介紹
103、其功能及設(shè)計(jì)思想。</p><p><b> 鍵盤(pán)掃描程序:</b></p><p> 單片機(jī)系統(tǒng)中,鍵盤(pán)掃描是CPU工作的一個(gè)主要內(nèi)容之一。CPU忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤(pán)掃描。既保證不失時(shí)機(jī)的響應(yīng)鍵盤(pán)操作,又不過(guò)多占用CPU時(shí)間。因此,要根據(jù)應(yīng)用系統(tǒng)中的CPU的忙、閑情況,選擇好鍵盤(pán)的工作方式。</p><p> 在單片機(jī)應(yīng)用系
104、統(tǒng)設(shè)計(jì)中,為了節(jié)省硬件,通常采用非編碼鍵盤(pán),在這種鍵盤(pán)結(jié)構(gòu)中,單片機(jī)對(duì)它的控制有三種方式:程序控制掃描方式;定時(shí)掃描工作方式;中斷工作方式。</p><p> ?、?程序控制掃描方式</p><p> 這種方式就是只有當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤(pán)掃描子程序,響應(yīng)鍵盤(pán)的輸入請(qǐng)求。</p><p><b> ?、?定時(shí)掃描方式</b></p&
105、gt;<p> 這種方式就是每隔一定的時(shí)間對(duì)鍵盤(pán)掃描一次。通常是利用單片機(jī)內(nèi)部定時(shí)器產(chǎn)生10ms的定時(shí)中斷,CPU響應(yīng)定時(shí)器溢出中斷請(qǐng)求,對(duì)鍵盤(pán)進(jìn)行掃描,以響應(yīng)鍵盤(pán)輸入請(qǐng)求。</p><p><b> ?、?中斷工作方式</b></p><p> 為進(jìn)一步提高CPU效率,可以采用中斷掃描工作方式。即在鍵盤(pán)有健按下時(shí),才執(zhí)行鍵盤(pán)掃描,執(zhí)行該鍵功能程序。
106、</p><p> 本系統(tǒng)采用程序控制掃描工作方式。在該設(shè)計(jì)中的鍵盤(pán)線連接于89S52的P3口上。鍵盤(pán)掃描程序自復(fù)位后就開(kāi)始工作,時(shí)刻監(jiān)視鍵盤(pán),有無(wú)鍵按下。在監(jiān)視鍵盤(pán)過(guò)程中,允許定時(shí)器T0中斷,即同時(shí)動(dòng)態(tài)顯示數(shù)據(jù)和輸出波形。一旦有鍵按下,先延時(shí)10ms,去除鍵的抖動(dòng),然后關(guān)中斷,不允許定時(shí)器T0發(fā)生中斷。其框圖如圖4-3所示: </p><p> 圖4-3 鍵盤(pán)掃描</p>
107、;<p> 鍵盤(pán)采用獨(dú)立式鍵盤(pán),由軟件產(chǎn)生相應(yīng)編碼,再根據(jù)相應(yīng)編碼調(diào)用相應(yīng)的子程序。</p><p> ?。?) 正弦波三角波發(fā)生程序設(shè)計(jì)</p><p> DAC0832是8位的D/A轉(zhuǎn)換器件,當(dāng)輸入00數(shù)字量的時(shí)候,輸出為0V電壓;當(dāng)輸入80數(shù)字量的時(shí)候,輸出為2.5V電壓;當(dāng)輸入FF數(shù)字量的時(shí)候,輸出為5V電壓。單片機(jī)的I/O輸出均為+5 V的TTL電平,因此產(chǎn)生的
108、正弦波幅值為+2.5 V。將一個(gè)周期內(nèi)的正弦波形等分為256份,那么第1點(diǎn)的角度為0°,對(duì)應(yīng)的正弦值為2.5sin0°;第2點(diǎn)的角度為360°/256,對(duì)應(yīng)的正弦值為2.5sin (360°/256 ) ……,如此計(jì)算下去,將這些模擬量正弦值都轉(zhuǎn)換為單極性方式下的數(shù)字量,得到一張按照點(diǎn)號(hào)順序排列的正弦波波形數(shù)據(jù)表格。而每次送到鎖存器的八位數(shù)字量是根據(jù)查正弦波形數(shù)據(jù)表格而得到。</p>
109、<p> 其實(shí)在計(jì)算正弦波形數(shù)據(jù)的時(shí)候,并不需要算出整個(gè)0—2π區(qū)間的每一個(gè)值,而只需計(jì)算出0—π中的值就行,其他區(qū)間的值都可以通過(guò)對(duì)0—π中的值取不同的變換。比如π—π的值可以和0—π值一一對(duì)應(yīng),而π—2π的值可以對(duì)0—π區(qū)間的值取反得到。計(jì)算值可以用C語(yǔ)言編程得到。</p><p> 幅度公式為Y=2.5[1+sin()] (N=0,1,2……64)</p><p>
110、 相應(yīng)的Y值數(shù)字化后的遞增量δ=≈0.0196</p><p> 那么每一個(gè)點(diǎn)相對(duì)于起一個(gè)點(diǎn)的遞增率為A= (Y2當(dāng)前的點(diǎn),Y1為前一個(gè)點(diǎn))</p><p> 所以每一個(gè)點(diǎn)的數(shù)字量與遞增率A成一一對(duì)應(yīng)關(guān)系。</p><p> (3) 鋸齒波發(fā)生程序設(shè)計(jì)</p><p> 鋸齒波中的斜線用一個(gè)個(gè)小臺(tái)階來(lái)逼近,在一個(gè)周期內(nèi)從最小值開(kāi)始逐
111、步遞增,當(dāng)達(dá)到最大值后又回到最小值,如此循環(huán),當(dāng)臺(tái)階間隔很小時(shí),波形基本上近似于直線。適當(dāng)選擇循環(huán)的時(shí)間,可以得到不同周期的鋸齒波。鋸齒波發(fā)生原理與方波類似,只是高低兩個(gè)延時(shí)的常數(shù)不同,所以用延時(shí)法,來(lái)產(chǎn)生鋸齒波。</p><p> 4.3 系統(tǒng)測(cè)試報(bào)告</p><p> ?。?) 系統(tǒng)使用說(shuō)明</p><p> 要產(chǎn)生一個(gè)波形,正確的操作過(guò)程如下:</p
112、><p> ?、?在接電源后,電源指示燈亮,按下復(fù)位鍵</p><p> ?、?把本機(jī)右端兩根標(biāo)有“輸出”字樣的線接示波器輸入端,紅線為波形輸出線,黑線為地線。</p><p> ?、?輸入波形代號(hào):按下鍵盤(pán)上k1鍵,可調(diào)節(jié)輸入波形種類。</p><p> ?、?選好波形代號(hào)后,選擇k2---k3鍵,分別對(duì)頻率進(jìn)行增加降低調(diào)整。</p>
113、;<p> ?、?輸入完波形代號(hào)與頻率后,輸出端將產(chǎn)生出想要的波形及相應(yīng)的頻率。</p><p> ⑥ K4鍵是停止輸出。</p><p><b> (2)系統(tǒng)性能指標(biāo)</b></p><p><b> ?、?輸出頻率寬度</b></p><p> 正弦波:10Hz~100Hz可
114、按步進(jìn)每次10Hz調(diào)節(jié)</p><p> 三角波:50Hz~500Hz可按步進(jìn)每次50Hz調(diào)節(jié)</p><p> 方 波:200Hz~2000Hz可按步進(jìn)每次200Hz調(diào)節(jié)</p><p><b> ?、?輸出波形的幅值</b></p><p> 本機(jī)設(shè)計(jì)目標(biāo)是用于低頻小信號(hào)范圍。最高幅值: +5V。</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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 多功能信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 多功能信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 多功能信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--多功能信號(hào)發(fā)生器
- 多功能函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 多功能信號(hào)發(fā)生器畢業(yè)論文設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---簡(jiǎn)易多功能信號(hào)發(fā)生器設(shè)計(jì)
- 多功能信號(hào)發(fā)生器的設(shè)計(jì)-畢業(yè)論文
- 畢業(yè)論文--多功能函數(shù)信號(hào)發(fā)生器
- 畢業(yè)設(shè)計(jì)(論文)基于labview的多功能虛擬信號(hào)發(fā)生器設(shè)計(jì)
- 簡(jiǎn)易多功能信號(hào)發(fā)生器畢業(yè)論文
- 單片機(jī)多功能函數(shù)信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--簡(jiǎn)易多功能信號(hào)發(fā)生器的電路設(shè)計(jì)
- 簡(jiǎn)易多功能函數(shù)信號(hào)發(fā)生器 畢業(yè)設(shè)計(jì)(含外文翻譯)
- 多功能信號(hào)發(fā)生器-課程設(shè)計(jì)
- 多功能信號(hào)發(fā)生器課程設(shè)計(jì)
- 單片機(jī)控制多功能信號(hào)發(fā)生器畢業(yè)論文
- 信號(hào)發(fā)生器畢業(yè)設(shè)計(jì)
- 電子專業(yè)畢業(yè)設(shè)計(jì)---單片機(jī)控制多功能信號(hào)發(fā)生器
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的多功能函數(shù)信號(hào)發(fā)生器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論