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

下載本文檔

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

文檔簡介

1、<p><b>  單片機課程設計</b></p><p>  題目:步進電機控制系統的設計</p><p>  編 號: 0802A組06 </p><p>  學生姓名: </p><p>

2、  同 組 者: </p><p>  指導教師: </p><p>  2010年11月18日</p><p><b>  目錄</b></p><p>  摘要 …………………………

3、………………………………………4</p><p>  第一章緒論…………………………………………………………5</p><p>  1.1 關于步進電機……………………………………………5</p><p>  1.2 選題的目的和意義…………………………………………6</p><p>  第二章 元器件的介紹………………………………………

4、…………8</p><p>  2.1 步進電機………………………………………………8</p><p>  2.2 89C51…………………………………………………9</p><p>  第三章步進電機控制系統硬件電路設計………………………………11</p><p>  3.1 控制電路………………………………………………10</

5、p><p>  3.2 最小系統………………………………………………12</p><p>  3.3 驅動電路………………………………………………13</p><p>  3.4 顯示電路………………………………………………14</p><p>  3.5 總體電路………………………………………………14</p><p>

6、  第四章軟件的設計………………………………………………16</p><p>  4.1 方案論證………………………………………………16</p><p>  4.2 主程序設計………………………………………………17</p><p>  4.3 定時中斷設計…………………………………………18</p><p>  4.4 外部中斷設計……

7、……………………………………19</p><p>  第五章仿真與調試……………………………………………25</p><p>  5.1 Proteus軟件介紹……………………………………25</p><p>  5.2 keil軟件介紹…………………………………………25</p><p>  5.3 仿真過程………………………………………

8、………25</p><p>  心得體會……………………………………………………………27</p><p>  附錄 PCB板圖及其三視圖……………………………………………28</p><p><b>  摘 要</b></p><p>  能夠實現步進電機控制的方式有多種,可以采用前期的模擬電路、 數字電路或模

9、擬與數字電路相結合的方式。近年來隨著科技的飛速發展,單片機的應用正在不斷深入,同時帶動傳統控制檢測日新月異更新。本文介紹一種用AT89C51作為核心部件進行邏輯控制及信號產生的單片機技術和匯編語言編程設計的步進電機控制系統,步進電機背景與現狀、硬件設計、軟件設計及其仿真都做了詳細的介紹,使我們不僅對步進電機的原理有了深入的了解,也對單片機的設計研發過程有了更加深刻的體會。</p><p>  本控制系統采用單片機

10、控制,通過人為按動開關實現步進電機的開關,復位。該系統還增加了步進電機的加速及減速功能。具有靈活方便、適用范圍廣的特點,基本能夠滿足實踐需求。</p><p>  關鍵字:步進電機 單片機</p><p><b>  Abstract</b></p><p>  Stepper motor control can be achieved in

11、different ways, can be used early analog circuits, digital circuits or a combination of analog and digital circuit means. With the rapid development of science and technology in recent years, the application of SCM is a

12、growing, while traditional control test drive rapid updates. This paper describes a core component of the AT89C51, as the signal generated by logic control and microcontroller technology and assembly language programming

13、 designed stepper m</p><p>  The control system uses SCM control, pressing the switch through the realization of human stepper motor switch, reset. The system also increased the stepper motor acceleration an

14、d deceleration. Has the flexibility for a wide range of features, the basic practice to meet the demand. </p><p>  Keywords: stepper motor microcontroller </p><p><b>  第一章 緒論</b><

15、/p><p>  1.1 關于步進電機</p><p>  步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元步進電機件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為“步距角”,它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數來控制角位移量,從而達

16、到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。</p><p>  步進電機的相關參數:</p><p><b>  相數 </b></p><p>  產生不同對極N、S磁場的激磁線圈對數,是指電機內部的線圈組數,目前常用的有二相、三相、四相、五相步進電機。電機相數不同,其步距角也不同,一般二相

17、電機的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒有細分驅動器時,用戶主要靠選擇不同相數的步進電機來滿足自己步距角的要求。如果使用細分驅動器,則‘相數’將變得沒有意義,用戶只需在驅動器上改變細分數,就可以改變步距角。目前應用最廣泛的是兩相和四相,四相電機一般用作兩相,五相的成本較高。</p><p>&

18、lt;b>  拍數</b></p><p>  完成一個磁場周期性變化所需脈沖數或導電狀態用n表示,或指電機轉過一個齒距角所需脈沖數,以四相電機為例,有四相四拍運行方式即AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-CD-D-DA-A.</p><p><b>  固有步距角 </b></p><p&

19、gt;  對應一個脈沖信號,電機轉子轉過的角位移用θ表示。θ=360度(轉子齒數J*運行拍數),以常規二、四相,轉子齒為50齒電機為例。四拍運行時步距角為θ=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為θ=360度/(50*8)=0.9度(俗稱半步)。這個步距角可以稱之為‘電機固有步距角’,它不一定是電機實際工作時的真正步距角,真正的步距角和驅動器有關。</p><p><b>  

20、定位轉矩 </b></p><p>  電機在不通電狀態下,電機轉子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的),DETENT TORQUE 在國內沒有統一的翻譯方式,容易使大家產生誤解;由于反應式步進電機的轉子不是永磁材料,所以它沒有DETENT TORQUE。</p><p><b>  最大靜轉矩 </b></p><

21、p>  也叫保持轉矩(HOLDING TORQUE),電機在額定靜態電作用下(通電),電機不作旋轉運動時,電機轉軸的鎖定力矩,即定子鎖住轉子的力矩。此力矩是衡量電機體積(幾何尺寸)的標準,與驅動電壓及驅動電源等無關。通常步進電機在低速時的力矩接近保持轉矩。由于步進電機的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉矩就成為了衡量步進電機最重要的參數之一。比如,當人們說2N.m的步進電機,在沒有特殊說明的情

22、況下是指保持轉矩為2N.m的步進電機。</p><p><b>  步距角精度 </b></p><p>  步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數其值不同,四拍運行時應在5%之內,八拍運行時應在15%以內。</p><p><b>  失步 </b><

23、/p><p>  電機運轉時運轉的步數,不等于理論上的步數。稱之為失步。</p><p><b>  失調角 </b></p><p>  轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產生的誤差,采用細分驅動是不能解決的。</p><p>  最大空載啟動頻率 </p><p>

24、  電機在某種驅動形式、電壓及額定電流下,在不加負載的情況下,能夠直接起動的最大頻率。</p><p>  最大空載運行頻率 </p><p>  電機在某種驅動形式,電壓及額定電流下,電機不帶負載的最高轉速頻率。</p><p><b>  運行矩頻特性</b></p><p>  電機在某種測試條件下測得運行中輸出

25、力矩與頻率關系的曲線稱為運行矩頻特性,這是電機諸多動態曲線中最重要的,也是電機選擇的根本依據。</p><p>  1.2 選題的目的和意義</p><p>  通過這次課程設計,掌握51單片機的原理,了解步進電機的工作原理,提高動手能力和排除故障的能力。同時通過本次設計與調試,調高自己的動手能力,鞏固已學的理論知識,建立單片機理論和實踐的結合,了解步進電機控制系統中電路之間的關系及相互影

26、響,從而能正確設計各個單元電路。初步掌握步進電機控制系統的測試方法。提高動手能力和排除故障的能力。</p><p>  第二章 元器件的介紹</p><p><b>  2.1步進電機</b></p><p>  步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電機區別于

27、其他控制電機的最大特點是:它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數決定,而電機的轉速由脈沖信號頻率決定。</p><p>  步進電機分三種:永磁式(PM),反應式(VR)和混合式(HB),步進電機又稱為脈沖電機,是工業過程控制和儀表中一種能夠快速啟動,反轉和制動的執行</p><p>  元件,其功用是將電脈沖轉換為相應的角位移或直線位移,由于開環下就能實現精確定

28、位的特點,使其在工業控制領域獲得了廣泛應用。步進電機的運轉是由電脈沖信號控制的,其角位移量或線位移量與脈沖數成正比,每個一個脈沖,步進電機就轉動一個角度(不距角)或前進、倒退一步。步進電機旋轉的角度由輸入的電脈沖數確定,所以,也有人稱步進電機為數字/角度轉換器。</p><p>  四相步進電機的工作原理</p><p>  該設計采用了20BY-0型步進電機,該電機為四相步進電機,采用單

29、極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機轉動。當某一相繞組通電時,對應的磁極產生磁場,并與轉子形成磁路,這時,如果定子和轉子的小齒沒有對齊,在磁場的作用下,由于磁通具有力圖走磁阻最小路徑的特點,則轉子將轉動一定的角度,使轉子與定子的齒相互對齊,由此可見,錯齒是促使電機旋轉的原因。</p><p>  步進電機的靜態指標及術語</p><p>  相數:產生

30、不同隊N、S磁場的激磁線圈對數,常用m表示。</p><p>  拍數:完成一個磁場周期性變化所需脈沖用n表示,或指電機轉過一個齒距角所需脈沖數,以四相電機為例,有四相四拍運行方式即AB→BC→CD→DA→AB,四相八拍運行方式即A→AB→B→BC→C→CD→D→DA→A。</p><p>  步距角:對應一個脈沖信號,電機轉子轉過的角位移用θ表示。Θ=360度(轉子齒角運行拍數),以常規

31、二、四相,轉子齒角為50齒角電機為例。四相運行時步距角為θ=360度/(50*4)=1.8度,八拍運行時步距角為θ=360度/(50*8)=0.9度。</p><p>  定位轉矩:電機在不通電的狀態下,電機轉子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的)。</p><p>  靜轉矩:電機在額定靜態作業下,電機不做旋轉運動時,電機轉軸的鎖定力矩。此力矩是衡量電機體積的標準,與驅動

32、電壓及驅動電源等無關。雖然靜態轉矩與電磁激磁匝數成正比,與定子和轉子間的氣隙有關。但過分采用減小氣隙,增加勵磁匝數來提高靜轉矩是不可取的,這樣會造成電機的發熱及機械噪音。</p><p>  四相步進電機的脈沖分配規律</p><p>  目前,對步進電機的控制主要有分散器件組成的環形脈沖分配器、軟件環形脈沖分配器、專用集成芯片環形脈沖分配器等。本設計利用單片機進行控制,主要是利用軟件進行

33、環形脈沖分配。四相步進電機的工作方式為四相單四拍,雙四拍和四相八拍工作的方式。各種工作方式在電源通電時的時序 與波形分別如圖1 a、b、c所示。本設計的電機工作方式為四相單四拍,根據步進電機的工作的時序和波形圖,總結出其工作方式為四相單四拍時的脈沖分配規律,四相雙四拍的脈沖分配規律,在每一種工作方式中,脈沖的頻率越高,其轉速就越快,但脈沖頻率高到一定程度,步進電機跟不上頻率的變化后電機會出現失步現象,所以脈沖頻率一定要控制在步進電機允許

34、的范圍內。</p><p>  2.2 89C51單片機</p><p>  Atmel公司生產的89C51單片機是一種低功耗/低電壓‘高性能的8位單片機,它采用CMOS和高密度非易失性存儲技術,而且其輸出引腳和指令系統都與MCS-51兼容;片內的Flash ROM允許在系統內改編程序或用常規的非易失性編程器來編程,內部除CPU外,還包括256字節RAM,4個8位并行I/O口,5個中斷源

35、,2個中斷優先級,2個16位可編程定時計數器,89C51單片機是一種功能強、靈活性高且價格合理的單片機,完全滿足本系統設計需要。</p><p>  第三章 步進電機原理及硬件設計</p><p>  本設計的硬件電路只要包括控制電路、最小系統、驅動電路、顯示電路四大部分。最小系統只要是為了使單片機正常工作??刂齐娐分灰砷_關和按鍵組成,由操作者根據相應的工作需要進行操作。顯示電路主要是

36、為了顯示電機的工作狀態和轉速。驅動電路主要是對單片機輸出的脈沖進行功率放大,從而驅動電機轉動。</p><p><b>  3.1控制電路</b></p><p>  根據系統的控制要求,控制輸入部分設置了啟動控制,換向控制,加速控制和減速控制按鈕,分別是K1、K2、S2、S3,控制電路如圖2所示。通過K1、K2狀態變化來實現電機的啟動和換向功能。當K1、K2的狀態變

37、化時,內部程序檢測P1.0和P1.1的狀態來調用相應的啟動和換向程序,發現系統的電機的啟動和正反轉控制。</p><p>  根據步進電機的工作原理可以知道,步進電機轉速的控制主要是通過控制通入電機的脈沖頻率,從而控制電機的轉速。對于單片機而言,主要的方法有:軟件延時和定時中斷在此電路中電機的轉速控制主要是通過定時器的中斷來實現的,該電路控制電機加速度主要是通過S2、S3的斷開和閉合,從而控制外部中斷根據按鍵次數

38、,改變速度值存儲區中的數據(該數據為定時器的中斷次數),這樣就改變了步進電機的輸出脈沖頻率,從而改變了電機的轉速。</p><p>  圖2 控制電路原理圖</p><p><b>  3.2最小系統</b></p><p>  單片機最小系統或者稱為最小應用系統,素質用最少的元件組成的單片機可以工作的系統,對51系列單片機來說,最小系統一般應

39、該包括:單片機、復位電路、晶振電路。</p><p>  復位電路:使用了獨立式鍵盤,單片機的P1口鍵盤的接口。該設計要求只需4個鍵對步進電機的狀態進行控制,但考慮到對控制功能的擴展,使用了6路獨立式鍵盤。復位電路采用手動復位,所謂手動復位,是指通過接通一按鈕開關,使單片機進入復位狀態,晶振電路用30PF的電容和一12M晶體振蕩器組成為整個電路提供時鐘頻率。如圖3示。</p><p>  

40、晶振電路:8051單片機的時鐘信號通常用兩種電路形式電路得到:內部震蕩方式和外部中斷方式。在引腳XTAL1和XTAL2外部接晶振電路器(簡稱晶振)或陶瓷晶振器,就構成了內部晶振方式。由于單片機內部有一個高增益反相放大器,當外接晶振后,就構成了自激振蕩器并產生振蕩時鐘脈沖。內部振蕩方式的外部電路如圖5示。其電容值一般在5~30pf,晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內部振蕩方式所得的時鐘信號比較穩定,實用電路實用較

41、多。</p><p>  圖3復位及時鐘振蕩電路</p><p><b>  3.3驅動電路</b></p><p>  通過ULN2803構成比較多的驅動電路,電路圖如圖4所示。通過單片機的P1.0~P1.3輸出脈沖到ULN2803的1B~4B口,經信號放大后從1C~4C口分別輸出到電機的A、B、C、D相。</p><p&

42、gt;  圖4 步進電機驅動電路</p><p><b>  3.4顯示電路</b></p><p>  在該步進電機的控制器中,電機可以正反轉,可以加速、減速,其中電機轉速的等級分為七級,為了方便知道電機的運行狀態和電機的轉速的等級,這里設計了電機轉速和電機的工作狀態的顯示電路。在顯示電路中,主要是利用了單片機的P0口和P2口。采用兩個共陽數碼管作顯示。第一個數碼管

43、接的a、b、c、d、e、f、g、h分別接P0.0~P0.7口,用于顯示電機正反轉狀態,正轉時顯示“1”,反轉時顯示“一”,不轉時顯示“0”。第二個數碼管的a、b、c、d、e、f、g、h分別接P2.0~P2.7口,用于顯示電機的轉速級別,共七級,即從1~7轉速依次遞增,“0”表示轉速為零。電路如圖5所示。</p><p><b>  圖5 顯示電路</b></p><p&g

44、t;<b>  3.5總體電路圖</b></p><p>  把各個部分的電路圖組合成總電路圖,如圖6所示。</p><p><b>  圖6 總體電路圖</b></p><p>  第四章 軟件的設計</p><p><b>  4.1方案論證</b></p>

45、<p>  從該系統的設計 要求可知,該系統的輸入量為速度和方向,速度應該有增減變化,通常用加減按鈕控制速度,這樣只要2根口線,再加上一根方向線和一根啟動信號線共需要4根輸入線。系統的輸出線與步進電機的繞組數有關。這里選</p><p>  進電機,該電機共有四相繞組,工作電壓為+5V,可以個單片機共用一個電源。步進電機的四相繞組用P1口的P1.0~P1.3控制,由于P1口驅動能力不夠,因而用一片2

46、803增加驅動能力。用P0口控制第一數碼管用于顯示正反轉,用P2口控制第二個數碼管用于顯示轉速等級。數碼管采用共陽的。</p><p>  通過分析可以看出,實現系統功能可以采用多種方法,由于隨時有可能輸入加速、加速信號和方向信號,因而采用中斷方式效率最高,這樣總共要完成4個部分的工作才能滿足課題要求,即主程序部分、定時器中斷部分、外部中斷0和外部中斷1部分,其中主程序的主要功能是系統初始參數的設置及啟動開關的檢

47、測,若啟動開關合上則系統開始工作,反之系統停止工作;定時器部分控制脈沖頻率,它決定了步進電機轉速的快慢;兩個外部中斷程序要做的工作都是為了完成改變速度這一功能。下面分析主程序與定時器中斷程序及外部中斷程序。</p><p><b>  4.2主程序設計</b></p><p>  主程序中要完成的工作主要有系統初始值的設置、系統狀態的顯示以及各種開關狀態的檢測判斷等。

48、其中系統初始狀態的設置內容較多,該系統中,需要初始化定時器、外部中斷;對P1口送初值以決定脈沖分配方式,速度值存儲區送初值決定步進電機的啟動速度,對方向值存儲區送初值決定步進電機旋轉方向等內容。若初始化P1=11H、速度和方向初始值均設為0,就意味著步進電機按四相單四拍運行,系統上電后在沒有操作的情況下,步進電機不旋轉,方向值顯示“0”,速度值顯示“0”,主程序流程圖如圖7所示。</p><p><b>

49、;  4.3定時中斷設計</b></p><p>  步進電機的轉動主要是給電機各繞組按一定的時間間隔連續不斷地按規律通入電流,步進電機才會旋轉,時間間隔越短,速度就越快。在這個系統中,這個時間間隔是用定時器重復中斷一定次數產生的,即調節時間間隔就是調節定時器的中斷次數,因而在定時器中斷程序中,要做的工作主要是判斷電機的運行方向、發下一個脈沖,以及保存當前的各種狀態。程序流程圖如圖8所示。</p

50、><p><b>  4.4外部中斷設計</b></p><p>  外部中斷所要完成的工作是根據按鍵次數,改變速度值存儲區中的數據(該數據為定時器的中斷次數),這樣就改變了步進電機的輸出脈沖頻率,也就是改變了電機的轉速。速度增加按鈕S2為INT0中斷,其程序流程為原數據,當值等于7時,不改變原數值返回,小于7時,數據加1后返回;速度減少按鈕S3,當原數據不為0,減1保存

51、數據,原數據為0則保持不變。程序流程圖如圖9所示。</p><p><b>  C語言程序如下:</b></p><p>  #include <reg51.h></p><p>  #define uint unsigned int </p><p>  sbit k1=P3^4; //啟動開關</p

52、><p>  sbit k2=P3^5; //換向開關</p><p>  sbit s2=P3^2; //加速按鈕</p><p>  sbit s3=P3^3; //減速按鈕</p><p>  void isr_int0(void);//外部中斷0中斷服務函數聲明</p><p>  void isr_int1(vo

53、id);</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></p><p><b>

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

55、;</b></p><p><b>  EA=1;</b></p><p><b>  EX0=1;</b></p><p><b>  EX1=1;</b></p><p><b>  TH0=0xcf;</b></p><

56、;p><b>  TL0=0x2c;</b></p><p><b>  for(;;)</b></p><p>  {if(k1==0)</p><p><b>  {P0=0xff;</b></p><p><b>  P2=0xff;</b>&

57、lt;/p><p><b>  speed=0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {

58、</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><p><b>  {P2=0x

59、c0;</b></p><p><b>  TR0=0;</b></p><p><b>  }</b></p><p>  else TR0=1;</p><p><b>  }</b></p><p><b>  }</b

60、></p><p><b>  }</b></p><p>  void isr_int0(void) interrupt 0</p><p><b>  {</b></p><p>  if(speed<7)</p><p>  speed=speed+1;&l

61、t;/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><b>  {</b>&

62、lt;/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></p><p>  

63、void zd_t0ist(void) interrupt 1</p><p><b>  {</b></p><p><b>  TH0=0xd8;</b></p><p><b>  TL0=0xf0;</b></p><p>  switch(speed)</p&g

64、t;<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;</p><p>  case

65、 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><p>  case 7:P2=0x

66、f8;count=21;break;</p><p>  default :break;</p><p><b>  }</b></p><p><b>  if(t==0)</b></p><p><b>  t=count;</b></p><p>

67、<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><b>  if(t==0)</b&

68、gt;</p><p><b>  {</b></p><p><b>  switch(k)</b></p><p><b>  {</b></p><p>  case 0:P1=0x01;break;</p><p>  case 1:P1=0x0

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

70、b></p><p><b>  if(k==4)</b></p><p><b>  k=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  e

71、lse </b></p><p><b>  {</b></p><p><b>  if(t==0)</b></p><p><b>  {</b></p><p><b>  switch(k)</b></p><p&g

72、t;<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;break;</p><p>

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

74、;p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  第五章 仿真與調試</p><p><b>  5.1軟件介紹</b></p><p>  

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

76、、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS一232動態仿真、1 C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發生器等。③ 目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。④ 支持大量的存儲器和外圍芯片??傊撥浖且豢罴瘑纹瑱C和SPICE分析于一身的仿真軟件,功能極其

77、強大 ,可仿真51、AVR、PIC。 </p><p>  Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節的矛盾和現象。

78、</p><p>  5.2 keil軟件介紹</p><p>  Keil 軟件是目前最流行開發 MCS-51 系列單片 機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持 Keil 即可看出。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通 過一個集成開發環境(uVision)將這些部份組合在一起。</p><

79、p><b>  5.3仿真過程</b></p><p><b>  操作如下:</b></p><p>  在Protues中畫出系統電路圖 </p><p>  將程序在keil中編譯并生成hex文件。

80、3)把在keil中編譯生成的HEX文件載入AT89C51芯片中;</p><p><b>  運行仿真。 </b></p><p><b>  心得體會</b></p><p>  經過這么長時間的努力終于將課程設計完成了,在這次設計中,我們的電路知識得到了很好的補充和鞏固,還使我提高了將理論知識運用到實際中的能力。&l

81、t;/p><p>  通過這次課程設計,更深一步掌握了51單片機的原理,了解了簡單步進電機控制系統的組成原理,并初步掌握了步進電機設計及測試方法。提高了動手能力和排除故障的能力。同時通過本次設計與調試,鞏固了已學的理論知識,將單片機的理論和實踐相結合,了解到步進電機各單元電路之間的關系及影響,從而能正確設計、計算定時計數的各個單元電路。初步掌握步進電機控制系統的設計及測試方法,提高了動手能力和排除故障的能力。<

82、/p><p>  通過本次課程設計我們不僅對前面所學知識作出了檢驗,也讓自己能力得到了很大的提高。在這次課程設計中,我們發現了自己原來的知識還比較欠缺,要學習的東西還太多,深切的感受到學習是一個長期積累的過程,在以后的工作、生活中都應該不斷的學習,努力提高自己的知識和綜合素質。</p><p>  這次設計使我們學到了以前書本知識中所不曾了解的知識,更加明白了在如今的信息時代下電子技能知識的重

83、要性,豐富了我們對實際工藝技術、電子技術和設備技術等方面的認識,掌握了分析問題、處理問題的方法以及調試、計算等基本技能,使實際工作能力得到了有效提高。</p><p>  在這次的課程設計中非常感謝老師的指導與幫助,使我們的課程設計能更好的完成,這對于我們今后的學習、工作和生活都有很大幫助。同時,我們也充分認識到團隊合作的重要性,這次經歷對于我們以后的發展無疑是相當有幫助的。相信有了這次累積,畢業后的工作學習將會

溫馨提示

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

評論

0/150

提交評論