步進電機實驗微機原理_第1頁
步進電機實驗微機原理_第2頁
步進電機實驗微機原理_第3頁
步進電機實驗微機原理_第4頁
步進電機實驗微機原理_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選文檔大連理工大學本科設(shè)計報告(計算機原理接口實驗綜合設(shè)計)題目: 步進電機控制系統(tǒng)設(shè)計 課程名稱: 計算機原理實驗 學院(系): 電信 專 業(yè): 自動化 班 級: 電自1301 學 號: 201382062 學生姓名: 寧博 成 績: 2015年12月26 日題目:步進電機1. 設(shè)計要求 利用實驗臺上的開關(guān)K7控制步進電機的轉(zhuǎn)向,利用電位器控制步進電機的轉(zhuǎn)速。具體要求如下:1. 利用D8255A的PA0-PA3做輸出,輸出步進電機的相序、驅(qū)動步進電機工作,相序之間的時間決定著步進電機的轉(zhuǎn)速,而間隔時間由延時程序中的CX寄存器的初值決定。2. 利用D8255A的PB7做輸入控制轉(zhuǎn)向,與K7連

2、接。其中K7做步進電機的轉(zhuǎn)向控制,用ADC0809實現(xiàn)AD轉(zhuǎn)換,利用電位器控制轉(zhuǎn)速,程序運行時通過K7和電位器對步進電機實施動態(tài)控制;3. 利用8253做秒脈沖發(fā)生器,產(chǎn)生約2秒的周期性方波信號。其中CNT0做分頻器:將1MHZ信號分頻為100HZ;CNT1做秒脈沖輸出(0.5HZ);4. 利用386模塊的主8259的MIR5做中斷請求輸入,將CNT1的OUT1秒信號方波作為中斷請求信號,引發(fā)中斷服務ISR;5. 在中斷服務程序中實現(xiàn)對步進電機的轉(zhuǎn)速、轉(zhuǎn)向?qū)崟r控制。方法如下:在ISR中,對D8255A的PB口進行一次輸入操作,并根據(jù)輸入的數(shù)據(jù):1) 對D7(與K7對應)位的數(shù)據(jù)為步進電機的轉(zhuǎn)向

3、控制;2) ADC0809讀入的數(shù)據(jù)為步進電機的轉(zhuǎn)速控制。2 .設(shè)計分析及系統(tǒng)方案設(shè)計1. 使用“寄存器間接尋址”的方式輸出相序信號:將步進電機的相序數(shù)據(jù)定義在數(shù)據(jù)段當中,使用SI查表(間接尋址)獲取相序數(shù)據(jù)。其中查表順序決定著電機轉(zhuǎn)動方向;2. 對8253進行編程,使OUT1輸出2秒周期的脈沖方波信號。為了便于調(diào)試,建議使用邏輯筆監(jiān)測OUT1的輸出;3. 編制與中斷相關(guān)的程序。包括中斷屏蔽字的設(shè)定、中斷向量表的創(chuàng)建以及開中斷的操作。上述這些操作都應當加到程序的初始化中;4. 編寫中斷服務程序ISR。在ISR中讀取D8255A的PB口數(shù)據(jù)和AD轉(zhuǎn)換的數(shù)據(jù),然后進行數(shù)據(jù)分析、根據(jù)數(shù)據(jù)來調(diào)整CX寄

4、存器中的數(shù)據(jù),因而改變步進電機的轉(zhuǎn)速和轉(zhuǎn)向。3.系統(tǒng)電路圖8253OUT1CLK1GATE1/CS OUT0CLK0GATE01MHZ脈沖K7輸入K6輸入K0輸入Vcc210HMIR58255APA3PA2PA1PA0D7··D0A1A0/CS PB7PB6.PB0LED3LED2LED1LED0200H步進電機512VBJ_IN4BJ_IN3BJ_IN2BJ_IN1系統(tǒng)總線K7K00.5HZ方波 +5V ADC0809模塊 IN7IN0/IOWA0A0/IORA1A1500KHADDAADDBCLOCKADDCD7.D0220H總線區(qū)/CSVCCVREF(-)VREF(+

5、)圖 1 .1 實驗參考邏輯電路4 .外圍接口模塊硬件電路功能描述8253具有三個獨立的16位減法計數(shù)器,每個計數(shù)器可按照二進制或十進制計數(shù),每個通道都有六種不同的工作方式。8255有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為主機與多種外設(shè)連接時的中間接口電路。 ADC0809 是8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換,具有轉(zhuǎn)換起??刂贫恕DM輸入電壓范圍0+5V,不需零點和滿刻度校準。5 主程序中

6、主要變量說明變量名稱內(nèi)存單元功能FLAGAX轉(zhuǎn)向標志SPEEDSI可調(diào)轉(zhuǎn)速SDAL默認轉(zhuǎn)速6.系統(tǒng)軟件中各個子程序的功能描述子程序名稱入口參數(shù)出口參數(shù)功能 描述serviceio8255_B ADC0809SD中斷服務DELAY無無延時speedin無無電機按照一定參數(shù)轉(zhuǎn)起來7.主程序程序流程圖從8255的B口輸入數(shù)據(jù)中斷結(jié)束命令PB7=1?N修改方向標志Flag=1Y從0809讀數(shù)據(jù)設(shè)定CX值ISRD8255A 的初始化PA、PB輸出 8253 初始化CNT0方式3、初值CNT1方式2、初值主片8259初始化設(shè)置屏蔽字創(chuàng)建35H的中斷向量表開中斷開始(a)主程序流程圖IRET修改方向標志Fl

7、ag=0Flag=1?順時驅(qū)動(等待中斷)逆時驅(qū)動(等待中斷)(b)中斷服務程序流程圖圖 1.2 程序流程圖建立方向標志Flag=1YN8.程序清單IO_ADDRESS equ 200h time equ 210h ad_io equ 220hdata segment order1 db 01h,03h,02h,06h,04h,0ch,08h,09horder2 db 09h,08h.0ch,04h,06h,02h,03h,01hFLAG db ?speed dw0300h,0380h,0480h,0580h,0680h,0780h,0880h SD dw0280h ;默認轉(zhuǎn)速data end

8、scode segmentassume cs:code,ds:datastart: mov ax,data mov ds,ax mov dx,IO_ADDRESS add dx,03 mov al,82h ;B端口輸入,A、C輸出,方式0 out dx,al cli mov FLAG,00h ;標志位置0 in al,021h ;設(shè)置中斷屏蔽字 and al,11011111b;IR5 out 021h,al push ds ;設(shè)置中斷向量表 mov ax,0 mov ds,ax mov si,35h add si,si add si,si mov ax,offset service mov

9、si,ax push cs pop ax mov si+2,ax pop ds mov dx,time ;分頻得到0,5s脈沖 add dx,03 mov al,37h;計數(shù)器0,方式3,BCD碼計數(shù),先低后高 out dx,al mov dx,time;計數(shù)器0設(shè)初值 mov al,0 out dx,al out dx,al;寫初值10000 mov dx,time add dx,03 mov al,56h;計數(shù)器1,方式3,二進制計數(shù),低8位 out dx,al mov dx,time ;設(shè)計數(shù)器1初值為200 inc dx mov al,200;產(chǎn)生0.5s脈沖 out dx,al st

10、ispeedin: cmp FLAG,01h ;轉(zhuǎn)向,轉(zhuǎn)速 jz ccc mov dx,IO_ADDRESS mov cx,08 lea si,order1aaa: mov al,si out dx,al call delay inc si loop aaa jmp speedinccc: mov dx,IO_ADDRESS mov cx,08 lea si,order2ddd: mov al,si out dx,al call delay inc si loop ddd jmp speedinservice proc far ;中斷服務子程序 push ax push dx push si

11、push bx mov dx,IO_ADDRESS inc dx in al,dx mov bl,al shl bl,1 jnc mmm;CF=0,則跳轉(zhuǎn) mov FLAG,01H mov dx,ad_io;ADC啟動轉(zhuǎn)換地址 out dx,al;啟動ADC mov dx,ad_io;獲取ADC EOC狀態(tài)地址 add dx,2L1: in al,dx test al,01h;測試EOC=1? jz L1 mov dx,ad_io;讀數(shù)據(jù)地址 inc dx in al,dx cmpal,00H jnzcmp11 mov SD,0280h jmp endsercmp11: cmpal,10H j

12、nccmp12 mov si,WORD PTR speed0 movSD,si jmp endsercmp12: cmpal,20H jnccmp13 mov si,WORD PTR speed2 movSD,si jmp endsercmp13: cmp al,30H jnc cmp14 mov si,WORD PTR speed4 mov SD,si jmp endsercmp14: cmp al,40H jnc cmp15 mov si,WORD PTR speed6 mov SD,si jmp endsermmm: jmp cmp20cmp15: cmp al,50H jnc cmp1

13、6 mov si,WORD PTR speed8 mov SD,si jmp endsercmp16: cmpal,60H jnccmp17 mov si,WORD PTR speed10 movSD,si jmp endsercmp17: mov si,WORD PTR speed12 mov SD,si jmp endsercmp20: mov dx,ad_io out dx,al mov dx,ad_io add dx,2L2: in al,dx test al,01h jz L2 mov dx,ad_io inc dx in al,dx mov FLAG,00H cmp al,00H

14、jnz cmp21 mov SD,0280H jmp endsercmp21: cmpal,10H jnccmp22 mov si,WORD PTR speed0 movSD,si jmp endsercmp22: cmpal,20H jnccmp23 mov si,WORD PTR speed2 movSD,si jmp endser cmp23: cmpal,30H jnccmp24 mov si,WORD PTR speed4 mov SD,si jmp endsercmp24: testal,40H jnccmp25 mov si,WORD PTR speed6 movSD,si jm

15、p endsercmp25: cmpal,50H jnccmp26 mov si,WORD PTR speed8 movSD,si jmp endsercmp26: cmpal,60H jnccmp27 mov si,WORD PTR speed10 movSD,si jmp endsercmp27: mov si,WORD PTR speed12 mov SD,siendser: ;發(fā)EOI命令 mov al,20h out 20h,al pop bx pop si pop dx pop ax sti iretservice endp delay proc ;延時程序 push ax push cx push dx mov dh,6x1: mov cx,SDx2: loop x2 dec dh jnz x1 pop dx pop cx pop ax retdelay endpcode ends end start9.系統(tǒng)調(diào)試運行結(jié)果說明、分析所出現(xiàn)得問題,設(shè)計體會與建議運行結(jié)果說明:基本完成了任務要求,可以控制步進電機的轉(zhuǎn)速和旋轉(zhuǎn)方向。問題: 通過寄存器間接尋址的方

溫馨提示

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

評論

0/150

提交評論