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