




已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)電系統(tǒng)課程設(shè)計說明書題目 單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn) 年 級 10 專 業(yè) 班 級 學(xué) 號 學(xué)生姓名 設(shè)計時間 2011.11.072011.11.25 指導(dǎo)教師 機(jī)械工程學(xué)院機(jī)電工程系常熟理工學(xué)院機(jī)械工程學(xué)院課程設(shè)計成績評定課程名稱: 機(jī)電系統(tǒng)課程設(shè)計 學(xué)生姓名: 周旭濤 班級 yz02101 學(xué)號: 45 答辯記錄表答辯教師答辯時間答辯情況記錄成績評定表要求評分比例%得分平時成績遵守紀(jì)律,刻苦鉆研,虛心好學(xué)20說明書質(zhì)量條理清楚,內(nèi)容全面,重點突出30圖紙質(zhì)量圖樣正確規(guī)范,結(jié)構(gòu)合理20答辯成績表達(dá)清楚,具有設(shè)計分析能力30評語:總評成績: 指導(dǎo)教師簽名: 常熟理工學(xué)院機(jī)械工程學(xué)院機(jī)電系統(tǒng)課程設(shè)計任務(wù)書姓名 班級 學(xué)號 設(shè)計題目 單片機(jī)控制步進(jìn)電機(jī)(軟件設(shè)計) 設(shè)計任務(wù):(1)開始通電時,步進(jìn)電機(jī)停止轉(zhuǎn)動。(2) 單片機(jī)分別接有按鈕開關(guān)k1、k2和k3用來控制步進(jìn)電機(jī)的轉(zhuǎn)向,要求如下: 當(dāng)按下k1時,步進(jìn)電機(jī)正轉(zhuǎn); 當(dāng)按下k2時,步進(jìn)電機(jī)反轉(zhuǎn); 當(dāng)按下k3時,步進(jìn)電機(jī)停止轉(zhuǎn)動。(3)正轉(zhuǎn)采用1相激磁方式,反轉(zhuǎn)采用12相激磁方式。設(shè)計工作量:(1)算法的確定(2)畫程序工作流程度(3)時序表的繪制(4)匯編程序的編寫指導(dǎo)教師封士彩 蔣曉梅設(shè)計時2011年11月7日2011年11月25日目 錄第1章緒論51.1 單片機(jī)的發(fā)展及應(yīng)用1.2 電動機(jī)的基礎(chǔ)知識1.3 匯編語言的介紹及應(yīng)用第2章 硬件電路描述122.1 確定元器件的型號 2.1.1 at89c51單片機(jī) 2.1.2 uln2003芯片2.2 步進(jìn)電機(jī)2.2.1 永磁式步進(jìn)電機(jī)2.2.2 步進(jìn)電機(jī)原理以及原理圖第3章 程序設(shè)計163.1 編程3.2 流程圖3.3 詳細(xì)程序 3.3.1代碼注解 3.3.2程序分析致謝.22參考文獻(xiàn).23附錄.24第1章 緒論1.1單片機(jī)的發(fā)展及應(yīng)用1.1.1單片機(jī)的簡介 單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(microcontroller unit),常用英文字母的縮寫mcu表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有cpu的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和cpu集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。intel的z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。 早期的單片機(jī)都是8位或4位的。其中最成功的是intel的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了mcs51系列單片機(jī)系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機(jī),但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著intel i960系列特別是后來的arm系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高端的32位單片機(jī)主頻已經(jīng)超過300mhz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的windows和linux操作系統(tǒng)。 單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。事實上單片機(jī)是世界上數(shù)量最多的計算機(jī)。現(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。手機(jī)、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。而個人電腦中也會有為數(shù)不少的單片機(jī)在工作。汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過pc機(jī)和其他計算的總和,甚至比人類的數(shù)量還要多。 單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機(jī),和計算機(jī)相比,單片機(jī)只缺少了i/o設(shè)備。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。 單片機(jī)內(nèi)部也用和電腦功能類似的模塊,比如cpu,內(nèi)存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可.用它來做一些控制電器一類不是很復(fù)雜的工作足矣了。我們現(xiàn)在用的全自動滾筒洗衣機(jī)、排煙罩、vcd等等的家電里面都可以看到它的身影!.它主要是作為控制部分的核心部件。 它是一種在線式實時控制計算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計算機(jī)的(比如家用pc)的主要區(qū)別。 單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的cd4000系列這些純硬件來搞定的話,電路一定是一塊大pcb板!但是如果要是用美國70年代成功投放市場的系列單片機(jī),結(jié)果就會有天壤之別!只因為單片機(jī)的通過你編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性! 由于單片機(jī)對成本是敏感的,所以目前占統(tǒng)治地位的軟件還是最低級匯編語言,它是除了二進(jìn)制機(jī)器碼以上最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經(jīng)達(dá)到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機(jī)沒有家用計算機(jī)那樣的cpu,也沒有像硬盤那樣的海量存儲設(shè)備。一個可視化高級語言編寫的小程序里面即使只有一個按鈕,也會達(dá)到幾十k的尺寸!對于家用pc的硬盤來講沒什么,可是對于單片機(jī)來講是不能接受的。 單片機(jī)在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機(jī)上的操作系統(tǒng)和應(yīng)用軟件拿到家用pc上來運(yùn)行,家用pc的也是承受不了的。 可以說,二十世紀(jì)跨越了三個“電”的時代,即電氣時代、電子時代和現(xiàn)已進(jìn)入的電腦時代。不過,這種電腦,通常是指個人計算機(jī),簡稱pc機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計算機(jī),大多數(shù)人卻不怎么熟悉。這種計算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。因為它體積小,通常都藏在被控機(jī)械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了?,F(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型”,如智能型洗衣機(jī)等?,F(xiàn)在有些工廠的技術(shù)人員或其它業(yè)余電子開發(fā)者搞出來的某些產(chǎn)品,不是電路太復(fù)雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產(chǎn)品未使用單片機(jī)或其它可編程邏輯器件上。1.1.2單片機(jī)的應(yīng)用目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能ic卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域1.1.3單片機(jī)的程序語言和軟件1機(jī)器語言(machine language)2匯編語言 (assemble)3高級語言 (high level language)機(jī)器語言: 單片機(jī)應(yīng)用系統(tǒng)只使用機(jī)器語言(指令的二進(jìn)制代碼,又稱指令代碼)。機(jī)器語言指令組成的程序稱目標(biāo)程序。 mcs-51兩個寄存器相加的機(jī)器語言指令:00101000匯編語言: 與機(jī)器語言指令一一對應(yīng)的英文單詞縮寫,稱為指令助記符。匯編語言編寫的程序稱為匯編語言程序。 mcs-51兩個寄存器相加匯編語言指令:add a,r0高級語言: 高級語言源程序c-51、c、pl/m51等。簡單控制程序不太長。復(fù)雜多種多樣的控制對象,少有現(xiàn)成程序借鑒。簡單系統(tǒng)不含管理和開發(fā)功能。復(fù)雜系統(tǒng)實時系統(tǒng),需要監(jiān)控系統(tǒng) (甚至實時多任務(wù)操作系統(tǒng))。1.2 電動機(jī)的基礎(chǔ)知識1.2.1 電動機(jī)的簡介電動機(jī)(motors)是把電能轉(zhuǎn)換成機(jī)械能的一種設(shè)備。它是利用通電線圈(也就是定子繞組)產(chǎn)生旋轉(zhuǎn)磁場并作用于轉(zhuǎn)子鼠籠式式閉合鋁框形成磁電動力旋轉(zhuǎn)扭矩。電動機(jī)按使用電源不同分為直流電動機(jī)和交流電動機(jī),電力系統(tǒng)中的電動機(jī)大部分是交流電機(jī),可以是同步電機(jī)或者是異步電機(jī)(電機(jī)定子磁場轉(zhuǎn)速與轉(zhuǎn)子旋轉(zhuǎn)轉(zhuǎn)速不保持同步速)。電動機(jī)主要由定子與轉(zhuǎn)子組成,通電導(dǎo)線在磁場中受力運(yùn)動的方向跟電流方向和磁感線(磁場方向)方向有關(guān)。電動機(jī)工作原理是磁場對電流受力的作用,使電動機(jī)轉(zhuǎn)動。1.2.2 電動機(jī)的分類1.按工作電源分類 根據(jù)電動機(jī)工作電源的不同,可分為直流電動機(jī)和交流電動機(jī)。其中交流電動機(jī)還分為單相電動機(jī)和三相電動機(jī)。2.按結(jié)構(gòu)及工作原理分類 電動機(jī)按結(jié)構(gòu)及工作原理可分為直流電動機(jī),異步電動機(jī)和同步電動機(jī)。同步電動機(jī)還可分為永磁同步電動機(jī)、磁阻同步電動機(jī)和磁滯同布電動機(jī)。異步電動機(jī)可分為感應(yīng)電動機(jī)和交流換向器電動機(jī)。感應(yīng)電動機(jī)又分為三相異步電動機(jī)、單相異步電動機(jī)和罩極異步電動機(jī)等。交流換向器電動機(jī)又分為單相串勵電動機(jī)、交直流兩用電動機(jī)和推斥電動機(jī)。3.按啟動與運(yùn)行方式分類 電動機(jī)按起動與運(yùn)行方式可分為電容起動式單相異步電動機(jī)、電容運(yùn)轉(zhuǎn)式單相異步電動機(jī)、電容起動運(yùn)轉(zhuǎn)式單相異步電動機(jī)和分相式單相異步電動機(jī)。1.2 步進(jìn)電機(jī)的分類及應(yīng)用1.2.1 步進(jìn)電機(jī)的分類步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動器就是為步進(jìn)電機(jī)分時供電的,多相時序控制器 雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計算機(jī)等許多專業(yè)知識。 步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。 步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點講:當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度(即步進(jìn)角)。您可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時您可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。 步進(jìn)電機(jī)分三種:永磁式(pm) ,反應(yīng)式(vr)和混合式(hb)永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度 或15度;反應(yīng)式步進(jìn)一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動都很大。在歐美等發(fā)達(dá)國家80年代已被淘汰;混合式步進(jìn)是指混合了永磁式和反應(yīng)式的優(yōu)點。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。 現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)(vr)、永磁式步進(jìn)電機(jī)(pm)、混合式步進(jìn)電機(jī)(hb)和單相式步進(jìn)電機(jī)等。 永磁式步進(jìn)電機(jī)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度 或15度; 永磁式步進(jìn)電動機(jī)輸出力矩大,動態(tài)性能好,但步距角大。 反應(yīng)式步進(jìn)電機(jī)一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動都很大。反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩。 反應(yīng)式步進(jìn)電動機(jī)結(jié)構(gòu)簡單,生產(chǎn)成本低,步距角小,但動態(tài)性能差。 混合式步進(jìn)電動機(jī)綜合了反應(yīng)式、永磁式步進(jìn)電動機(jī)兩者的優(yōu)點,它的步距角小,出力大,動態(tài)性能好,是目前性能最高的步進(jìn)電動機(jī)。它有時也稱作永磁感應(yīng)子式步進(jìn)電動機(jī)。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。1.2.2 步進(jìn)電動機(jī)的應(yīng)用步進(jìn)電動機(jī)多用于數(shù)控車床和機(jī)器人系統(tǒng)中。在現(xiàn)代工業(yè),特別是航空、航天、電子等領(lǐng)域中,要求完成的工作量大,任務(wù)復(fù)雜,精度高,利用人工操作不僅勞動強(qiáng)度大,生產(chǎn)效率低,且難以達(dá)到所要求的精度,還有一些工作環(huán)境是對人體健康有害的或人類無法到達(dá)的,這就需要數(shù)控機(jī)床和機(jī)器人來完成這些工作。另外,在計算機(jī)外設(shè)和辦公室自動化設(shè)備中也大量運(yùn)用步進(jìn)電機(jī),如磁盤驅(qū)動、打印機(jī)、繪圖儀和復(fù)印機(jī)等1.3匯編語言簡介及應(yīng)用1.3.1匯編語言簡介匯編語言是一種功能很強(qiáng)的程序設(shè)計語言,也是利用計算機(jī)所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語 匯編語言言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機(jī)器可執(zhí)行的代碼。高級的匯編器如masm,tasm等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機(jī)器硬件精確控制的程序。 循環(huán)組織方式1.3.2匯編語言應(yīng)用匯編語言作為最基本的編程語言之一,匯編語言雖然應(yīng)用的范圍不算很廣,但重要性卻勿庸置疑,因為它能夠完成許多其它 語言所無法完成的功能。就拿linux內(nèi)核來講,雖然絕大部分代碼是用c語言編寫的,但仍然不可避免地在某些關(guān)鍵地方使用了匯編代碼,其中主要是在linux的啟動部分。由于這部分代碼與硬件的關(guān)系非常密切,即使是c語言也會有些力不從心,而匯編語言則能夠很好揚(yáng)長避短,最大限度地發(fā)揮硬件的性能。 1.70%以上的系統(tǒng)軟件是用匯編語言編寫的。 2.某些快速處理、位處理、訪問硬件設(shè)備等高效程序是用匯編語言編寫的。 3.某些高級繪圖程序、視頻游戲程序是用匯編語言編寫的。 匯編語言是理解整個計算機(jī)系統(tǒng)的最佳起點和最有效途徑,人們經(jīng)常認(rèn)為匯編語言的應(yīng)用范圍很小,而忽視它的重要性。其實匯編語言對每一個希望學(xué)習(xí)計算機(jī)科學(xué)與技術(shù)的人來說都是非常重要的,是不能不學(xué)習(xí)的語言。所有可編程計算機(jī)都向人們提供機(jī)器指令,通過機(jī)器指令人們能夠使用機(jī)器的邏輯功能。所有程序,不論用何種語言編制,都必須轉(zhuǎn)成機(jī)器指令,運(yùn)用機(jī)器的邏輯功能,其功能才能得以實現(xiàn)。機(jī)器的邏輯功能,軟件系統(tǒng)功能構(gòu)筑其上,硬件系統(tǒng)功能運(yùn)行于下。匯編語言直接描述機(jī)器指令,比機(jī)器指令容易記憶和理解。通過學(xué)習(xí)和使用匯編語言,能夠感知、體會、理解機(jī)器的邏輯功能,向上為理解各種軟件系統(tǒng)的原理,打下技術(shù)理論基礎(chǔ);向下為掌握硬件系統(tǒng)的原理,打下實踐應(yīng)用基礎(chǔ)。學(xué)習(xí)匯編語言,向上可以理解軟件,向下能夠感知硬件,是我們理解整個計算機(jī)系統(tǒng)的最佳起點。第2章 硬件電路描述2.1確定元器件的型號2.1.1 at89c51 單片機(jī) at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價的方案。圖2.1 at89c51單片機(jī)2.1.2 uln2003芯片單片機(jī)的輸出電流太小,不能直接連接步進(jìn)電機(jī),需要加驅(qū)動電路。對于電流小于0.5a的步進(jìn)電機(jī),可以采用uln2003類的驅(qū)動ic.如圖2.2所示為uln2003系列驅(qū)動器引腳圖,圖左邊1-7引腳為輸入端,接單片機(jī)輸入端,引腳8接地;右側(cè)10-16引腳為輸入端,接步進(jìn)電機(jī),引腳9接電源+5v,該驅(qū)動器可提供最高0.5a的電流。圖2.2 uln20032.2 步進(jìn)電機(jī)2.2.1 永磁式步進(jìn)電機(jī)選取35by48s03型步進(jìn)電機(jī),內(nèi)部接線圖如下: 從圖2.4中可以看出,電機(jī)共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5根引出線。要使用步進(jìn)電機(jī)轉(zhuǎn)動,只要輪流給各引出端通電即可。將com端標(biāo)識為c,只要ac、c、bc、 c,輪流加電就能驅(qū)動步進(jìn)電機(jī)運(yùn)轉(zhuǎn),加電的方式可以有多種,如果將com端接正電源,那么只要用開關(guān)元件(如三極管),將a、b、輪流接地。圖2.4 永磁型步進(jìn)電機(jī)結(jié)構(gòu)原理圖2.2.2 步進(jìn)電機(jī)原理以及原理圖 圖2.2所示。k1、k2和k3按鈕開關(guān)分別接在單片機(jī)的p3.2p3.4引腳上,作為控制信號的輸入端,輸入端直接采用uln2003驅(qū)動電路控制步進(jìn)電機(jī)的轉(zhuǎn)向。圖2.2 uln2003第3章 程序設(shè)計設(shè)計目的本程序通過k1、k2和k3三個按鈕開關(guān)控制步進(jìn)電機(jī)轉(zhuǎn)動和改變轉(zhuǎn)向,電動機(jī)使用1-2相激磁,我將通過匯編語言,編寫程序以實現(xiàn)步進(jìn)電機(jī)的實驗?zāi)康?,編程時采用制表的方法。正轉(zhuǎn)和反轉(zhuǎn)的脈沖信號頻率是相通的故,正轉(zhuǎn)使用1相激磁法,但由于使用激磁方式不一樣,反轉(zhuǎn)使用了1-2相激磁法,故反轉(zhuǎn)速度為正轉(zhuǎn)的一半。從而來控制步進(jìn)電機(jī)接受一定的脈沖信號,實現(xiàn)連續(xù)的正轉(zhuǎn)或反轉(zhuǎn)運(yùn)動。編程的步驟 (一)分析問題 (二)確定算法 (三)畫程序流程圖 (四)編寫程序 (五)上機(jī)調(diào)試 3.1 編程編程采用制表的方法,步進(jìn)電機(jī)正轉(zhuǎn)采用1相激磁方式,時序如表所示表3-1 1相激磁方式正轉(zhuǎn)時序步進(jìn)p0.3p0.2p0.1p0.00fch110000f9h201000f3h300010f6h40010步進(jìn)電機(jī)反轉(zhuǎn)采用1-2相激磁方式,時序如表表3-2 1-2相激磁反轉(zhuǎn)時序步進(jìn)p0.3p0.2p0.1p0.00f7h101110f3h200110fbh310110f9h410010fdh511010fch611000feh711100f6h801103.2 流程圖匯編語言程序具有4種結(jié)構(gòu)形式,即順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和子程序結(jié)構(gòu)。 根據(jù)本次設(shè)計課題,選用分支結(jié)構(gòu): 程序分支是通過條件轉(zhuǎn)移指令實現(xiàn)的,即根據(jù)條件對程序的執(zhí)行進(jìn)行判斷,滿足條件則進(jìn)行程序轉(zhuǎn)移,不滿足條件就順序執(zhí)行程序。程序設(shè)計流程如圖所示:開始按鍵掃描按k1正轉(zhuǎn)按k2反轉(zhuǎn)按k3停止讀取表格輸出結(jié)束輸出3.3 詳細(xì)程序01 k1 equ p3.2 ;設(shè)定p3.2以k1表示02 k2 equ p3.3 ;設(shè)定p3.3以k2表示03 k3 equ p3.4 ;設(shè)定p3.4以k3表示04 05 stop: mov p0,#offh ;步進(jìn)電機(jī)停止06 loop: jnb k1,z_m2 ;是否按k1,是則正傳07 jnb k2,f_m2 ;是否按k2,是則反轉(zhuǎn)08 jnb k3,stop1 ;是否按k3,是則停止09 jmp loop ;跳轉(zhuǎn)至loop處1011 stop1: acall delay ;按k3的消除抖動12 jnb k3,$ ;k3放開否13 acall delay ;放開消除抖動14 jmp stop ;電機(jī)停止1516 z_m2: acall delay ;按k1的消除抖動17 jnb k1,$ ;k1放開否18 acall delay ;放開消除抖動19 jmp z_m ;轉(zhuǎn)至z_m處2021 f_m2: acall delay ;按k2的消除抖動 22 jnb k2,$ ;k2放開否23 acall delay ;放開消除抖動24 jmp f_m ;轉(zhuǎn)至f_m處,循環(huán)25 ;正轉(zhuǎn)子程序 26 z_m: mov r0,#00h ;正轉(zhuǎn)到table取碼指針初值27 z_m1: mov a,r0 ;到table取碼28 mov dptr,#table ;存表29 movc a,a+dptr ;取表代碼30 jz z_m ;是否取到結(jié)束碼?31 mov p0,a ;輸出至p0,正轉(zhuǎn)32 jnb k3,stop1 ;是否按k3,是則停止運(yùn)轉(zhuǎn) 33 jnb k2,f_m2 ;是否按k2,是則反轉(zhuǎn)34 acall delay ;步進(jìn)電機(jī)轉(zhuǎn)速35 inc r0 ;取下一個碼36 jmp z_m1 ;轉(zhuǎn)至z_m處,循環(huán)37 ret38 ;反轉(zhuǎn)子程序39 f_m: mov r0,#05 ;反轉(zhuǎn)到table取碼指針初值40 f_m1: mov a,r0 ;到table取碼41 mov dptr,#table ;存表42 movc a,a+dptr ;取表代碼43 jz f_m ;是否取到結(jié)束碼?44 mov p0,a ;輸出至p0,反轉(zhuǎn)45 jnb k3,stop1 ;是否按k3,是則停止運(yùn)轉(zhuǎn)46 jnb k1,z_m2 ;是否按k1,是則正轉(zhuǎn)47 acall delay ;步進(jìn)電機(jī)轉(zhuǎn)速48 inc r0 ;取下一個碼49 jmp f_m1 ;轉(zhuǎn)至f_m1處,循環(huán)50 ret5152 delay: mov r6,#40 ;延時時間20ms53 d1: mov r7,#24854 djnz r7,$55 djnz r6,d156 ret57 ;控制碼表58 table59 db 0fch, of9h, 0f3h, 0f6h ;正轉(zhuǎn)60 db 00h ;正轉(zhuǎn)結(jié)束碼61 db 0f7h, 0f3h, 0fbh, 0f9h ;反轉(zhuǎn)62 db 0fdh, 0fch, 0feh, 0f6h63 db 00h ;反轉(zhuǎn)結(jié)束碼6465 end ;程序結(jié)束3.3.1 代碼注解 主要標(biāo)號說明loop: 按鍵掃描stop1: k3鍵消除抖動z_m2: k1鍵消除抖動f_m2: k2鍵消除抖動z_m: 反轉(zhuǎn)子程序f_m: 正轉(zhuǎn)子程序delay: 延時子程序table: 控制碼表3.3.2 程序分析0103: 將p3.2、p3.3、p3.4引腳分別用k1、k2、k3表示。05: 使步進(jìn)電機(jī)停止轉(zhuǎn)動。0609: 對按鍵掃描。當(dāng)按鍵開關(guān)未按下時,相應(yīng)引腳為高電平;當(dāng)開關(guān)按下時,相應(yīng)引腳為低電平。所以通過循環(huán)檢測按鍵開關(guān)所連接的引腳電平的高低,就可以判斷出開關(guān)狀態(tài)。11: 按k3時,調(diào)延時子程序,延時一小段時間來消除按鍵時的抖動。12: 按鍵未開放時,程序?qū)⒃诖说却?,只有按鍵開放后,程序才會向下運(yùn)行。13:按鍵放開時,調(diào)延時子程序,延時一小段時間來消除按鍵放開時的抖動。14: 當(dāng)確定k3按鍵被按下又被放開后,才認(rèn)定是一次有效按鍵,程序?qū)⑻D(zhuǎn)到stop處,執(zhí)行停機(jī)語句,使電機(jī)停止轉(zhuǎn)動。1619: 與上述11-14行語句原理相同,是對k1鍵按下和放開時消除抖動的處理,并跳轉(zhuǎn)到z_m處,執(zhí)行正傳子程序。2124: 對按k2鍵時消除抖動的處理,并跳轉(zhuǎn)到z_m處,執(zhí)行反轉(zhuǎn)子程序。26: 正轉(zhuǎn)子程序開始,將r0賦值為0,使取表指針指向表table的第一個碼位置。27: 將r0值送入累加器a。28: 將編制的電機(jī)控制碼表table存入特殊寄存器dptr。29: 從特殊寄存器dptr中取出第一個控制碼。30: 檢查是否取到結(jié)束碼,結(jié)束碼為00h。如果取到結(jié)束碼00h,jz指令會使程序跳轉(zhuǎn)到標(biāo)號z_m處,從第一個碼開始讀??;如果取到的不是結(jié)束碼00h,程序向下運(yùn)行。31: 將取到的數(shù)據(jù)由p0端輸出。32: 檢查是否按k3,是則停止運(yùn)轉(zhuǎn)。33: 檢查是否按k2,是則反轉(zhuǎn)。34: 調(diào)用延時子程序。此處調(diào)用延時子程序與前邊調(diào)用的不同,前邊調(diào)用延時子程序是為了消除按鍵的抖動。 此處調(diào)用延時子程序是電機(jī)運(yùn)轉(zhuǎn)兩步之間的間隔時間,決定電機(jī)的轉(zhuǎn)速,延時時間長,送入電機(jī)的脈沖信號頻率低,電機(jī)轉(zhuǎn)速慢;延時時間短,送入電機(jī)的脈沖信號頻率高,電機(jī)轉(zhuǎn)速快。所以在此處改變延時時間就可以改變電機(jī)轉(zhuǎn)速。35: 使r0的值為1,取下一個碼。36:跳轉(zhuǎn)到z_m處,開始新的循環(huán)。37:正轉(zhuǎn)子程序返回。3950:反轉(zhuǎn)子程序。其中,第39行語句將r0賦值為5,是為了取碼時從反轉(zhuǎn)控制碼中第一個碼開始讀取。5256:延時子程序,延時的時間為20ms。5863:步進(jìn)電機(jī)激磁信號編碼表。其中第59行為電機(jī)正轉(zhuǎn)一相激磁碼;第60行為正轉(zhuǎn)結(jié)束碼;第61、62行為反轉(zhuǎn)1-2激磁碼;第63行為反轉(zhuǎn)結(jié)束碼。65:程序結(jié)束。 參考文獻(xiàn)單片機(jī)應(yīng)用技術(shù) 北京理工大學(xué)出版社 倪志蓮 單片機(jī)實訓(xùn)教程 北京大學(xué)出版社 張營輝、貢雪梅單片機(jī)原理與應(yīng)用設(shè)計 電子工業(yè)出版社 張毅剛、彭喜元基于proteus的單片機(jī)應(yīng)用技術(shù) 電子工業(yè)出版社 江世明51單片機(jī)開發(fā)入門與典型實例 人民郵電出版社 王守中、聶元銘開發(fā)技術(shù)實例單片機(jī) 機(jī)械工業(yè)出版社 張元良 王建軍 單片機(jī)設(shè)計案例時間教程 北京郵電大學(xué)出版社 王慶利 袁建敏匯編語言程序設(shè)計 清華大學(xué)出版社 王爽致謝詞在本文完成之際,無論我的設(shè)計是否能夠真的投入使用,這里面每一個控
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 購買住房建材協(xié)議書
- 終止借用合同協(xié)議書
- 綠化草種購買協(xié)議書
- 聯(lián)合信用簽署協(xié)議書
- 包子品牌合作協(xié)議的法律基礎(chǔ)
- 苗木投資合作協(xié)議
- 購房合同履行保證協(xié)議
- 年度經(jīng)營目標(biāo)協(xié)議
- 農(nóng)業(yè)項目合作流轉(zhuǎn)協(xié)議
- 采購報名協(xié)議
- 山東省城市園林綠化鄉(xiāng)土適生植物名錄2024
- 抖音簽約金牌主播合同范例
- 2025年云南省廣播電視局直屬事業(yè)單位招聘62人管理單位筆試遴選500模擬題附帶答案詳解
- 空氣動力學(xué)領(lǐng)域大模型研究思考與展望
- 【MOOC】美在民間-南京農(nóng)業(yè)大學(xué) 中國大學(xué)慕課MOOC答案
- 透析器產(chǎn)業(yè)規(guī)劃專項研究報告
- 鼻咽癌放射治療技術(shù)
- 航空發(fā)動機(jī)部件快速修復(fù)技術(shù)
- GB/T 44713-2024節(jié)地生態(tài)安葬服務(wù)指南
- 避孕方法課件教學(xué)課件
- 2024年大學(xué)生求職面試技巧培訓(xùn)課件
評論
0/150
提交評論