畢業(yè)設(shè)計---基于at89c51的步進電機控制_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  基于AT89C51的步進電機控制</p><p><b>  摘 要</b></p><p>  本設(shè)計采用ATMEL系列的單片機對步進電機進行控制,實現(xiàn)以下功能:開機后,電機不轉(zhuǎn),按下啟動鍵,電機旋轉(zhuǎn);按下正轉(zhuǎn)鍵,電機正轉(zhuǎn);按下反轉(zhuǎn)鍵,電機反轉(zhuǎn)。 實現(xiàn)這一功能,系統(tǒng)的硬件部分應(yīng)由四模塊構(gòu)成:輸入模塊、單片機控制模塊、步進電機驅(qū)

2、動模塊、步進電機模塊。通過鍵盤輸入,單片機編程控制,輸出信號給步進電機驅(qū)動電路ULN2003A,最后由ULN2003A驅(qū)動步進電機按規(guī)定的方向運轉(zhuǎn)。</p><p>  用單片機控制步進電機,可以簡化硬件電路,可同時實現(xiàn)各種功能,如步進電機的加減速,步進電機正反轉(zhuǎn)等,當(dāng)功能要求改變時,只需改變程序,而硬件電路不變,實現(xiàn)功能的方式簡單便捷。</p><p>  關(guān)鍵詞: 單片機 ;步進電機&

3、lt;/p><p>  The Control Of Stepping Motor Based On AT89C51</p><p><b>  Abstract</b></p><p>  Stepping motor is controlled by the microcontroller , a sort of ATMEL series ,i

4、n the design. The function can be realized as follows:When the start button is pressed, motor begins to run;When the foreward button is pressed,motor begins to run in the positive direction;When the reversional button i

5、s pressed,motor begins to run in the opposite direction. To realize the features described above,the circuits should consist of four modules:input circuit,microcontroller,drive circuit of stepping moto</p><p&g

6、t;  The control of stepping motor by :microcontroller can simplify the circuit and can realize many functions,e.g. it can change the operation mode of stepping motor and speed,and so on. When the function need to be cha

7、nged,the same circuit can be used and the only thing that you should do is to modify program . So it is convenient to use microcontroller to realize the control of motor .</p><p>  Keyword :microcontroller

8、;stepping motor</p><p><b>  目 錄 </b></p><p>  第1章. 緒論- 1 -</p><p>  1.1. 單片機的特點- 1 -</p><p>  1.2. 單片機的發(fā)展趨勢- 1 -</p><p>  1.3. 單片機的任務(wù)- 2

9、 -</p><p>  第2章. 系統(tǒng)設(shè)計- 4 -</p><p>  2.1. 設(shè)計要求- 4 -</p><p>  2.2. 設(shè)計構(gòu)思- 4 -</p><p>  2.3. 設(shè)計元件的選型- 5 -</p><p>  第3章. 系統(tǒng)核心元件的介紹- 6 -</p><p>

10、;  3.1. 單片機簡介- 6 -</p><p>  3.1.1. 單片機的基本組成- 6 -</p><p>  3.1.2. 單片機的特點- 8 -</p><p>  3.1.3. 單片機的應(yīng)用- 8 -</p><p>  3.2. AT89C51的簡介- 9 -</p><p>  3.2.1.

11、 AT89C51的結(jié)構(gòu)- 9 -</p><p>  3.2.2. AT89C51的引腳介紹- 10 -</p><p>  第4章. 系統(tǒng)的硬件設(shè)計- 12 -</p><p>  4.1. 輸入電路的設(shè)計- 12 -</p><p>  4.1.1. 鍵盤輸入- 12 -</p><p>  4.1.2.

12、 鍵盤接口的工作原理- 12 -</p><p>  4.2. AT89C51設(shè)計電路- 13 -</p><p>  4.2.1. 時鐘電路- 13 -</p><p>  4.2.2. 復(fù)位電路- 14 -</p><p>  4.3. 步進電機驅(qū)動電路- 16 -</p><p>  4.4. 步進電機

13、- 17 -</p><p>  4.4.1. 步進電機原理- 17 -</p><p>  4.4.2. 步進電機勵磁控制- 17 -</p><p>  4.5. 系統(tǒng)的總體硬件電路- 19 -</p><p>  第5章. 系統(tǒng)的軟件設(shè)計- 21 -</p><p>  5.1. 系統(tǒng)的程序分析- 2

14、1 -</p><p>  5.2. 軟件流程圖- 21 -</p><p>  5.2.1. 鍵盤程序的設(shè)計- 22 -</p><p>  5.2.2. 步進電機驅(qū)動程序- 22 -</p><p>  第6章. 電路的仿真- 26 -</p><p>  6.1. 仿真的介紹- 26 -</p&g

15、t;<p>  6.2. 仿真的過程- 26 -</p><p>  結(jié)束與展望- 28 -</p><p>  參考文獻- 29 -</p><p><b>  致謝- 30 -</b></p><p>  附錄1:譯文原文- 31 -</p><p>  附錄2:譯文

16、- 34 -</p><p><b>  圖 表 清 單 </b></p><p>  圖 21 系統(tǒng)的設(shè)計思路圖- 4 -</p><p>  圖 31 單片機的典型結(jié)構(gòu)框圖- 6 -</p><p>  表格 31 P3各引腳- 11 -</p><p>  圖 41 鍵閉

17、合時的行線輸出電壓波形- 12 -</p><p>  圖 42 AT89C51的最小系統(tǒng)- 13 -</p><p>  圖 43 內(nèi)部時鐘振蕩器- 14 -</p><p>  表格 41 一些寄存器的復(fù)位狀態(tài)- 14 -</p><p>  圖 44 AT89C51的片內(nèi)復(fù)位結(jié)構(gòu)- 15 -</p>

18、<p>  圖 45 按鍵復(fù)位電路- 15 -</p><p>  圖 46 一般驅(qū)動電路- 16 -</p><p>  圖 47 ULN2003內(nèi)部框圖及等效電路圖- 16 -</p><p>  圖 48 ULN2003的應(yīng)用驅(qū)動電路- 17 -</p><p>  表格 42 勵磁順序A-B-C-D-A

19、- 18 -</p><p>  表格 43 勵磁順序AB-BC-CD-DA-AB- 18 -</p><p>  表格 44勵磁順序:A-AB-B-BC-C-CD-D-DA-A- 19 -</p><p>  圖 49 系統(tǒng)的硬件電路圖- 20 -</p><p>  圖 51主程序流程圖- 21 -</p>

20、<p>  圖 61 仿真電路圖- 27 -</p><p><b>  緒論 </b></p><p><b>  單片機的特點 </b></p><p>  近十幾年來,單片機在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計算、商業(yè)管理和辦公室自動化等方面獲得了廣泛的應(yīng)用。單片機具有體積小、重量輕、

21、耗能省、價格低、可靠性高和通用靈活等優(yōu)點,因此也廣泛應(yīng)用于衛(wèi)星定句、汽車火花控制、交通白動管理和微波爐等專用控制上。近幾年來,單片機的發(fā)展更為迅速,它已滲透到諸多學(xué)科的領(lǐng)域,以及人們生活的各個方面。    單片機不求規(guī)模大,只求小而全。廠家在一個芯片上制成了CPU和一定容量的程序存儲器和數(shù)據(jù)存儲器以及一定數(shù)量的輸入/輸出接口(Intel)。在一個大規(guī)模集成電路芯片上構(gòu)造了完整的計算機結(jié)構(gòu),故稱之為單片機

22、?! 〗陙恚趪H上出現(xiàn)了Mechanics和electronics復(fù)合成Mechtronics這個新詞,我國譯為"機電一體化"。這種機械和電子技術(shù)、信息技術(shù)緊密結(jié)合的新的學(xué)科領(lǐng)域是先進制造技術(shù)研究和普及的結(jié)果。機電一體化產(chǎn)品要實現(xiàn)電器控制的實時性、高可靠性、可編程和一定的人工智能。同時追求體積小、價格低,甚至低功耗等。正是針對上述種種要求而設(shè)計的單片機自然成為機電一體化控制器的最佳選擇。</p>

23、<p>  單片機的發(fā)展趨勢 </p><p>  單片機出現(xiàn)的歷史并不長,它的產(chǎn)生與發(fā)展與微處理器的產(chǎn)生與發(fā)展大體上同步,也經(jīng)歷了四個階段: 第一階段 : 1971~1974年,4位微處理器工intel 4004及8位微處理器工intel 8008,這些計算機價格便宜、功能有限,只用于消耗類電子產(chǎn)品。 第二階段 : 1974~1978年,初級單片機階段,以工intel公司的MCS-48為代表

24、,8位單片機。 第三階段 : 1978~1983年,高性能單片機階段。以工Intel公司的MCS-51, Motorola公司的6801和Zilog公司的Z8等為代表。這一階段推出的單片機普遍帶有串行口,有多級中斷處理系統(tǒng)、16位定時器/計數(shù)器,有的片內(nèi)還帶有A/D轉(zhuǎn)換器接口,片內(nèi)RAM, ROM容量加大,尋址范圍可達64K字節(jié)。廣泛應(yīng)用于工業(yè)控制、外部設(shè)備控制、宏觀控制、局部網(wǎng)絡(luò)及家用計算機中。 第四階段 : 1983年至今,

25、8位單片機鞏固發(fā)展及16位單片機推出階段。例如Mostek公司的MK6800、Intel公司的MCS-96等。MCS-96集成度為12萬只品體管/片,尋址范圍64K字節(jié)、5個8位并行口、一個全雙工串行口、4個</p><p>  步進電機上個世紀(jì)就出現(xiàn)了,它的組成、動作原理和今天的反應(yīng)式步進電動機沒有什么本質(zhì)區(qū)別,也是依靠氣隙間的磁導(dǎo)變化來產(chǎn)生電磁轉(zhuǎn)矩。80年代以后,由于廉價的微型計算機以多功能的姿態(tài)出現(xiàn),步進電

26、動機的控制方式變得更加靈活多樣。原來的步進電機控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設(shè)計電路,不利于系統(tǒng)的改進升級?;谖⑿陀嬎銠C的控制系統(tǒng)則通過軟件來控制步進電機,能夠更好地發(fā)揮步進電機的潛力,因此,用微型計算機控制步進電機已經(jīng)成為了一種必然的趨勢,也符合數(shù)字化的時代發(fā)展要求.</p><p><b>  單片機

27、的任務(wù) </b></p><p>  步進電機廣泛應(yīng)用在生產(chǎn)實踐的各個領(lǐng)域。它最大的應(yīng)用是在使用數(shù)控機床的生產(chǎn)制造中,因為步進電機不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號轉(zhuǎn)化成為角位移,所以被認為是理想的數(shù)控機床的執(zhí)行元件。早期的步進電機輸出轉(zhuǎn)矩比較小,無法滿足需要,在使用中和液壓扭矩放大器一同組成液壓脈沖馬達。隨著步進電動機技術(shù)的發(fā)展,步進電動機已經(jīng)能夠單獨在系統(tǒng)上進行使用,成為了不可替代的執(zhí)行元件

28、。比如步進電動機用作數(shù)控銑床進給伺服機構(gòu)的驅(qū)動電動機,在這個應(yīng)用中,步進電動機可以同時完成兩個工作,其一是傳遞轉(zhuǎn)矩,其二是傳遞信息。步進電機也可以作為數(shù)控蝸桿砂輪磨邊機同步系統(tǒng)的驅(qū)動電動機。除了在數(shù)控機床上的應(yīng)用,步進電機也應(yīng)用在其他方面,比如作為自動送料機中的馬達,作為通用的軟盤驅(qū)動器的馬達,也可以應(yīng)用在打印機和繪圖儀中等等。微電子技術(shù)的飛速發(fā)展,帶動了機械加工技術(shù)的飛速發(fā)展。而在其發(fā)展過程中,最顯著的特點是機械制造將越來越密切地依

29、賴于電子技術(shù)、檢測技術(shù)、自動控制技術(shù)、計算機技術(shù)、系統(tǒng)論、信息論等現(xiàn)代科學(xué)技術(shù)。    隨著現(xiàn)代電子科學(xué)的不斷發(fā)展與進步,電子計算機已深深介入機械制造的各個領(lǐng)域,誕生了一系列機、電、計算機一</p><p><b>  系統(tǒng)設(shè)計 </b></p><p><b>  設(shè)計要求 </b></p>&l

30、t;p>  (1)開機后,電機不轉(zhuǎn),按下啟動鍵,電機旋轉(zhuǎn);按下正轉(zhuǎn)鍵,電機正轉(zhuǎn);按下反轉(zhuǎn)鍵,電機反轉(zhuǎn)</p><p>  (2)電路設(shè)計完成后,用Keil11和Proteus進行仿真,模擬操作實驗,實現(xiàn)電機正反轉(zhuǎn)</p><p><b>  設(shè)計構(gòu)思 </b></p><p>  實現(xiàn)設(shè)計功能的核心元素是單片機,它的可編程控制功能可以實現(xiàn)

31、電機速度的調(diào)節(jié)。要組成一個簡單的系統(tǒng),必須存在單片機信號的輸入與輸出,輸出信號控制步進電機的調(diào)速。而對步進電機而言,單片機的輸出信號太小,不足以驅(qū)動電機,故需加一個電機驅(qū)動器,實現(xiàn)電機驅(qū)動。</p><p>  由此可見,該系統(tǒng)應(yīng)由四大模塊構(gòu)成:輸入模塊、單片機控制模塊、步進電機驅(qū)動模塊、步進電機執(zhí)行模塊。</p><p>  圖 21 系統(tǒng)的設(shè)計思路圖</p><

32、p>  輸入模塊:為單片機提供輸入信號。根據(jù)要求,本設(shè)計應(yīng)存在四個輸入信號:啟動輸入、停止輸入、加速輸入、減速輸入。我們可以用鍵盤實現(xiàn)輸入的方法,使用鍵盤的四個鍵實現(xiàn)。</p><p>  單片機 :單片機具有可編程控制功能,能通過對單片機進行編程實現(xiàn)對步進電機速度的控制。由輸入模塊獲得輸入信號,根據(jù)單片機內(nèi)部程序處理,輸出相應(yīng)的控制信號。</p><p>  步進電機驅(qū)動模塊 :

33、實現(xiàn)驅(qū)動步進電機的功能。由單片機獲得信號,輸出信號對步進電機控制。</p><p>  步進電機執(zhí)行模塊 : 實際上就是步進電機本身。前面輸出的信號控制步進電機,實現(xiàn)對步進電機的控制,完成設(shè)計要求。</p><p><b>  設(shè)計元件的選型 </b></p><p>  輸入模塊可以使用鍵盤輸入,使用鍵盤的四個鍵分別代表啟動、停止、加速、減速

34、;單片機選擇MCS-51的核心成員AT89C51;步進電機驅(qū)動模塊可以選用小型步進電機電路ULN2003A </p><p>  系統(tǒng)核心元件的介紹 </p><p><b>  單片機簡介 </b></p><p><b>  單片機的基本組成</b></p><p>  單片機的結(jié)構(gòu)特征是將組成

35、計算機的基本部件集成在一塊晶體芯片上,構(gòu)成一臺功能獨特的、完整的單片微型計算機 </p><p>  圖 31 單片機的典型結(jié)構(gòu)框圖</p><p>  下面簡要介紹各組成部分。</p><p><b>  (1)中央處理器</b></p><p>  是單片機的核心單元,通常由算術(shù)邏輯運算部件ALU和控制部件構(gòu)成,

36、另外增設(shè)了“面向控制”的處理功能,如位處理、查表、多種跳轉(zhuǎn)、乘除法運算、狀態(tài)檢測、中斷處理等,增強了實時性。CPU就象人的大腦一樣,決定了單片機的運算能力和處理速度。 </p><p><b>  (2)存儲器</b></p><p>  單片機的存儲空間有兩種基本結(jié)構(gòu)。一種是普林斯頓結(jié)構(gòu)(Princeton),將程序和數(shù)據(jù)合用一個存儲器空間,即ROM和RAM的地址同

37、在一個空間里分配不同的地址。CPU訪問存儲器時,一個地址對應(yīng)惟一的一個存儲單元,可以是ROM,也可以是RAM,用同類的訪問指令。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(Harvard)結(jié)構(gòu)。CPU用不同的指令訪問不同的存儲器空間。由于單片機實際應(yīng)用中“面向控制”的特點,一般需要較大的程序存儲器。目前,包括MCS-51和80C51系列的單片機均采用程序存儲器和數(shù)據(jù)存儲器截然分開的哈佛結(jié)構(gòu)。</p>

38、<p> ?、?數(shù)據(jù)存儲器(RAM)</p><p>  在單片機中,用隨機存取的存儲器(RAM)來存儲數(shù)據(jù),暫存運行期間的數(shù)據(jù)、中間結(jié)果、緩沖和標(biāo)志位等,所以稱之為數(shù)據(jù)存儲器。一般在單片機內(nèi)部設(shè)置一定容量(64B~256B)的RAM,并以高速RAM的形式集成在單片機內(nèi),以加快單片機的運行速度。同時,單片機內(nèi)還把專用的寄存器和通用的寄存器放在同一片內(nèi)RAM統(tǒng)一編址,以利于運行速度的提高。對于某些應(yīng)用系

39、統(tǒng),還可以外部擴展數(shù)據(jù)存儲器。</p><p> ?、?程序存儲器(ROM)</p><p>  單片機的應(yīng)用中常常將開發(fā)調(diào)試成功后的應(yīng)用程序存儲在程序存儲器中,因為不再改變,所以這種存儲器都采用只讀存儲器ROM的形式。</p><p>  單片機內(nèi)部的程序存儲器常有以下幾種形式:</p><p>  掩膜ROM(Mask ROM) 它是由

40、半導(dǎo)體廠家在芯片生產(chǎn)封裝時,將用戶的應(yīng)用程序代碼通過掩膜工藝制作到單片機的ROM區(qū)中,一旦寫入后用戶則不能修改。所以它適合于程序已定型,并大批量使用的場合。8051就是采用掩膜ROM的單片機型號。</p><p>  EPROM 此種芯片帶有透明窗口,可通過紫外線擦除程序存儲器的內(nèi)容。應(yīng)用程序可通過專門的寫入器脫機寫入到單片機中,需要更改時可通過紫外線擦除后重新寫入。8751就是采用EPROM的單片機型號。&l

41、t;/p><p>  ROMLESS 這種單片機內(nèi)部沒有程序存儲器,使用時必須在外部并行擴展一片EPROM作為程序存儲器。8031就是ROMLESS型的單片機。</p><p>  OTP(one time programmable)ROM 這是用戶一次性編程寫入的程序存儲器。用戶可通過專用的寫入器將應(yīng)用程序?qū)懭隣TPROM中,但只允許寫入一次。</p><p> 

42、 Flash ROM(MTP ROM)閃速存儲器 這是一種可由用戶多次編程寫入的程序存儲器。它不需紫外線擦除,編程與擦除完全用電實現(xiàn),數(shù)據(jù)不易揮發(fā),可保存10年。編程/擦除速度快,4KB編程只需數(shù)秒,擦除只需10ms。例如AT89系列單片機,可實現(xiàn)在線編程,也可下載。這是目前大力發(fā)展的一種ROM,大有取代EPROM型產(chǎn)品之勢。</p><p><b> ?。?)并行I/O口</b><

43、/p><p>  單片機為了突出控制的功能,提供了數(shù)量多、功能強、使用靈活的并行I/O口。使用上不僅可靈活地選擇輸入或輸出,還可作為系統(tǒng)總線或控制信號線,從而為擴展外部存儲器和I/O接口提供了方便。</p><p><b> ?。?)串行I/O口</b></p><p>  高速的8位單片機都可提供全雙工串行I/O口,因而能和某些終端設(shè)備進行串行通

44、信,或者和一些特殊功能的器件相連接。</p><p>  (5)定時器/計數(shù)器</p><p>  在實際的應(yīng)用中,單片機往往需要精確地定時,或者需對外部事件進行計數(shù),因而在單片機內(nèi)部設(shè)置了定時器/計數(shù)器電路,通過中斷,實現(xiàn)定時/計數(shù)的自動處理。</p><p><b> ?。?)系統(tǒng)時鐘</b></p><p>  通

45、常需要外接石英晶體或其它振蕩源來提供時鐘信號輸入,也有的使用內(nèi)部RC振蕩器。</p><p><b>  單片機的特點 </b></p><p>  單片機獨特的結(jié)構(gòu)決定了它具有如下特點。</p><p> ?。?)高集成度、高可靠性</p><p>  單片機將各功能部件集成在一塊晶體芯片上,集成度很高,體積自然也是最

46、小的。芯片本身是按工業(yè)測控環(huán)境要求設(shè)計的,內(nèi)部布線很短,其抗工業(yè)噪音性能優(yōu)于一般通用的CPU。單片機程序指令,常數(shù)及表格等固化在ROM中不易破壞,許多信號通道均在一個芯片內(nèi),故可靠性高。</p><p><b> ?。?)控制功能強</b></p><p>  為了滿足對對象的控制要求,單片機的指令系統(tǒng)均有極豐富的條件:分支轉(zhuǎn)移能力、I/O口的邏輯操作及位處理能力,非

47、常適用于專門的控制功能。</p><p> ?。?)低電壓、低功耗</p><p>  為了滿足廣泛使用于便攜式系統(tǒng),許多單片機內(nèi)的工作電壓僅為1.8V~3.6V,而工作電流僅為數(shù)百微安。</p><p> ?。?)優(yōu)異的性能價格比</p><p>  單片機的性能極高。為了提高速度和運行效率,單片機已開始使用RISC流水線和DSP等技術(shù)。單

48、片機的尋址能力也已突破64KB的限制,有的已可達到1MB和16MB,片內(nèi)的ROM容量可達62MB,RAM容量則可達2MB。由于單片機的廣泛使用,因而銷量極大,各大公司的商業(yè)競爭更使其價格十分低廉,其性能價格比極高。</p><p><b>  單片機的應(yīng)用 </b></p><p>  由于單片機功能的飛速發(fā)展,它的應(yīng)用范圍日益廣泛,已遠遠超出了計算機科學(xué)的領(lǐng)域。小到

49、玩具、信用卡,大到航天器、機器人,從實現(xiàn)數(shù)據(jù)采集、過程控制、模糊控制等智能系統(tǒng)到人類的日常生活,到處都離不開單片機。其主要的應(yīng)用領(lǐng)域如下。</p><p> ?。?)在測控系統(tǒng)中的應(yīng)用</p><p>  單片機可以用于構(gòu)成各種工業(yè)控制系統(tǒng)、自適應(yīng)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)等。例如,工業(yè)上的鍋爐控制、電機控制、車輛檢測系統(tǒng)、水閘自動控制、數(shù)控機床及軍事上的雷達、導(dǎo)彈系統(tǒng)等。</p>

50、<p> ?。?)在智能化儀器儀表中的應(yīng)用</p><p>  單片機應(yīng)用于儀器儀表設(shè)備中促使儀器儀表向數(shù)字化、智能化、多功能化和綜合化等方向發(fā)展。單片機的軟件編程技術(shù)使長期以來測量儀表中的誤差修正、線性化的處理等難題迎刃而解。</p><p> ?。?)在機電一體化中的應(yīng)用</p><p>  單片機與傳統(tǒng)的機械產(chǎn)品結(jié)合使傳統(tǒng)的機械產(chǎn)品結(jié)構(gòu)簡化,控制

51、走向智能化,構(gòu)成新一代的機電一體化產(chǎn)品。這是機械工業(yè)發(fā)展的方向。</p><p> ?。?)在智能接口中的應(yīng)用</p><p>  計算機系統(tǒng),特別是較大型的工業(yè)測控系統(tǒng)中采用單片機進行接口的控制管理,單片機與主機并行工作,可大大提高系統(tǒng)的運行速度。例如,在大型數(shù)據(jù)采集系統(tǒng)中,用單片機對模/數(shù)轉(zhuǎn)換接口進行控制不僅可提高采集速度,還可以對數(shù)據(jù)進行預(yù)處理。如數(shù)字濾波、誤差修正、線性化處理等。&

52、lt;/p><p> ?。?)在人類生活中的應(yīng)用</p><p>  單片機由于其價格低廉、體積小巧,被廣泛應(yīng)用在人類生活的諸多場合,如洗衣機、電冰箱、空調(diào)器、電飯煲、視聽音響設(shè)備、大屏幕顯示系統(tǒng)、電子玩具、信用卡、樓宇防盜系統(tǒng)等。單片機將使人類的生活更加方便舒適,豐富多彩。</p><p>  AT89C51的簡介 </p><p>  AT8

53、9C51的結(jié)構(gòu) </p><p>  本系統(tǒng)以MCS-51單片機成員中的AT89C51為控制核心。AT89C51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序內(nèi)存,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序內(nèi)存既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中

54、,ATMEL公司的功能強大,低價位AT89C51單片機可為您提供許多高性價比的應(yīng)用場合,它靈活應(yīng)用于各種控制領(lǐng)域。</p><p>  其與MCS-51產(chǎn)品指令系統(tǒng)完全兼容,但性能有些自己的特征:</p><p>  4K字節(jié)在系統(tǒng)編程(ISP)Flash閃速內(nèi)存;1000次擦寫周期;2568字節(jié)的內(nèi)部RAM;3個16位定時/計數(shù)器;5個中斷源;全雙工串行UART通道;低功耗空閑和掉電模式

55、;中斷可從空閑模喚醒系統(tǒng);看門狗(WDT)及雙數(shù)據(jù)指針</p><p>  AT89C51的引腳介紹 </p><p>  1.電源引腳Vcc和GND </p><p>  Vcc:電源電壓,GND:接地端。</p><p>  2.時鐘電路引腳XTALl和XTAL2</p><p>  2個時鐘引腳XTAL1、XTA

56、L2外接晶體與片內(nèi)反相放大器構(gòu)成了1個振蕩器,它為單片機提供了時鐘控制信號。2個時鐘引腳也可外接獨立的晶體振蕩器。</p><p>  XTAL2:接外部晶體和微調(diào)電容的一端。在內(nèi)它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體的固有頻率。</p><p>  XTAL 1:接外部晶體的微調(diào)電容的另一端。在片內(nèi)它是振蕩電路反相放大器的輸入端。 </p><p>

57、;  3.控制信號引腳RST</p><p>  RST是復(fù)位信號輸入端,高電平有效。當(dāng)此輸入端保持兩個機器周期(24個時鐘振蕩周期)的高電平時,可以完成復(fù)位操作。</p><p>  4. I/O(輸入/輸出) P0、 P1、 P2和 P3</p><p>  標(biāo)準(zhǔn)51單片機都有4個I/O(輸入/輸出)口,分別為:</p><p>  P0

58、口:P0口是一個漏極開路的8位雙向輸入輸出口。作為漏極八路的輸出端口,每次能驅(qū)動8個Ls型TTL負載。當(dāng)P0口作為輸入口使用時,其先向鎖存器(地址80H)寫入全1,此時P0口的全部引腳懸空,叫作為高阻抗輸入。</p><p>  P1口:P1口是一個帶上拉電阻的8位準(zhǔn)雙向I/O端口每一位能驅(qū)動(吸收成輸出電流)4個LS型TTL負載。</p><p>  在P1口作為輸入口使用時,應(yīng)先向P1

59、口鎖存器(地址90H)寫入全1,上拉電阻接成高電平。</p><p>  P2口:P2口是一個帶內(nèi)部上接電阻的8位準(zhǔn)雙向輸入輸出口。P2口的每一位能驅(qū)動4個LS型TTL負載。</p><p>  P3口:P3口是一個帶內(nèi)部上接電阻的8位準(zhǔn)雙向輸入輸出口。P3口的每一位能驅(qū)動(吸收或輸出電流)4個LS型TTL負載。P3口與其它的I/O口有很大區(qū)別,它除作為—般準(zhǔn)雙向I/O口外,每個引腳還具有

60、專門的功能,見表3-1。</p><p>  表格 31 P3各引腳</p><p><b>  系統(tǒng)的硬件設(shè)計 </b></p><p><b>  輸入電路的設(shè)計</b></p><p>  此次設(shè)計用鍵盤實現(xiàn)輸入的方法。鍵盤在單片機應(yīng)用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù)、傳送命令等功能,是人干預(yù)

61、計算機的主要手段。下面對鍵盤進行簡單的介紹</p><p><b>  鍵盤輸入 </b></p><p><b>  1.鍵盤輸入的特點</b></p><p>  鍵盤是標(biāo)準(zhǔn)的輸入設(shè)備,它實際上是一組按鍵開關(guān)的集合。通常,鍵盤開關(guān)利用了機械觸點的合、斷作用。</p><p>  2.鍵盤按鍵的確

62、認 </p><p>  鍵的閉合與否,反映在行線輸出電壓上就是呈現(xiàn)高電平或低電平,如果高電平表示鍵斷開,低電平表示鍵閉合,通過對行線電平的檢測,便可確認按鍵是否按下。</p><p>  圖 41 鍵閉合時的行線輸出電壓波形</p><p>  3.如何消除按鍵抖動 </p><p>  常用軟件來消除按鍵抖動。其基本思想是:每次要確認鍵

63、盤是否有鍵按下的時候,對鍵盤進行兩次掃描,兩次掃描具有一段時間間隔。如果掃描結(jié)果都為低電平,則說明鍵已按下;反之,則沒有鍵按下。</p><p>  鍵盤接口的工作原理 </p><p>  常見的鍵盤可分為獨立按鍵式鍵盤和行列掃描式鍵盤。由于步進電機所用的輸入較少,所以此次設(shè)計用獨立式鍵盤。</p><p>  獨立式鍵盤就是各鍵相互獨立,每個鍵各接一根輸入線,通

64、過檢測輸入線的電平可以很容易的判斷哪個鍵被按下。</p><p>  該設(shè)計就是用了獨立是鍵盤的特點,用鍵盤的輸入類似于一般按鈕,簡單便捷。設(shè)計用了兩個鍵盤鍵,分別表示所輸入的信號:正轉(zhuǎn)、反轉(zhuǎn)。注意:兩輸入信號都具有啟動功能。</p><p>  AT89C51設(shè)計電路 </p><p>  89C51內(nèi)部有4KB閃爍存儲器,芯片本身就是個最小系統(tǒng)。在能滿足系統(tǒng)的性

65、能要求下,可與先考慮采用此種方案。用89C51單片機構(gòu)成最小應(yīng)用系統(tǒng)時,只要將單片機接上時鐘電路和復(fù)位電路即可。</p><p>  圖 42 AT89C51的最小系統(tǒng)</p><p><b>  時鐘電路 </b></p><p>  時鐘電路用于產(chǎn)生單片機工作時所必需的時鐘控制信號。單片機內(nèi)的各功能部件是以時鐘信號為基準(zhǔn)的,有條不紊的

66、工作。因此,時鐘頻率直接影響單片機的速度。</p><p>  時鐘電路設(shè)計有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。此次設(shè)計用的是內(nèi)部時鐘方式:AT89C5內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。。在XTAL1和XTAL2引腳上外接定時元件,內(nèi)部振蕩器就產(chǎn)生自激振蕩。定時元件通常采用石英晶體和微調(diào)電容組成的并聯(lián)諧振回路。晶體振蕩頻率可以在

67、1.2~12MHz之間選擇,電容值在5~30pF之間選擇。</p><p>  圖 43 內(nèi)部時鐘振蕩器</p><p><b>  復(fù)位電路 </b></p><p><b> ?。?)復(fù)位操作</b></p><p>  復(fù)位是單片機的初始化操作,只需給MCS-51的復(fù)位引腳RST加上大于2

68、個機器周期(24個振蕩周期)的高電平就可以使MCS-51復(fù)位。復(fù)位時, PC初始化為0000H ,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當(dāng)由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復(fù)位鍵重新啟動。除PC之外,復(fù)位操作還對其他一些寄存器有影響,它們的復(fù)位狀態(tài)如表4-1</p><p>  表格 41 一些寄存器的復(fù)位狀態(tài)</p><p&g

69、t;  由于單片機內(nèi)部的各個功能部件均受特殊功能寄存器控制,程序運行直接受程序計數(shù)器控制。表4-1中各寄存器復(fù)位時的狀態(tài)決定了單片機內(nèi)部有關(guān)功能部件的初始狀態(tài)。</p><p><b> ?。?)復(fù)位電路</b></p><p>  AT89C51的復(fù)位電路是由外部的復(fù)位電路來實現(xiàn)的。如圖4-4所示</p><p>  圖 44 AT89C

70、51的片內(nèi)復(fù)位結(jié)構(gòu)</p><p>  復(fù)位引腳通過施密特觸發(fā)器與復(fù)位電路相連,施密特觸發(fā)器用來抑制噪音,在每個機器周期的S5P2,施密特觸發(fā)器的輸出電平有復(fù)位電路采樣一次,然后才能得到內(nèi)部操作所需要的信號。</p><p>  復(fù)位操作有上電自動復(fù)位相按鍵手動復(fù)位兩種方式。</p><p>  上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。這佯,只要電源Vcc

71、的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。</p><p>  按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中,電平復(fù)位是通過使復(fù)位端經(jīng)電阻與Vcc電源接通而實現(xiàn)的;而按鍵脈沖復(fù)位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。 </p><p>  此次設(shè)計采用的是按鍵電平復(fù)位電路,如圖4-5所示</p><p>  圖 45 按鍵復(fù)位電路</p>&

72、lt;p><b>  步進電機驅(qū)動電路 </b></p><p>  因為使用的是小型步進電機,對電壓和電流要求不是很高,為了說明應(yīng)用原理,故采用最簡單的驅(qū)動電路,一般的驅(qū)動電路可以用圖4-6的形式。</p><p>  圖 46 一般驅(qū)動電路</p><p>  而在實際應(yīng)用中一般驅(qū)動路數(shù)不止一路,用上圖的分立電路體積大,很多場合用現(xiàn)

73、成的集成電路作為多路驅(qū)動。常用的小型步進電機驅(qū)動電路可以用ULN2003或ULN2803。此次設(shè)計使用的是ULN2003。ULN2003是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應(yīng)于各類要求高速大功率驅(qū)動的系統(tǒng)。ULN2003A由7組達林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時驅(qū)動7組負載的能力,為單片雙極型大功率高速集成電路。</p><

74、p>  圖 47 ULN2003內(nèi)部框圖及等效電路圖</p><p>  ULN2003A型高壓大電流達林頓晶體管陣列電路的典型應(yīng)用電路框圖如圖4-8所示。鉗位二極管用于保護線圈通斷時的反電動勢擊穿集成電路,可以看出,該電路的應(yīng)用非常簡單。</p><p>  圖 48 ULN2003的應(yīng)用驅(qū)動電路</p><p><b>  步進電機 <

75、;/b></p><p><b>  步進電機原理 </b></p><p>  步進電機是機電控制中一種常用的執(zhí)行機構(gòu),它的用途是將電脈沖轉(zhuǎn)化為角位移,它的的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,控制換相順序,即通電控制脈沖必須嚴(yán)格按照一定順序分別控制各相的通斷。通過控制

76、脈沖個數(shù)即可以控制角位移量,從而達到準(zhǔn)確定位的目的??刂撇竭M電機的轉(zhuǎn)向,即給定工作方式正序換相通電,步進電機正轉(zhuǎn),若按反序通電換相,則電機就反轉(zhuǎn)??刂撇竭M電機的速度,即給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步,兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。同時通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。</p><p>  步進電機勵磁控制 </p><

77、;p>  步進電機有三線式、五線式、六線式3種,但其控制方式均相同,都必須以脈沖電流驅(qū)動。若每旋轉(zhuǎn)一圈以20個勵磁信號來計算,則每個勵磁信號前進18o,其旋轉(zhuǎn)角度與脈沖數(shù)成正比,正反轉(zhuǎn)可由脈沖順序來控制。</p><p>  步進電機的勵磁方式可分為全部勵磁及半步勵磁,全部勵磁又有1相勵磁及2相勵磁之分,而半步勵磁又稱1~2相勵磁。</p><p><b> ?。?)1相勵

78、磁</b></p><p>  在每一瞬間只有一個線圈導(dǎo)通。消耗電力小,準(zhǔn)確度良好,但轉(zhuǎn)矩小,振動大,每送一勵磁信號可走18O。若以1相勵磁法控制步進電機正轉(zhuǎn),其勵磁順序表見表4-2。</p><p>  若勵磁信號反向傳送,則步進電機反轉(zhuǎn)</p><p>  表格 42 勵磁順序A-B-C-D-A</p><p>  (2)

79、2相勵磁法 </p><p>  在每一瞬間會有2個線圈同時導(dǎo)通。因其轉(zhuǎn)矩大,振動小,故為目前使用最多的勵磁方式,每送一勵磁信號可走18O。若以2相勵磁法控制步進電機正轉(zhuǎn),其勵磁順序見表4-3。若勵磁信號反向傳送,則步進電機反轉(zhuǎn)</p><p>  表格 43 勵磁順序AB-BC-CD-DA-AB</p><p> ?。?)1~2相勵磁法</p>&

80、lt;p>  為1相與2相輪流交替導(dǎo)通。因分辨率提高,且運轉(zhuǎn)平滑,每送一勵磁信號可走90,故也被廣泛使用。若以1相勵磁法控制步進電機正轉(zhuǎn),其勵磁順序見表4-4。若勵磁信號反向傳送,則步進電機反轉(zhuǎn)</p><p>  表格 44勵磁順序:A-AB-B-BC-C-CD-D-DA-A</p><p>  電動機的負載轉(zhuǎn)矩與速度成反比,速度越快負載轉(zhuǎn)矩越小,但速度快至其極限時,步進電機將不

81、再運轉(zhuǎn)。所以在每走一步后,程序必須延時一段時間。</p><p>  為了提高設(shè)計的分辨率,此次設(shè)計使用的是半步勵磁法。每送一勵磁信號,步進電機可走90,系統(tǒng)的軟件設(shè)計也按照此原理進行編程。</p><p><b>  系統(tǒng)的總體硬件電路</b></p><p>  如上所述,使用的是單片機AT89C51的最小系統(tǒng):單片機采用的內(nèi)部時鐘方式,晶

82、振的振蕩頻率為12MHZ,因此單片機的內(nèi)部時鐘頻率為12MHZ;單片機采用按鍵電平復(fù)位電路,利用手動按鍵復(fù)位。</p><p>  單片機的外部輸入信號由鍵盤的按鍵實現(xiàn)輸入,鍵盤的按鍵接單片機的P0口,P0.0、P0.1分別代表正轉(zhuǎn)輸入、反轉(zhuǎn)按鍵。注意:P0口作輸出口使用時,必須外加上拉電阻。</p><p>  單片機的輸出由P1口(P1.0、P1.1、P1.2、P1.3)實現(xiàn),與步進電

83、機驅(qū)動器ULN2003A的1B、2B、3B、4B對應(yīng)相連。ULN2003的A端與步進電機的相位引腳相連,實現(xiàn)步進電機的驅(qū)動。</p><p><b>  硬件電路圖如下:</b></p><p>  圖 49 系統(tǒng)的硬件電路圖</p><p><b>  系統(tǒng)的軟件設(shè)計 </b></p><p>

84、<b>  系統(tǒng)的程序分析 </b></p><p>  本程序主要由鍵盤程序、步進電機驅(qū)動程序兩部份組成。主程序首先初始化各變量,步進電機驅(qū)動的A、B引腳均輸出低電平,然后調(diào)用鍵盤程序,并作判斷,判斷是正轉(zhuǎn)鍵還是反轉(zhuǎn)鍵按下,并調(diào)用相應(yīng)步進電機驅(qū)動程序。</p><p>  通過鍵盤提供兩種控制信號,但由于鍵盤的按鍵輸出電壓是波動的,可采用軟件消抖動的方式。在第一次檢

85、測到有鍵按下時,該鍵對應(yīng)的行線為低電平,執(zhí)行一段10ms的子程序后,確認該鍵是否為低電平,如果仍為低電平,則確認為有鍵按下。</p><p>  步進電機的驅(qū)動工作是通過步進電機的半步勵磁方式實現(xiàn)的,由前述分析,當(dāng)正轉(zhuǎn)鍵按下時,步進電機應(yīng)正轉(zhuǎn)90,為實現(xiàn)這一角度,我們按照表4-4的勵磁順序?qū)Σ竭M電機進行控制。通過建立正轉(zhuǎn)模型,按順序循環(huán)將02H、06H、04H、0CH、08H、09H、01H、03H賦值給P1口,

86、這樣單片機的輸出信號可以驅(qū)動步進電機正轉(zhuǎn);如果要實現(xiàn)步進電機的反轉(zhuǎn),將正轉(zhuǎn)模型中的值按反向順序賦值給P1口,這樣單片機的輸出信號可以驅(qū)動步進電機的正轉(zhuǎn)。</p><p><b>  軟件流程圖 </b></p><p>  圖 51主程序流程圖</p><p><b>  鍵盤程序的設(shè)計 </b></p>

87、<p>  本設(shè)計使用的是獨立式鍵盤。我們對其進行軟件編程,采用軟件消抖的方法,以查詢工作方式檢測各鍵的狀態(tài)。當(dāng)有且只有一鍵按下時才予以識別,如有兩個或多個鍵同時按下時將不予處理。S1表示正轉(zhuǎn)鍵,S2表示反轉(zhuǎn)鍵,相應(yīng)的正轉(zhuǎn)處理程序LOOPZ、反轉(zhuǎn)處理程序LOOPN。</p><p><b>  鍵盤程序如下:</b></p><p><b>  

88、KEY : </b></p><p>  MOV A,P0 ;讀鍵盤狀態(tài)</p><p>  ANL A ,#03H ;屏蔽 高6位</p><p>  MOV R3,A ;保存鍵盤狀態(tài)</p><p>  LCALL DELAY10 ;調(diào)用延時10m

89、s子程序,軟件區(qū)鍵盤抖動</p><p>  MOV A,P0 ;再讀鍵盤狀態(tài)</p><p>  ANL A,#03H ;屏蔽 高6位</p><p>  CJNE A,R3,RETURN ;2次結(jié)果不一樣,說明是抖動引起的的</p><p>  CJNE A,#01H,LOOPN ;

90、2次結(jié)果一樣,有鍵按下,S1未按下,轉(zhuǎn)FZ1</p><p>  LJMP LOOPZ ;S1按下,轉(zhuǎn)S1鍵處理子程序LOOPZ</p><p><b>  FZ1: </b></p><p>  LJMP LOOPN ;S2按下,處理子程序LOOPN</p><p>  RETURN:

91、RET ;重鍵或無鍵按下,從子程序中返回</p><p>  DELAY10: MOV R7,#40</p><p>  DEL1: MOV R6,#25</p><p>  DEL2:DJNE R6,DEL2</p><p>  DJNE R7,DEL1</p><p><

92、;b>  RET</b></p><p><b>  步進電機驅(qū)動程序 </b></p><p><b>  驅(qū)動程序如下:</b></p><p><b>  ORG00H</b></p><p>  START:MOVDPTR,#TAB1<

93、/p><p>  MOVR0,#03</p><p>  MOVR4,#0</p><p>  MOVP1,#3</p><p>  WAIT:MOVP1,R0;初始角度,0度</p><p>  MOVP0,#0FFH</p><p>  JNBP0.0,POS

94、;判斷鍵盤狀態(tài)</p><p>  JNBP0.1,NEG</p><p><b>  SJMPWAIT</b></p><p>  JUST:JBP0.1,NEG;首次按鍵處理</p><p>  POS:MOVA,R4;正轉(zhuǎn)9度</p><p>  MOVCA,

95、@A+DPTR</p><p><b>  MOVP1,A</b></p><p>  ACALL DELAY</p><p><b>  INCR4</b></p><p><b>  AJMPKEY</b></p><p>  NEG:

96、MOVR4,#6;反轉(zhuǎn)9度</p><p><b>  MOVA,R4</b></p><p>  MOVC A,@A+DPTR</p><p>  MOVP1, A</p><p>  ACALL DELAY</p><p>  AJMP KEY<

97、;/p><p><b>  KEY : </b></p><p>  MOV A,P0 ;讀鍵盤狀態(tài)</p><p>  ANL A,#03H ;屏蔽 高6位</p><p>  MOV R3,A ;保存鍵盤狀態(tài)</p><p> 

98、 LCALL DELAY10 ;調(diào)用延時10ms子程序,軟件區(qū)鍵盤抖動</p><p>  MOV A,P0 ;再讀鍵盤狀態(tài)</p><p>  ANL A,#03H ;屏蔽 高6位</p><p>  CJNE A,R3,RETURN ;2次結(jié)果不一樣,說明是抖動引起的的</p><p

99、>  CJNE A,#01H,F(xiàn)Z1 ;2次結(jié)果一樣,有鍵按下,S1未按下,轉(zhuǎn)LOOPN</p><p>  CJNER4,#8,LOOPZ;是結(jié)束標(biāo)志</p><p>  MOVR4,#0</p><p>  RETURN: RET ;重鍵或無鍵按下,從子程序中返回</p><p>  DELAY

100、10:MOV R7,#40</p><p>  DEL1: MOV R6,#25</p><p>  DEL2:DJNE R6,DEL2</p><p>  DJNE R7,DEL1</p><p><b>  RET</b></p><p>  LOOPZ:MOVA,R4&

101、lt;/p><p>  MOVCA,@A+DPTR</p><p>  MOVP1,A;輸出控制脈沖</p><p>  ACALL DELAY;程序延時</p><p>  INCR4;地址加1</p><p><b>  AJMPKEY</b></p>

102、<p>  FZ1:JBP0.1,KEY</p><p>  CJNER4,#255,LOOPF;是結(jié)束標(biāo)志</p><p>  MOVR4,#7</p><p>  LOOPF:DECR4</p><p><b>  MOVA,R4</b></p><p>

103、  MOVCA,@A+DPTR</p><p>  MOVP1,A;輸出控制脈沖</p><p>  ACALL DELAY;程序延時</p><p><b>  AJMPKEY</b></p><p>  DELAY:MOVR6,#5</p><p>  DD1:

104、MOVR5,#080H</p><p>  DD2:MOVR7,#0</p><p>  DD3:DJNZR7,DD3</p><p>  DJNZR5,DD2</p><p>  DJNZR6,DD1</p><p><b>  RET</b></p><p

105、>  TAB1:DB02H,06H,04H,0CH</p><p>  DB08H,09H,01H,03H;正轉(zhuǎn)模型資料</p><p><b>  END</b></p><p><b>  電路的仿真</b></p><p><b>  仿真的介紹 </b&

106、gt;</p><p>  在設(shè)計過程中,由于一些硬件電路的局限性,或為了教學(xué)的方便,可通過用軟件的方式模擬硬件電路的運行,這就是電路的仿真。通過仿真,模擬硬件電路,從而更好的應(yīng)用于硬件電路。</p><p>  此次設(shè)計通過Keil11與Proteus聯(lián)機進行仿真。</p><p>  Proteus與其它單片機仿真軟件不同的是,它不僅能仿真單片機 CPU 的工作

107、情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應(yīng)用間脫節(jié)的矛盾和現(xiàn)象。</p><p>  利用Proteus和Keil的聯(lián)機,實現(xiàn)硬件軟件的結(jié)合,形成一個單片機的應(yīng)用系統(tǒng)。它的資源充足,而且提供一定的實例

108、進行參考,為設(shè)計提供方便。</p><p><b>  仿真的過程 </b></p><p>  (1)打開Keil,新建Keil項目,選擇AT89C51單片機作為CPU,新建匯編源文件,編寫程序,將其導(dǎo)入到“Source Group1”中。在“Option for Target”對話窗口中,選中“Output”選項卡中的“Create HEX File”選項和“

109、Debug”選項卡中的“Use:Proteus VSM Simular”選項。編譯匯編源程序,改正程序中的錯誤 </p><p> ?。?)在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,打開“Edit Component”對話窗口,設(shè)置單片機晶振頻率為12MHZ,在此窗口中的“Program File”欄中,選擇先前用Keil生成的HEX文件。在Proteus ISIS的菜單欄中選擇“File”

110、-“Save Design”選項,保存設(shè)計。在ProtreusISIS的菜單欄中,打開“Debug”下拉菜單,在菜單中選中“Use Remote Debug Monitor”選項,以支持與Keil的聯(lián)合調(diào)試。</p><p> ?。?)在Keil的菜單欄中選擇“Debug”-“Start/Stop Debug Session”選項,進入程序調(diào)試環(huán)境。按“F5”鍵,順序運行程序。調(diào)出“Proteus ISIS”界面

111、,按“正轉(zhuǎn)”和“反轉(zhuǎn)”按鍵,觀察步進電機的狀態(tài),如圖</p><p>  圖 61 仿真電路圖</p><p>  當(dāng)軟件進入仿真狀態(tài)時,初始狀態(tài)如圖6-1,按下正轉(zhuǎn)鍵,步進電機正轉(zhuǎn)9o,驅(qū)動器ULN2003的引腳顯示燈按表4-4的順序所示,依次亮起。觀察亮燈次序。按下反轉(zhuǎn)鍵,步進電機反向轉(zhuǎn)動9o,驅(qū)動器ULN2003的引腳顯示燈按表4-4反順序亮起。通過仿真模擬的方式實現(xiàn)電動機的正反轉(zhuǎn)

112、。</p><p><b>  結(jié)束與展望 </b></p><p>  經(jīng)過這幾個月的學(xué)習(xí),我完成了我的畢業(yè)設(shè)計:基于AT89C51的步進電機控制。用單片機的可編程控制功能控制步進電機的正反轉(zhuǎn)。為了完成此次設(shè)計,我翻閱了許多關(guān)于單片機的介紹書籍,以及關(guān)于單片機硬件電路的設(shè)計的介紹。這些對我的畢業(yè)設(shè)計有著很大幫助,也使我對單片機有著更進一步的了解。此外我還翻閱了一

113、些外文文獻,對我的英語能力也有提高。這次畢業(yè)設(shè)計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。主要依靠自己,在實踐中學(xué)習(xí),在學(xué)習(xí)中實踐,學(xué)習(xí)了以往上課時不存學(xué)到的東西。</p><p>  以前的步進電機,是通過手動控制。而隨著科技不斷的發(fā)展,單片機在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計算、商業(yè)管理和辦公室自動化等方面獲得了廣泛的應(yīng)用。它的發(fā)展迅速,已滲透到諸多學(xué)科的領(lǐng)域,以及人們生

114、活的各個方面。用單片機控制的步進電機,可以通過對程序的控制,來控制步進電機正反轉(zhuǎn)或?qū)崿F(xiàn)其他功能。方便,快捷。</p><p>  雖然此次設(shè)計的功能很簡單,但是限于能力的約束,在電路設(shè)計、軟件編程等難免會出現(xiàn)許多不足的地方,希望老師能夠給予批評和指正,我必將努力改正和學(xué)習(xí),爭取做出一篇優(yōu)秀的畢業(yè)設(shè)計。</p><p><b>  參考文獻 </b></p>

115、<p>  [1] 張毅剛,彭喜元,董繼成.單片機原理及應(yīng)用[M].北京:高等教育出版社,2003</p><p>  [2] 張毅剛.MCS-51單片機應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997</p><p>  [3] 李廣弟.單片機基礎(chǔ)[M].北京:北京航天航空大學(xué)出版社,2001</p><p>  [4] 姚惠林,段波. 應(yīng)用于

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論