硬件課程設(shè)計-步進(jìn)機(jī)控制_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  計算機(jī)科學(xué)與技術(shù)學(xué)院</p><p><b>  硬件課程設(shè)計報告</b></p><p>  設(shè)計題目: 步進(jìn)電機(jī)控制系統(tǒng)</p><p>  專 業(yè): 網(wǎng)絡(luò)工程</p><p><b>  摘 要</b></p><p><b&

2、gt;  步進(jìn)電機(jī)</b></p><p>  步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為“步距”,它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時

3、可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。</p><p>  內(nèi)容:利用微機(jī)原理試驗箱的8279、8255和鍵盤LED顯示模塊、步進(jìn)電機(jī)模塊,實現(xiàn)通過鍵盤控制步進(jìn)電機(jī),并在LED上顯示必要信息。</p><p><b>  實現(xiàn)舉例:</b></p><p>  按下鍵盤的0到F鍵,步進(jìn)電機(jī)將按不同的速度轉(zhuǎn)動。同時

4、6位LED的最后一位顯示所按下的鍵值。</p><p>  按下鍵盤的HERE鍵,步進(jìn)電機(jī)將順時針轉(zhuǎn)動,同時倒數(shù)第二位LED顯示”+”。</p><p>  按下鍵盤的EXEC鍵,步進(jìn)電機(jī)將逆時針轉(zhuǎn)動,同時倒數(shù)第二位LED顯示”-”。</p><p>  按下鍵盤的RST鍵,步進(jìn)電機(jī)停止轉(zhuǎn)動。</p><p>  關(guān)鍵詞:步進(jìn)電機(jī)控制 ;82

5、55脈沖 ;8279控制鍵盤和LED顯示</p><p><b>  目 錄</b></p><p>  1 設(shè)計任務(wù)與要求4</p><p><b>  1.1引言4</b></p><p>  1.2設(shè)計目的 5</p><p><b>  1.

6、3設(shè)計內(nèi)容5</b></p><p><b>  1.4設(shè)備器材5</b></p><p>  2 總體方案與說明6</p><p>  2.1 設(shè)計思想6</p><p>  2.2 實驗原理介紹6</p><p>  3 硬件框圖與說明7</p><

7、;p>  3.1 8279可編程鍵盤/顯示接口芯片介紹7</p><p>  3.2 8255可編程并行接口芯片介紹8</p><p>  3.3 步進(jìn)電機(jī)介紹9</p><p>  4 電路原理圖與說明11</p><p>  4.1 實驗原理圖11</p><p>  4.2 實驗步驟1

8、2</p><p>  4.2.1 實驗連線12</p><p>  4.2.2 編寫調(diào)試程序,全速運行,觀察實驗結(jié)果12</p><p>  5軟件主要模塊流程圖13</p><p>  5.1 軟件設(shè)計思路13</p><p>  5.2 軟件流程圖13</p><p> 

9、 6 源程序清單與注釋13</p><p>  7問題分析與解決方案20</p><p>  7.1 實驗設(shè)計前后面臨的問題分析20</p><p>  7.1.1 芯片的選擇問題20</p><p>  7.1.2 芯片的連接和使用問題20</p><p>  7.1.3 程序的編制和程序運行時出現(xiàn)的問題

10、20</p><p>  7.2 問題的解決方案20</p><p>  7.2.1 對于問題一與問題二20</p><p>  7.2.2 對于問題三20</p><p>  7問題分析與解決方案21</p><p>  7.1.1 8279芯片原理與應(yīng)用

11、 21</p><p>  7.1.2匯編語言程序書寫21</p><p>  7.2.對于問題的解決方案21</p><p>  7.2.1 對于問題一21</p><p>  7.2.2 對于問題二21</p><p>  步進(jìn)機(jī)顯示顯示21</p>

12、<p>  8.2 實驗體會21</p><p>  8.2 實驗體會22</p><p><b>  參考資料22</b></p><p><b>  1 設(shè)計任務(wù)與要求</b></p><p><b>  1.1引言</b></p><

13、;p>  步進(jìn)電機(jī)最早是在1920年由英國人所開發(fā)。1950年后期晶體管的發(fā)明也逐漸應(yīng)用在步進(jìn)電機(jī)上,這對于數(shù)字化的控制變得更為容易。以后經(jīng)過不斷改良,使得今日步進(jìn)電機(jī)已廣泛運用在需要高定位精度、高分解性能、高響應(yīng)性、信賴性等靈活控制性高的機(jī)械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機(jī)器中,我們很容易發(fā)現(xiàn)步進(jìn)電機(jī)的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進(jìn)電機(jī)用得最多。步進(jìn)電機(jī)作為執(zhí)行元件

14、,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。</p><p>  步進(jìn)電機(jī)是將電脈沖信號變換成角位移或直線位移的執(zhí)行部件。步進(jìn)電機(jī)可以直接用數(shù)字信號驅(qū)動,使用非常方便。一般電動機(jī)都是連續(xù)轉(zhuǎn)動的,而步進(jìn)電動機(jī)則有定位和運轉(zhuǎn)兩種基本狀態(tài),當(dāng)有脈沖輸入時步進(jìn)電動機(jī)一步一步地轉(zhuǎn)動,每給它一個脈沖信號,它就轉(zhuǎn)過一定的角度

15、。步進(jìn)電動機(jī)的角位移量和輸入脈沖的個數(shù)嚴(yán)格成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率及電動機(jī)繞組通電的相序,便可獲得所需的轉(zhuǎn)角、轉(zhuǎn)速及轉(zhuǎn)動方向。在沒有脈沖輸入時,在繞組電源的激勵下氣隙磁場能使轉(zhuǎn)子保持原有位置處于定位狀態(tài)。因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)還具有快速啟動、精確步進(jìn)和定位等特點,因而在數(shù)控機(jī)床,繪圖儀,打印機(jī)以及光學(xué)儀器中得到廣泛的應(yīng)用。步進(jìn)電動機(jī)已成為除直流電動機(jī)和交流電動機(jī)以外的第三類電動機(jī)。傳統(tǒng)

16、電動機(jī)作為機(jī)電能量轉(zhuǎn)換裝置,在人類的生產(chǎn)和生活進(jìn)入電氣化過程中起著關(guān)鍵的作用。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),利用其沒有積累誤差(精度為100%)的特點,廣泛應(yīng)用于各種開環(huán)控制。</p><p>  現(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度;反應(yīng)式步進(jìn)電機(jī)一般為

17、三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動都很大。反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩?;旌鲜讲竭M(jìn)電機(jī)是指混合了永磁式和反應(yīng)式的優(yōu)點。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛,也是本次細(xì)分驅(qū)動方案所選用的步進(jìn)電機(jī)。</p><p><b>  1.2設(shè)計目的</b>&

18、lt;/p><p>  通過課程設(shè)計使我們更進(jìn)一步掌握微機(jī)原理與應(yīng)用課程的有關(guān)知識,提高用匯編語言編程的能力,加深對匯編語言的理解。</p><p>  通過查閱資料,閱讀程序,提高設(shè)計程序的能力及動手能力,使編程水平有一定的提高,同時也會提高我們通過動手進(jìn)行硬件設(shè)計及程序設(shè)計從而提高解決實際問題的能力。</p><p>  通過實驗的深入,進(jìn)一步加強(qiáng)對微機(jī)接口與原理的

19、實驗箱的了解,充分了解其內(nèi)部結(jié)構(gòu),尤其加深對8279、8255芯片的原理與連線的了解。</p><p><b>  1.3設(shè)計內(nèi)容</b></p><p>  在本實驗中我們將用到可編程外圍接口芯片8255、可編程鍵盤顯示器接口芯片8279該系統(tǒng)顯示直觀,工作穩(wěn)定,操作簡單,具備較強(qiáng)的實用價值。</p><p><b>  1.4設(shè)備

20、器材</b></p><p><b> ?。?)PC微機(jī)一臺</b></p><p>  用于對程序的編譯測試等,同時還需要對實驗設(shè)備進(jìn)行控制,提供整個程序的運行平臺,并且收集和釋放硬件信號,實現(xiàn)程序功能。</p><p>  (2)微機(jī)原理實驗箱一臺</p><p>  此設(shè)備能提供8255,8279和數(shù)碼

21、管,鍵盤,步進(jìn)電機(jī)等必要芯片和模塊。并且能與PC機(jī)進(jìn)行通信。通過鍵盤上不同按鍵來控制步進(jìn)電機(jī)的轉(zhuǎn)動速率和方向,并能在LED上同步顯示必要信息。</p><p><b> ?。?)導(dǎo)線若干條</b></p><p>  用于電路和芯片之間的連接。</p><p><b>  2 總體方案與說明</b></p>

22、<p><b>  2.1 設(shè)計思想</b></p><p>  8255器件:8255用作輔助裝置。8255器件的C端口低四位PC0、PC1、PC5、PC3依次輪番輸出脈沖。</p><p>  8279器件:作為控制部件,通過讀取按鍵值,在六位LED上顯示相關(guān)信息,同時步進(jìn)機(jī)按鍵值相對應(yīng)的轉(zhuǎn)速轉(zhuǎn)動,正轉(zhuǎn)或者反轉(zhuǎn)。</p><p>

23、  2.2 實驗原理介紹</p><p>  由于反應(yīng)式步進(jìn)電機(jī)工作原理比較簡單。下面先敘述三相反應(yīng)式步進(jìn)電機(jī)原理。    1、結(jié)構(gòu):    電機(jī)轉(zhuǎn)子均勻分布著很多小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯開。0、1/3て、2/3て,(相鄰兩轉(zhuǎn)子齒軸線間的距離為齒距以て表示),即A與齒1相對齊,B與齒2向右錯開1/3て,C與齒3向右錯開2/3て,A’與齒5相對齊,(

24、A’就是A,齒5就是齒1)    2、旋轉(zhuǎn):    如A相通電,B,C相不通電時,由于磁場作用,齒1與A對齊,(轉(zhuǎn)子不受任何力以下均同)。如B相通電,A,C相不通電時,齒2應(yīng)與B對齊,此時轉(zhuǎn)子向右移過1/3て,此時齒3與C偏移為1/3て,齒4與A偏移(て-1/3て)=2/3て。如C相通電,A,B相不通電,齒3應(yīng)與C對齊,此時轉(zhuǎn)子又向右移過1/3て,此時齒4與A偏移為1/3て對齊。如A相通電,B,C相不通電,齒

25、4與A對齊,轉(zhuǎn)子又向右移過1/3て這樣經(jīng)過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機(jī)轉(zhuǎn)子向右轉(zhuǎn)過一個齒距,如果不斷地按A,B,C,A……通電,電機(jī)就每步(每脈沖)1/3て,向右旋轉(zhuǎn)。如按A,C,B,A……通電,電</p><p><b>  3 硬件框圖與說明</b></p><p>  3.1 8279可編程鍵盤/顯示接口芯片介紹</p&

26、gt;<p>  8279是可編程的鍵盤、顯示接口芯片。它既具有按鍵處理功能,又具有自動顯示功能。8279內(nèi)部有鍵盤FIFO/傳感器、雙重功能的64BRAM,鍵盤控制部分可控制8*8=64個按鍵或控制8*8陣列方式的傳感器。該芯片能自動消除鍵抖動并具有雙鍵鎖定保護(hù)功能。本次實驗我們將利用8279的以上功能設(shè)計點陣廣告屏。</p><p>  首先介紹一下8279芯片:</p><

27、p>  DB0~DB7:8位數(shù)據(jù)總線與系統(tǒng)數(shù)據(jù)總線相連,用CPU和8279間的數(shù)據(jù)/命令傳送。</p><p>  CS:片選信號CS=0時,8279被選中。</p><p>  WR:WR=0.控制8279寫操作。</p><p>  A0:數(shù)據(jù)選擇輸入線,A=0,CPU讀出為數(shù)據(jù);A=1,CPU寫入數(shù)據(jù)為命令字,讀出數(shù)據(jù)為狀態(tài)字。</p>&

28、lt;p>  BD:消隱輸出線,BD=0有效,在切換顯示數(shù)據(jù)或使用消令時,該信號將顯示器熄滅。</p><p>  CLK:外部時鐘信號輸入線,8279通過內(nèi)部定時器將該信號變?yōu)閮?nèi)部時鐘,內(nèi)部時鐘頻率的高低直接決定顯示器的掃描時間,通常與編程設(shè)置為100Hz,此時,每位顯示數(shù)碼管的選通時間為0.64ms,設(shè)定顯示字符8位和16位時,顯示掃描周期分為5.1ms和10.2ms.</p><p

29、>  OUTA0~OUTA3:A組顯示數(shù)據(jù)輸出線。</p><p>  OUTB0~OUTB3:B組顯示數(shù)據(jù)輸出線。</p><p>  兩組數(shù)據(jù)輸出線可獨立使用,也可合并使用,合并使用時OUTA3為最高位,OUTB0為最低位。</p><p>  SL0~SL3:掃描輸出線,有2種工作方式,即譯碼和編碼輸出,方式選擇可通過編程設(shè)定。</p>&

30、lt;p>  RL0~RL7:輸入線,它們是鍵盤矩陣或傳感器矩陣的列或行信號輸入線。</p><p>  3.2 8255可編程并行接口芯片介紹</p><p>  8255作為主機(jī)與外設(shè)的連接芯片,必須提供與主機(jī)相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個部分

31、:與CPU連接部分、與外設(shè)連接部分、控制部分。</p><p>  RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。</p><p>  CS:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進(jìn)行通訊; /CS=1時,8255無法與CPU做數(shù)據(jù)傳輸.</p>

32、<p>  RD:讀信號線,當(dāng)這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。</p><p>  WR:寫入信號,當(dāng)這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數(shù)據(jù)或控制字寫入8255。</p><p>  D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,

33、當(dāng)CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。</p><p>  PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。</p><p>  PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。</p><p>  PC0~PC7:端口C

34、輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。</p><p>  端口C可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。'</p><p>  A0,A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器.</p><

35、p>  3.3 步進(jìn)電機(jī)介紹</p><p>  步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個脈沖信號,電機(jī)則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。 雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步

36、進(jìn)電機(jī)并不能象普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。</p><p>  本實驗采用的步進(jìn)電機(jī)為35BYJ46型四項八拍電機(jī),電壓為DC12V,其勵磁線圈及其勵順</p><p>  序如圖5.1所示及表5.3所示。實驗中,PA端口各線的電平在各步中的情況如表5.4所示</p><p>  表5.3 步進(jìn)

37、電機(jī)勵磁順序</p><p>  圖5.1 步進(jìn)電機(jī)</p><p><b>  表5.4</b></p><p>  4 電路原理圖與說明</p><p>  4.1 實驗原理圖</p><p><b>  4.2 實驗步驟</b></p><p&

38、gt;  4.2.1 實驗連線</p><p>  8279CS----208H-20FH 。將8279的片選與譯碼電路相應(yīng)的插孔相連。</p><p>  8255CS----200H-207H 。</p><p>  8255的C0端口----DA 。</p><p>  8255的C1端口----DB 。</p><

39、;p>  8255的C2端口----DC 。</p><p>  8255的C3端口----DD 。</p><p>  4.2.2 編寫調(diào)試程序,全速運行,觀察實驗結(jié)果</p><p>  5軟件主要模塊流程圖</p><p>  5.1 軟件設(shè)計思路</p><p>  本程序由主程序和控制芯片輸出程序組

40、成。主程序主要負(fù)責(zé)系統(tǒng)初始化,控制芯片輸出程序主要負(fù)責(zé)數(shù)碼管的亮滅。</p><p>  8253開始定時后,每一秒控制相應(yīng)的數(shù)碼管的亮滅。</p><p><b>  主程序初始化:</b></p><p>  主程序負(fù)責(zé)系統(tǒng)的初始化,系統(tǒng)初始化包括8253的初始化、8255的初始化和8279的初始化。8253定時的時間是一秒。</p&

41、gt;<p>  5.2 軟件流程圖</p><p>  6 源程序清單與注釋</p><p><b>  系統(tǒng)程序:</b></p><p>  C8279 EQU 20AH;8279控制口地址</p><p>  D8279 EQU 208H;</p><p>  C825

42、5 EQU 203H;8255控制口地址</p><p>  P8255C EQU 202H;8255C端口地址</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:CODE</p><p>  START:PUSH CS</p><p><b>  PO

43、P DS</b></p><p>  INI:MOV DX,C8255</p><p>  MOV AL,90H ; C端口低四位輸出脈沖</p><p>  OUT DX,AL ;8255初始化</p><p>  MOV DX,C8279</p><p>  MOV AL,00H</

44、p><p><b>  OUT DX,AL</b></p><p>  MOV AL,2AH ;掃描頻率</p><p>  OUT DX,AL ;8279初始化</p><p>  MOV AL,0D1H ;顯示清0</p><p>  OUT DX,AL ;關(guān)顯示</p&

45、gt;<p>  WAIT1:IN AL,DX</p><p><b>  MOV AH,AL</b></p><p>  AND AL,80H</p><p>  JNZ WAIT1 ;FIFO正在清除期間則跳轉(zhuǎn)等待</p><p><b>  MOV AL,AH</b>&l

46、t;/p><p>  AND AL,0FH</p><p>  CMP AL,00H</p><p>  JE WAIT1 ;無鍵按下則跳轉(zhuǎn)等待</p><p>  LEA BX,STEP</p><p>  RUN:CALL CHKKEY ;檢測鍵盤</p><p>  CALL DI

47、SPLAY ;LED回顯</p><p>  MOV CX,08H ;步進(jìn)電機(jī)控制</p><p>  LOOP3:MOV DX,P8255C</p><p>  MOV AL,[SI]</p><p>  OUT DX,AL ;C口輸出脈沖信號</p><p><b>  INC SI&l

48、t;/b></p><p>  CALL DELAY ;延遲</p><p>  LOOP LOOP3</p><p>  JMP RUN ;循環(huán)</p><p>  CHKKEY PROC NEAR</p><p>  RDKEY:MOV DX,C8279;讀鍵盤</p><p

49、><b>  IN AL,DX</b></p><p><b>  MOV AH,AL</b></p><p>  AND AL,80H</p><p>  CMP AL,80H</p><p><b>  JE RDKEY</b></p><p>

50、;<b>  MOV AL,AH</b></p><p>  AND AL,0FH</p><p>  CMP AL,00H</p><p><b>  JE RTN</b></p><p>  MOV AL,40H</p><p>  OUT DX,AL ;讀

51、FIFO/傳感器RAM命令</p><p>  MOV DX,D8279;讀入鍵值</p><p><b>  IN AL,DX</b></p><p>  CHK:CMP AL,38H</p><p>  JE QUIT ;RST 退出</p><p>  CMP AL,3

52、0H ;鍵值大于30H,為方向控制鍵</p><p><b>  JNC DIRE</b></p><p>  MOV DELAYTIME,AL</p><p><b>  JMP RTN</b></p><p>  DIRE:CMP AL,32H ;HERE 順時針</p&g

53、t;<p><b>  JNE NEXT</b></p><p>  MOV DIRDSP,40H</p><p>  LEA BX,STEP</p><p><b>  JMP RTN</b></p><p>  NEXT:CMP AL,33H ;EXEC 逆時針</p&g

54、t;<p><b>  JNE RTN</b></p><p>  MOV DIRDSP,46H</p><p>  LEA BX,STEP</p><p>  ADD BX,08H ;逆時針控制表地址</p><p><b>  RTN:</b></p><p

55、><b>  MOV SI,BX</b></p><p><b>  RET</b></p><p>  CHKKEY ENDP</p><p>  QUIT:MOV DX,C8279</p><p>  MOV AL,0D2H</p><p><b>  O

56、UT DX,AL</b></p><p><b>  jmp $</b></p><p>  DELAY PROC NEAR</p><p><b>  PUSH CX</b></p><p>  ;判斷鍵值,獲得相應(yīng)延時循環(huán)值</p><p>  MOV A

57、L,20H ;"9"?</p><p>  SUB AL,DELAYTIME</p><p><b>  JNZ L1</b></p><p>  MOV CX,04H</p><p>  L1: MOV AL,08H ;"8"?</p&

58、gt;<p>  SUB AL,DELAYTIME</p><p><b>  JNZ L2</b></p><p>  MOV CX,05H</p><p>  L2: MOV AL,00H ;"7"?</p><p>  SUB AL,DELAYTIME</

59、p><p><b>  JNZ L3</b></p><p>  L3: MOV AL,21H ;"6"?</p><p>  SUB AL,DELAYTIME</p><p>  MOV CX,07H</p><p><b>  JNZ L4<

60、/b></p><p>  MOV CX,08H</p><p>  L4: MOV AL,09H ;"5"?</p><p>  SUB AL,DELAYTIME</p><p><b>  JNZ L5</b></p><p>  MOV CX,0

61、9H</p><p>  L5: MOV AL,01H ;"4"?</p><p>  SUB AL,DELAYTIME</p><p><b>  JNZ L6</b></p><p>  MOV CX,0AH</p><p>  L6: MOV AL,

62、22H ;"3"?</p><p>  SUB AL,DELAYTIME</p><p><b>  JNZ L7</b></p><p>  MOV CX,10H</p><p>  L7: MOV AL,0AH ;"2"?</p>

63、;<p>  SUB AL,DELAYTIME</p><p><b>  JNZ L8</b></p><p>  MOV CX,20H</p><p>  L8: MOV AL,02H ;"1"?</p><p>  SUB AL,DELAYTIME</p&

64、gt;<p><b>  JNZ L9</b></p><p>  MOV CX,30H</p><p>  L9: MOV AL,03H</p><p>  SUB AL,DELAYTIME ;"0"?</p><p><b>  JNZ LOOP1</b>

65、;</p><p>  MOV CX,40H</p><p>  LOOP1:PUSH CX</p><p>  MOV CX,0155H</p><p><b>  LOOP2:NOP</b></p><p>  LOOP LOOP2</p><p><b> 

66、 POP CX</b></p><p>  LOOP LOOP1</p><p><b>  POP CX</b></p><p><b>  RET</b></p><p>  DELAY ENDP</p><p>  DISPLAY PROC NEAR<

67、/p><p><b>  PUSH BX</b></p><p>  MOV DX,D8279</p><p>  MOV AL,DELAYTIME</p><p>  LEA BX,LED ;查表顯示速度值</p><p><b>  XLAT</b></p&

68、gt;<p><b>  OUT DX,AL</b></p><p>  MOV AL,DIRDSP</p><p>  OUT DX,AL ;顯示電機(jī)轉(zhuǎn)動方向</p><p>  MOV CX,0006H ;顯示界面"STEP"</p><p>  LEA BX,

69、DSP</p><p>  LOOP4:MOV AL,[BX]</p><p><b>  OUT DX,AL</b></p><p><b>  INC BX</b></p><p>  LOOP LOOP4</p><p>  MOV DX,C8279</p>

70、<p>  MOV AL,0C2H</p><p><b>  OUT DX,AL</b></p><p><b>  POP BX</b></p><p><b>  RET</b></p><p>  DISPLAY ENDP</p><p

71、>  LED DB 07H,66H,06H,3FH;LED顯示</p><p>  DB 00H,00H,00H,00H ;按鍵值對應(yīng)的表</p><p>  DB 7FH,6DH,5BH,71H</p><p>  DB 00H,00H,00H,00H</p><p>  DB 00H,00H,00H,0

72、0H</p><p>  DB 00H,00H,00H,00H</p><p>  DB 00H,00H,00H,00H</p><p>  DB 00H,00H,00H,00H</p><p>  DB 6FH,7DH,4FH,79H</p><p>  DB 00H,00H,00H,00H<

73、;/p><p>  DB 77H,7CH,39H,5EH</p><p>  DB 00H,00H,00H,00H</p><p>  DB 06H,5BH,4FH,66H</p><p>  DB 00H,00H,00H,00H</p><p>  DB 06H,5BH,4FH,66H</p&g

74、t;<p>  DB 00H,00H,00H,00H</p><p>  DSP DB 00H,00H,73H,79H,31H,6DH,00H</p><p>  DELAYTIME DB 01H</p><p>  DIRDSP DB 40H</p><p>  STEP DB 01h,03H,02h,06H,0

75、4h,0cH,08h,09H;順時針轉(zhuǎn)表</p><p>  DB 09H,08h,0cH,04h,06H,02h,03H,01h ;逆時針轉(zhuǎn)表</p><p><b>  CODE ENDS</b></p><p><b>  END START</b></p><p>  7問題分析與解決

76、方案</p><p>  7.1 實驗設(shè)計前后面臨的問題分析</p><p>  7.1.1 芯片的選擇問題</p><p>  在芯片選擇上,有8253,8255,8279可供選擇,開始的時候想使用這三者聯(lián)合。使用8253作為定時時鐘,輸出給8255作為延時。后來發(fā)現(xiàn)在實驗過程中,自己沒有掌握匯編語言,不會編程序。所以最終選擇8255與8279聯(lián)合,由8279作定

77、時。</p><p>  7.1.2 芯片的連接和使用問題</p><p>  這個較簡單,按電路圖用導(dǎo)線把各個接口連上就行。</p><p>  7.1.3 程序的編制和程序運行時出現(xiàn)的問題</p><p>  在實驗進(jìn)行的最后,我們碰到最棘手的問題就是延時問題。</p><p>  7.2 問題的解決方案</

78、p><p>  7.2.1 對于問題一與問題二</p><p>  我們通過上網(wǎng)查找大量的有關(guān)資料來解決。尤其對于8279來說,我們從最初的完全不懂,到最后的熟練運用,其中經(jīng)歷漫長的探索與研究過程。</p><p>  7.2.2 對于問題三</p><p>  我們對軟件中每一段代碼進(jìn)行了仔細(xì)的排查,最終在程序的末尾發(fā)現(xiàn)了因為電平判斷錯誤而導(dǎo)致

79、了時間的縮短。</p><p>  7問題分析與解決方案</p><p>  7.1實驗設(shè)計前后面臨的問題分析</p><p>  7.11 8279芯片原理與應(yīng)用</p><p>  對于8279芯片以前沒用過,對于其原理陌生,不會應(yīng)用</p><p>  7.12 匯編語言程序書寫</p><p

80、>  對于編程存在問題,對于一天學(xué)過的知識遺忘,編程中存在錯誤,接口錯誤</p><p><b>  7.2 問題的解決</b></p><p><b>  7.21對于問題一</b></p><p>  通過從網(wǎng)上查資料,老師的講解基本上了解了8279的工作過程,能夠應(yīng)用與試驗中去</p><p

81、>  7.22 對于問題二</p><p>  通過復(fù)習(xí)以前學(xué)過的知識,從新對芯片有了認(rèn)識,能夠在調(diào)試中完成實驗任務(wù)</p><p><b>  8.步進(jìn)機(jī)顯示顯示</b></p><p><b>  8.2 實驗體會</b></p><p>  通過這次課程設(shè)計,使我對硬件電路的工作原理有了

82、進(jìn)一步的學(xué)習(xí),進(jìn)一步的認(rèn)識;在軟件方面,在程序的設(shè)計,程序的調(diào)試方面都學(xué)到了很多東西,很有成就感。在這次課程設(shè)計中我遇到了一些困難,但在老師的指導(dǎo)和同學(xué)的幫助,再加上自己查閱了些許資料的情況下都解決了。雖然課程設(shè)計進(jìn)行的不夠順利,但還是完成了任務(wù),使自己的專業(yè)知識又得到了提升。</p><p>  21世紀(jì)是計算機(jī)全面發(fā)展應(yīng)用的時代,很多人不是在制造計算機(jī)而是在使用計算機(jī),在使用計算機(jī)的人群中只有從事嵌入式系統(tǒng)應(yīng)

83、用的人才真正地進(jìn)入到計算機(jī)系統(tǒng)內(nèi)部軟硬件體系中,才能真正領(lǐng)會計算機(jī)的智能化本質(zhì)并掌握智能化設(shè)計的知識。通過這次難得的實踐機(jī)會給了我很大的收獲,不僅鞏固了原有的知識,并增強(qiáng)了動手能力,培養(yǎng)了面對問題的分析能力以及遇到困難如何面對。</p><p><b>  參考資料</b></p><p>  [1] 周荷琴 吾秀清主編《微機(jī)原理與接口技術(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論