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

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設(shè)計</b></p><p>  題目:步進電機控制系統(tǒng)的設(shè)計</p><p>  編 號: </p><p>  姓 名: </p><p

2、><b>  年 月 日</b></p><p><b>  摘 要</b></p><p>  能夠?qū)崿F(xiàn)步進電機控制的方式有多種,可以采用前期的模擬電路、 數(shù)字電路或模擬與數(shù)字電路相結(jié)合的方式。近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正在不斷深入,同時帶動傳統(tǒng)控制檢測日新月異更新。本文介紹一種用MCS-51作為核心部件進行邏輯控

3、制及信號產(chǎn)生的單片機技術(shù)和匯編語言編程設(shè)計的步進電機控制系統(tǒng),步進電機背景與現(xiàn)狀、硬件設(shè)計、軟件設(shè)計及其仿真都做了詳細的介紹,使我們不僅對步進電機的原理有了深入的了解,也對單片機的設(shè)計研發(fā)過程有了更加深刻的體會。</p><p>  本控制系統(tǒng)采用單片機控制,通過人為按動開關(guān)實現(xiàn)步進電機的開關(guān),復(fù)位。該系統(tǒng)還增加了步進電機的加速及減速功能。具有靈活方便、適用范圍廣的特點,基本能夠滿足實踐需求。</p>

4、<p>  關(guān)鍵字:步進電機 單片機</p><p><b>  第一章 緒論</b></p><p>  1.1 關(guān)于步進電機</p><p>  步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進電機件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當(dāng)步進驅(qū)動器接收到一個

5、脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。</p><p>  步進電機的相關(guān)參數(shù):</p><p><b>  相數(shù) </b></p><p&

6、gt;  產(chǎn)生不同對極N、S磁場的激磁線圈對數(shù),是指電機內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進電機。電機相數(shù)不同,其步距角也不同,一般二相電機的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒有細分驅(qū)動器時,用戶主要靠選擇不同相數(shù)的步進電機來滿足自己步距角的要求。如果使用細分驅(qū)動器,則‘相數(shù)’將變得沒有意義,用戶只

7、需在驅(qū)動器上改變細分數(shù),就可以改變步距角。目前應(yīng)用最廣泛的是兩相和四相,四相電機一般用作兩相,五相的成本較高。</p><p><b>  拍數(shù)</b></p><p>  完成一個磁場周期性變化所需脈沖數(shù)或?qū)щ姞顟B(tài)用n表示,或指電機轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-

8、CD-D-DA-A.</p><p><b>  固有步距角 </b></p><p>  對應(yīng)一個脈沖信號,電機轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。θ=360度(轉(zhuǎn)子齒數(shù)J*運行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒為50齒電機為例。四拍運行時步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為θ=360度/(50*8)=0.9度(俗稱半步)。這個步距角可以

9、稱之為‘電機固有步距角’,它不一定是電機實際工作時的真正步距角,真正的步距角和驅(qū)動器有關(guān)。</p><p><b>  定位轉(zhuǎn)矩 </b></p><p>  電機在不通電狀態(tài)下,電機轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的),DETENT TORQUE 在國內(nèi)沒有統(tǒng)一的翻譯方式,容易使大家產(chǎn)生誤解;由于反應(yīng)式步進電機的轉(zhuǎn)子不是永磁材料,所以它沒有DE

10、TENT TORQUE。</p><p><b>  最大靜轉(zhuǎn)矩 </b></p><p>  也叫保持轉(zhuǎn)矩(HOLDING TORQUE),電機在額定靜態(tài)電作用下(通電),電機不作旋轉(zhuǎn)運動時,電機轉(zhuǎn)軸的鎖定力矩,即定子鎖住轉(zhuǎn)子的力矩。此力矩是衡量電機體積(幾何尺寸)的標準,與驅(qū)動電壓及驅(qū)動電源等無關(guān)。通常步進電機在低速時的力矩接近保持轉(zhuǎn)矩。由于步進電機的輸出力矩隨

11、速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進電機最重要的參數(shù)之一。比如,當(dāng)人們說2N.m的步進電機,在沒有特殊說明的情況下是指保持轉(zhuǎn)矩為2N.m的步進電機。</p><p><b>  步距角精度 </b></p><p>  步進電機每轉(zhuǎn)過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數(shù)其值不

12、同,四拍運行時應(yīng)在5%之內(nèi),八拍運行時應(yīng)在15%以內(nèi)。</p><p><b>  失步 </b></p><p>  電機運轉(zhuǎn)時運轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱之為失步。</p><p><b>  失調(diào)角 </b></p><p>  轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機運轉(zhuǎn)必存在失調(diào)角,

13、由失調(diào)角產(chǎn)生的誤差,采用細分驅(qū)動是不能解決的。</p><p>  最大空載啟動頻率 </p><p>  電機在某種驅(qū)動形式、電壓及額定電流下,在不加負載的情況下,能夠直接起動的最大頻率。</p><p>  最大空載運行頻率 </p><p>  電機在某種驅(qū)動形式,電壓及額定電流下,電機不帶負載的最高轉(zhuǎn)速頻率。</p>

14、<p><b>  運行矩頻特性</b></p><p>  電機在某種測試條件下測得運行中輸出力矩與頻率關(guān)系的曲線稱為運行矩頻特性,這是電機諸多動態(tài)曲線中最重要的,也是電機選擇的根本依據(jù)。</p><p>  第二章 元器件的介紹</p><p><b>  2.1步進電機</b></p>&l

15、t;p>  步進電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電機就轉(zhuǎn)動一個角度,因此非常適合于單片機控制。步進電機區(qū)別于其他控制電機的最大特點是:它是通過輸入脈沖信號來進行控制的,即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定。</p><p>  步進電機分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB),步進電機又稱為脈沖電機,是工業(yè)過程控制和儀表中一種能

16、夠快速啟動,反轉(zhuǎn)和制動的執(zhí)行</p><p>  元件,其功用是將電脈沖轉(zhuǎn)換為相應(yīng)的角位移或直線位移,由于開環(huán)下就能實現(xiàn)精確定位的特點,使其在工業(yè)控制領(lǐng)域獲得了廣泛應(yīng)用。步進電機的運轉(zhuǎn)是由電脈沖信號控制的,其角位移量或線位移量與脈沖數(shù)成正比,每個一個脈沖,步進電機就轉(zhuǎn)動一個角度(不距角)或前進、倒退一步。步進電機旋轉(zhuǎn)的角度由輸入的電脈沖數(shù)確定,所以,也有人稱步進電機為數(shù)字/角度轉(zhuǎn)換器。</p>&l

17、t;p>  四相步進電機的工作原理</p><p>  該設(shè)計采用了20BY-0型步進電機,該電機為四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機轉(zhuǎn)動。當(dāng)某一相繞組通電時,對應(yīng)的磁極產(chǎn)生磁場,并與轉(zhuǎn)子形成磁路,這時,如果定子和轉(zhuǎn)子的小齒沒有對齊,在磁場的作用下,由于磁通具有力圖走磁阻最小路徑的特點,則轉(zhuǎn)子將轉(zhuǎn)動一定的角度,使轉(zhuǎn)子與定子的齒相互對齊,由此可見,錯

18、齒是促使電機旋轉(zhuǎn)的原因。</p><p>  步進電機的靜態(tài)指標及術(shù)語</p><p>  相數(shù):產(chǎn)生不同隊N、S磁場的激磁線圈對數(shù),常用m表示。</p><p>  拍數(shù):完成一個磁場周期性變化所需脈沖用n表示,或指電機轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即AB→BC→CD→DA→AB,四相八拍運行方式即A→AB→B→BC→C→CD→D→D

19、A→A。</p><p>  步距角:對應(yīng)一個脈沖信號,電機轉(zhuǎn)子轉(zhuǎn)過的角位移用θ表示。Θ=360度(轉(zhuǎn)子齒角運行拍數(shù)),以常規(guī)二、四相,轉(zhuǎn)子齒角為50齒角電機為例。四相運行時步距角為θ=360度/(50*4)=1.8度,八拍運行時步距角為θ=360度/(50*8)=0.9度。</p><p>  定位轉(zhuǎn)矩:電機在不通電的狀態(tài)下,電機轉(zhuǎn)子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的)。

20、</p><p>  靜轉(zhuǎn)矩:電機在額定靜態(tài)作業(yè)下,電機不做旋轉(zhuǎn)運動時,電機轉(zhuǎn)軸的鎖定力矩。此力矩是衡量電機體積的標準,與驅(qū)動電壓及驅(qū)動電源等無關(guān)。雖然靜態(tài)轉(zhuǎn)矩與電磁激磁匝數(shù)成正比,與定子和轉(zhuǎn)子間的氣隙有關(guān)。但過分采用減小氣隙,增加勵磁匝數(shù)來提高靜轉(zhuǎn)矩是不可取的,這樣會造成電機的發(fā)熱及機械噪音。</p><p>  四相步進電機的脈沖分配規(guī)律</p><p>  目

21、前,對步進電機的控制主要有分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。本設(shè)計利用單片機進行控制,主要是利用軟件進行環(huán)形脈沖分配。四相步進電機的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時的時序 與波形分別如圖1 a、b、c所示。本設(shè)計的電機工作方式為四相單四拍,根據(jù)步進電機的工作的時序和波形圖,總結(jié)出其工作方式為四相單四拍時的脈沖分配規(guī)律,四相雙四拍的脈沖分配規(guī)律,在每一

22、種工作方式中,脈沖的頻率越高,其轉(zhuǎn)速就越快,但脈沖頻率高到一定程度,步進電機跟不上頻率的變化后電機會出現(xiàn)失步現(xiàn)象,所以脈沖頻率一定要控制在步進電機允許的范圍內(nèi)。</p><p>  2.2MCS-51單片機</p><p>  在HMOS技術(shù)大發(fā)展的背景下,Intel公司在MCS-48系列的基礎(chǔ)上,于1980年推出了8位MCS-51系列單片機。它與以前的機型相比,功能增強了許多,就其指令和

23、運行速度而言,超過了INTEL8085的CPU和Z80的CPU,成為工業(yè)控制系統(tǒng)中較為理想的機種。較早的MCS-51典型時鐘為12MHz,而目前與MCS-51單片機兼容的一些單片機的時鐘頻率達到40MHz甚至更高,現(xiàn)在已有400MHz的單片機問世。</p><p>  51系列是基本型,包括8051、8751、8031、8951.這四個機種區(qū)別,僅在于片內(nèi)程序儲存器。8051為4KB ROM,8751為

24、4KB EPROM,8031片內(nèi)無程序儲存器,8951為4KB EEPROM。其他性能結(jié)構(gòu)一樣,有片內(nèi)128B RAM,2個16位定時器/計數(shù)器,5個中斷源。其中,8031性價比較高,又易于開發(fā),目前應(yīng)用面廣泛。</p><p>  MCS-51 系列單片機</p><p><b>  [1]</b></p><p>  第

25、三章 步進電機原理及硬件設(shè)計</p><p>  本設(shè)計的硬件電路只要包括控制電路、最小系統(tǒng)、驅(qū)動電路、顯示電路四大部分。最小系統(tǒng)只要是為了使單片機正常工作。控制電路只要由開關(guān)和按鍵組成,由操作者根據(jù)相應(yīng)的工作需要進行操作。顯示電路主要是為了顯示電機的工作狀態(tài)和轉(zhuǎn)速。驅(qū)動電路主要是對單片機輸出的脈沖進行功率放大,從而驅(qū)動電機轉(zhuǎn)動。</p><p><b>  3.1控制電路&l

26、t;/b></p><p>  根據(jù)系統(tǒng)的控制要求,控制輸入部分設(shè)置了啟動控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、S2、S3,控制電路如圖2所示。通過K1、K2狀態(tài)變化來實現(xiàn)電機的啟動和換向功能。當(dāng)K1、K2的狀態(tài)變化時,內(nèi)部程序檢測P1.0和P1.1的狀態(tài)來調(diào)用相應(yīng)的啟動和換向程序,發(fā)現(xiàn)系統(tǒng)的電機的啟動和正反轉(zhuǎn)控制。</p><p>  根據(jù)步進電機的工作原理可以

27、知道,步進電機轉(zhuǎn)速的控制主要是通過控制通入電機的脈沖頻率,從而控制電機的轉(zhuǎn)速。對于單片機而言,主要的方法有:軟件延時和定時中斷在此電路中電機的轉(zhuǎn)速控制主要是通過定時器的中斷來實現(xiàn)的,該電路控制電機加速度主要是通過S2、S3的斷開和閉合,從而控制外部中斷根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時器的中斷次數(shù)),這樣就改變了步進電機的輸出脈沖頻率,從而改變了電機的轉(zhuǎn)速。</p><p><b> 

28、 3.2最小系統(tǒng)</b></p><p>  單片機最小系統(tǒng)或者稱為最小應(yīng)用系統(tǒng),素質(zhì)用最少的元件組成的單片機可以工作的系統(tǒng),對51系列單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、復(fù)位電路、晶振電路。</p><p>  復(fù)位電路:使用了獨立式鍵盤,單片機的P1口鍵盤的接口。該設(shè)計要求只需4個鍵對步進電機的狀態(tài)進行控制,但考慮到對控制功能的擴展,使用了6路獨立式鍵盤。復(fù)位電路采用

29、手動復(fù)位,所謂手動復(fù)位,是指通過接通一按鈕開關(guān),使單片機進入復(fù)位狀態(tài),晶振電路用30PF的電容和一12M晶體振蕩器組成為整個電路提供時鐘頻率。</p><p>  晶振電路:8051單片機的時鐘信號通常用兩種電路形式電路得到:內(nèi)部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡稱晶振)或陶瓷晶振器,就構(gòu)成了內(nèi)部晶振方式。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器

30、并產(chǎn)生振蕩時鐘脈沖。內(nèi)部振蕩方式的外部電路。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定,實用電路實用較多。</p><p><b>  3.3驅(qū)動電路</b></p><p>  通過ULN2803構(gòu)成比較多的驅(qū)動電路。通過單片機的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經(jīng)

31、信號放大后從1C~4C口分別輸出到電機的A、B、C、D相。</p><p><b>  3.4顯示電路</b></p><p>  在該步進電機的控制器中,電機可以正反轉(zhuǎn),可以加速、減速,其中電機轉(zhuǎn)速的等級分為七級,為了方便知道電機的運行狀態(tài)和電機的轉(zhuǎn)速的等級,這里設(shè)計了電機轉(zhuǎn)速和電機的工作狀態(tài)的顯示電路。在顯示電路中,主要是利用了單片機的P0口和P2口。采用兩個共陽

32、數(shù)碼管作顯示。第一個數(shù)碼管接的a、b、c、d、e、f、g、h分別接P0.0~P0.7口,用于顯示電機正反轉(zhuǎn)狀態(tài),正轉(zhuǎn)時顯示“1”,反轉(zhuǎn)時顯示“一”,不轉(zhuǎn)時顯示“0”。第二個數(shù)碼管的a、b、c、d、e、f、g、h分別接P2.0~P2.7口,用于顯示電機的轉(zhuǎn)速級別,共七級,即從1~7轉(zhuǎn)速依次遞增,“0”表示轉(zhuǎn)速為零。</p><p>  第四章 軟件的設(shè)計</p><p><b>

33、;  4.1方案論證</b></p><p>  從該系統(tǒng)的設(shè)計 要求可知,該系統(tǒng)的輸入量為速度和方向,速度應(yīng)該有增減變化,通常用加減按鈕控制速度,這樣只要2根口線,再加上一根方向線和一根啟動信號線共需要4根輸入線。系統(tǒng)的輸出線與步進電機的繞組數(shù)有關(guān)。這里選</p><p>  進電機,該電機共有四相繞組,工作電壓為+5V,可以個單片機共用一個電源。步進電機的四相繞組用P1口的

34、P1.0~P1.3控制,由于P1口驅(qū)動能力不夠,因而用一片2803增加驅(qū)動能力。用P0口控制第一數(shù)碼管用于顯示正反轉(zhuǎn),用P2口控制第二個數(shù)碼管用于顯示轉(zhuǎn)速等級。數(shù)碼管采用共陽的。</p><p>  通過分析可以看出,實現(xiàn)系統(tǒng)功能可以采用多種方法,由于隨時有可能輸入加速、加速信號和方向信號,因而采用中斷方式效率最高,這樣總共要完成4個部分的工作才能滿足課題要求,即主程序部分、定時器中斷部分、外部中斷0和外部中斷1

35、部分,其中主程序的主要功能是系統(tǒng)初始參數(shù)的設(shè)置及啟動開關(guān)的檢測,若啟動開關(guān)合上則系統(tǒng)開始工作,反之系統(tǒng)停止工作;定時器部分控制脈沖頻率,它決定了步進電機轉(zhuǎn)速的快慢;兩個外部中斷程序要做的工作都是為了完成改變速度這一功能。下面分析主程序與定時器中斷程序及外部中斷程序。</p><p><b>  4.2主程序設(shè)計</b></p><p>  主程序中要完成的工作主要有系

36、統(tǒng)初始值的設(shè)置、系統(tǒng)狀態(tài)的顯示以及各種開關(guān)狀態(tài)的檢測判斷等。其中系統(tǒng)初始狀態(tài)的設(shè)置內(nèi)容較多,該系統(tǒng)中,需要初始化定時器、外部中斷;對P1口送初值以決定脈沖分配方式,速度值存儲區(qū)送初值決定步進電機的啟動速度,對方向值存儲區(qū)送初值決定步進電機旋轉(zhuǎn)方向等內(nèi)容。若初始化P1=11H、速度和方向初始值均設(shè)為0,就意味著步進電機按四相單四拍運行,系統(tǒng)上電后在沒有操作的情況下,步進電機不旋轉(zhuǎn),方向值顯示“0”,速度值顯示“0”,主程序流程圖如圖所示。

37、</p><p><b>  4.3定時中斷設(shè)計</b></p><p>  步進電機的轉(zhuǎn)動主要是給電機各繞組按一定的時間間隔連續(xù)不斷地按規(guī)律通入電流,步進電機才會旋轉(zhuǎn),時間間隔越短,速度就越快。在這個系統(tǒng)中,這個時間間隔是用定時器重復(fù)中斷一定次數(shù)產(chǎn)生的,即調(diào)節(jié)時間間隔就是調(diào)節(jié)定時器的中斷次數(shù),因而在定時器中斷程序中,要做的工作主要是判斷電機的運行方向、發(fā)下一個脈沖,

38、以及保存當(dāng)前的各種狀態(tài)。程序流程圖如圖所示。</p><p><b>  4.4外部中斷設(shè)計</b></p><p>  外部中斷所要完成的工作是根據(jù)按鍵次數(shù),改變速度值存儲區(qū)中的數(shù)據(jù)(該數(shù)據(jù)為定時器的中斷次數(shù)),這樣就改變了步進電機的輸出脈沖頻率,也就是改變了電機的轉(zhuǎn)速。速度增加按鈕S2為INT0中斷,其程序流程為原數(shù)據(jù),當(dāng)值等于7時,不改變原數(shù)值返回,小于7時,數(shù)

39、據(jù)加1后返回;速度減少按鈕S3,當(dāng)原數(shù)據(jù)不為0,減1保存數(shù)據(jù),原數(shù)據(jù)為0則保持不變。程序流程圖如圖所示。</p><p><b>  C語言程序如下:</b></p><p>  #include <reg51.h></p><p>  #define uint unsigned int </p><p> 

40、 sbit k1=P3^4; //啟動開關(guān)</p><p>  sbit k2=P3^5; //換向開關(guān)</p><p>  sbit s2=P3^2; //加速按鈕</p><p>  sbit s3=P3^3; //減速按鈕</p><p>  void isr_int0(void);//外部中斷0中斷服務(wù)函數(shù)聲明</p>

41、<p>  void isr_int1(void);</p><p>  void zd_t0ist(void);</p><p>  uint speed,count,r1,i,t,k;</p><p><b>  main()</b></p><p><b>  {k=0;</b>&l

42、t;/p><p><b>  t=0;</b></p><p>  r1=0x11 ;</p><p><b>  speed=0;</b></p><p><b>  count=1;</b></p><p>  TMOD=0x01;</p>

43、<p><b>  ET0=1;</b></p><p><b>  EA=1;</b></p><p><b>  EX0=1;</b></p><p><b>  EX1=1;</b></p><p><b>  TH0=0xc

44、f;</b></p><p><b>  TL0=0x2c;</b></p><p><b>  for(;;)</b></p><p>  {if(k1==0)</p><p><b>  {P0=0xff;</b></p><p><

45、;b>  P2=0xff;</b></p><p><b>  speed=0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  else </b></p

46、><p><b>  {</b></p><p><b>  if(k2==0)</b></p><p><b>  P0=0xbf;</b></p><p>  else P0=0xf9;</p><p>  if(speed==0)</p>

47、<p><b>  {P2=0xc0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p>  else TR0=1;</p><p><b>  }</b></p>

48、<p><b>  }</b></p><p><b>  }</b></p><p>  void isr_int0(void) interrupt 0</p><p><b>  {</b></p><p>  if(speed<7)</p>

49、<p>  speed=speed+1;</p><p>  while(s2==0)</p><p>  {for(i=0;i<10;i++);}</p><p><b>  }</b></p><p>  void isr_int1(void) interrupt 2</p><p

50、><b>  {</b></p><p>  if(speed>0)</p><p>  speed=speed-1;</p><p>  while(s3==0)</p><p>  {for(i=0;i<10;i++);}</p><p><b>  }</b

51、></p><p>  void zd_t0ist(void) interrupt 1</p><p><b>  {</b></p><p><b>  TH0=0xd8;</b></p><p><b>  TL0=0xf0;</b></p><p

52、>  switch(speed)</p><p><b>  {</b></p><p>  case 0:P2=0xc0;count=0;break;</p><p>  case 1:P2=0xf9;count=60;break;</p><p>  case 2:P2=0xa4;count=40;break;

53、</p><p>  case 3:P2=0xb0;count=35;break;</p><p>  case 4:P2=0x99;count=30;break;</p><p>  case 5:P2=0x92;count=28;break;</p><p>  case 6:P2=0x82;count=25;break;</p&g

54、t;<p>  case 7:P2=0xf8;count=21;break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  if(t==0)</b></p><p><b>  t=count;<

55、/b></p><p><b>  if(t>0)</b></p><p><b>  t=t-1;</b></p><p><b>  if(k2==0)</b></p><p><b>  {</b></p><p>

56、;<b>  if(t==0)</b></p><p><b>  {</b></p><p><b>  switch(k)</b></p><p><b>  {</b></p><p>  case 0:P1=0x01;break;</p>

57、;<p>  case 1:P1=0x02;break;</p><p>  case 2:P1=0x04;break;</p><p>  case 3:P1=0x08;break;</p><p>  default :break;</p><p><b>  }</b></p><

58、p><b>  k=k+1;</b></p><p><b>  if(k==4)</b></p><p><b>  k=0;</b></p><p><b>  }</b></p><p><b>  }</b></p

59、><p><b>  else </b></p><p><b>  {</b></p><p><b>  if(t==0)</b></p><p><b>  {</b></p><p><b>  switch(k)&l

60、t;/b></p><p><b>  {</b></p><p>  case 0:P1=0x08;break;</p><p>  case 1:P1=0x04;break;</p><p>  case 2:P1=0x02;break;</p><p>  case 3:P1=0x01

61、;break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  k=k+1;</b></p><p><b>  if(k==4)</b></p><p><b>  k=

62、0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  第五章 仿真與調(diào)試</p><p><b>  5.1軟件介紹</b

63、></p><p>  Proteus軟件介紹</p><p>  Proteus(海神)的ISIS是一款Labcenter出品的電路分析實物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機,元件庫齊全,使用方便,是不可多得的專業(yè)的單片機軟件仿真系統(tǒng)。 </p><p>  ① 全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產(chǎn)品中具有明顯的優(yōu)勢。 </

64、p><p> ?、诰哂心M電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS一232動態(tài)仿真、1 C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。③ 目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。④ 支持大量的存儲器和外圍芯片??傊撥浖?/p>

65、一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大 ,可仿真51、AVR、PIC。 </p><p>  Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種

66、意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。 </p><p>  5.2 keil軟件介紹</p><p>  Keil 軟件是目前最流行開發(fā) MCS-51 系列單片 機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持 Keil 即可看出。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通 過一個集成開發(fā)環(huán)境(uVision)

67、將這些部份組合在一起。</p><p><b>  5.3仿真過程</b></p><p><b>  操作如下:</b></p><p>  在Protues中畫出系統(tǒng)電路圖 </p><

68、p>  將程序在keil中編譯并生成hex文件。3)把在keil中編譯生成的HEX文件載入MCS-51芯片中;</p><p><b>  運行仿真。 </b></p><p><b>  心得體會</b></p><p>  經(jīng)過這么長時間的努力終于將課程設(shè)計完成了,在這次設(shè)計中,我們的電路知識得到了很好的補充和

69、鞏固,還使我提高了將理論知識運用到實際中的能力。</p><p>  通過這次課程設(shè)計,更深一步掌握了51單片機的原理,了解了簡單步進電機控制系統(tǒng)的組成原理,并初步掌握了步進電機設(shè)計及測試方法。提高了動手能力和排除故障的能力。同時通過本次設(shè)計與調(diào)試,鞏固了已學(xué)的理論知識,將單片機的理論和實踐相結(jié)合,了解到步進電機各單元電路之間的關(guān)系及影響,從而能正確設(shè)計、計算定時計數(shù)的各個單元電路。初步掌握步進電機控制系統(tǒng)的設(shè)計

70、及測試方法,提高了動手能力和排除故障的能力。</p><p>  通過本次課程設(shè)計我們不僅對前面所學(xué)知識作出了檢驗,也讓自己能力得到了很大的提高。在這次課程設(shè)計中,我們發(fā)現(xiàn)了自己原來的知識還比較欠缺,要學(xué)習(xí)的東西還太多,深切的感受到學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的知識和綜合素質(zhì)。</p><p>  這次設(shè)計使我們學(xué)到了以前書本知識中所不曾了解

71、的知識,更加明白了在如今的信息時代下電子技能知識的重要性,豐富了我們對實際工藝技術(shù)、電子技術(shù)和設(shè)備技術(shù)等方面的認識,掌握了分析問題、處理問題的方法以及調(diào)試、計算等基本技能,使實際工作能力得到了有效提高。</p><p>  在這次的課程設(shè)計中非常感謝老師的指導(dǎo)與幫助,使我們的課程設(shè)計能更好的完成,這對于我們今后的學(xué)習(xí)、工作和生活都有很大幫助。同時,我們也充分認識到團隊合作的重要性,這次經(jīng)歷對于我們以后的發(fā)展無疑是

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論