版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 畢業(yè)設(shè)計(論文)報告</p><p> 題 目 基于單片機控制的步進電</p><p><b> 機控制器</b></p><p><b> 2012年 4 月</b></p><p> 基于單片機控制的步進電機控制器</p><p> 摘
2、要:步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。<
3、/p><p> 本系統(tǒng)采用AT89S51單片機來控制步進電機,不僅可以實現(xiàn)電機的正反轉(zhuǎn),還可以實現(xiàn)17級調(diào)速,以及LED狀態(tài)顯示功能,電路設(shè)計可靠且易于實現(xiàn),程序設(shè)計簡單易懂。本系統(tǒng)主要由按鍵電路、單片機最小系統(tǒng)、AT89S51單片機、步進電機狀態(tài)顯示電路、驅(qū)動電路以及步進電機等幾部分組成。輸出驅(qū)動電路采用一個六非門芯片74LS04和四個三極管,來驅(qū)動步進電機的四相繞組。短路保護采用一個0.4A的保險管,防止因繞組
4、短路而燒毀燒毀電機。</p><p> 關(guān)鍵詞:步進電機 單片機 單片機最小系統(tǒng) 子程序 </p><p> Based on the single chip microcomputer to control the step motor controller</p><p> Abstract:Stepper motor is electrical p
5、ulse signal into angular or linear displacement of open-loop control stepping parts. In non-overload of situation Xia, motor of speed, and stop of location only depends on pulse signal of frequency and pulse number, and
6、does not by load changes of effect, dang step into drive received to a pulse signal, it on drive step into motor by set of direction turns a fixed of angle, called "step from angle", it of rotating is to fixed
7、of angle a step a step run of. B</p><p> The system uses AT89S51single-chip microcomputer to control the stepper motor, which can not only realize the motor positive inversion, can also realize the17 step s
8、peed regulation, and the LED state display function, circuit design and reliable and easy to realize, the program design is simple and easy to understand. This system is mainly composed of a key circuit, MCU minimum syst
9、em, AT89S51 MCU, step motor status display circuit, driving circuit and step motor etc.. The output driver circuit </p><p> Key Words:Stepping motor Single chip microcomputer The smallest single-chip sys
10、tem Subroutine</p><p><b> 目錄</b></p><p><b> 引言1</b></p><p> 第一章 設(shè)計方案2</p><p> 1.1 設(shè)計思路2</p><p> 1.2 總體設(shè)計框圖2</p><
11、;p> 第二章 設(shè)計原理分析3</p><p> 2.1 步進電機3</p><p> 2.1.1 概述3</p><p> 2.1.2 優(yōu)點3</p><p> 2.1.3 驅(qū)動方法4</p><p> 2.2 AT89S51單片機及其最小系統(tǒng)5</p><p>
12、 2.2.1 結(jié)構(gòu)6</p><p> 2.2.2 功能6</p><p> 2.3 按鍵電路9</p><p> 2.4 步進電機狀態(tài)顯示電路9</p><p> 2.5 步進電機驅(qū)動電路9</p><p> 第三章 程序原理分析11</p><p> 3.1 程序設(shè)
13、計思路11</p><p> 3.2程序分析11</p><p> 3.3 定時器計數(shù)初值的設(shè)定12</p><p> 3.4 程序設(shè)計流程圖14</p><p><b> 總結(jié)15</b></p><p><b> 參考文獻16</b></p&g
14、t;<p><b> 附錄17</b></p><p> 附錄1 步進電機總體控制電路17</p><p> 附錄2 源程序代碼18</p><p><b> 引言 </b></p><p> 步進電機能將輸入的電脈沖信號轉(zhuǎn)換成輸出軸的角位移或直線位移。這種電機每輸入
15、一個脈沖信號,輸出軸便轉(zhuǎn)動一定的角度或前進一步,因此又被稱作脈沖電機或步級電機。步進電機輸出軸的角位移量與輸入脈沖數(shù)成正比,不受電壓以及環(huán)境溫度的影響,也沒有累積的定位誤差,因此控制輸入的數(shù)字脈沖數(shù)即可實現(xiàn)電機的精確定位;而步進電機輸出軸的轉(zhuǎn)速與輸入的脈沖頻率成正比,控制輸入的脈沖頻率就能準確的控制步進電機的轉(zhuǎn)速,可以實現(xiàn)在寬廣的范圍內(nèi)精確調(diào)速。由于步進電機的這一特點正好符合數(shù)字控制系統(tǒng)的要求,同時電子技術(shù)的發(fā)展也解決了步進電機的電源問
16、題。因此隨著計算機技術(shù)和數(shù)字控制技術(shù)的發(fā)展,步進電機的應用也日益廣泛。目前,步進電機應用于磁盤驅(qū)動器、數(shù)控機床、軋鋼機、機器人、以及自動化儀表等方面。</p><p><b> 第一章 設(shè)計方案</b></p><p><b> 1.1 設(shè)計思路</b></p><p> 本系統(tǒng)主要由按鍵電路、單片機最小系統(tǒng)、AT8
17、9S51單片機、步進電機電機電路、驅(qū)動電路以及步進電機等幾部分組成。驅(qū)動電路可以采用FT5754芯片來實現(xiàn),芯片內(nèi)部有四組3A、5W、100V的PNP達林斯頓電路及四個二極管,輸出四個管腳、、、分別與步進電機的四相繞組向連接。但考慮到所采用的步進電機功率和額定電流都較小,以及經(jīng)濟性方面,本設(shè)計直接采用四個NPN型三極管來作為驅(qū)動電路。</p><p> 步進電機的控制主要通過5個按鍵來實現(xiàn),這5個按鍵分別表示“
18、正轉(zhuǎn)”、“反轉(zhuǎn)”、“加速”、“減速”和“停止”。單片機輸出四路脈沖信號觸發(fā)驅(qū)動電路的四個NPN型三極管,其中觸發(fā)導通的三極管可驅(qū)動步進電機的相應繞組得電,即步進電機獲得脈沖,而產(chǎn)生一定的角位移。單片機循序不斷的輸出時序脈沖,就可以實現(xiàn)步進電機的旋轉(zhuǎn)了。</p><p> 1.2 總體設(shè)計框圖</p><p> 總體設(shè)計框圖如圖1所示。</p><p> 圖1
19、 總體設(shè)計框圖</p><p> 第二章 設(shè)計原理分析</p><p><b> 2.1 步進電機</b></p><p><b> 2.1.1 概述</b></p><p> 步進電機是一種感應電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機
20、供電,步進電機才能正常工作,驅(qū)動器就是為步進電機分時供電的,多相時序控制器 </p><p> 雖然步進電機已被廣泛地應用,但步進電機并不能像普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。 </p><p> 步進電機作為執(zhí)行元件,是機電一體化的關(guān)鍵產(chǎn)品
21、之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領(lǐng)域都有應用。 步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。通俗一點講:當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(即步進角)。您可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時您可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。</p>
22、<p><b> 2.1.2 優(yōu)點</b></p><p> 電機旋轉(zhuǎn)的角度正比于脈沖數(shù); </p><p> 電機停轉(zhuǎn)的時候具有最大的轉(zhuǎn)矩(當繞組激磁時); </p><p> 由于每步的精度在百分之三到百分之五,而且不會將一步的誤差積累到下一步因而有較好的位置精度和運動的重復性; </p>&l
23、t;p> 優(yōu)秀的起停和反轉(zhuǎn)響應; </p><p> 由于沒有電刷,可靠性較高,因此電機的壽命僅僅取決于軸承的壽命; </p><p> 電機的響應僅由數(shù)字輸入脈沖確定,因而可以采用開環(huán)控制,這使得電機的結(jié)構(gòu)可以比較簡單而且控制成本; </p><p> 僅僅將負載直接連接到電機的轉(zhuǎn)軸上也可以極低速的同步旋轉(zhuǎn)。 </p>
24、<p> 由于速度正比于脈沖頻率,因而有比較寬的轉(zhuǎn)速范圍。</p><p> 2.1.3 驅(qū)動方法</p><p> 步進電機不能直接接到工頻交流或直流電源上工作,而必須使用專用的步進電動機驅(qū)動器,如圖2所示,它由脈沖發(fā)生控制單元、功率驅(qū)動單元、保護單元等組成。圖中點劃線所包圍的二個單元可以用微機控制來實現(xiàn)。驅(qū)動單元與步進電動機直接耦合,也可理解成步進電動機微機控制器的功率
25、接口。</p><p><b> 圖2</b></p><p> 本系統(tǒng)采用25Y48H01型步進電機,其相關(guān)參數(shù)如表1所示,內(nèi)部接線圖如圖3所示。</p><p> 表1 25Y48H01型步進電機的相關(guān)參數(shù)</p><p> 圖3 25Y48H01型步進電機內(nèi)部接線圖</p><p&g
26、t; 表2 步進電機四相繞組的勵磁時序</p><p> 步進電機的勵磁方式有1相勵磁、2相勵磁和1-2相勵磁3種。由于2相勵磁具有轉(zhuǎn)矩大、振動小等優(yōu)點,在目前使用較為普遍,本系統(tǒng)的設(shè)計也采用這種勵磁方式。步進電機各相繞組的勵磁時序如表2所示。</p><p> 2.2 AT89S51單片機及其最小系統(tǒng)</p><p> Atmel公司的生產(chǎn)的89C51單
27、片機是一種低功耗/低電壓、高性能的8位單片機,它采用CMOS和高密度非易失性存儲器技術(shù),而且其輸出引腳和指令系統(tǒng)都與MCS-51兼容;片內(nèi)的Flash ROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性編程器來編程,內(nèi)部除CPU外,還包括256字節(jié)RAM,4K字節(jié)的ROM,4個8位并行I/O口,5個中斷源,2個中斷優(yōu)先級,2個16位可編程定時計數(shù)器。89C51單片機是一種功能強、靈活性高且價格合理的單片機,完全滿足本系統(tǒng)設(shè)計需要。</p
28、><p><b> 2.2.1 結(jié)構(gòu)</b></p><p> 4k Bytes Flash片內(nèi)程序存儲器; </p><p> 128 bytes的隨機存取數(shù)據(jù)存儲器(RAM); </p><p> 2個外部雙向輸入/輸出(I/O)口; </p><p> 5個中斷優(yōu)先級、2層
29、中斷嵌套中斷; </p><p><b> 6個中斷源; </b></p><p> 2個16位可編程定時器/計數(shù)器; </p><p> 2個全雙工串行通信口; </p><p> 看門狗(WDT)電路; </p><p> 片內(nèi)振蕩器和時鐘電路; </p
30、><p> 與MCS-51兼容; </p><p> 全靜態(tài)工作:0Hz-33MHz; </p><p> 三級程序存儲器保密鎖定; </p><p> 可編程串行通道; </p><p> 低功耗的閑置和掉電模式。</p><p><b> 2.2.2 功能<
31、;/b></p><p> VCC:電源電壓輸入端。 </p><p> GND:電源地。 </p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIA
32、SH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 </p><p><b> 圖4</b></p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地
33、址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)
34、存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 </p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口除了作為普通I/O口,還有第二功能: </
35、p><p> P3.0 RXD(串行輸入口) </p><p> P3.1 TXD(串行輸出口) </p><p> P3.2 /INT0(外部中斷0) </p><p> P3.3 /INT1(外部中斷1) </p><p> P3.4 T0(T0定時器的外部計數(shù)輸入) </p>
36、<p> P3.5 T1(T1定時器的外部計數(shù)輸入) </p><p> P3.6 /WR(外部數(shù)據(jù)存儲器的寫選通) </p><p> P3.7 /RD(外部數(shù)據(jù)存儲器的讀選通) </p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。 </p><p> I/O口作為輸入口時有兩種工作方式,
37、即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。89C51的P0、P1、P2、P3口作為輸入時都是準雙向口。除了P1口外P0、P2、P3口都還有其他的功能。 </p><p> RST:復位輸入端,高電平有效。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。
38、 </p><p> ALE/PROG:地址鎖存允許/編程脈沖信號端。當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。
39、此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 </p><p> PSEN:外部程序存儲器的選通信號,低電平有效。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 EA/VPP:外部程序存儲器訪問允許。當/EA保持低電平時,則在此期間外部程
40、序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 </p><p> XTAL1:片內(nèi)振蕩器反相放大器和時鐘發(fā)生器的輸入端。 </p><p> XTAL2:片內(nèi)振蕩器反相放大器的輸出端。</p>
41、<p> 單片機最小系統(tǒng)包括振蕩電路和復位電路兩部分。振蕩電路用12M晶振,這樣一個機器周期 。</p><p> 復位電路采用手動復位,當按下RESET按鍵,電阻R1、R2接通5V電源,此時R2分得電壓大約為4V,為高電平,即置單片機RST腳為高電平,單片機復位。</p><p><b> 2.3 按鍵電路</b></p><p
42、> 采用5個按鍵用來控制步進電機的5種狀態(tài),即“正轉(zhuǎn)”、“反轉(zhuǎn)”、“加速”、“減速”和“停止”。當按下其中一個按鍵時,電源通過上拉電阻和按鍵到地形成通路,使相應輸入管腳接地,即給單片機送入一個低電平,此低電平即為有效電平。按鍵電路如圖4所示。</p><p> 2.4 步進電機狀態(tài)顯示電路</p><p> 狀態(tài)指示采用三種顏色的發(fā)光二極管,“綠色”、“黃色”和“紅色”分別表示
43、步進電機的“正轉(zhuǎn)”、“反轉(zhuǎn)”和“停止”狀態(tài)。限流電阻選擇1K的電阻,使發(fā)光二極管的壓降為3V左右。</p><p> 2.5 步進電機驅(qū)動電路</p><p> 從單片機輸出四路脈沖信號,經(jīng)過非門和限流電阻,送到四個NPN型三極管的基極。如果從單片機輸出的是高電平,經(jīng)過非門變成低電平,送入三極管,使三極管截止;如果從單片機輸出的是低電平,經(jīng)過非門變成高電平,此高電平使三極管導通。步進電
44、機的每相繞組并上一個二極管,目的是防止在三極管瞬間截止時,繞組電感所產(chǎn)生很高的感應電動勢擊穿三極管。非門采用74LS04芯片,其內(nèi)部共有六個獨立的非門,這里只用了其中的四個。</p><p> 驅(qū)動電路如圖6所示。</p><p><b> 圖5按鍵控制電路</b></p><p> 圖6步進電機驅(qū)動電路</p><p
45、><b> 程序原理分析</b></p><p> 3.1 程序設(shè)計思路</p><p> 根據(jù)外圍電路的設(shè)計,單片機的輸入為P1口的前五個管腳,輸出為P1口的后三個管腳和P2口的前四個管腳。主程序部分首先向驅(qū)動電路輸出四路高電平,使電機停轉(zhuǎn),然后設(shè)置定時器T0的工作方式以及給允許中斷位置高電平,點亮“停轉(zhuǎn)”的狀態(tài)顯示,接下來進行按鍵掃描,如果有“正轉(zhuǎn)”或
46、“反轉(zhuǎn)”按鍵按下,則跳轉(zhuǎn)到相應的程序段;如果有“停止”按鍵或沒有任何按鍵按下,則跳轉(zhuǎn)到程序的初始部分。正轉(zhuǎn)部分,首先點亮“正轉(zhuǎn)”的狀態(tài)指示,隨后輸出起始脈沖,接下來掃描按鍵,判斷是否執(zhí)行加速、減速或停轉(zhuǎn),然后調(diào)用給定時器T0賦初始值子程序,最后左移累加器A中的數(shù)值,如此循環(huán)便可實現(xiàn)步進電機的正轉(zhuǎn)。反轉(zhuǎn)部分與正轉(zhuǎn)部分的程序設(shè)計雷同,不再贅述。加速和減速部分,改變定時器定時的初始值,即改變定時時間便可實現(xiàn)。</p><p
47、><b> 3.2程序分析</b></p><p> 首先,進行P2口以及定時器的初始化,定時器工作于方式1,對P1.7清零,即點亮紅色發(fā)光二極管,表示步進電機的“停止”的狀態(tài)。用JNB指令來掃描按鍵電路,按下則跳轉(zhuǎn),沒有按下則繼續(xù)向下執(zhí)行。如果P1.0按下,則跳轉(zhuǎn)到首地址為RUN的位置,先調(diào)用一個10ms的延時子程序來消除按鍵的抖動,對P1.6清零,即點亮綠色發(fā)光二極管,表示步進
48、電機的“正轉(zhuǎn)”狀態(tài),然后通過累加器A輸出起始脈沖信號00110011B到P2口。隨后判斷加速、減速和停止按鍵是否按下,如果其中一個被按下,則跳到相應的程序段,否則程序繼續(xù)向下執(zhí)行。接下來調(diào)用賦定時器初始值子程序TIME,根據(jù)R0的數(shù)據(jù)的不同,使用查表指令來讀取TABLE1和TABLE2中的數(shù)據(jù)分別賦給定時器T0的兩個八位寄存器TH0和TL0。返回后,利用查詢法來等待T0的中斷,當定時結(jié)束時跳出循環(huán),并對中斷標志位TF0清零。左移指令使累
49、加器A中的數(shù)據(jù)循環(huán)左移一位,最后返回到RUN1的位置。如果P1.1按下,則執(zhí)行反轉(zhuǎn)程序,該程序執(zhí)行過程與正轉(zhuǎn)部分相似,不同之處:一是反轉(zhuǎn)要點亮黃色發(fā)光二極管,二是對脈沖信號循環(huán)右移,從而實現(xiàn)反轉(zhuǎn)。</p><p> 加速子程序主要使R0內(nèi)的數(shù)據(jù)加1,即把速度提高一個級別,R0內(nèi)的數(shù)據(jù)還要與16相減,來確認是否達到最高轉(zhuǎn)速,如果R0內(nèi)的數(shù)據(jù)大于16,則把16賦給R0,表示已達到最高轉(zhuǎn)速,不能再加速了。減速子程序主
50、要使R0內(nèi)的數(shù)據(jù)減1,即把速度降低一個級別,如果R0內(nèi)的數(shù)據(jù)為0,即速度為最低轉(zhuǎn)速,則直接跳過減一指令,保持這個最低轉(zhuǎn)速。</p><p> 賦定時器初值子程序,利用兩個查表指令來讀取預置的數(shù)據(jù),當轉(zhuǎn)速改變時,R0內(nèi)的數(shù)據(jù)發(fā)生變化,這時賦給定時器的初值也發(fā)生了變化,改變了定時時間,即脈沖的時間間隔發(fā)生變化,從而實現(xiàn)了電機變速。</p><p> 3.3 定時器計數(shù)初值的設(shè)定</p
51、><p> 程序設(shè)計選用定時器T0的定時中斷,來控制步進電機每走一步所用的時間,改變了T0的定時時間,就改變了步進電機的轉(zhuǎn)速。定時器T0工作于方式1,晶振fosc=12MHZ。由于采用的步進電機的步距角為7.5°,轉(zhuǎn)一圈需要48個脈沖,設(shè)轉(zhuǎn)速為N(r/min),則每分鐘需送脈沖數(shù)據(jù)的個數(shù)為48N,即每送一個脈沖信號需時:</p><p><b> 。</b>
52、</p><p> 定時器T0的計數(shù)初值 。設(shè)步進電機最低轉(zhuǎn)速為20r/min,最高轉(zhuǎn)速為100r/min,每5r設(shè)為一個速度級,一共17級。經(jīng)過計算,得出步進電機的轉(zhuǎn)速對應于定時器初值如表3所示。</p><p> 表3 電機速度及對應定時器計數(shù)初值</p><p> 3.4 程序設(shè)計流程圖</p><p> 程序流程如圖7所示
53、:</p><p><b> 總結(jié)</b></p><p> 通過此次單片機課程設(shè)計,使我對單片機控制系統(tǒng)有了更加全面和深入的了解,對電路板的設(shè)計和制作也更加的熟練。電路的設(shè)計并不復雜,兩天的時間就完成了,但之后編寫程序,發(fā)現(xiàn)有一些不妥的地方,進行了調(diào)整,隨后開始制作PCB版圖,還算順利。程序的設(shè)計讓我犯了不少的困惑,以前編寫的都是一些功能簡單的程序,這樣系統(tǒng)的程
54、序編寫還是第一次,發(fā)現(xiàn)自己好像有些摸不到頭腦,可能是編寫程序的時機還不夠成熟。而后,在圖書館借了幾本資料,仔細的研究一下,雖然實現(xiàn)的功能不大一致,但至少可以提供一些思路。果然,有了效果,我居然只用了一個下午的時間就編寫完成了,真是太神奇了。等拿到步進電機進行調(diào)試,電機卻沒有一點反應,經(jīng)過仔細的審查,發(fā)現(xiàn)按鍵輸入我使用的是單片機的P1口,可程序里我用的卻是P0口,于是對程序做了相應的修改,調(diào)試成功。</p><p>
55、; 三周的實習即將結(jié)束,經(jīng)過了這樣一個設(shè)計和制作的過程,體會到這樣實踐真的是很必要,不僅可以加深對書本上的知識理解,還可以鍛煉自己的動手能力和綜合運用能力。經(jīng)過這次實習,我更加喜歡自己的專業(yè)了,也對自己更有信心了。</p><p><b> 參考文獻</b></p><p> [1] 李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學出版社,2005.9
56、</p><p> [2] 蔡朝洋.單片機控制實習與專題制作.北京:北京航空航天大學出版社,2006.11</p><p> [3] 汪道輝.單片機系統(tǒng)設(shè)計與實踐.北京:電子工業(yè)出版社,2006.5</p><p> [4] 張大明.單片機控制實訓指導及綜合應用實例.北京:機械工業(yè)出版社,2007.3</p><p> [5] 楊天明
57、,陳杰.電機與拖動.北京:中國林業(yè)出版社;北京大學出版社,2006.8</p><p><b> 附錄</b></p><p> 附錄1 步進電機總體控制電路</p><p> 附錄2 源程序代碼</p><p> ORG 0000H</p><p> AJMP MAIN</
58、p><p> ORG 0030H</p><p> MAIN: MOV P2,#0FFH</p><p> MOV R2,#00H</p><p> MOV SP,#40H</p><p> MOV TMOD,#01H</p><p> MOV IE,#82H<
59、/p><p><b> CLR P1.7</b></p><p> SETB P1.5</p><p> SETB P1.6</p><p> KEY: JNB P1.0,RUN</p><p> JNB P1.1,RERUN</p><p>
60、JNB P1.4,KEY</p><p><b> SJMP KEY</b></p><p> RUN: JNB P1.0,$</p><p> ACALL DELAY</p><p><b> CLR P1.6</b></p><p> SET
61、B P1.5</p><p> SETB P1.7</p><p> MOV A,# 00110011B</p><p> RUN1: MOV P2,A</p><p> JNB P1.1,RERUN</p><p> JB P1.2, KEEP</p><p>
62、 ACALL SPEEDUP</p><p> KEEP: JB P1.3, KEEP1</p><p> ACALL SPEEDLOW</p><p> KEEP1: JNB P1.4,MAIN</p><p> ACALL TIME</p><p> LOOP1: JBC
63、TF0,NEXT1</p><p> AJMP LOOP1</p><p> NEXT1: RL A</p><p> AJMP RUN1</p><p> RERUN: JNB P1.1,$</p><p> ACALL DELAY </p><p><b
64、> CLR P1.5</b></p><p> SETB P1.6</p><p> SETB P1.7</p><p> MOV A,# 00110011B</p><p> RERUN1: MOV P2,A</p><p> JNB P1.0,RUN</p>
65、<p> JB P1.2,THEN</p><p> ACALL SPEEDUP</p><p> THEN: JB P1.3,THEN1</p><p> ACALL SPEEDLOW</p><p> THEN1: JNB P1.4,MAIN</p><p> AC
66、ALL TIME</p><p> LOOP2: JBC TF0,NEXT2</p><p> AJMP LOOP2</p><p> NEXT2: RR A</p><p> AJMP RERUN1</p><p> SPEEDUP: JNB P1.2,$</p>&
67、lt;p> ACALL DELAY</p><p> PUSH ACC </p><p><b> INC R0</b></p><p><b> CLR C</b></p><p><b> MOV A,R0</b></p><p
68、> SUBB A,#16</p><p><b> JC NEXT3</b></p><p> MOV R0,#16</p><p> NEXT3: POP ACC</p><p><b> RET</b></p><p> SPEEDLOW:
69、 JNB P1.3,$</p><p> ACALL DELAY</p><p><b> PUSH ACC</b></p><p><b> MOV A,R0</b></p><p><b> JZ NEXT4</b></p><p>
70、;<b> DEC R0</b></p><p> NEXT4: POP ACC</p><p><b> RET</b></p><p> TIME: PUSH ACC</p><p><b> MOV A,R0</b></p>
71、<p> MOV DPTR,#TABLE1</p><p> MOVC A,@A+DPTR</p><p> MOV TH0,A </p><p><b> MOV A,R0</b></p><p> MOV DPTR,#TABLE2</p><p> MOVC
72、A,@A+DPTR</p><p> MOV TL0,A</p><p><b> SETB TR0</b></p><p><b> POP ACC</b></p><p><b> RET</b></p><p> DELAY:
73、 MOV R7,#10H</p><p> DS1: MOV R6,#0FFH</p><p> DS2: DJNZ R6,DS2</p><p> DJNZ R7,DS1</p><p><b> RET</b></p><p> TABLE1: D
74、B 1FH, 4CH, 6AH, 7FH, 8FH, 9CH, 0A6H, 0AEH, 0B5H, 0BAH, 0BFH, 0C4H, 0C7H, 0CBH, 0CEH, 0D0H, 0D3H</p><p> TABLE2: DB 00H, 00H, 00H, 6DH, 80H, 00H, 00H, 2EH, 00H, 0C4H, 0B6H, 00H, 0C0H, 0FH, 00H, 0A1H, 00
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的步進電機控制器畢業(yè)論文
- 基于單片機的步進電機控制器的設(shè)計畢業(yè)論文
- 基于單片機的步進電機控制-畢業(yè)論文
- 基于單片機控制的步進電機畢業(yè)論文
- 基于單片機的步進電機控制-畢業(yè)論文
- 基于單片機的步進電機控制畢業(yè)論文
- 基于單片機的步進電機控制器的設(shè)計論文
- 基于單片機的步進電機控制器設(shè)計-職業(yè)學院畢業(yè)論文
- 畢業(yè)設(shè)計--基于單片機的步進電機控制器
- 基于單片機控制的步進電機的畢業(yè)論文
- 基于單片機的步進電機控制器的設(shè)計論文-2
- 基于avr單片機的步進電機控制器設(shè)計
- 畢業(yè)論文---基于單片機控制的電梯控制器
- 單片機課程設(shè)計——基于單片機的步進電機控制器設(shè)計
- 畢業(yè)論文--基于單片機的步進電機的細分控制器的設(shè)計(含外文翻譯)
- 畢業(yè)論文----單片機的步進電機控制系統(tǒng)
- 畢業(yè)設(shè)計---基于單片機的步進電機控制器的設(shè)計
- 單片機課程設(shè)計——基于單片機的步進電機控制器設(shè)計
- 單片機課程設(shè)計--步進電機控制器
- 畢業(yè)設(shè)計----單片機的步進電機控制器的設(shè)計
評論
0/150
提交評論