基于protues的單片機步進電機速度控制系統(tǒng)的設計與仿真-大學本科學士論文_第1頁
已閱讀1頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  前 言</b></p><p>  步進電機成為執(zhí)行元件,是機電一體化的重要產(chǎn)品其一,頻繁使用在種種自動化操控系統(tǒng)中。伴隨微型電力電子和計算機技術的擴展,步進電機的需求量不斷增加,在每一個國民經(jīng)濟地方都有使用。最近幾年來,伴隨數(shù)字電子技術與微操控器的迅速崛起。從而使得步進電機被頻繁用于諸多運動操控中使用,這是因為數(shù)字輸入性能的步進電機允許它連接到任何數(shù)字操控器

2、。</p><p>  在步進電機的操控的電路中能夠根據(jù)操控脈沖信號個數(shù)來操控角位移量,所以實現(xiàn)準確定位的最終結果; 因為步進電機每次輸入一個脈沖信號就可以轉動一個固定的角位移,簡單的說一個脈沖信號與一個固定角位移是一一對應關系。這樣就能夠根據(jù)操控步進電機的任意兩個連續(xù)脈沖信號的時間間隔來更改脈沖信號的頻率,通過控制時間延時長短來操控步進角從而間接更改步進電機旋轉的速度,最后達到實現(xiàn)步進電機的調(diào)節(jié)速度的效果。步進

3、電機能夠成為一種操控用的特種電機,根據(jù)其沒有積累的誤差(精度為100%)的特性,頻繁使用在種種開環(huán)操控。伴隨微型電力電子和計算機技術的擴展,步進電機的需求和日俱增,研究制造步進電機驅動器和操控系統(tǒng)具備非常重要的意義。</p><p><b>  緒論</b></p><p>  第一節(jié) 單片機控制步進電機的背景與意義</p><p>  步進

4、電機是根據(jù)操控脈沖信號個數(shù)來間接操控角位移量,最后實現(xiàn)準確定位的最終結果;它是一種電機一體化系統(tǒng)在增量運動轉換成發(fā)散的數(shù)字信號輸入的機械運動。步進電機軸或者主軸旋轉發(fā)散一步增量時,命令脈沖信號使用在適當?shù)男蛄修D子旋轉固定一步取決于其建設。較直流電機步進電機有諸多優(yōu)勢,即低摩擦,壽命長,使用的軸承極其穩(wěn)定,由于沒有接觸刷和減少轉子散熱,并且根據(jù)其沒有積累誤差(精度為100%)的特性,頻繁使用在種種開環(huán)操控系統(tǒng)。步進電機能夠成為一種操控用的

5、特種電機。 它被成為最常用的一種電機,頻繁使用在數(shù)控機床、機器人、自動化儀表等地方。</p><p>  步進電機有3種:永磁式(PM),反應式(VR)和混合式(HB)。</p><p>  步進電機是通過用電脈沖信號進行操控的,通俗的說:步進電機的位置和速度由脈沖信號數(shù)和頻率決定。頻率與脈沖信號數(shù)成一一對應關系。步進電機的轉動方向取決于脈沖信號數(shù)的順序。想要對步進電機的速度調(diào)節(jié)進行準確的

6、定位,就必須通過恰當對步進脈沖信號的頻率進行操控,最后達到調(diào)速的目的。想要對電機進行準確定位,我們可以通過操控步進脈沖信號個數(shù)。伴隨現(xiàn)代社會的不斷進步,計算機技術運用到的生活的各個方面并且伴隨微型電力電子技術迅速發(fā)展,步進電機的作用與日俱增,復雜的則用于高精度嚴要求的工業(yè)控制領域。這是由于步進電機具有穩(wěn)定、抗干擾能力強、工作期間受溫度的影響極小。</p><p><b>  國內(nèi)外研究狀況</b&

7、gt;</p><p>  雖然步進電機最早是由國外創(chuàng)造出來的。但國內(nèi)在幾十年前時就已經(jīng)開始生產(chǎn)和使用,當時它被廣泛的應用在我國工業(yè)控制的各個領域。其中步進電機的驅動電路當時可以說是一個技術上的瓶頸,許多驅動電路雖然能使步進電機正常運行,但對于精度具有嚴格要求的部分工業(yè)控制來說,許多驅動電路就顯得那樣的束手無策,步進電機組成的電路中用到的所有半導體器件,當時就已經(jīng)實現(xiàn)了國內(nèi)化生產(chǎn)。</p><

8、p>  1.2.1 國外研究狀況</p><p>  外國工業(yè)革命期間各種電子器件得到了突飛猛進的發(fā)展,工業(yè)促進了整個國民經(jīng)濟的發(fā)展,然而也就是那些看似微不足道的電力電子產(chǎn)品推動了整個工業(yè)的發(fā)展,步進電機在其中起著不可小視的作用。在大功率的工農(nóng)業(yè)設備驅動上,由于從驅動的成本太高,效率也不怎么明顯,噪音等諸多對外界的影響,在外國考慮這些因素大扭矩步進電動機不能達到要求,另一方面對于直流電動機來說,對于電動機

9、編碼器的整體技術和經(jīng)濟指標都是具有較高的要求。還有部分的空心轉杯電動機和交流電動機,這些電機則被運用也一些高端方面的控制。 上面說了大功率的情況,小功率場合方面,國外還是沒有拋棄使用步進電機,比如:部分工業(yè)控制(小型簡單),部分工業(yè)制造中的機械設備,還有其他人們?nèi)粘I钪械母鞣N辦公自動化領域。等等。 </p><p>  1.2.2 國內(nèi)研究狀況</p><p>  在過去的工業(yè)數(shù)

10、控機床中我國基本上完全采用的是大力矩的步進電機,隨著社會的不斷發(fā)展各種驅動器的成熟,而部分有實力的公司為了贏得在市場上的主導控制權,犧牲部分的成本采用交流電動機驅動數(shù)控機床而獲得更高的經(jīng)濟效益。</p><p>  步進電機是一種受外界干擾小的開環(huán)控制元件,對使用者要求不高,對于大功率的場合使用,還是有部分欠缺的地方。</p><p>  對于一些更高要求的領域,比如:衛(wèi)星、雷達等,我國在

11、幾十年前,就生產(chǎn)了力矩電機和環(huán)形力矩電機,這兩種電機在高品質的操控場合,得到了廣發(fā)的應用。</p><p>  第三節(jié) 本章主要研究內(nèi)容</p><p>  本論文主要是簡單的研究步進電機的一些性質,步進電機的加速和減速,正轉和反轉等。選用的是最簡單的二相步進電機作為主要核心元件,至于控制它的則是采用我們最為熟悉的AT89C52單片機。步進電機是一種機電一體化系統(tǒng)在增量運動轉換成發(fā)散的數(shù)

12、字信號輸入的機械運動器件。但有不能簡單只是用AT89C52去直接驅動控制二相步進電機,由于驅動電流電壓達不到步進電機的運行的基本要求,所以本設計采用了專門的驅動芯片組,L287和L289組成的電機專用驅動電路。這使得驅動步進電機正常運行,實現(xiàn)簡單的加速和減速,正轉和反轉等功能非常簡單。</p><p>  為了清晰的實時動態(tài)的觀察步進電機的運行情況,同時本設計采用的是1602LCD液晶顯示器,作為顯示實時動態(tài)信息

13、。液晶顯示器主要分為兩行顯示信息,第一行是顯示電機的轉速情況;第二行是顯示電機的正轉還是反轉。由于1602LCD液晶顯示結構簡單,操作方便的諸多優(yōu)點,被廣泛的應用在人們?nèi)粘I钪械母鱾€方面。</p><p>  其中電機的直接控制是通過按鍵外界的輸入按鍵使能信號,由AT89C52捕獲,然后再執(zhí)行相應的控制操作。一個按鍵控制著步進電機的一個操作,操作簡單明了。</p><p>  總的來說,

14、本設計中主要用的芯片有LCD1602用于顯示步進電機的旋轉速度和正反轉等具體信息(顯示模塊),L297和L298組合的步進電機標準驅動電路(驅動模塊)。</p><p><b>  第四節(jié) 本章總結</b></p><p>  本章主要首先概括的說明了步進電機發(fā)展歷史,國內(nèi)與國外以前到現(xiàn)在的具體情況,以及在步進電機的發(fā)展歷史中所遇到的一些困難等。</p>

15、<p>  緊接著又介紹了本次設計的主要目的和在本次設計中用到的具體芯片和幾個重要的電路模塊。包括作為顯示的1602LCD液晶顯示器,作為驅動步進電機的L297和L298組成的驅動模塊,作為控制的按鍵模塊等。</p><p><b>  系統(tǒng)概述</b></p><p>  第一節(jié) 步進電機簡介</p><p>  2.1.1

16、 步進電機的概述</p><p>  一、步進電機的定義概述</p><p>  作為機電一體化的重要產(chǎn)品之一,步進電機憑借著自身的諸多優(yōu)點,頻繁的出現(xiàn)在人們生活的各個方面。</p><p>  步進電機是一種機電一體化系統(tǒng)在增量運動轉換成發(fā)散的數(shù)字信號輸入的機械運動器件。步進電機主軸旋轉發(fā)散一步增量時,命令脈沖信號使用在適當?shù)男蛄修D子旋轉固定一步取決于其建設。較直

17、流電機步進電機有諸多優(yōu)勢,即低摩擦,壽命長,使用的軸承極其穩(wěn)定,由于沒有接觸刷和減少轉子散熱。</p><p>  由于,步進電機輸入的脈沖信號數(shù)和轉過的總角位移成正比;連續(xù)輸入一定頻率的脈沖信號時,可以準確的定位步進電機的旋轉速度,也就是旋轉速度和傳送脈沖信號的頻率是一一對應的關系,不受電壓波動和負載變化的影響,所以特別適合于微機操控。</p><p><b>  二、步進電機

18、的分類</b></p><p><b>  步進電機有3類:</b></p><p>  a. 永磁式步進電機:通常為兩相,轉矩和體積較小,步進角通常為7.5度或者15度。[5]</p><p>  b. 反應式步進電機:通常為三相,可實現(xiàn)大轉矩輸出,步進角通常為1.5度,但噪聲和振動都很大。[3]</p><p

19、>  c. 混合式步進電機:是指混合了永磁式和反應式的優(yōu)點。它又分為兩相和五相:兩相步進角通常為1.8度而五相步進角通常為0.72度。這種步進電機的使用最為頻繁。[3]</p><p>  混合式步進電機兼有反應式和永磁式的雙重優(yōu)點,其自身阻尼作用較好,運轉平穩(wěn),噪音低、低頻震動小,目前混合式步進電機是使用最廣發(fā)的電機其一。</p><p>  三、步進電機的靜態(tài)指標術語</p

20、><p><b>  1、固有步距角:</b></p><p>  它表示操控系統(tǒng)每發(fā)一個步進脈沖信號信號,電機所轉動的角位移。電機出廠時給出了一個步距角的值,如86BYG250A型電機給出的值為0.9°/1.8°(表示半步工作時為0.9°、整步工作時為1.8°),這個步距角能夠稱之為‘電機固有步距角’,它不一定是電機實際工作時的真

21、正步距角,真正的步距角和驅動器有關。 [9]2、相數(shù):</p><p>  是指電機內(nèi)部的線圈組數(shù),目前普片的有二相、三相、四相、五相步進電機。電機相數(shù)不同,其步距角也不同,通常二相電機的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒有細分驅動器時,用戶主要靠選擇不同相數(shù)的步進電機來滿足自己步距角的要求

22、。如果使用細分驅動器,則‘相數(shù)’將變得沒有意義,用戶只需在驅動器上更改細分數(shù),就能夠更改步距角。[8]</p><p><b>  3、保持轉矩:</b></p><p>  它是步進電機最重要的參數(shù)其一,通常步進電機在低速時的力矩接近保持轉矩。由于步進電機的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉矩就成為了衡量步進電機最重要的參數(shù)其一

23、。比如,當人們說2N.m的步進電機,在沒有特殊說明的情況下是指保持轉矩為2N.m的步進電機。[12]</p><p><b>  四、步進電機的特征</b></p><p>  1、通常步進電機的精度為步進角的3%—5%,且不積累。</p><p>  2、步進電機的外表允許實現(xiàn)的最高溫度。</p><p>  3、步進

24、電機力矩會隨旋轉速度的升高而下降。</p><p>  當步進電機轉動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或者速度)的增大而相電流減小,所以導致力矩下降。</p><p>  4、步進電機低速時能夠正常轉動,但若高于一定速度就無法啟動,并伴有嘯叫聲。</p><p>  步進電機有一個技術參數(shù):空載啟動頻率

25、,即步進電機在空載情況下能夠正常啟動的脈沖信號頻率,如果脈沖信號頻率高于該值,電機不能正常啟動,可能發(fā)生丟步或者堵轉。在有負載的情況下,啟動頻率應更低。如果要使電機實現(xiàn)高速轉動,脈沖信號頻率應該有加速過程,即啟動頻率較低,然后依照一定速率升到所希望的高頻(電機旋轉速度從低速升到高速)。</p><p>  2.1.2 步進電機的工作原理</p><p>  步進電機是一種感應電機,它的工

26、作原理是根據(jù)電子電路,將直流電變成分時供電的,多相時序操控電流,用這種電流為步進電機供電,步進電機才能正常工作,驅動器就是為步進電機分時供電的,多相時序操控器[10]。</p><p>  雖然步進電機已被頻繁地使用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅動電路等組成操控系統(tǒng)方可使用。所以用好步進電機卻非易事,它涉及到機械、電機、電子和計算機等諸多專業(yè)知識。[15]

27、</p><p><b>  步進電機的選擇</b></p><p>  本設計只是簡單的研究步進電機的特性,所以選用的是操作起來比較簡單二相混合式步進電機,它具有結構簡單,操作方便,抗干擾能力強的諸多優(yōu)點,廣泛的使用在人們生活的各個方面。</p><p><b>  步進電機驅動介紹</b></p><

28、;p>  2.2.1 步進電機驅動系統(tǒng)介紹</p><p>  步進電機的輸入量是脈沖信號序列,輸出量則為相應的增量位移或者步進運動。正常運動情況下,它每轉動一周具備固定的步數(shù);做連續(xù)步進運動時,其旋轉速度和輸入脈沖信號的頻率保持嚴格的對應關系,不受電壓波動和負載變化的影響。由于步進電機能直接接受數(shù)字量的操控,所以特別適宜采用微機進行操控。</p><p>  步進電機不能直接接到

29、交直流電源上工作,而必須使用專用的步進電機驅動器,如圖2-1所示(專用芯片構成的步進電機驅動系統(tǒng))。</p><p>  圖2-1 L297和L298構成的步進電機驅動系統(tǒng)</p><p>  第三節(jié) 單片機介紹</p><p>  2.3.1 單片機在線編程技術概述</p><p>  通常進行單片機的實驗或者開發(fā)時,編程器是必不可少

30、的。仿真、調(diào)試完的程序需要借助編程器燒到單片機內(nèi)部或者外接的程序存儲器中。普通的編程器價格從幾百元到幾千元不等,對于通常的單片機愛好者來說還是一筆不小的開支。另外,在開發(fā)過程中,程序每改動一次就要拔下電路板上的芯片編程后再插上,也比較麻煩?! “殡S單片機技術的擴展,出現(xiàn)了能夠在線編程的單片機。通??筛鶕?jù)單片機的串行口接到計算機的RS232口,根據(jù)專門設計的固件程序來編程內(nèi)部存儲器。根據(jù)預先編程在其中一塊存儲區(qū)中的程序就能夠根據(jù)串行口和

31、計算機相連,使用PC上專用的用戶界面程序直接下載程序代碼到單片機的另一塊存儲區(qū)中。</p><p>  2.3.2 單片機原理概述</p><p>  單片機(single-chip microcomputer)是一種集成電路芯片,一片單片機芯片就具備組成計算機的全部功能。它采用超大規(guī)模技術將具備數(shù)據(jù)處理能力的微處理器(CPU)、存儲器(含程序存儲器ROM和數(shù)據(jù)存儲器RAM)、輸入、輸出

32、接口電路(I/O接口)集成在同一塊芯片上,構成一個即小巧又很完善的計算機硬件系統(tǒng)。如圖2-2中表示單片機的典型結構圖。由于單片機的高度集成化,縮短了系統(tǒng)內(nèi)的信號傳送距離,優(yōu)化了結構配置,大大地提高了系統(tǒng)的穩(wěn)定性和運旋轉速度,并且它的指令系統(tǒng)又很適合于工業(yè)操控的要求,所以單片機在工業(yè)過程和設備操控中得到了頻繁的使用。</p><p>  圖2-2 典型單片機結構圖</p><p>  2.

33、3.3 單片機的特性和擴展前景。</p><p>  從硬件角位移看:單片機具備小型化的特性,它采用超大規(guī)模技術將具備數(shù)據(jù)處理能力的微處理器(CPU)、存儲器(含程序存儲器ROM和數(shù)據(jù)存儲器RAM)、輸入、輸出接口電路(I/O接口)集成在同一塊芯片上,一片單片機芯片就具備組成計算機的全部功能。</p><p>  從軟件角位移看:單片機指令系統(tǒng)有精單指令的特性,容易學習。根據(jù)單片機指令編

34、寫的源程序短小精悍,使單片機使用產(chǎn)品即體積小又具備智能化。</p><p>  擴展前景:縱觀單片機的擴展過程,能夠預見單片機的擴展有著頻繁的前景。尤其在工業(yè)操控、智能儀器儀表、計算機網(wǎng)絡和通信地方、家用電器、醫(yī)用設備等地方中將有著頻繁的擴展前景。</p><p>  2.3.4 單片機結構和原理</p><p>  單片機在進行實時操控和實時數(shù)據(jù)處理時,需要和外

35、界文件交換信息。這樣了解單片機的結構和每一個引腳的功能作用和顯得尤其重要,單片機的引腳較多,并且有些引腳處在不同的狀態(tài)下?lián)碛胁煌暮x。單片機結構如圖2-3所示。</p><p>  圖2-3 AT889C52單片機的內(nèi)部組成和外觀</p><p><b>  (1)中央處理器:</b></p><p>  中央處理器(CPU)是整個單片機的

36、核心部件,是8位數(shù)據(jù)寬度的處理器[1]</p><p>  (2)數(shù)據(jù)存儲器(RAM):</p><p>  AT89C52內(nèi)部有256x8字節(jié)數(shù)據(jù)存儲器(RAM)和二十多個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器有專門的用途,通普片于存放操控指令數(shù)據(jù),不能用作用戶數(shù)據(jù)的存放,用戶能使用的RAM只有256個字節(jié),可存放讀寫的數(shù)據(jù),運算的中間結果或者用戶定義的字型表。[1]</p&

37、gt;<p>  (3)程序存儲器(ROM):</p><p>  AT89C52共有8K字節(jié)閃存,用于存放程序和固定的常數(shù)等。</p><p>  (4)定時/計數(shù)器(ROM):</p><p>  AT89C52有3個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或者計數(shù),當定時/計數(shù)器產(chǎn)生溢出時,可用中斷方式操控程序轉向。</p><

38、p>  (5) 并行輸入輸出(I/O)口:</p><p>  AT89C52共有4個8位的并行I/O口(P0、 P1、P2、P3),用于對外部數(shù)據(jù)的傳輸。[1]</p><p>  (6)全雙工串行口:</p><p>  AT89C52內(nèi)置一個全雙工異步串行通信口,用于和其它設備間的串行數(shù)據(jù)傳送,該串行口既能夠用作異步通信收發(fā)器,也能夠當同步移位器使用。[

39、1]</p><p><b>  (7)中斷系統(tǒng):</b></p><p>  AT89C52具備較完善的中斷功能,有8個中斷源,可通常滿足不同的操控要求,并具備3級的優(yōu)先級別選擇。[1]</p><p><b>  (8)時鐘電路:</b></p><p>  AT89C52內(nèi)置最高頻率達24MH

40、z的時鐘電路,用于產(chǎn)生整個單片機運轉的時序脈沖信號,但需外接晶體振蕩器和振蕩電容。</p><p>  2.3.5 AT89C52詳細介紹</p><p>  本設計選用的單片機是AT89C52,下面對齊結構的每一個引腳進行詳細的介紹。</p><p>  AT89C52的主要參數(shù)如表2-1所示:</p><p>  表2-1 AT89C

41、52的主要參數(shù)</p><p>  和MCS-51產(chǎn)品指令和引腳完全兼容。8字節(jié)可重擦寫FLASH閃速存儲器,1000次擦寫周期。全靜態(tài)操作:0HZ-24MHZ。三級加密程序存儲器;256x8字節(jié)內(nèi)部RAM;32個可編程I/O口線;3個16位定時器/計數(shù)器;8個中斷源;可編程串行UART通道;低功耗空閑和掉電模式。</p><p>  AT89C52提供了一下標準功能:8字節(jié)FLASH閃速

42、存儲器,256字節(jié)內(nèi)部RAM,32個I/O口線等。ATMEL的AT89C52是一種高效微操控器,為很多嵌入式操控系統(tǒng)提供了一種靈活性高且價廉的方案。其引腳如圖2-4所示。</p><p>  圖2-4 單片機的引腳排列</p><p>  管腳詳細說明如圖2-5所示:</p><p>  圖2-5 單片機管腳詳細說明</p><p> 

43、 在AT89C52中P3還具有更加重要一些特殊功能口,如表2-2所示:</p><p>  表2-2 P3口特殊功能</p><p>  2.3.6 AT89C52的定時/計數(shù)器2概述</p><p>  AT89C52除了和AT89C51所有的定時器/計數(shù)器0和所有的定時器/計數(shù)器1外,還增加了一個定時器/計數(shù)器2.定時器/計數(shù)器2的操控和狀態(tài)位位于T2CO

44、N,寄存器對(RCA02H、RCAP2L)是定時器2在16位捕獲方式或者16位自動重裝數(shù)方式下得捕獲/自動重裝數(shù)寄存器。其中定時/計數(shù)器2操控寄存器T2CON如表2-3所示。并且表2-3詳細的列出了T2CON寄存器每位的詳細說明。</p><p>  表2-3 定時/計數(shù)器2操控寄存器T2CON</p><p>  AT89C52的定時器0和定時器1個工作方式和AT89C51的相同,這里

45、就不詳細的說明了。定時器2是一個16位的定時計數(shù)器。具有自動重裝載(向下或者向上計數(shù));捕獲方式和波特率發(fā)生器方式,工作方式有T2CON操控位來選擇。其中表2-4列出了定時器2的工作方式。</p><p>  表2-4 定時器2 工作方式</p><p>  若在第一次機器周期中采到的值為1,由于識別1到0的跳變需要2個機器周期(24個振蕩周期),所以,最高計數(shù)頻率為振蕩頻率的1/24、

46、為了確保采樣的正確性,需要輸入的電平在變化前至少保持一個完整周期的時間,以保證輸入信號至少被采一次。</p><p>  捕獲方式:這這種方式下,根據(jù)T2CON操控位以EXEN2來選擇兩種方式。</p><p>  自動重裝載方式:定時器2工作在16位自動重裝載方式時,能夠對它編程為向上或者向下的計數(shù)方式,這一功能可根據(jù)操作特殊功能寄存器T2CON的DCEN位來進行選擇。</p>

47、;<p>  波特率發(fā)生器的方式和自動重載方式相仿,在此方式下,TH2翻轉使定時器2的寄存器用RCAP2H和RCAP2L中的16位數(shù)值重新裝載,該數(shù)值由軟件設置。</p><p>  當在方式1和方式3下工作時,波特率由定時器2的溢出速率能夠根據(jù)下面的公式確定。</p><p>  同樣的定時器能工作在定時方式也能夠工作在計數(shù)方式,在大多數(shù)的使用中,工作在定時方式(C/=0)

48、,定時器2成為波特率發(fā)生器時,和成為定時操作時是不同的兩個概念,成為定時器時,在每個機器周期(1/12晶振頻率)寄存器大的值加1,而當成為波特率發(fā)生器來使用的時候,在每個狀態(tài)時間(1/2振蕩頻率)寄存器的值加1,波特率的計算公式如下:</p><p>  式子中的(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位無符號數(shù)。</p><p>  2.3.7 時鐘振蕩器&l

49、t;/p><p>  AT89C52 的內(nèi)部有一個振蕩器,這個振蕩器具有高增益反相放大的作用,AT89C52的引腳XTAL1和XTAL2分別是這個晶體振蕩器的輸入和輸出端口。內(nèi)部的放大器與外部石英晶體(反饋元件)一起構成了自激振蕩器,振蕩電路如圖2-6所示。</p><p>  圖2-6 晶體振蕩電路圖</p><p>  外接石英晶體和電容C1,C2接在放大器的反饋

50、回路中一起構成了并聯(lián)振蕩電路。對外部電容C1、C2雖然沒有非常嚴格的要求,晶體振蕩器的頻率由電容的容量的大小直接決定,考慮諸多方面的因素通常情況我們這里推存使用的電容值為30PF左右。</p><p>  第四節(jié) 核心芯片介紹</p><p>  2.4.1 L297的工作原理</p><p>  L297是一款專門用于驅動控制步進電機的芯片,它是由意大利SGS

51、半導體公司所研發(fā)和生產(chǎn)的。在許多不同的步進電機上都可以使用;這款芯片還必須與L298芯片一起才能組成專門的驅動控制步進電機的驅動電路。這款芯片的引腳特別緊湊,使用的是+5V的電源電壓,同時引腳的布局上是采用雙列直插的20引腳塑封封裝,其引腳圖2-7。</p><p>  圖2-7 L297引腳圖</p><p>  L297引腳就不再這里做詳細介紹,簡單的介紹幾個特殊的引腳。①SYNG引腳

52、也就是1號引腳,是斬波器輸出端,如果使用外部時鐘源,則時鐘信號接到此引腳上。②HOME引腳也就是3號引腳,集電極開路輸出端,當此引腳有效時,晶體管開路。③4號引腳是A相驅動信號。④5引腳作為控制A相和B相的驅動極。⑤6引腳B相驅動信號。⑥7引腳C相驅動信號。⑦8引腳,操控C相和D相的驅動級。⑧9引腳是D相驅動信號。⑨ENABLE引腳是L297的使能輸入端。⑩CONTROL引腳是斬波器功能操控端,等等。還有許多引腳這里不再介紹。</

53、p><p>  2.4.2 L298工作原理</p><p>  L298是一款單片集成的高電壓、高電流、雙路全橋式電機驅動芯片,L298提供兩個使能輸入端,能夠在不依靠于輸入信號的情況下,使能或者禁用L298元件。</p><p>  L298低位晶體管的發(fā)射器連接到一起,而其對應的外部端口則可以使用連接一個外部感應電阻,L298還提供了一個額外的電壓輸入,所通過它

54、的邏輯電路能夠工作在更低的電壓下。</p><p>  在整個步進電機的驅動電路中L297用來提供連續(xù)的時序信號,不僅能夠節(jié)省單片機IO端口的使用,而且能更好的實現(xiàn)驅動控制的最終目的。其中L298的引腳如圖2-8所示。</p><p>  圖2-8 L298引腳圖</p><p>  L298同樣引腳的布局上是采用雙列直插的20引腳塑封封裝。</p>

55、<p>  2.4.3 驅動方法的確定</p><p>  關于步進電機的驅動通常有兩種方法,一種是用單片機直接來驅動,另一種是根據(jù)CPU來間接驅動,其中第一種驅動方法不適合采用,由于CPU的輸出電流是極其小的,這樣特別小的電流脈沖信號不能滿足步進電機的轉動;第二種是根據(jù)CPU來間接驅動,這樣的好處就是可以將CPU輸出來的電脈沖信號進行放大,緊接著進行放大的信號才能直接驅動步進電機,后一種驅動方法綜

56、合的考慮比較安全。這也是本次設計最終采用的驅動方法(AT89C52間接驅動步二相進電機)。</p><p>  L297和L298組成的驅動電路具備的優(yōu)點:</p><p>  使用元件不復雜,各器件的損耗小,高穩(wěn)定性,抗干擾能力強,總體體積小,各個子程序開發(fā)簡單。L298和L297配合使用操控雙極步進電機工作電流可達2.5A等諸多優(yōu)點。</p><p>  所以采

57、用L297和L298組成的操控驅動器來驅動步進電機,并且L297和L298芯片組成的驅動操控器也是專用的驅動步進電機的操控驅動器。</p><p>  L297和L298組成的操控驅動器線路圖如圖2-9所示。</p><p>  圖2-9L297和L298操控驅動線路圖</p><p>  2.4.4 1602LCD工作原理</p><p&g

58、t;  1602LCD簡介:1602 LCD是一種液晶顯示器,液晶是一種介于液體和固體之間的熱力學的中間穩(wěn)定相。液晶顯示模塊接口簡單、容易操作、總體結構并不復雜,所以液晶顯示器出現(xiàn)在我們生活中的各個方面,已成為很多電子產(chǎn)品的輸出顯示元件,比如在計算器、萬用表、電子表和很多家用電子產(chǎn)品中都能夠看到液晶顯示器的身影。它的特性是在一定的溫度范圍內(nèi)既有液體動態(tài)性和連續(xù)性,又有晶體的各向異性,其分子特性有:分子呈長棒形,長寬比較大;長棒形分子不能

59、彎曲,必須是一個剛性體,所以通常都有一個中心橋鏈;液晶分子頭尾有極性或者有可極化的基因。 如圖2-10為1602液晶顯示器的尺寸圖。</p><p>  圖2-10 1602LCD尺寸圖</p><p>  從圖中給可以看出1602LCD顯示容量16x2個字符,各個引腳的結構也相對比較簡單,易于操作。</p><p>  在單片機控制的系統(tǒng)中晶液顯示器作為輸出顯示元

60、件有以下幾個優(yōu)點:</p><p>  高質量的顯示:具有恒定發(fā)光的特點,接受到信號之后,每個顯示容量的色彩和亮度恒定,而且它顯示的畫面質量并不會出現(xiàn)閃爍的效果。</p><p>  數(shù)字式接口:接口都是采用數(shù)字式接口,這樣和單片機系統(tǒng)的接口連接是變得更加簡單,操作起來比較方便。</p><p>  3、小巧輕便:與傳統(tǒng)的顯示器相比,就小巧輕便的多了,不像傳統(tǒng)的顯示

61、器那樣龐大笨重。</p><p>  4、超低功耗:由于體積上的小巧輕便,所以功耗自然降低了,比如電子表上的顯示器,基本無功耗,這也是它被廣泛應用的原因。</p><p><b>  第五節(jié) 本章總結</b></p><p>  本章主要是針對本設計中用到的重要芯片做了粗略的介紹,這些芯片都是</p><p>  單片

62、機和步進電機之間的驅動和顯示芯片,并詳細的說明了設計對元件的選擇,如單片機和步進電機是這個設計的主題,所以詳細的介紹了本設計所用的單片機和步進電機,L297和L298組成的驅動操控模塊,LCD1602液晶模塊的相關顯示和具體顯示的實現(xiàn)。</p><p>  第三章 系統(tǒng)設計和實現(xiàn)</p><p>  第一節(jié) 系統(tǒng)整體設計</p><p>  3.1.1 系統(tǒng)原

63、理圖</p><p>  本次設計簡單的研究步進電機的控制的,所以選用二相步進電機,至于主要的控制器件,按照設計的要求選用AT89C52作為控制器。選取用1602LCD成為液晶驅動顯示。步進電機的驅動芯片則選用L297和L298組合的驅動操控電路來驅動步進電機。由液晶顯示器1602LCD顯示步進電機的旋轉速度和正反轉的實時動態(tài)信息。由相應的依照鍵輸入正轉和反轉,減速和減速,并根據(jù)顯示器顯示出來,所以本次設計在16

64、02LCD液晶顯示器上有兩排顯示,上排來顯示步進電機的旋轉速度,下排來顯示步進電機的正反轉情況。系統(tǒng)原理框圖如3-1所示:</p><p>  圖3-1 系統(tǒng)原理框圖</p><p>  3.1.2 系統(tǒng)整體圖</p><p>  此系統(tǒng)采用的是外部中斷方式,P0所有接口和P2.0、P2.1、P2.2成為1602LCD液晶顯示接口;P2.6和P2.7成為連接L2

65、97和L298組成的驅動操控電路;P3.2、P3.3、P3.4、P3.5連接對應的依照鍵接口。如圖3-2所示為系統(tǒng)整體圖。</p><p>  圖3-2系統(tǒng)整體圖</p><p>  第二節(jié) 系統(tǒng)硬件電路設計</p><p>  3.2.1 系統(tǒng)硬件電路概述</p><p>  這次設計中電源采用+5V、+36V(步進電機驅動),同時采

66、用RP1 8位排阻和AT89C52的P0口連接使其電平拉高驅動1602LCD液晶顯示器,這樣的驅動使電路圖看上去更加簡單明了;采用12MHZ的石英晶體振蕩器成為單片機AT89C52的工作頻率,并且采用了依照鍵開關用來操控步進電機的加速和減速,正轉和反轉;由于AT89C52單片機不能直接驅動步進電機,所以采用的是L297和L298組合成的驅動操控電路來驅動二相步進電機的運轉。</p><p>  3.2.2 顯示

67、電路的設計</p><p>  顯示模塊:采用1602LCD液晶顯示器成為步進電機的實時動態(tài)顯示,1602LCD液晶顯示器由于具備小巧且廉價和耐用的諸多優(yōu)點,常常被用于我們生活的每一個地方,1602LCD液晶顯示器外部只有14個引腳,所以操作起來極其的簡便。如圖3-3為該設計的顯示模塊圖。</p><p>  圖3-31602LCD液晶顯示圖</p><p>  

68、3.2.3 按鍵電路的設計</p><p>  按鍵控制模塊:按鍵可以直接操控步進電機的工作狀態(tài),根據(jù)按鍵向單片機輸入相應的信號,然后產(chǎn)生對應的中斷,調(diào)用相應的處理子程序,實現(xiàn)步進電機的相應操作。最后操控步進電機的工作狀態(tài)(加速、減速、正轉、復位和反轉),其中的電路如圖3-4所示。</p><p>  圖3-4按鍵電路圖</p><p>  3.2.4 驅動模

69、塊的設計</p><p>  驅動模塊:步進電機驅動模塊采用的是L287和L289組合成的驅動操控電路,此驅動操控電路是典型的步進電機驅動電路,前面已經(jīng)詳細的介紹了L287和L289的相關知識,這里就不再過多的解釋。驅動電路如圖3-5所示。</p><p>  圖3-5步進電機驅動電路</p><p>  3.2.5 時鐘電路的設計</p><

70、;p>  作為單片機系統(tǒng)的心臟,時鐘電路控制著整個單片機系統(tǒng)的工作頻率,我們可以通過提高時鐘的頻率從而達到提高單片機系統(tǒng)的整體速度,在本次設計中采用的是12MHz的晶振,外接330pf的保護電容。如圖3-6所示的時鐘電路圖。</p><p>  圖3-6時鐘電路圖</p><p>  第三節(jié) 系統(tǒng)軟件程序設計</p><p>  每一個微處理系統(tǒng),除了硬件

71、的支持外還必須有一套與之相對應的軟件支持,這樣才能達到更好的控制效果,如果說硬件框架是整個系統(tǒng)的軀體,那么對應的軟件系統(tǒng)就是整個系統(tǒng)的靈魂。每一個系統(tǒng)都需要一套完整的軟硬件相結合的開發(fā)工具。隨著社會科學的不斷進步,單片機的應用范圍與日俱增。這次設計的核心芯片選用的是AT89C52。</p><p>  3.3.1 系統(tǒng)主程序設計</p><p>  本次設計的主要程序分為3大模塊:按鍵模

72、塊直接作為控制步進電機的信號輸入模塊;1602LCD顯示模塊作為實時動態(tài)的顯示步進電機的運行情況;最關鍵的L297和L298組成的驅動模塊用于驅動步進電機,為步進電機提供了一個穩(wěn)定的運行環(huán)境。該設計程序框圖如圖3-7所示。</p><p>  圖3-7主程序框圖</p><p>  3.3.2 按鍵控制程序設計</p><p>  本設計總的用到5個依照鍵,分別

73、操控步進電機的正轉、反轉、加速、減速和復位。其中分別連接到單片機的P3.4、P3.5、P3.2、P3.3、P3.1,當對應引腳為低電平(即依照鍵依照下)時,依照鍵使能,此時調(diào)用對應的子程序。如圖3-8所示。</p><p>  圖3-8按鍵程序流程圖</p><p>  3.3.4 步進電機正反轉程序設計</p><p>  步進電機正反轉情況在剛開始時系統(tǒng)默認

74、初始化為正轉,由芯片L297的17引腳(/)控制正轉與反轉,該引腳又與單片機的P2.6引腳相連,當P2.6輸入高電平時正轉,輸入低電平時反轉??刂品浅5暮唵?。流程圖如3-9所示。</p><p>  圖3-9正轉與反轉程序流程圖</p><p>  3.3.5 加減速與復位程序設計</p><p>  同樣的加速減速和正轉反轉都是由按鍵來控制的,當加速按鍵按下時

75、,這時產(chǎn)生一個相應中斷,主程序會去調(diào)用加速子程序,執(zhí)行相應的加速操作;同樣的加速按鍵按下是,中斷產(chǎn)生,調(diào)用相應的減速子程序;復位也是同樣的道理。通過按鍵的按下產(chǎn)生相應的中斷然后緊接著調(diào)用相應的中斷子程序。具體的加速程序流程圖如圖3-10所示,減速程序流程圖如圖3-11所示,復位程序流程圖如圖3-12所示。</p><p>  圖3-10 加速程序流程圖</p><p>  圖3-11

76、減速程序流程圖</p><p>  圖3-12 復位程序流程圖</p><p>  3.3.6 顯示程序的設計</p><p>  顯示器本設計采用的是1602LCD液晶顯示器,由于它結構簡單,引腳單一的特點被廣泛的應用在生活中的各個領域。顯示器的引腳外界一個并排8位的排阻用于驅動顯示器能正常的工作,由單片機的P0口控制顯示器的所有數(shù)據(jù)位的引腳,然后再由P2.0

77、、P2.1、P2.2控制顯示器的三個功能引腳。流程圖如3-11所示。</p><p>  圖3-13顯示程序流程圖</p><p><b>  第四節(jié) 本章總結</b></p><p>  通過這章的介紹,可以知道本設計中的各個模塊是如何實現(xiàn)的,各個模塊之間又有十分密切的關系,根據(jù)每個模塊中使用到的芯片,可以更加清晰的認識了解各個芯片的功能

78、是如何實現(xiàn)的。把各個模塊進行細分,使程序設計起來比較簡單,之后再整理結合在一起使整個控制系統(tǒng)的功能得以實現(xiàn)。</p><p><b>  第四章 系統(tǒng)測試</b></p><p>  第一節(jié) 軟件測試的步驟</p><p>  把編寫好的各模塊子程序合理的整理結合起來,然后通過 Keil uVision4 軟件編譯生成單片機可執(zhí)行文件(.H

79、EX)文件,這個 .HEX文件就是最終要下載到單片機RAM中的文件,在進行程序編譯之前,我們還要對 Keil uVision4 軟件進行許多必要的配置,配置選用的單片機是AT89C52系列的,然后在軟件的添加窗口將要編譯的程序添加進來,之后也是比較關鍵的步驟,配置輸出時的一些信息,步驟是進入Target Options...菜單中,再進入Output子菜單中勾選Create HEX File選項,退出保存。之后就可以編譯生成單片機可執(zhí)行

80、文件了,具體的步驟如圖4-1所示,途中已經(jīng)詳細標出軟件配置的具體順序。</p><p>  圖4-1軟件配置步驟圖</p><p>  之后的工作就是打開基于PROTUES軟件的電路仿真圖,將上述已經(jīng)編譯好的.HEX單片機可執(zhí)行文件下載的AT89C52中,進行仿真。</p><p>  通過5個按鍵來控制步進電機的轉速和轉動的方向及復位的效果,通過觀察1602LC

81、D液晶顯示器上的顯示,可以清晰的知道步進電機的具體實時的動態(tài)信息。</p><p>  第二節(jié) 仿真電路測試步驟</p><p>  打開基于PROTUES軟件的電路仿真圖,并將上述軟件測試已經(jīng)產(chǎn)生好的.HEX可執(zhí)行文件下載到AT89C52中,就可以進行仿真電路的測試了。</p><p>  通過按下相應的按鍵,然后系統(tǒng)響應對應的中斷,調(diào)用對應中斷處理子程序,分別

82、實現(xiàn)了步進電機的加速與減速,正轉與反轉,和復位(是一個條件判斷語句),如果條件成立(即有復位按鍵按下),則調(diào)用對應的復位子程序,該子程序是一個直接操作單片機的內(nèi)部寄存器,最終達到復位的效果,其余的4個按鍵則會調(diào)用對應的中斷處理子程序。</p><p>  通過對按鍵的一一操作,可以在顯示器上看出操作后步進電機的實時動態(tài)信息。顯示器顯示的信息分為兩行,第一行顯示的是步進電機每分鐘的轉速;第二行顯示的是步進電機的正反

83、轉情況,CW表示正轉,CCW表示反轉。比如:某一時刻步進電機的信息情況如圖4-2所示。</p><p>  圖4-2 某一時刻步進電機運行情況圖</p><p><b>  第三節(jié) 本章總結</b></p><p>  本章主要介紹了整個系統(tǒng)的最后工作,系統(tǒng)的測試,包括軟件的測試和仿真電路圖的測試,軟件測試方面,應該熟練的掌握Keil uV

84、ision4 軟件的具體使用,這是一款與單片機軟件編程密切相關的工具軟件,其中擁有許多的功能,是一款操作簡單功能強大的工具軟件?;赑ROTUES軟件的仿真電路的測試,這同樣的要求操作者熟練的掌握PROTUES這款軟件,是一款既可以實現(xiàn)電路圖繪制工作,又可以實現(xiàn)后期的方正校驗等工作的一款工具軟件,此軟件包含的元器件種類繁多,并且操作簡單功能強大。最終實現(xiàn)了整個設計的系統(tǒng)測試工作。</p><p>  第五章 總

85、結和展望</p><p><b>  第一節(jié) 總結</b></p><p>  當我的設計論文寫到這里時,我的內(nèi)心莫名的產(chǎn)生了絲絲的喜悅,為期幾個月的設計終于可以告一段落了,老師時時刻刻的督促,自己一分一秒的努力,換來了此刻內(nèi)心的那份喜悅,我覺得是值得的。對于本次設計,在此我就不發(fā)表任何關于內(nèi)心一些奇葩的觀點了??偨Y一下自己的不足和以后應該如何提升自己。在本次設計的

86、過程中,總有那么一些讓自己措手不及的知識點,面對這些“刺頭”的狂轟亂炸,對這次設計失去信心的我,感覺是不可完成的任務,之后小小時間的消沉之后,我開始到圖書館查閱各種相關的資料圖書,將自己不懂的地方進行臨時的彌補,設計中遇到問題馬上想辦法解決,也就是這樣,本次設計如露天的高樓,慢慢的有了大概的輪廓,又花費了大量的時間精力進行精雕細琢之后,我的“高樓”筑成了,說去說來有點夸張了。下面說說實際的,對于本次設計最讓我頭疼的就是步進電機的工作原理

87、,至于為什么頭疼誰都知道,老師講課時自己沒有認真聽講,完全打醬油的我感覺到困惑也就不足為奇了。</p><p>  至于主要芯片和整個系統(tǒng)的作用功能之類的話題,這里就不再進行多述了,上面的章節(jié)已經(jīng)敘述的多了。</p><p><b>  第二節(jié) 展望</b></p><p>  步進電機從創(chuàng)造出來到今天,已經(jīng)有幾十年的歷史了,在這短短幾十年的

88、歷史中,它已經(jīng)悄悄的遍歷到了人們生活的各個角落,在電動機這一大家族中,步進電機已經(jīng)成人們使用最廣泛的電機之一,國外有些發(fā)達國家試圖研究更經(jīng)濟適用的產(chǎn)品來取代步進電機,但是由于種種技術上的瓶頸,這還是一個比較困難的國際化問題。</p><p>  對于未來的展望,步進電機在工農(nóng)業(yè)生產(chǎn)使用中依然會占很大的比列,原因非常明顯,由于步進電機的體積小巧,穩(wěn)定性能好,工作時抗外界干擾能力強,比起其它電機更經(jīng)濟實惠等等諸多的優(yōu)

89、點。</p><p>  我國從幾十年前是就開始使用步進電機,并且一直致力于更高轉速,更加穩(wěn)定等深層次技術方面的研究,已經(jīng)取得了顯著的成果。</p><p><b>  致 謝</b></p><p>  經(jīng)過兩個多月的畢業(yè)論文寫作,在今天論文終于可以告一段落,對此我將要對那些在此期間幫助過我的老師和同學表示由衷的感謝。</p>

90、<p>  畢業(yè)答辯同時也意味著我在北方民族大學的學習生活即將要結束,回想這幾年的大學生活,感覺自己收獲了很多,在此我向曾經(jīng)幫助過我的老師和同學表示感謝。論文中遇到得到困難,有些是我們所學專業(yè)上的問題,也有一些是論文格式上應該引起注意的問題,但是在我做論文設計的過程中一直得到老師的細心指導,使我的論文最終得以完成。謹向牛老師致以崇高的謝意!</p><p><b>  參考文獻</b&

91、gt;</p><p>  [1]張友德.單片微型機原理、應用與實驗[M].上海:復旦大學出版社,2005.</p><p>  [2]李夙.異步電動機直接轉矩控制[M].北京:機械工業(yè)出版社,1998.</p><p>  [3]王鴻鈺.步進電機控制入門[M].上海:同濟大學出版社,1990.</p><p>  [4]袁任光,張偉武.電動

92、機控制電路選用與258實例[M].北京:機械工業(yè)出版社,2005.</p><p>  [5]王秀和.永磁電機[M].北京: 中國電力出版社,2007.</p><p>  [6]房玉明,杭柏林.基于單片機的步進電機開環(huán)控制系統(tǒng)[J].電機與控制應用,2006,33(4):64-64.</p><p>  [7]孫笑輝,韓曾晉.減少感應電動機直接轉矩控制系統(tǒng)轉矩脈動

93、的方法[J].電氣傳動,2001,(1):8-11.</p><p>  [8]馮江華,陳高華,黃松濤.異步電動機的直接轉矩控制[J].電工技術學報,1999,(6):29-33.</p><p>  [9]江一,朱凌,申仲濤.異步電動機直接轉矩控制仿真研究[J].華北電力大學學報,2003,(1):10-13.</p><p>  [10]韓利虎. 淺談步進電機的

94、基本原理[J]. 內(nèi)蒙古石油化工, Inner Mongolia Petrochemical Industry, 2007,(11):109.</p><p>  [11]張巍. 淺談單片機控制步進電機[J]. 安防科技,2006,(3): 25.</p><p>  [12]喬璐.,景林,韓英桃.一種實用的步進電動機驅動器設計[J].微特電機,2005,(10):29-31.</p

95、><p>  [13]康晶.采用反饋控制的步進電機高低壓驅動電路[J].電力電子技術,2003,37(1):61-62,65. </p><p>  [14]張毅剛 單片機原理及應用.高等教育出版社。</p><p>  [15]李光友 王建民 孫雨萍. 控制電機.機械工業(yè)出版社.第四章 步進電機。</p><p>  [16]Isao Taka

96、hashi,Toshihiko Noguchi.A new responese and high-efficiency control strategy of an motor[J].IEEE Trans on Ind Appl,1986,2(5):820-827.</p><p><b>  附錄一</b></p><p><b>  源程序清單</

97、b></p><p>  #include "AT89X51.h" </p><p>  int delay();</p><p>  void inti_lcd();</p><p>  void show_lcd(int);</p><p>  void cmd_wr();</p&

98、gt;<p>  void ShowState();</p><p>  void clock(unsigned int Delay) ;</p><p>  void reset(void);</p><p>  void DoSpeed(); //計算速度</p><p><b>  //正轉值<

99、/b></p><p>  #define RIGHT_RUN 1</p><p><b>  //反轉值</b></p><p>  #define LEFT_RUN 0</p><p>  sbit RS=0xA0;</p><p>  sbit RW=0xA1;</p>

100、<p>  sbit E=0xA2;</p><p>  char SpeedChar[]="SPEED(n/min):";</p><p>  char StateChar[]="RUN STATE:";</p><p>  char STATE_CW[]="CW";</p>&l

101、t;p>  char STATE_CCW[]="CCW";</p><p>  char SPEED[3]="050";</p><p>  unsigned int RunSpeed=50;//速度</p><p>  unsigned char RunState=RIGHT_RUN; //運行狀態(tài)</p&

102、gt;<p><b>  main()</b></p><p><b>  {</b></p><p><b>  /*定時器設置*/</b></p><p>  TMOD=0x66; //定時器0,1都為計數(shù)方式;方式2;</p><p>  EA=1;

103、//開中斷</p><p>  TH0=0xff;//定時器0初值FFH;</p><p><b>  TL0=0xff;</b></p><p><b>  ET0=1;</b></p><p><b>  TR0=1;</b></p><p&

104、gt;  TH1=0xff;//定時器1初值FFH;</p><p><b>  TL1=0xff;</b></p><p><b>  ET1=1;</b></p><p><b>  TR1=1;</b></p><p>  IT0=1;//脈沖方式</p&

105、gt;<p>  EX0=1;//開外部中斷0:加速</p><p>  IT1=1;//脈沖方式</p><p>  EX1=1;//開外部中斷1:減速</p><p>  inti_lcd();</p><p>  DoSpeed(); </p><p>  ShowSt

106、ate();</p><p><b>  while(1)</b></p><p><b>  { </b></p><p>  if(P3_1==0x00)</p><p><b>  reset();</b></p><p>  clock(RunS

107、peed);</p><p>  P2_7=P2_7^0x01;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //定時器0中斷程序:正轉</p><p>  void t_0(void) interrupt 1</

108、p><p><b>  {</b></p><p>  RunState=RIGHT_RUN;</p><p><b>  P2_6=1;</b></p><p><b>  P0=0x01;</b></p><p><b>  cmd_wr()

109、;</b></p><p>  ShowState();</p><p><b>  } </b></p><p>  //定時器1中斷:反轉</p><p>  void t_1(void) interrupt 3</p><p><b>  {</b><

110、/p><p>  RunState=LEFT_RUN;</p><p><b>  P2_6=0;</b></p><p><b>  P1=0x01;</b></p><p><b>  cmd_wr();</b></p><p>  ShowState(

111、);</p><p><b>  } </b></p><p>  //中斷0:加速程序</p><p>  void SpeedUp() interrupt 0</p><p><b>  { </b></p><p>  if(RunSpeed>=12)<

112、/p><p>  RunSpeed=RunSpeed-2; </p><p>  DoSpeed();</p><p><b>  P0=0x01;</b></p><p><b>  cmd_wr();</b></p><p>  ShowState();</p>

113、<p><b>  }</b></p><p>  //中斷1:減速程序</p><p>  void SpeedDowm() interrupt 2</p><p><b>  { </b></p><p>  if(RunSpeed<=100)</p><

114、;p>  RunSpeed=RunSpeed+2; </p><p>  DoSpeed();</p><p><b>  P0=0x01;</b></p><p><b>  cmd_wr();</b></p><p>  ShowState();</p><p>&

溫馨提示

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

評論

0/150

提交評論