步進(jìn)電機(jī)實(shí)驗(yàn)微機(jī)原理_第1頁
步進(jìn)電機(jī)實(shí)驗(yàn)微機(jī)原理_第2頁
步進(jìn)電機(jī)實(shí)驗(yàn)微機(jī)原理_第3頁
步進(jìn)電機(jī)實(shí)驗(yàn)微機(jī)原理_第4頁
步進(jìn)電機(jī)實(shí)驗(yàn)微機(jī)原理_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、ag=0Flag=1?順時(shí)驅(qū)動(dòng)(等待中斷)逆時(shí)驅(qū)動(dòng)(等待中斷)(b)中斷服務(wù)程序流程圖圖 1.2 程序流程圖建立方向標(biāo)志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 ;默認(rèn)轉(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 ;標(biāo)志位置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;計(jì)數(shù)器0,方式3,BCD碼計(jì)數(shù),先低后高 out dx,al mov dx,time;計(jì)數(shù)器0設(shè)初值 mov al,0 out dx,al out dx,al;寫初值10000 mov dx,time add dx,03 mov al,56h;計(jì)數(shù)器1,方式3,二進(jìn)制計(jì)數(shù),低8位 out dx,al mov dx,time ;設(shè)計(jì)數(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 ;中斷服務(wù)子程序 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啟動(dòng)轉(zhuǎn)換地址 out dx,al;啟動(dòng)ADC mov dx,ad_io;獲取ADC EOC狀態(tài)地址 add dx,2L1: in al,dx test al,01h;測(cè)試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 ;延時(shí)程序 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)試運(yùn)行結(jié)果說明、分析所出現(xiàn)得問題,設(shè)計(jì)體會(huì)與建議運(yùn)行結(jié)果說明:基本完成了任務(wù)要求,可以控制步進(jìn)電機(jī)的轉(zhuǎn)速和旋轉(zhuǎn)方向。問題: 通過寄存器間接尋址的方

溫馨提示

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

評(píng)論

0/150

提交評(píng)論