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

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  摘 要1</b></p><p>  第一章、引 言2</p><p>  第2章 步進(jìn)電機(jī)概述3</p><p>  2.1 步進(jìn)電機(jī)的分類3</p><p>  2.2 步進(jìn)電機(jī)的工作原理

2、4</p><p>  2.3 步進(jìn)電機(jī)的工作特點7</p><p>  第3章 系統(tǒng)的硬件設(shè)計9</p><p>  3.1 系統(tǒng)設(shè)計方案9</p><p>  3.2 單片機(jī)最小系統(tǒng)10</p><p>  3.3 串口通信模塊17</p><p>  3.4 數(shù)碼管顯示電路設(shè)

3、計18</p><p>  3.5 電機(jī)驅(qū)動模塊設(shè)計20</p><p>  3.6 驅(qū)動電流檢測模塊設(shè)計22</p><p>  第4章 系統(tǒng)的軟件實現(xiàn)29</p><p>  4.1 系統(tǒng)軟件主流程圖29</p><p>  4.2 系統(tǒng)初始化流程圖30</p><p>  4.

4、3 按鍵子程序30</p><p><b>  結(jié) 論37</b></p><p><b>  參考文獻(xiàn) 38</b></p><p><b>  摘 要</b></p><p>  介紹了步進(jìn)電動機(jī)的發(fā)展史,及國內(nèi)的現(xiàn)狀和步進(jìn)電動機(jī)未來的應(yīng)用前景。并且闡述了步進(jìn)電動機(jī)

5、轉(zhuǎn)速、角度、轉(zhuǎn)矩的控制原理。本文闡述了一種步進(jìn)電機(jī)控制器的設(shè)計方案,并繪制了原理圖和PCB板圖,撰寫了程序源代碼。實現(xiàn)了對步進(jìn)電動機(jī)轉(zhuǎn)速、角度的控制,并完成了實物的制作。這期間主要使用protel99se軟件繪制原理圖和制板,使用proteus7.1軟件進(jìn)行程序代碼的仿真和功能的理論驗證。最后通過硬件的調(diào)試驗證程序代碼的實際功能,完成對控制器的設(shè)計。</p><p>  關(guān)鍵詞:步進(jìn)電動機(jī);控制器。</p&

6、gt;<p><b>  Abstract</b></p><p>  Introduction step enter electric motor of development history, and local present condition and step enter electric motor future of application foreground.

7、And elaborated a step to enter electric motor to turn soon, angle, turn Ju of control principle.This text elaborated a kind of step enter electrical engineering controller of design project, and drew principle diagram an

8、d PCB plank diagram, composed a procedure source a code.Realization to step enter the electric motor turn soon, angle of contr</p><p><b>  Key words</b></p><p>  Stepper Motor; Contr

9、oller. </p><p><b>  第一章、引 言</b></p><p>  1.1步進(jìn)電機(jī)發(fā)展史</p><p>  步進(jìn)電機(jī)又稱電動機(jī)或階躍電動機(jī),國外一般稱為 Step motor或Stepping motor 等。步進(jìn)電機(jī)的機(jī)理是基于最基本的電磁鐵作用,其原始模型起源于1830年至1860年間。1870年前后開始以控制為目

10、的的嘗試,應(yīng)用于氬弧燈的電極輸送機(jī)構(gòu)中。這被認(rèn)為是最初的步進(jìn)電動。此后,在電話自動交換機(jī)中廣泛使用了步進(jìn)電動機(jī)。不久又在缺乏交流電源的船舶和飛機(jī)等獨立系統(tǒng)中廣泛使用。</p><p>  20世紀(jì)60年代后期,隨著永磁性材料的發(fā)展,各種實用性步進(jìn)電動機(jī)應(yīng)運而生,而半導(dǎo)體技術(shù)的發(fā)展則推進(jìn)了步進(jìn)電動機(jī)在眾多領(lǐng)域的應(yīng)用。在近30年間,步進(jìn)電動機(jī)迅速地發(fā)展并成熟起來。從發(fā)展趨向來講,步進(jìn)電動機(jī)已經(jīng)能與直流電動機(jī)、異步電動

11、機(jī),以及同步電動機(jī)并列,從而成為電動機(jī)的一種基本類型。</p><p>  1.2我國步進(jìn)電機(jī)發(fā)展</p><p>  我國步進(jìn)電動機(jī)的研究及制造起始于本世紀(jì)50年代后期。從50年代后期到60年代后期,主要是高等院校和科研機(jī)構(gòu)為研究一些裝置而使用或開發(fā)少量產(chǎn)品。這些產(chǎn)品以多段結(jié)構(gòu)三相反應(yīng)式步進(jìn)電動機(jī)為主。70年代初期,步進(jìn)電動機(jī)的生產(chǎn)和研究有所突破。除反映在驅(qū)動器設(shè)計方面的長足進(jìn)步外,對反

12、應(yīng)式步進(jìn)電動機(jī)本體的設(shè)計研究發(fā)展到一個較高水平。70年代中期至80年代中期為成品發(fā)展階段,新品種高性能電動機(jī)不斷被開發(fā)。自80年代中期以來,由于對步進(jìn)電動機(jī)精確模型做了大量研究工作,各種混合式步進(jìn)電動機(jī)及驅(qū)動器作為產(chǎn)品廣泛利用。</p><p>  1.3步進(jìn)電機(jī)的應(yīng)用前景</p><p>  目前,隨著電子技術(shù)、控制技術(shù)以及電動機(jī)本體的發(fā)展和變化,傳統(tǒng)電機(jī)分類間的界面越來越模糊。步進(jìn)電機(jī)

13、必然會成為機(jī)電一體化元件組件的必然趨勢。由于步進(jìn)電機(jī)具有控制方便、體積小等特點,所以在數(shù)控系統(tǒng)、自動生產(chǎn)線、自動化儀表、繪圖機(jī)和計算機(jī)外圍設(shè)備中得到廣泛應(yīng)用。微電子學(xué)的迅速發(fā)展和微型計算機(jī)的普及與應(yīng)用,為步進(jìn)電動機(jī)的應(yīng)用開辟了廣闊前景,使得以往用硬件電路構(gòu)成的龐大復(fù)雜的控制器得以用軟件實現(xiàn),既降低了硬件成本又提高了控制的靈活性,可靠性及多功能性。市場上有很多現(xiàn)成的步進(jìn)電機(jī)控制機(jī)構(gòu),但價格都偏高。應(yīng)用SGS公司推出的L297和L298兩芯

14、片可方便的組成步進(jìn)電機(jī)驅(qū)動器,并結(jié)合Atmega16L單片機(jī)可以構(gòu)成很好的步進(jìn)電機(jī)控制系統(tǒng)。 </p><p>  第2章 步進(jìn)電機(jī)概述</p><p>  2.1 步進(jìn)電機(jī)的分類</p><p>  步進(jìn)電動機(jī)的種類很多,從廣義上講,步進(jìn)電機(jī)的類型分為機(jī)械式、電磁式和組合式三大類型。按結(jié)

15、構(gòu)特點電磁式步進(jìn)電機(jī)可分為反應(yīng)式(VR)、永磁式(PM)和混合式(HB)三大類;按相數(shù)分則可分為單相、兩相和多相三種。目前使用最為廣泛的為反應(yīng)式和混合式步進(jìn)電機(jī)[7]。</p><p>  (1)反應(yīng)式步進(jìn)電機(jī)(Variable Reluctance,簡稱VR)反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子是由軟磁材料制成的,轉(zhuǎn)子中沒有繞組。它的結(jié)構(gòu)簡單,成本低,步距角可以做得很小,但動態(tài)性能較差。反應(yīng)式步進(jìn)電機(jī)有單段式和多段式兩種類型

16、;</p><p>  (2)永磁式步進(jìn)電機(jī)(Permanent Magnet,簡稱PM)永磁式步進(jìn)電機(jī)的轉(zhuǎn)子是用永磁材料制成的,轉(zhuǎn)子本身就是一個磁源。轉(zhuǎn)子的極數(shù)和定子的極數(shù)相同,所以一般步距角比較大。它輸出轉(zhuǎn)矩大,動態(tài)性能好,消耗功率小(相比反應(yīng)式),但啟動運行頻率較低,還需要正負(fù)脈沖供電;</p><p>  (3)混合式步進(jìn)電機(jī)(Hybrid,簡稱HB)混合式步進(jìn)電機(jī)綜合了反應(yīng)式和永

17、 磁式兩者的優(yōu)點?;旌鲜脚c傳統(tǒng)的反應(yīng)式相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢,其自身阻尼作用比較好,使其在運轉(zhuǎn)過程中比較平穩(wěn)、噪聲低、低頻振動小。這種電動機(jī)最初是作為一種低速驅(qū)動用的交流同步機(jī)設(shè)計的,后來發(fā)現(xiàn)如果各相繞組通以脈沖電流,這種電動機(jī)也能做步進(jìn)增量運動。由于能夠開環(huán)運行以及控制系統(tǒng)比較

18、簡單,因此這種電機(jī)在工業(yè)領(lǐng)域中得到廣泛應(yīng)用。由于本設(shè)計的設(shè)計目的更注重整個系統(tǒng)的有機(jī)結(jié)合,所以只采用反應(yīng)式步進(jìn)電機(jī)[7]。</p><p>  2.2 步進(jìn)電機(jī)的工作原理 </p><p>  2.2.1 結(jié)構(gòu)及基本原理</p><p>  步進(jìn)電機(jī)在結(jié)構(gòu)上也是由定子和轉(zhuǎn)子組成,可以對旋轉(zhuǎn)角度和轉(zhuǎn)動速度進(jìn)行高精度控制。當(dāng)電流流過定子繞組時,定子繞組產(chǎn)生一矢量磁場,該

19、矢量場會帶動轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對磁極磁場方向與定子的磁場方向一著該磁場旋轉(zhuǎn)一個角度。因此,控制電機(jī)轉(zhuǎn)子旋轉(zhuǎn)實際上就是以一定的規(guī)律控制定子繞組的電流來產(chǎn)生旋轉(zhuǎn)的磁場。每來一個脈沖電壓,轉(zhuǎn)子就旋轉(zhuǎn)一個步距角,稱為一步。根據(jù)電壓脈沖的分配方式,步進(jìn)電機(jī)各相繞組的電流輪流切換,在供給連續(xù)脈沖時,就能一步一步地連續(xù)轉(zhuǎn)動,從而使電機(jī)旋轉(zhuǎn)。電機(jī)將電能轉(zhuǎn)換成機(jī)械能,步進(jìn)電機(jī)將電脈沖轉(zhuǎn)換成特定的旋轉(zhuǎn)運動。每個脈沖所產(chǎn)生的運動是精確的,并可重復(fù),

20、這就是步進(jìn)電機(jī)為什么在定位應(yīng)用中如此有效的原因。</p><p>  通過電磁感應(yīng)定律我們很容易知道激勵一個線圈繞組將產(chǎn)生一個電磁場,分為北極和南極,見圖2.1所示。定子產(chǎn)生的磁場使轉(zhuǎn)子轉(zhuǎn)動到與定子磁場對直。通過改變定子線圈的通電順序可使電機(jī)轉(zhuǎn)子產(chǎn)生連續(xù)的旋轉(zhuǎn)運動。</p><p>  圖2.1  激勵線圈產(chǎn)生電磁場</p><p>  2.2.2 兩相電機(jī)的步進(jìn)順

21、序</p><p>  1、兩相電機(jī)的單相通電步進(jìn)順序</p><p>  在圖2.2中我們很清晰的展示了在單相通電時一個兩相步進(jìn)電機(jī)的典型的步進(jìn)順序。在第1步中,兩相定子的A相通電,因異性相吸,其磁場將轉(zhuǎn)子固定在圖示位置。當(dāng)A相關(guān)閉、B相通電時,轉(zhuǎn)子順時針旋轉(zhuǎn)90°。在第3步中,B相關(guān)閉、A相通電,但極性與第1步相反,這促使轉(zhuǎn)子再次旋轉(zhuǎn)90°。在第4步中,A相關(guān)閉、B

22、相通電,極性與第2步相反。重復(fù)該順序促使轉(zhuǎn)子按90°的步距角順時針旋轉(zhuǎn)[8] [9]。</p><p>  圖2.2 兩相電機(jī)的單相通電步進(jìn)順序</p><p>  2、兩相電機(jī)的雙相通電步進(jìn)順序</p><p>  圖2.2中顯示的步進(jìn)順序稱為“單相激勵”步進(jìn)。更常用的步進(jìn)方法是“雙相激勵”,其中電機(jī)的兩相一直通電。但是,一次只能轉(zhuǎn)換一相的極性,見圖2.

23、3所示。在第1步中,兩相定子的A相和B相同時通電,因異性相吸,再加上力的相互作用關(guān)系,其磁場將轉(zhuǎn)子固定在圖示step1位置。在第2步中,兩相定子的A相關(guān)閉,而B和a相(此時的a相通電極性與第1步A相反)同時通電,因異性相吸,再加上力的相互作用關(guān)系,其磁場將轉(zhuǎn)子固定在圖示step2位置。在第3步中,兩相定子的a相和b相同時通電,因異性相吸,再加上力的相互作用關(guān)系,其磁場將轉(zhuǎn)子固定在圖示step3位置。在第4步中,兩相定子的b相和A相同時通

24、電,因異性相吸,再加上力的相互作用關(guān)系,其磁場將轉(zhuǎn)子固定在圖示step4位置。按照這樣的通電方式電機(jī)就轉(zhuǎn)過了一周[8] [9]。</p><p>  兩相步進(jìn)時,轉(zhuǎn)子與定子兩相之間的軸線處對直。由于兩相一直通電,本方法比“單相通電”步進(jìn)多提供了41.1%的力矩,但輸入功率卻為2倍。</p><p>  圖2.3 兩相電機(jī)的雙相通電步進(jìn)順序</p><p>  3、步

25、進(jìn)電機(jī)的半步工作方式</p><p>  電機(jī)也可在轉(zhuǎn)換相位之間插入一個關(guān)閉狀態(tài)而走“半步”。這將步進(jìn)電機(jī)的整個步距角一分為二。例如,一個90°的步進(jìn)電機(jī)將每半步移動45°,見圖2.4。但是,與“兩相通電”相比,半步進(jìn)通常導(dǎo)致15%~30%的力矩?fù)p失(取決于步進(jìn)速率)。在每交換半步的過程中,由于其中一個繞組沒有通電,所以作用在轉(zhuǎn)子上的電磁力要小,造成了力矩的凈損失。</p>&l

26、t;p>  從原理圖我們很容易看到半步工作方式其實就是將兩相電機(jī)的單相通電工作方式和兩相電機(jī)的雙相通電工作方式相互結(jié)合起來。</p><p>  兩相步進(jìn)電機(jī)的工作模式有兩相四拍和兩相八拍等兩種,其中我們在圖2.2和圖2.3中展示的都叫做兩相四拍工作模式,而下面的2.4圖展示的就是兩相八拍工作模式[8] [9]。</p><p>  圖2.4 兩相電機(jī)的半步步進(jìn)順序</p>

27、;<p>  2.3 步進(jìn)電機(jī)的工作特點</p><p>  本設(shè)計選用了型號為42BYG型的感應(yīng)子式步進(jìn)電機(jī),它與傳統(tǒng)的反應(yīng)式步進(jìn)電機(jī)相比結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢,其自身阻尼作用比較好,使其在運轉(zhuǎn)過程中比較平穩(wěn)、噪音低、低頻振動小。就目前步進(jìn)電機(jī)

28、的應(yīng)用情況來說,步進(jìn)電機(jī)的自身特點具體歸納起來有[10]:</p><p>  (1) 電機(jī)必須加驅(qū)動才可以運轉(zhuǎn),驅(qū)動信號必須為脈沖信號,沒有脈沖的時候步進(jìn)電機(jī)靜止,如果加入適當(dāng)?shù)拿}沖信號,步進(jìn)電機(jī)就會以一定的角度(稱為步角)轉(zhuǎn)動。轉(zhuǎn)動的速度和脈沖的頻率成正比。</p><p>  (2) 步進(jìn)電機(jī)具有瞬間啟動和急速停止的優(yōu)越特性。</p><p>  (3) 改變

29、驅(qū)動器輸入脈沖的順序,可以方便的改變電機(jī)的轉(zhuǎn)動方向。</p><p>  (4) 位移與輸入脈沖信號數(shù)相對應(yīng),步距誤差不長期積累,可以組成結(jié)構(gòu)較為簡單而又具有一定精度的開環(huán)控制系統(tǒng),也可以要求更高精度時組成 閉環(huán)控制系。</p><p>  (5) 電機(jī)停止轉(zhuǎn)動的時候具有自鎖功能。</p><p>  (6) 步距角選擇范圍大,可在幾十角分至180度大范圍內(nèi)選擇。在

30、小步距情況下,通??梢栽谠降退傧乱愿咿D(zhuǎn)矩運行,因而可以不經(jīng)減速器直接驅(qū)動負(fù)載工作。</p><p>  (7) 步進(jìn)電機(jī)不能使用普通的交流電源驅(qū)動。</p><p>  (8) 一般步進(jìn)電機(jī)的精度是步進(jìn)角的3%~5%,且步距誤差不會長期積累。</p><p>  (9) 步進(jìn)電機(jī)的力矩會隨轉(zhuǎn)速的升高而下降:當(dāng)步進(jìn)電機(jī)轉(zhuǎn)動時,電機(jī)各相繞組的電感將形成一個反向電動勢;頻

31、率越高,反向電動勢越大。在它的作用下,電機(jī)隨頻率(或速度)的增大而相電流減小,從而導(dǎo)致力矩下降。</p><p>  (10) 步進(jìn)電機(jī)低速時可以正常運轉(zhuǎn),但若高于一定頻率就無法啟動,并伴有嘯叫聲.步進(jìn)電機(jī)有一個技術(shù)參數(shù):空載啟動頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有

32、加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)速從低速升到高速)。</p><p>  第3章 系統(tǒng)的硬件設(shè)計</p><p>  3.1 系統(tǒng)設(shè)計方案 </p><p>  3.1.1 系統(tǒng)的方案簡述與設(shè)計要求</p><p>  本設(shè)計采用單片機(jī)AT89S51來作為整個步進(jìn)電機(jī)控制系統(tǒng)的運動控制核心部件,采用了電機(jī)驅(qū)動

33、芯片L298及其外圍電路構(gòu)成了整個系統(tǒng)的驅(qū)動部分,再加上作為執(zhí)行部件的步進(jìn)電機(jī)來構(gòu)成了一個基本的步進(jìn)電機(jī)控制系統(tǒng)。系統(tǒng)的具體功能和要求如下:</p><p>  1.單片機(jī)最小系統(tǒng)板的設(shè)計;</p><p>  2.設(shè)計兼有兩相兩拍和兩相四拍的脈沖分配器;</p><p>  3.實現(xiàn)步進(jìn)電機(jī)的啟停、正轉(zhuǎn)、反轉(zhuǎn)控制;</p><p>  4.

34、驅(qū)動電路可提供電壓為12V,電流為0.3A的驅(qū)動信號;</p><p>  5.能實現(xiàn)步進(jìn)電機(jī)的轉(zhuǎn)速調(diào)節(jié),最低轉(zhuǎn)速為25轉(zhuǎn)/分,最高轉(zhuǎn)速為100轉(zhuǎn)/分;</p><p>  6.步進(jìn)電機(jī)的轉(zhuǎn)速由數(shù)碼管顯示;</p><p>  7.鍵盤掃描電路的設(shè)計</p><p>  3.1.2  系統(tǒng)的組成及其對應(yīng)功能簡述</p><

35、p>  整個系統(tǒng)的組成包括單片機(jī)最小系統(tǒng),電機(jī)驅(qū)動模塊,串口下載模塊,數(shù)碼管顯示模塊,電機(jī)驅(qū)動電流檢測模塊,獨立按鍵等模塊組成。具體框圖如圖3.1所示:</p><p>  圖3.1 系統(tǒng)總體框圖</p><p>  單片機(jī)最小系統(tǒng)作為整個系統(tǒng)的控制核心,它主要負(fù)責(zé)產(chǎn)生控制步進(jìn)電機(jī)轉(zhuǎn)動的脈沖,通過單片機(jī)的軟件編程代替環(huán)形脈沖分配器輸出控制步進(jìn)電機(jī)的脈沖信號,步進(jìn)電機(jī)轉(zhuǎn)動的角度大小與單

36、片機(jī)輸出的脈沖數(shù)成正比步進(jìn)電機(jī)轉(zhuǎn)動的速度與輸出的脈沖頻率成正比,而步進(jìn)電機(jī)轉(zhuǎn)動的的方向與輸出的脈沖順序有關(guān)。同時單片機(jī)系統(tǒng)還負(fù)責(zé)處理來自電機(jī)驅(qū)動電流檢測模塊檢測到的電流值。與此同時,單片機(jī)將會把電機(jī)轉(zhuǎn)速,電機(jī)的轉(zhuǎn)動方向,以及電流檢測模塊檢測到的電機(jī)驅(qū)動的電流通過數(shù)碼管顯示出來。</p><p>  電機(jī)驅(qū)動模塊負(fù)責(zé)將單片機(jī)發(fā)給步進(jìn)電機(jī)的信號功率放大,從而驅(qū)動電機(jī)工作。</p><p>  

37、串口下載模塊主要是負(fù)責(zé)實行計算機(jī)和單片機(jī)之間的通信,將在計算機(jī)里面編寫好的程序下載到單片機(jī)芯片當(dāng)中。</p><p>  數(shù)碼管顯示模塊就主要是顯示電機(jī)轉(zhuǎn)速,電機(jī)轉(zhuǎn)向,和通過電機(jī)的電流等系統(tǒng)的實時信息。</p><p>  電機(jī)驅(qū)動電流檢測模塊主要是檢測通過電機(jī)驅(qū)動芯片的電流,然后通過運放將檢測到的信號放大,最后將放大后的信號通過模數(shù)轉(zhuǎn)換芯片ADC0804處理后送給單片機(jī)。</p&g

38、t;<p>  獨立按鍵作為一個外部中斷源,和單片機(jī)端口連接,通過它設(shè)置了電機(jī)的正轉(zhuǎn),反轉(zhuǎn),加速,減速,顯示電機(jī)電流等功能。采用了中斷和查詢相結(jié)合的方法來調(diào)用中斷服務(wù)程序,完成了對步進(jìn)電機(jī)的最佳的及時的控制。</p><p>  本節(jié)主要是在第一章和第二章的基礎(chǔ)上引出了本論文將要采用的設(shè)計方案,并詳細(xì)的清楚的一條條列出了設(shè)計要實現(xiàn)的基本設(shè)計要求。然后是基于我的設(shè)計方案,比較簡單的但有條理的描述了系統(tǒng)

39、的各個部分的組成以及其對應(yīng)的基本功能。通過這一章的內(nèi)容,我們能對本設(shè)計有一個簡單的總體的把握,既是能清楚的知道本題目的設(shè)計內(nèi)容,設(shè)計方法,以及最終的預(yù)期目標(biāo)。</p><p>  3.2 單片機(jī)最小系統(tǒng)</p><p>  3.2.1 AT89S51簡介</p><p>  AT89S51是美國ATMEL 公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4kbyt

40、es 的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,功能強(qiáng)大。</p><p><b>  1、主要性能參數(shù)</b></p><p>  ·與MCS-51 產(chǎn)品指令系統(tǒng)完全兼容

41、</p><p>  ·4k 字節(jié)在系統(tǒng)編程(ISP)Flash 閃速存儲器 </p><p>  ·1000 次擦寫周期 </p><p>  ·5.0-5.5V 的工作電壓范圍 </p><p>  ·全靜態(tài)工作模式:0Hz-50MHz </p><p><b> 

42、 ·三級程序加密鎖 </b></p><p>  ·128×8 字節(jié)內(nèi)部RAM </p><p>  ·32 個可編程I/O口線 </p><p>  ·2 個16 位定時/計數(shù)器 </p><p><b>  ·6 個中斷源 </b></p&

43、gt;<p>  ·全雙工串行UART 通道 </p><p>  ·低功耗空閑和掉電模式 </p><p>  ·中斷可從空閑模喚醒系統(tǒng) </p><p>  ·看門狗(WDT)及雙數(shù)據(jù)指針 </p><p>  ·掉電標(biāo)識和快速編程特性 </p><p&g

44、t;  ·靈活的在系統(tǒng)編程(ISP 字節(jié)或頁寫模式)</p><p><b>  2、功能特性概述</b></p><p>  AT89S51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器,128 字節(jié)內(nèi)部RAM,32 個I /O 口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16 位定時/計數(shù)器,一個5 向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩

45、器及時鐘電路。同時,AT89S51 可降至0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU 的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。</p><p><b>  3、引腳功能說明</b></p><p>  圖3.2  AT89S5

46、1</p><p>  該設(shè)計使用到的單片機(jī)芯片對應(yīng)管腳名稱位置等如圖3.2的引腳功能圖詳細(xì)說明。</p><p><b>  ·VCC:電源電壓</b></p><p><b>  ·GND:地</b></p><p>  ·P0 口:P 0口是一組8位漏極開路型雙向

47、I/0口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8 個TTL邏輯門電路,對端口寫“l(fā)”可作為高阻抗輸入端用。在和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在F1ash 編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8 位)。</p><p>  ·P1 口:Pl 是一個帶內(nèi)部上拉電阻的8 位雙向

48、I /O 口,Pl 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL )。</p><p>  ·P2 口:P2 是一個帶內(nèi)部上拉電阻的8 位雙向I /O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1

49、”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL )。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR 指令)時,P2 口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@Ri 指令)時,P2 口線上的內(nèi)容 (也即特殊功能寄存器(SFR)區(qū) P2 寄存器的內(nèi)容),在整個訪問期間不改變。Flas

50、h 編程或校驗時,P2 亦接收高位地址和其它控制信號。</p><p>  · P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I /O口。P3口輸出緩沖級可驅(qū)動 (吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流 (IIL )。P3口除了作為一般的I /O口線外,更重要的用途是它的第二功能,如下

51、表所示: P3 口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。具體功能如表3.1所示</p><p>  表3.1 P3口的引腳及功能</p><p>  ·RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST 引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT 溢出將使該引腳輸出高電平,設(shè)置SFR AUXR 的DISRT0 位(地址8EH)可打開或關(guān)閉該功能。DIS

52、RT0 位缺 為RESET 輸出高電平打開狀態(tài)。</p><p>  ·ALE /PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1 /6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE 脈沖。對F1ash 存儲器編程期間,該引腳還用于輸入編

53、程脈沖 (PROG)。如 必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只一條M0VX 和M0VC 指令A(yù)LE 才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE 無效。</p><p>  ·PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期

54、兩次PSEN 有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。</p><p>  ·EA /VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為0000H-FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時內(nèi)部會鎖存EA 端狀態(tài)。</p><p>  如EA 端為高電平(接Vcc 端),CP

55、U則執(zhí)行內(nèi)部程序存儲器中的指令。</p><p>  F1ash 存儲器編程時,該引腳加上+12V 的編程電壓Vpp 。 </p><p>  ·XTALl:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p>  ·XTAL2:振蕩器反相放大器的輸出端。</p><p>  ·存儲器結(jié)構(gòu) :MCS-51

56、單片機(jī)內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具64KB外部程序和數(shù)據(jù)的尋址空間。 </p><p>  ·程序存儲器 :如果EA引腳接地(GND),全部程序均執(zhí)行外部存儲器。在AT89S51,假如EA 接至Vcc(電源+),程序首先執(zhí)行地址從0000H-0FFFH (4KB)內(nèi)部程序存儲器,再執(zhí)行地址為1000H-FFFFH (60KB)的外部程序存儲器。</p><p&g

57、t;  ·數(shù)據(jù)存儲器:AT89S51的具128字節(jié)的內(nèi)部RAM,這128字節(jié)可利用直接或間接尋址方式訪問,堆棧操作可利用間接尋址方式進(jìn)行,128字節(jié)均可設(shè)置為堆棧區(qū)空間。</p><p>  4、晶體振蕩器特性 </p><p>  AT89S51一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外

58、石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。</p><p>  外接石英晶體(或陶瓷諧振器)及電容Cl、C2 接在放大器的反饋回路 構(gòu)成并聯(lián)振蕩電路。對外接電容Cl、C2 雖然沒 十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF ±10pF。</

59、p><p>  用戶也可以采用外部時鐘。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。</p><p>  由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p>  5、Flash 閃速存儲器的并行編

60、程</p><p>  AT89s51單片機(jī)內(nèi)部4k字節(jié)的可快速編程的Flash存儲陣列。編程方法可通過傳統(tǒng)的EPROM編程器使用高電壓(+12V)和協(xié)調(diào)的控制信號進(jìn)行編程。</p><p>  AT89S51的代碼是逐一字節(jié)進(jìn)行編程的。 </p><p><b>  編程方法:</b></p><p>  編程前,須設(shè)

61、置好地址、數(shù)據(jù)及控制信號,AT89S51 編程方法如下: </p><p>  1.在地址線上加上要編程單元的地址信號。</p><p>  2.在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。</p><p>  3.激活相應(yīng)的控制信號。</p><p>  4.將EA /Vpp 端加上+12V 編程電壓。</p><p>  5.

62、每對Flash 存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個ALE /PROG編程脈沖。每個字節(jié)寫入周期是自身定時的,大多數(shù)約為50us。改變編程單元的地址和寫入的數(shù)據(jù),重復(fù)1-5 步驟,直到全部文件編程結(jié)束。</p><p>  3.2.2 單片機(jī)最小系統(tǒng)設(shè)計</p><p>  采用AT89S51單片機(jī)構(gòu)成了控制系統(tǒng)的核心,其基本模塊就主要包括復(fù)位電路和晶體震蕩電路。在本設(shè)計當(dāng)

63、中,單片機(jī)的P 0口、P 1口、P 2口、P 3口全部參與系統(tǒng)工作,單片機(jī)最小系統(tǒng)的接線如圖3.3所示:</p><p>  圖3.3 單片機(jī)最小系統(tǒng)圖</p><p>  3.2.3 單片機(jī)端口分配及功能</p><p>  1、其中P 0口用于控制數(shù)碼管的具體顯示功能,既是數(shù)碼管的段選。</p><p>  2、P 1口主要用于控制電機(jī)驅(qū)

64、動芯片L298的工作,以及ADC0804芯片的編程的讀寫控制。</p><p>  3、P 2口主要用于控制數(shù)碼管的公共端,既是數(shù)碼管的位選。與此同時還處理鍵盤掃描電路的。</p><p>  4、P 3口主要用于負(fù)責(zé)處理ADC0804的模數(shù)轉(zhuǎn)化芯片的工作。</p><p>  3.3 串口通信模塊</p><p>  本設(shè)計采用串口通信,來

65、實現(xiàn)計算機(jī)與單片機(jī)的通信。其具體的電路圖如圖3.4所示。</p><p>  圖3.4 串口通信模塊</p><p>  3.4 數(shù)碼管顯示電路設(shè)計</p><p>  本設(shè)計的顯示部分可以用液晶顯示的方案可供選擇,液晶顯示和數(shù)碼管顯示的區(qū)別主要體現(xiàn)在以下幾個方面:數(shù)碼管顯示內(nèi)容單一,而液晶顯示器顯示內(nèi)容豐富,因為液晶一般都是七段八字的只能顯示單一的內(nèi)容,而液晶顯示

66、的內(nèi)容就很豐富;數(shù)碼管還比液晶顯示耗電,而且使用液晶也比使用數(shù)碼管顯得美觀。但是控制液晶顯示器的時候占用的系統(tǒng)資源多,編程更復(fù)雜,最關(guān)鍵的是液晶顯示的成本是數(shù)碼管的幾十倍,所以考慮到應(yīng)用價值,最終還是確定選用數(shù)碼管實現(xiàn)本設(shè)計的顯示部分功能。</p><p>  3.4.1 共陽數(shù)碼管簡介</p><p>  四位共陽數(shù)碼管的管腳分配如下圖3.5所示:</p><p>

67、;  圖3.5 四位共陽數(shù)碼管管腳定義</p><p>  數(shù)碼管的管腳排列:從數(shù)碼管的正面觀看,左下角的那個腳為1腳,從1腳開始,按照逆時針方向排列依次是1腳到12腳,其中12、9、8、6為公共角,為位選信號輸入端。剩余的八個腳是段選信號輸入端,其對應(yīng)方式是A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。</p><p>  只有詳細(xì)的了解了數(shù)碼管的管腳定義,以及段

68、選位選情況,我們才能通過編程對其正常的顯示進(jìn)行很好的控制。在本設(shè)計當(dāng)中采用了數(shù)碼管動態(tài)掃描的方式進(jìn)行顯示,下面我們對數(shù)碼管動態(tài)掃描顯示作一詳細(xì)介紹。</p><p>  數(shù)碼管動態(tài)顯示介面是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp "的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位元選通控制電路,位元選通由各自獨立的I

69、/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位元選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位元就顯示出字形,沒有選通的數(shù)碼管就不會亮。</p><p>  通過分時輪流控制各個LED數(shù)碼管的COM端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位元數(shù)碼管的點亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象

70、及發(fā)光二極體的余輝效應(yīng),盡管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O口,而且功耗更低。</p><p>  3.4.2 共陽數(shù)碼管電路圖</p><p>  本設(shè)計選用了數(shù)碼管顯示設(shè)計,其段選的控制A、B、C、D、E、F、G、DP按照數(shù)碼管的簡介資料選用了P 0口作為其控制端

71、口,其位選部分由于單片機(jī)的控制端口輸出的電壓不足以直接點亮數(shù)碼管,所以在單片機(jī)控制端口和數(shù)碼管的位選控制端口加入了三極管,其具體的電路連接如圖3.6所示。</p><p>  圖3.6  數(shù)碼管顯示電路</p><p>  3.5 電機(jī)驅(qū)動模塊設(shè)計</p><p>  在第一章的1.2.2中已經(jīng)詳細(xì)的介紹了目前的電機(jī)的驅(qū)動技術(shù)的基本類型,考慮要硬件設(shè)計驅(qū)動電路的方法

72、會電路復(fù)雜,調(diào)試不方便,而且采用多個元器件搭接,成本高。而直接采用集成的驅(qū)動芯片時電路穩(wěn)定,成本低,易于控制,所以最終本設(shè)計是直接采用電機(jī)驅(qū)動芯片L298作為電機(jī)驅(qū)動部分的核心部件。</p><p>  3.5.1 L298簡介</p><p>  L298N為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動芯片,內(nèi)部包含4 信道邏輯驅(qū)動電路,是一種

73、二相和四相步進(jìn)電機(jī)的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進(jìn)電機(jī),內(nèi)含二個H-Bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn):TTL邏輯準(zhǔn)位信號,可驅(qū)動46V、2A以下的步進(jìn)電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的IO端口來提供模擬時序信號。</p><p>  L298N 之接腳如圖 3.7所示,Pin1 和Pin15 可與電流偵測用電阻連接來控制負(fù)載的電路; OUTl、OUT

74、2 和OUT3、OUT4 之間分別接2 個步進(jìn)電機(jī);input1~input4 輸入控制電位來控制電機(jī)的正反轉(zhuǎn);Enable 則控制電機(jī)停轉(zhuǎn)。</p><p>  圖3.7 L298管腳圖</p><p><b>  引腳功能介紹:</b></p><p>  1、1;15腳(Sense A;Sense B):電流檢測端,分別為兩個H橋的電流反

75、饋腳,不用時可以直接接地;</p><p>  2、2;3腳(Output1;Output2):1Y1、1Y2輸出端;</p><p>  3、4腳(VS):功率電源電壓,此引腳與地必須連接 100nF電容器;</p><p>  4、5;7腳(Input 1; Input):1A1、1A2輸入端,TTL 電平兼容;</p><p>  5、

76、6;11腳(Enable A;Enable B):TTL 電平兼容輸入 1EN、2EN 使能端,低電平禁止輸出;</p><p>  6、8腳(GND):GND接地端;</p><p>  7、9腳(VSS):邏輯電源電壓。此引腳必須與地連接100nF電容器;</p><p>  8、10;12腳(Input3;Input4):2A1,2A2輸入端,TTL電平兼容;

77、</p><p>  9、13;14腳(Out3;Out4):2Y1、2Y2 輸出端,監(jiān)測引腳15;</p><p>  3.5.2 電機(jī)驅(qū)動電路設(shè)計</p><p>  如圖3.8所示,本設(shè)計的電機(jī)驅(qū)動部分是由驅(qū)動芯片L298及其外圍電路構(gòu)成,其中從L298的2、3腳和13、14腳(即芯片的輸出端)依次按順序連成一個插座,分別與步進(jìn)電機(jī)的四根線相連。而5、6、7、

78、10、11、12腳就依次與單片機(jī)的P1口的六個管腳相連。通過這一連接實現(xiàn)了單片機(jī)與L298以及步進(jìn)電機(jī)的串聯(lián)控制。</p><p>  圖中很重要的部分是由四個二極管連成的保護(hù)電路,其作用是防止由于步進(jìn)電機(jī)的轉(zhuǎn)速提高而產(chǎn)生的自感電動勢損壞芯片。由于本設(shè)計使用的電機(jī)驅(qū)動電壓是使用了9V (也可以使用12V),所以二極管的負(fù)端接9V的參考電壓。如果驅(qū)動芯片的電壓改變,那么這個參考電壓也隨之一起改變。</p>

79、;<p>  圖3.8 電機(jī)驅(qū)動電路圖</p><p>  3.6 驅(qū)動電流檢測模塊設(shè)計</p><p>  本設(shè)計的驅(qū)動芯片電流檢測模塊的實際應(yīng)用意義在于,檢測流過電機(jī)的電流值并及時顯示,對于防止電機(jī)過流而損壞電機(jī)有一定的意義。從上面的L298的芯片資料當(dāng)中我們可以知道L298的Pin1和Pin15可與電流偵測電阻連接來偵測電機(jī)正常工作的情況下的工作電流。一般檢測電流的方法

80、是通過檢測電壓值,然后通過歐姆定律換算電流值的方法測試電流,本設(shè)計也不例外。設(shè)計采用的42BYG101反應(yīng)式步進(jìn)電機(jī),其額定電流值0.2安,在加上一般常用的電流偵測電阻都是1歐姆或0.1歐姆,這樣換算來檢測到的電壓值一般是在mV級,這樣以來,要是直接將檢測到的電壓值送給ADC0804進(jìn)行模數(shù)轉(zhuǎn)換那么由于精度的原因勢必會對檢測結(jié)果的準(zhǔn)確性造成很大的影響。所以考慮到這一原因我們是先將檢測到的電流值經(jīng)過OP07作放大處理后再將信號送給模數(shù)轉(zhuǎn)換

81、芯片處理這樣保證了檢測值的可靠性。ADC0804輸出的數(shù)字信號再送給單片機(jī)的P 3口,經(jīng)過單片機(jī)處理后最后將檢測到的數(shù)字信號通過數(shù)碼管顯示出來。而在顯示這一部分有這樣一個問題,就是步進(jìn)電機(jī)的工作電流不是一個恒定值,它是隨著時間的變化,會在一個小范圍內(nèi)不停的波動為了使顯示出來的電流數(shù)據(jù)更可靠,</p><p>  圖3.9 電流檢測框圖</p><p>  3.6.1 OP07芯片簡介<

82、;/p><p>  1、OP07功能介紹</p><p>  Op07芯片是一種低噪聲,非斬波穩(wěn)零的雙極性運算放大器集成電路。由于OP07具有非常低的輸入失調(diào)電壓(對于OP07A最大為25μV),所以O(shè)P07在很多應(yīng)用場合不需要額外的調(diào)零措施。OP07同時具有輸入偏置電流低(OP07A為±2nA)和開環(huán)增益高(對于OP07A為300V/mV)的特點,這種低失調(diào)、高開環(huán)增益的特性使得O

83、P07特別適用于高增益的測量設(shè)備和放大傳感器的微弱信號等方面。</p><p><b>  2、特點</b></p><p>  超低偏移:150μV最大</p><p>  低輸入偏置電流:1.8nA</p><p>  低失調(diào)電壓漂移:0.5μV/℃</p><p>  超穩(wěn)定時間:2μV/m

84、onth最大</p><p>  高電源電壓范圍: ±16V至±30V</p><p>  3、芯片引腳功能說明</p><p>  1腳和8腳:是偏置平衡(調(diào)零端)</p><p><b>  2腳:為反相輸入端</b></p><p><b>  3腳:為同向輸入

85、端</b></p><p>  4腳和7腳:分別為vcc-和vcc+</p><p><b>  5腳:懸空</b></p><p><b>  6腳:為輸出端</b></p><p>  其引腳圖如圖3.10</p><p>  圖3.10 OP07芯片及管腳圖

86、</p><p>  3.6.2 ADC0804芯片簡介</p><p>  1、芯片主要技術(shù)指標(biāo)</p><p>  (1) 分辨率:8 位(0~255)</p><p>  (2) 存取時間:135 ms</p><p>  (3) 轉(zhuǎn)換時間:100 ms</p><p>  (4) 總誤差

87、:-1~+1LSB</p><p>  (5) 工作溫度:ADC0804C為0度~70度;ADC0804L為-40 度~85 度</p><p>  (6) 模擬輸入電壓范圍:0V~5V</p><p>  (7) 參考電壓:2.5V</p><p>  (8) 工作電壓:5V</p><p>  1、芯片引腳功能及說

88、明</p><p>  接腳說明見下圖:ADC0804 為一只具有20引腳8位CMOS連續(xù)近似的A/D 轉(zhuǎn)換器。芯片具體引腳圖如圖3.11所示。</p><p>  圖3.11 ADC0804芯片及管腳圖</p><p>  (1). PIN1 (CS ):Chip Select,與RD、WR 接腳的輸入電壓高低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low) 時會

89、active。</p><p>  (2). PIN2 ( RD ):Read。當(dāng)CS 、RD皆為低位準(zhǔn)(low)時,ADC0804會將轉(zhuǎn)換后的數(shù)字訊號經(jīng)由DB7 ~ DB0 輸出至其它處理單元。</p><p>  (3). PIN3 (WR ):啟動轉(zhuǎn)換的控制訊號。當(dāng)CS 、WR 皆為低位準(zhǔn)(low) 時ADC0804 做清除的動作,系統(tǒng)重置。當(dāng)WR由0→1且CS =0 時,ADC08

90、04會開始轉(zhuǎn)換信號,此時INTR 設(shè)定為高位準(zhǔn)(high)。</p><p>  (4). PIN4、PIN19 (CLK IN、CLKR):頻率輸入/輸出。頻率輸入可連接處理單元的訊號頻率范圍為100 kHz 至800 kHz。而頻率輸出頻率最大值無法大于640KHz,一般可選用外部或內(nèi)部來提供頻率。若在CLKR及CLK IN加上電阻R及電容C,則可產(chǎn)生ADC工作所需的時序,其頻率約為(1.1RC)</p

91、><p>  (5). PIN5 ( INTR ):中斷請求。轉(zhuǎn)換期間為高位準(zhǔn)(high),等到轉(zhuǎn)換完畢時INTR 會變?yōu)榈臀粶?zhǔn)(low)告知其它的處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù)。</p><p>  (6). PIN6、PIN7 (VIN(+)、VIN(-)):差動模擬訊號的輸入端。輸入電壓VIN=VIN(+) -VIN(-),通常使用單端輸入,而將VIN(-)接地。</p>

92、<p>  (7). PIN8 (A GND):模擬電壓的接地端。</p><p>  (8). PIN9 (VREF/2):輔助參考電壓輸入端</p><p>  2、ADC0804工作原理</p><p>  ADC0804是屬于連續(xù)漸進(jìn)式(Successive Approximation Method)的A/D轉(zhuǎn)換器,這類型的A/D轉(zhuǎn)換器除了轉(zhuǎn)換

93、速度快(幾十至幾百us)、分辨率高外,還有價錢便宜的優(yōu)點,普遍被應(yīng)用于微電腦的接口設(shè)計上。</p><p>  以輸出8位的ADC0804動作來說明“連續(xù)漸進(jìn)式A/D轉(zhuǎn)換器”的轉(zhuǎn)換原理,動作步驟如下表示(原則上先從左側(cè)最高位尋找起)。</p><p>  第一次尋找結(jié)果:10000000 (假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第二次尋找結(jié)果:

94、11000000 (假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第三次尋找結(jié)果:11000000 (假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)</p><p>  第四次尋找結(jié)果:11010000 (假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第五次尋找結(jié)果:11010000 (假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)<

95、;/p><p>  第六次尋找結(jié)果:11010100 (假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第七次尋找結(jié)果:11010110 (假設(shè)值≤輸入值,則尋找位=假設(shè)位=1)</p><p>  第八次尋找結(jié)果:11010110 (假設(shè)值>輸入值,則尋找位=該假設(shè)位=0)</p><p>  這樣使用二分法的尋找方式,8位的

96、A/D轉(zhuǎn)換器只要8次尋找,12位的A/D轉(zhuǎn)換器只要12次尋找,就能完成轉(zhuǎn)換的動作,其中的輸入值代表圖4..10的模擬輸入電壓Vin。</p><p>  對8位ADC0804而言,它的輸出準(zhǔn)位共有28=256種,即它的分辨率是1/256,假設(shè)輸入信號Vin為0~5V電壓范圍,則它最小輸出電壓是5V/256=0.01953V,這代表ADC0804所能轉(zhuǎn)換的最小電壓值。</p><p>  4

97、、分辨率與內(nèi)部轉(zhuǎn)換頻率的計算</p><p>  對8位ADC0804而言,它的輸出準(zhǔn)位共有28=256種,即它的分辨率是1/256,假設(shè)輸入信號Vin為0~5V電壓范圍,則它最小輸出電壓是5V/256=0.01953V,這代表ADC0804所能轉(zhuǎn)換的最小電壓值。表3.2列出的是8~12位A/D轉(zhuǎn)換器的分辨率和最小電壓轉(zhuǎn)換值。</p><p>  表3.2 A/D轉(zhuǎn)換器的分辨率和最小電壓值

98、</p><p>  圖3.12是ADC0804與CPLD&FPGA、8051單片機(jī)等典型連接圖至于內(nèi)部的轉(zhuǎn)換頻率fCK,是由圖3.12的CLKR(19腳)、CLK IN(4腳)所連接的R()、C()值來決定。</p><p>  圖3.12 ADC0804與CPLD&FPGA、8051單片機(jī)等典型連接圖</p><p>  頻率計算方式是:fCK

99、=1/(1.1×R×C)</p><p>  若以上圖的R=10KΩ、C=150PF為例,則內(nèi)部的轉(zhuǎn)換頻率是fCK=1/(1.1×10 KΩ×150PF)=606KHz</p><p>  更換不同的R、C值,會有不同的轉(zhuǎn)換頻率,而且頻率愈高代表速度愈快。但是需要注意R、C的組合,務(wù)必使頻率范圍是在100KHz~1460KHz之間。</p>

100、;<p>  3.6.3 電流檢測模塊電路圖</p><p>  如圖3.13所示,OP07的3腳是反向輸入端,4腳是同向輸入端,6腳輸出端。按照如圖所示的接法及對應(yīng)電阻值的大小,我們很容易知道,此連接后的電壓放大倍數(shù)是80倍,且為同向放大。</p><p>  OP07放大的信號來源是L298的1腳測電流的小電阻分出來的電壓,然后經(jīng)OP07放大之后的信號送給0804處理。&

101、lt;/p><p>  圖3.13 電流檢測模塊電路圖</p><p>  第4章 系統(tǒng)的軟件實現(xiàn)</p><p>  本系統(tǒng)的軟件設(shè)計主要分為系統(tǒng)初始化、延時子程序、按鍵響應(yīng)程序,數(shù)碼管顯示程序,讀ADC0804子程序及控制脈沖輸出幾部分,事實上每一部分都是緊密相關(guān)的,每個功能模塊對于整體設(shè)計都是非常重要,單片機(jī)AT89S51通過軟件編程才能使系統(tǒng)真正的運行起來,軟件

102、設(shè)計的好壞也直接決定了系統(tǒng)的運行質(zhì)量。</p><p>  程序流程圖的設(shè)計遵循自頂向下的原則,即從主體遂逐步細(xì)分到每一個模塊的流程。在流程圖中把設(shè)計者的控制過程梳理清楚。具體程序的講解將在本章各節(jié)做詳細(xì)講解。</p><p>  4.1 系統(tǒng)軟件主流程圖</p><p>  當(dāng)給系統(tǒng)供電以后,通過單片機(jī)復(fù)位電路對系統(tǒng)進(jìn)行上電復(fù)位系統(tǒng)經(jīng)過初始化以后,便開始執(zhí)行按鍵查

103、詢等待相應(yīng)的操作,當(dāng)有按鍵按下的時候程序便調(diào)用并執(zhí)行相應(yīng)的子程序,其具體的主流程圖4.1如下所示:</p><p><b>  圖4.1 主程序圖</b></p><p>  4.2 系統(tǒng)初始化流程圖</p><p>  對相應(yīng)的系統(tǒng)參數(shù)進(jìn)行初始化,包括系統(tǒng)上電默認(rèn)運行參數(shù)設(shè)定,包括兩相四拍的工作方式,初始速度檔位是30轉(zhuǎn)/分,系統(tǒng)中斷設(shè)定,定

104、時器設(shè)定,載入定時器初值和默認(rèn)的工作參數(shù)等,具體流程圖如圖4.2所示。</p><p>  圖4.2 系統(tǒng)初始化流程圖</p><p><b>  4.3 按鍵子程序</b></p><p>  1、延時子程序:在本延時子程序當(dāng)中每調(diào)用一次延時子程序延時1毫秒。</p><p>  2、按鍵響應(yīng)子函數(shù):在本設(shè)計當(dāng)中按鍵的

105、一端接地,另一端接單片機(jī)的對應(yīng)端口,所以當(dāng)按鍵按下,既是將單片機(jī)對應(yīng)端口電平拉低。所以在編程的時候判斷按鍵按下是低電平有效。圖4.3畫出的是電機(jī)增速和減速的子程序框圖。</p><p>  圖4.3 增速減速子程序</p><p>  3、讀ADC0804和模式切換程序框圖如下圖4.4所示,在本設(shè)計當(dāng)中我的模式切換按鍵只有一個,負(fù)責(zé)電機(jī)的正反轉(zhuǎn)控制,電流控制和電機(jī)啟動和停止控制。由于編程的

106、時候設(shè)置的系統(tǒng)工作的默認(rèn)狀態(tài)是正轉(zhuǎn),轉(zhuǎn)速30轉(zhuǎn)/分。所以通過連續(xù)按模式切換鍵依次實現(xiàn)的功能是電機(jī)反轉(zhuǎn)并顯示轉(zhuǎn)速,顯示電機(jī)電流,系統(tǒng)停止工作,系統(tǒng)正轉(zhuǎn)并顯示轉(zhuǎn)速依次切換。編程控制ADC0804工作就主要是負(fù)責(zé)讀和寫端口的電平來實現(xiàn)的。</p><p>  圖4.4 讀ADC0804子程序及模式切換子程序</p><p><b>  4、4 源程序代碼</b></p

107、><p>  #include <AT89X51.h></p><p>  static unsigned int count; //計數(shù)static int step_index; //步進(jìn)索引數(shù),值為0-7</p><p>  static bit turn; //步進(jìn)電機(jī)轉(zhuǎn)動方向static bit stop_flag; //步進(jìn)電機(jī)停止標(biāo)

108、志static int speedlevel; //步進(jìn)電機(jī)轉(zhuǎn)速參數(shù),數(shù)值越大速度越慢,最小值為1,速度最快static int spcount; //步進(jìn)電機(jī)轉(zhuǎn)速參數(shù)計數(shù)void delay(unsigned int endcount); //延時函數(shù),延時為endcount*0.5毫秒void gorun(); //步進(jìn)電機(jī)控制步進(jìn)函數(shù)</p><p>  void main

109、(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0;</p><p>  P1_0 = 0; P1_1 = 0; P1_2 = 0; P1_3 = 0;</p><p>  EA = 1; //允許CPU中斷 TMOD = 0x11; //設(shè)定時器0和1為1

110、6位模式1 ET0 = 1; //定時器0中斷允許</p><p>  TH0 = 0xFE; TL0 = 0x0C; //設(shè)定時每隔0.5ms中斷一次 TR0 = 1; //開始計數(shù)</p><p><b>  turn = 0;</b></p><p>  speedlevel = 2;

111、 delay(10000); speedlevel = 1; do{ speedlevel = 2; delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0;</p><p>  Turn=!turn; }while(1);</

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論