![計(jì)算機(jī)控制課程設(shè)計(jì)逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/d3cae4d6-fb1e-4c61-81b8-67b76be0bc90/d3cae4d6-fb1e-4c61-81b8-67b76be0bc901.gif)
![計(jì)算機(jī)控制課程設(shè)計(jì)逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/d3cae4d6-fb1e-4c61-81b8-67b76be0bc90/d3cae4d6-fb1e-4c61-81b8-67b76be0bc902.gif)
![計(jì)算機(jī)控制課程設(shè)計(jì)逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/d3cae4d6-fb1e-4c61-81b8-67b76be0bc90/d3cae4d6-fb1e-4c61-81b8-67b76be0bc903.gif)
![計(jì)算機(jī)控制課程設(shè)計(jì)逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/d3cae4d6-fb1e-4c61-81b8-67b76be0bc90/d3cae4d6-fb1e-4c61-81b8-67b76be0bc904.gif)
![計(jì)算機(jī)控制課程設(shè)計(jì)逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/d3cae4d6-fb1e-4c61-81b8-67b76be0bc90/d3cae4d6-fb1e-4c61-81b8-67b76be0bc905.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微型計(jì)算機(jī)控制技術(shù)課程設(shè)計(jì)報(bào)告課題名稱(chēng):逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)姓 名: 班 級(jí): 學(xué) 號(hào): 指導(dǎo)老師: 東華理工大學(xué)機(jī)械與電子工程學(xué)院2016年6月目錄目錄1一 設(shè)計(jì)任務(wù)和要求3二、任務(wù)分析4(1)動(dòng)態(tài)顯示4(2)按鍵功能4(3)硬件系統(tǒng)設(shè)計(jì)4(4)插補(bǔ)算法實(shí)現(xiàn)4三、總體方案設(shè)計(jì)53.1 硬件總體方案設(shè)計(jì)53.2 軟件總體方案設(shè)計(jì)5四、硬件系統(tǒng)設(shè)計(jì)64.1 方案論證64.2 單片機(jī)與8255的接口74.3電機(jī)硬件接線原理圖84.4元件清單94.5、鍵盤(pán)顯示硬件設(shè)計(jì)94.5.1鍵盤(pán)輸入電路94.5.2 動(dòng)態(tài)顯示電路104.5.3 所用元器件10五 軟件系統(tǒng)設(shè)計(jì)115.1 軟件設(shè)計(jì)原理115.1.
2、1逐點(diǎn)比較法圓弧插補(bǔ)原理115.1.2 步進(jìn)電機(jī)工作原理125.2 8255的初始化編程145.3 步進(jìn)電機(jī)走步控制程序145.3.1 nr1程序流程圖155.3.2 走步控制匯編程序代碼165.3.3 nr4程序流程圖175.4 鍵盤(pán)顯示程序設(shè)計(jì)185.4.1、鍵盤(pán)與i/o接口 表5鍵盤(pán)接口185.4.2、鍵盤(pán)顯示程序流程圖185.4.3 六個(gè)功能鍵:195.5主程序195.5.1 主程序流程圖195.4.2 源程序代碼20六 系統(tǒng)調(diào)試206.1 系統(tǒng)安裝調(diào)試206.2 結(jié)果驗(yàn)證20七 課程設(shè)計(jì)總結(jié)22八、參考文獻(xiàn)22附錄一 芯片資料23附錄二 源程序24一 設(shè)計(jì)任務(wù)和要求設(shè)計(jì)一個(gè)計(jì)算機(jī)控制
3、步進(jìn)電機(jī)系統(tǒng),該系統(tǒng)利用89c51(或89c52、89s52)機(jī)的px口輸出控制信號(hào),其信號(hào)驅(qū)動(dòng)、控制x、y兩個(gè)方向的三相步進(jìn)電機(jī)轉(zhuǎn)動(dòng),利用逐點(diǎn)比較法插補(bǔ)繪制出各種曲線。在第一象限,x(10)、y(10)最大坐標(biāo)值。其他坐標(biāo)值任意定,但插補(bǔ)計(jì)算不得小于8步。要求:1)在顯示器上顯示任意四位十進(jìn)制數(shù);a、定義鍵盤(pán)按鍵:10個(gè)為數(shù)字鍵09;6個(gè)功能鍵:設(shè)置set、清零clr、確認(rèn)、開(kāi)始start、暫停、停止;b、顯示器上第一位顯示次數(shù),后三位顯示每次行走的角度;c、通過(guò)鍵盤(pán)的按鍵,設(shè)置x、y軸插補(bǔ)的起始值;按start鍵啟動(dòng)步進(jìn)電機(jī)開(kāi)始轉(zhuǎn)動(dòng),按set鍵進(jìn)行數(shù)據(jù)設(shè)置、按clr鍵清零。2)設(shè)計(jì)硬件系統(tǒng)
4、,畫(huà)出電路原理框圖(要求規(guī)范);3)定義步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的控制字;(不設(shè)計(jì)步進(jìn)電機(jī)驅(qū)動(dòng)電路與驅(qū)動(dòng)程序)。4)推導(dǎo)出用逐點(diǎn)比較法插補(bǔ)繪制出下面曲線的算法;5)編寫(xiě)算法控制程序;6)撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。選擇曲線如下:圖1 目標(biāo)曲線二、任務(wù)分析(1)動(dòng)態(tài)顯示采用四位共陽(yáng)極led顯示器動(dòng)態(tài)顯示,不斷掃描顯示。采用44鍵盤(pán)作為輸入模塊,接單片機(jī)p1口,采用線反轉(zhuǎn)法進(jìn)行編程,線反轉(zhuǎn)法的工作原理和查鍵步驟:求按鍵的列線值:行線作為輸出線,列線作為輸入線,即可得到列線值。求按鍵的行線值:行線作為輸入線,列線作為輸出線,即可得到行線值。求按鍵的特征碼:把行線值和列線值合并,組合成為按鍵的特征碼。查找鍵碼:通過(guò)查表就可以
5、得到與特征碼對(duì)應(yīng)的順序碼,就可以得知是哪個(gè)按鍵按下。表中若沒(méi)有該特征碼以無(wú)效鍵處理,并與沒(méi)有按鍵(0ff)等同看待。(2)按鍵功能程序主體要按照,先掃描按鍵,待設(shè)置完成,按下啟動(dòng)按鈕,才能進(jìn)行插補(bǔ)運(yùn)算,并且,把走過(guò)的步數(shù),輸出顯示。通過(guò)數(shù)字鍵,輸入起點(diǎn)坐標(biāo),暫存數(shù)據(jù),待按下啟動(dòng)按鈕,把數(shù)據(jù)輸入x,y對(duì)應(yīng)存儲(chǔ)單元。(3)硬件系統(tǒng)設(shè)計(jì)采用at89c51單片機(jī)作為主控制器,44鍵盤(pán)作為設(shè)置鍵,p0口作為顯示和控制字輸出口,在驅(qū)動(dòng)步進(jìn)電機(jī)時(shí),數(shù)據(jù)通過(guò)74ls373進(jìn)行鎖存,通過(guò)8255pa口輸入,pb、pc口輸出,經(jīng)過(guò)驅(qū)動(dòng)電路,驅(qū)動(dòng)步進(jìn)電機(jī)工作。在顯示時(shí)通過(guò)74hct573進(jìn)行數(shù)據(jù)鎖存,用4位數(shù)碼管對(duì)
6、輸出數(shù)據(jù)進(jìn)行顯示。(4)插補(bǔ)算法實(shí)現(xiàn)由圖可知,在圖像第一象限內(nèi)為一個(gè)半圓,必須進(jìn)行坐標(biāo)變換,轉(zhuǎn)化為兩個(gè)第一、第四象限的逆圓弧插補(bǔ)。然后按照第一、第四象限的插補(bǔ)算法進(jìn)行插補(bǔ)計(jì)算。坐標(biāo)變換(x-5,y-6)就可以得到相對(duì)坐標(biāo),第四象限內(nèi),起點(diǎn)絕對(duì)坐標(biāo)為(5,2),相對(duì)坐標(biāo)為(0,-4),終點(diǎn)絕對(duì)坐標(biāo)為(9,6),相對(duì)坐標(biāo)為(4,0)。第一象限內(nèi)起點(diǎn)絕對(duì)坐標(biāo)為(9,6),相對(duì)坐標(biāo)為(4,0),終點(diǎn)絕對(duì)坐標(biāo)為(5,10),相對(duì)坐標(biāo)為(0,4)。插補(bǔ)的圓心為(5,6),半徑為4。三、總體方案設(shè)計(jì)電源模塊3.1 硬件總體方案設(shè)計(jì)數(shù)碼顯示驅(qū)動(dòng)電路 pb0 pb1 pb28255 pc0 pc1 pc2p0口
7、89c51p1口m1驅(qū)動(dòng)電路鍵盤(pán)模塊m2電源模塊圖2 硬件系統(tǒng)方框圖3.2 軟件總體方案設(shè)計(jì)首先調(diào)鍵盤(pán)輸入子程,對(duì)按鍵進(jìn)行掃描,當(dāng)設(shè)置鍵有效時(shí),通過(guò)數(shù)字鍵對(duì)x、y進(jìn)行賦初值,通過(guò)功能鍵進(jìn)行清零,通過(guò)strat鍵,開(kāi)始啟動(dòng)插補(bǔ)程序,進(jìn)行插補(bǔ)。插補(bǔ)過(guò)程中,分別調(diào)用不同象限的插補(bǔ)程序,實(shí)現(xiàn)不同方向的進(jìn)給。同時(shí)把步進(jìn)次數(shù),輸出顯示。四、硬件系統(tǒng)設(shè)計(jì)4.1 方案論證單片機(jī)的接口電路可以是鎖存器,也可以是專(zhuān)門(mén)的接口芯片,本設(shè)計(jì)采用可編程接口芯片8255。由于步進(jìn)電機(jī)需要的驅(qū)動(dòng)電流比較大,所以單片機(jī)和步進(jìn)電機(jī)的連接還要有驅(qū)動(dòng)電路,如何設(shè)計(jì)驅(qū)動(dòng)電路成了問(wèn)題的關(guān)鍵。設(shè)計(jì)方案一如圖3所示,當(dāng)某相上驅(qū)動(dòng)信號(hào)變?yōu)楦唠?/p>
8、平時(shí),達(dá)林頓管導(dǎo)通,從而使得該相通電。圖3 驅(qū)動(dòng)電路方案一設(shè)計(jì)方案二如圖4所示,在單片機(jī)與驅(qū)動(dòng)器之間增加一級(jí)光電隔離,當(dāng)驅(qū)動(dòng)信號(hào)為高電平時(shí),發(fā)光二極管發(fā)光,光敏三極管導(dǎo)通,從而使達(dá)林頓管截止,該相不通電;當(dāng)驅(qū)動(dòng)信號(hào)為低電平時(shí),則步進(jìn)電機(jī)的該相通電。圖4 驅(qū)動(dòng)電路方案二綜合比較兩種設(shè)計(jì)方案可知,方案二有抗干擾能力,且可避免一旦驅(qū)動(dòng)電路發(fā)生故障,造成高電平信號(hào)進(jìn)入單片機(jī)而燒毀器件。所以,本設(shè)計(jì)選擇方案二。4.2 單片機(jī)與8255的接口mcs-51單片機(jī)可以和8255直接連接而不需要任何外加邏輯器件,接口示意圖如圖5所示。因?yàn)?255的b口和c口具有驅(qū)動(dòng)達(dá)林頓管的能力,所以將采用b口和c口輸出驅(qū)動(dòng)信
9、號(hào)。圖5 單片機(jī)與8255的接口4.3電機(jī)硬件接線原理圖圖6 系統(tǒng)硬件接線原理圖單片機(jī)控制步進(jìn)電機(jī)的硬件接線如圖6所示。因?yàn)?255的片選信號(hào)接單片機(jī)的地址線p2.7,a1、a0通過(guò)地址鎖存器接到了8051單片機(jī)的地址線p0.1和p0.0,由硬件接線圖可以清楚地知道,8255的各口地址為:a口地址: 7ffchb口地址: 7ffdhc口地址: 7ffeh控制口地址:7fffh同時(shí),b口和c口都作為輸出口,8255工作在方式0。下面以8255的b口輸出端pb0為例說(shuō)明控制的工作原理。若pb0輸出0,經(jīng)反相器74ls04后變?yōu)楦唠娖?,發(fā)光二極管正向?qū)òl(fā)光。在光線的驅(qū)動(dòng)下,光敏三極管導(dǎo)通,+5v
10、的電壓經(jīng)三極管引入地線而不驅(qū)動(dòng)達(dá)林頓管。因而,達(dá)林頓管截止,x軸上步進(jìn)電機(jī)的c相不通電。若pb0輸出1,反相后變?yōu)榈碗娖?,發(fā)光二極管不導(dǎo)通。從而光敏三極管截止,+5v 電壓直接驅(qū)動(dòng)達(dá)林頓管導(dǎo)通,x軸上步進(jìn)電機(jī)的c相有從電源流向地線的電流回路,即c相得電。4.4元件清單表1 元件清單表名稱(chēng)位號(hào)型號(hào)數(shù)量單片機(jī)80511地址鎖存器74ls3731并行接口芯片8255a1反相器74ls046電阻r1r241k24光電三極管u1u34n253達(dá)林頓管q1q6npn dar6二極管d1d6in400164.5、鍵盤(pán)顯示硬件設(shè)計(jì)4.5.1鍵盤(pán)輸入電路圖7 鍵盤(pán)輸入電路4.5.2 動(dòng)態(tài)顯示電路 圖8 動(dòng)態(tài)顯示
11、電路4.5.3 所用元器件圖9 所用器件五 軟件系統(tǒng)設(shè)計(jì)5.1 軟件設(shè)計(jì)原理5.1.1逐點(diǎn)比較法圓弧插補(bǔ)原理(1)加工一個(gè)圓弧,很容易令人想到用加工點(diǎn)到圓心的距離與該圓弧的名義半徑相比較來(lái)反映加工偏差。設(shè)要加工圖3-1所示的第一象限逆時(shí)針走向的圓弧ab,半徑為r,以圓點(diǎn)為圓心,起點(diǎn)坐標(biāo)為a(,),在xy坐標(biāo)平面第一象限中,點(diǎn)的加工偏差 有以下3種情況。 圖10 圓弧插補(bǔ)若加工點(diǎn)正好落在圓弧上,則下式成立,即若加工點(diǎn)落在圓弧外側(cè),則,即若加工點(diǎn)落在圓弧內(nèi)側(cè),則,即將上面各式分別改寫(xiě)為下列形式,即 (在圓弧上) (在圓弧外側(cè)) (在圓弧外側(cè))取加工偏差判別式為若點(diǎn)在圓弧外側(cè)或圓弧上,則滿足的條件時(shí)
12、,向軸發(fā)出一負(fù)向運(yùn)動(dòng)的進(jìn)給脈沖;若點(diǎn)在圓弧內(nèi)測(cè),即滿足條件的條件時(shí),則向軸發(fā)出一正向運(yùn)動(dòng)的進(jìn)給脈沖。為了簡(jiǎn)化偏差判別式的運(yùn)算,仍用遞推法來(lái)推算下一步新的加工偏差。設(shè)加工點(diǎn)在圓弧外側(cè)或圓弧上,則加工偏差為故軸必須向負(fù)方向進(jìn)給一步,移動(dòng)到新的加工點(diǎn),其加工偏差為 (5-1)設(shè)加工點(diǎn)在圓弧的內(nèi)測(cè),則。那么y軸須向正向進(jìn)給一步,移到新的加工點(diǎn),其加工偏差為(5-2)根據(jù)式(3-)及式(3-)可以看出,新的加工點(diǎn)的偏差值可以用前一點(diǎn)的偏差值遞推出來(lái)。遞推法把圓弧偏差運(yùn)算式由平方運(yùn)算化為加法和乘2運(yùn)算,而對(duì)二進(jìn)制來(lái)說(shuō),乘2運(yùn)算是容易實(shí)現(xiàn)的。(2)圓弧插補(bǔ)的象限處理表2 xy平面內(nèi)逆圓插補(bǔ)的進(jìn)給方向與偏差計(jì)
13、算線型偏差偏差計(jì)算進(jìn)給方向與坐標(biāo)nr1ff+2x+1xx+1nr1nr2ff-2x+1xx-1nr2nr3ff+2y+1yy+1nr3nr4ff-2y+1yyx-15.1.2 步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)有三相、四相、五相、六相等多種,本設(shè)計(jì)采用三相步進(jìn)電機(jī)的三相六拍工作方式,其通電順序?yàn)椋焊飨嗤姷碾妷翰ㄐ稳鐖D8所示。圖11 三相六拍工作的電壓波形當(dāng)步進(jìn)電機(jī)的相數(shù)和控制方式確定之后,pb0pb2和pc0pc2輸出數(shù)據(jù)變化的規(guī)律就確定了,這種輸出數(shù)據(jù)變化規(guī)律可用輸出字來(lái)描述。為了便于尋找,輸出字以表的形式存放在計(jì)算機(jī)指定的存儲(chǔ)區(qū)域。表3、4給出了三相六拍正反轉(zhuǎn)控制方式的輸出字表。表3 三相六拍控制
14、方式正轉(zhuǎn)輸出字表控制位工作狀態(tài)控制字表c相b相a相1001a01h2011ab03h3010b02h4110bc06h5100c04h6101ca05h表4 三相六拍控制方式反轉(zhuǎn)輸出字表控制位工作狀態(tài)控制字表c相b相a相1001a01h2011ca05h3010c04h4110bc06h5100b02h6101ab03h5.2 8255的初始化編程由前面的分析知道,8255工作在方式0,控制口地址為 7fffh,控制字為90h。所以,8255的初始化編程如下。mov dptr, #7fffh ;控制口地址送dptrmov a, #90h ;pa口輸入,pb、pc口輸出,方式0movx dptr
15、, a ;將控制字寫(xiě)入控制口5.3 步進(jìn)電機(jī)走步控制程序 圖12 目標(biāo)曲線分段為了實(shí)現(xiàn)如圖所示曲線,我們將坐標(biāo)原點(diǎn)移到d點(diǎn),其余坐標(biāo)進(jìn)行變換,圖示d點(diǎn)為(0,0),a點(diǎn)為(0,-4),b點(diǎn)為(4,0),c點(diǎn)為(0,4),劃分為兩段圓弧,nr1即bc段,nr4即ab段。5.3.1 nr1程序流程圖 開(kāi)始初始化x0x,y0y,0f,nef=0 n y-x方向走一步+y方向走一步f=f-2x+1f=f+2y+1x=x-1y=y+1e=e-1e=0? n y結(jié)束 圖13 nr1步進(jìn)電機(jī)走步控制程序流程圖5.3.2 走步控制匯編程序代碼以下為第一象限x軸上步進(jìn)電機(jī)為例,y軸上步進(jìn)電機(jī)算法類(lèi)似xcotro
16、l: mov dptr, #adxp /(#adxn) ;將控制字表地址賦給dpth mov a, r2 ;表首偏移量送a movc a, a+dptr ;讀取當(dāng)前步進(jìn)電機(jī)的控制字 mov dptr, #7ffdh ;pb口地址送dptr movx dptr, a ;將步進(jìn)電機(jī)的控制字傳送到pb口 cjne a, #05h/(03h), loop3 ;若未到表尾,轉(zhuǎn)loop3 mov r2, #00h ;表首偏移量清零 sjmp delay1loop3: inc r2 ;未到表尾,表首偏移量加1 delay1: mov r0, #ffh ;延時(shí) djnz delay1ret ;返回adxp:
17、db 01h db 03h db 02h db 06h db 04h db 05hadxn: db 01h db 05h db 04h db 06h db 02h db 03h5.3.3 nr4程序流程圖 開(kāi)始初始化x0x,|y0|y,0f,nef=0 n y+y方向走一步+x方向走一步f=f-2y+1f=f+2x+1y=y-1x=x+1e=e-1e=0? n y結(jié)束 圖14 nr4步進(jìn)電機(jī)走步控制程序流程圖值得關(guān)注的是第四象限的插補(bǔ),y要帶入y0的絕對(duì)值,且n=(xe-x)+(y-ye)其控制算法實(shí)現(xiàn)同第一象限類(lèi)似。5.4 鍵盤(pán)顯示程序設(shè)計(jì)5.4.1、鍵盤(pán)與i/o接口 表5鍵盤(pán)接口0123p
18、10輸入4567p1189abp12cdefp13p14p15p16p17輸出5.4.2、鍵盤(pán)顯示程序流程圖 圖15 鍵盤(pán)顯示5.4.3 六個(gè)功能鍵: 表6 功能鍵與順序碼、特征碼對(duì)應(yīng)表設(shè)置set清零clr確認(rèn)開(kāi)始start暫停停止abcdef0bbh7bh0e7h0d7h0b7h77h5.5主程序第一、要實(shí)現(xiàn)兩個(gè)象限插補(bǔ),首先調(diào)用nr4子程,然后調(diào)用nr1子程。第二、要考慮與鍵盤(pán)顯示電路相結(jié)合,將走步次數(shù)輸出顯示。開(kāi)始5.5.1 主程序流程圖調(diào)用鍵盤(pán)掃描子程判斷鍵盤(pán)是否設(shè)置完畢 n 調(diào)用顯示子程調(diào)用nr4子程 y調(diào)用顯示子程調(diào)用nr1子程結(jié)束圖16 主程序流程圖5.4.2 源程序代碼首先分配
19、各變量的地址,高位存高地址,低位存進(jìn)低地址。源程序代碼見(jiàn)附錄二。 表7變量地址分配變量xyxeyefe高位地址51h4fh4dh4bh49h53h低位地址52h50h4eh4ch4ah54h六 系統(tǒng)調(diào)試6.1 系統(tǒng)安裝調(diào)試 按照硬件接線圖將系統(tǒng)安裝好后,裝入程序,執(zhí)行后查看步進(jìn)電機(jī)的走步軌跡。6.2 結(jié)果驗(yàn)證(1)nr4插補(bǔ):終點(diǎn)坐標(biāo)(xe,ye)為(4,0),起點(diǎn)坐標(biāo)(0,0)為(0,-4)插補(bǔ)計(jì)算過(guò)程如表3所示。表8 nr4插補(bǔ)計(jì)算過(guò)程步數(shù)偏差判別坐標(biāo)進(jìn)給偏差計(jì)算坐標(biāo)修正終點(diǎn)判別起點(diǎn)f0=0x=0,y=4e=81f0=0+yf1=0-2*4+1=-7x=0,y=3e=72f10+xf2=-
20、7+0+1=-6x=1,y=3e=63f20+xf3=-6+2*1+1=-3x=2,y=3e=54f30+yf5=2-2*3+1=-3x=3,y=2e=36f50+yf7=4-2*2+1=1x=4,y=1e=18f7=0+yf8=1-2*1+1=0x=4,y=0e=0(2)nr1插補(bǔ):終點(diǎn)坐標(biāo)(xe,ye)為(0,4),起點(diǎn)坐標(biāo)(0,0)為(4,0)插補(bǔ)計(jì)算過(guò)程如表4所示。表9 nr1插補(bǔ)計(jì)算過(guò)程步數(shù)偏差判別坐標(biāo)進(jìn)給偏差計(jì)算坐標(biāo)修正終點(diǎn)判別起點(diǎn)f0=0x=4,y=0e=81f0=0-xf1=0-2*4+1=-7x=3,y=0e=72f10+yf2=-7+0+1=-6x=3,y=1e=63f20
21、+yf3=-6+2*1+1=-3x=3,y=2e=54f30-xf5=2-2*3+1=-3x=2,y=3e=36f50-xf7=4-2*2+1=1x=1,y=4e=18f70-xf8=1-2*1+1=0x=0,y=4e=0 根據(jù)上表,可作出步進(jìn)電機(jī)的走步軌跡如圖11所示。系統(tǒng)走步軌跡與下圖比較,可判斷出設(shè)計(jì)的正確性。圖17 步進(jìn)電機(jī)走步軌跡七 課程設(shè)計(jì)總結(jié)通過(guò)一個(gè)多星期的課程設(shè)計(jì),我對(duì)這門(mén)課有了進(jìn)一步的了解。學(xué)習(xí)過(guò)程中在老師的耐心指導(dǎo)下,有意識(shí)的培養(yǎng)和建立了我的思維能力,使我真正建立數(shù)據(jù)及信息流的概念,以便在控制應(yīng)用中,能夠使軟件和硬件有機(jī)地結(jié)合。通過(guò)單片機(jī)對(duì)步進(jìn)電機(jī)的控制系統(tǒng)設(shè)計(jì),讓我真正的
22、掌握了微型計(jì)算機(jī)軟件和硬件相結(jié)合的設(shè)計(jì)方法。工業(yè)控制是計(jì)算機(jī)的一個(gè)重要應(yīng)用領(lǐng)域,計(jì)算機(jī)控制正是為了適應(yīng)這一領(lǐng)域的需要而發(fā)展起來(lái)的一門(mén)專(zhuān)門(mén)技術(shù),它主要研究如何將計(jì)算機(jī)技術(shù)和自動(dòng)控制理論應(yīng)用于工業(yè)生產(chǎn)過(guò)程,并設(shè)計(jì)出所需要的計(jì)算機(jī)控制系統(tǒng)。而當(dāng)代,隨著微型計(jì)算機(jī)的高度發(fā)展。它的應(yīng)用在人們的工作和日常生活中越來(lái)越普遍了。工業(yè)過(guò)程控制是計(jì)算機(jī)的一個(gè)重要應(yīng)用領(lǐng)域?,F(xiàn)在可以好不夸張的說(shuō),沒(méi)有微型計(jì)算機(jī)的儀器不能乘為先進(jìn)的儀器,沒(méi)有微型計(jì)算機(jī)的控制系統(tǒng)不能稱(chēng)其為現(xiàn)代控制系統(tǒng)的時(shí)代已經(jīng)到來(lái)。微型計(jì)算控制技術(shù)正為了適應(yīng)這一領(lǐng)域的需要而發(fā)展起來(lái)的一門(mén)技術(shù)。絕大多數(shù)自動(dòng)控制都是使用計(jì)算機(jī)來(lái)實(shí)現(xiàn)的;微型計(jì)算機(jī)控制技術(shù)的
23、發(fā)展,使得以微型計(jì)算機(jī)為控制器核心的微機(jī)測(cè)控裝置與系統(tǒng),滲透到了國(guó)民經(jīng)濟(jì)的各行各業(yè),已經(jīng)無(wú)時(shí)無(wú)處不在影響每個(gè)現(xiàn)代人的生活。只有態(tài)度認(rèn)真的對(duì)待這門(mén)學(xué)科才能真正掌握其中的精髓,在將來(lái)的工作中或許起著至關(guān)重要的作用。八、參考文獻(xiàn)1賀亞茹.匯編語(yǔ)言程序設(shè)計(jì).北京:科學(xué)出版社,20052卜艷萍、周偉.匯編語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,20043溫玉杰.intel匯編語(yǔ)言程序設(shè)計(jì)(第四版).北京:電子工業(yè)出版社,20044鄭學(xué)堅(jiān)、周斌.微型計(jì)算機(jī)原理與應(yīng)用.北京:清華大學(xué)出版社,20005于海生.微型計(jì)算機(jī)控制技術(shù).北京:清華大學(xué)出版社,19986沈美明、溫冬嬋.ibm-pc匯編語(yǔ)言程序設(shè)計(jì).北
24、京:清華大學(xué)出版社,2002 7何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2003附錄一 芯片資料圖18 8051單片機(jī)引腳圖 圖19 可編程芯片8255a引腳圖附錄二 源程序org 0100hmain:mov dptr, #7fffh ;控制口地址送dptrmov a, #90h ;方式0,pa輸入,pb、pc口輸出movx dptr, a ;將控制字寫(xiě)入控制口,初始化8255n:acall inputmaincjne a,0d7h,nacall nr4acall nr1endnr1:mov 4eh, ? ;xe的低8位存入4ehmov 4dh, ? ;xe的高8位存入4dh
25、mov 4ch, ? ;ye的低8位存入4chmov 4bh, ? ;ye的高8位存入4bhmov 52h,? ;x的低8位存入52hmov 51h,? ;x的高8位存入51hmov 50h,? ;y的低8位存入50hmov 4fh,? ;y的高8位存入4fhmov 4ah,#00h ;f的低8位清零mov 49h,#00h ;f的高8位清零clr r2 ;表adxn偏移量清零clr r3 ;表adyp偏移量清零mov r6,#02h ;在計(jì)算f=f+2*y+1時(shí)使用clr c ;計(jì)算總步數(shù)emov a,52h subb a,4eh ;a=(x-xe)低位mov 54h,a ;(54h)=(x
26、-xe)低位mov a,51hsubb a,4dh ;b=(x-xe)高位mov 53h,aclr cmov 20h,cadd a,54hmov 54h,amov 21h,cmov a,4bhmov c,20hsubb a,4fhmov c,21haddc a,53hmov 53h,arp2: mov a, 49h ;取偏差的高8位 jb acc.7, rp6 ;若fm0,轉(zhuǎn)到rp6 acall xmn ;否則,調(diào)xmn acall fmm1 ;計(jì)算新偏差:f-2*x+1 acall decx ;x=x-1rp4:clr c mov a,54h subb a,#01h mov 54h,a mo
27、v a,53h subb a,#00h mov 53h,a orl a,54h jnz rp2org 8000hendrp6:acall ymp acall fmm2 acall addy ajmp rp4xmn : mov dptr, #adxn ;將控制字表地址賦給dpth mov a, r2 ;表首偏移量送a movc a, a+dptr ;讀取當(dāng)前步進(jìn)電機(jī)的控制字 mov dptr, #7ffdh ;pb口地址送dptr movx dptr, a ;將步進(jìn)電機(jī)的控制字傳送到pb口 cjne a, #03h, loop3 ;若未到表尾,轉(zhuǎn)loop3 mov r2, #00h ;表首偏移量
28、清零 sjmp delay1 loop3: inc r2 ;未到表尾,表首偏移量加1delay1: mov r0, #ffh ;延時(shí) djnz delay1ret ;返回ymp: mov dptr, #adyp ;將控制字表地址賦給dpth mov a, r3 ;ady表首偏移量送a movc a, a+dptr ;讀取當(dāng)前步進(jìn)電機(jī)的控制字 mov dptr, #7ffeh ;pc口地址送dptr movx dptr, a ;將步進(jìn)電機(jī)的控制字傳送到pc口 cjne a, #05h, loop4 ;若未到表尾,轉(zhuǎn)loop4 mov r3, #00h ;表首偏移量清零 sjmp delay2 l
29、oop4: inc r3 ;未到表尾,表首偏移量加1 delay2: mov r0, #ffh ;延時(shí) djnz delay2 retadxn: db 01h ;-x方向走一步步進(jìn)電機(jī)控制字表 db 05h db 04h db 06h db 02h db 03hadyp: db 01h ;+y方向走一步步進(jìn)電機(jī)控制字表 db 03h db 02h db 06h db 04h db 05hfmm1:f=f-2*x+1clr cmov a,4ahsubb a,52hxch a,bmov a,49hsubb a,51hxch a,bclr csubb a,52hxch a,bsubb a,51hxc
30、h a,badd a,#01hmov 4ah,axch a,baddc a,#00hmov 49h,aretdecx: x=x-1clr cmov a,52hsubb a,#01hmov 52h,amov a,51hsubb a,#00hmov 51h,aretfmm2:f=f+2y+1 mov a,4ah add a,50hmov 4ah,amov a,49haddc a,4fhmov 49h,adjnz r6,fmm2mov a,4ahadd a,#01hmov 4ah,amov a,49haddc a,#00hmov 49h,aretaddy:mov a,50h add a,#01h m
31、ov 50h,a mov a,4fh addc a,#00h mov 4fh,a retnr4::mov 4eh, ? ;xe的低8位存入4ehmov 4dh, ? ;xe的高8位存入4dhmov 4ch, ? ;ye的低8位存入4chmov 4bh, ? ;ye的高8位存入4bhmov 52h,? ;x的低8位存入52hmov 51h,? ;x的高8位存入51hmov 50h,? ;y的低8位存入50hmov 4fh,? ;y的高8位存入4fhmov 4ah,#00h ;f的低8位清零mov 49h,#00h ;f的高8位清零clr r3 ;表adyp偏移量清零clr r4 ;表adxp偏移
32、量清零mov r6,#02h ;在計(jì)算f=f+2*x+1時(shí)使用clr c ;計(jì)算總步數(shù)emov a,4eh subb a,52h ;a=(xe-x)低位mov 54h,a ;(54h)=(xe-x)低位mov a,4dhsubb a,51h ;b=(x-xe)高位mov 53h,a ;(53h)=(xe-x)高位clr cmov a,50h subb a,4ch ;(a)=(y-ye)低位mov 20h,c ;暫存借位位add a,54h ;d=a+cmov 54h,a ;保存e的低位mov 21h,c ;暫存d=a+c,產(chǎn)生的進(jìn)位位mov a,4fh ;計(jì)算y-ye的高位mov c,20h
33、;恢復(fù)借位位subb a,4bh ;(a)=(4bh)-(4fh)即(ye-y)高位mov c,21h ;恢復(fù)低位相加進(jìn)位位addc a,53h ;計(jì)算(x-xe)高位+(y-ye)高位mov 53h,a ;保存e的高位rp1: mov a, 49h ;取偏差的高8位 jb acc.7, rp5 ;若fm0,轉(zhuǎn)到rp5 acall ymp ;否則,調(diào)ymp acall fmm3 ;計(jì)算新偏差:f-2*y+1 acall decy ;y=y-1rp3:clr c ;e=e-1 mov a,54h subb a,#01h mov 54h,a mov a,53h subb a,#00h mov 53
34、h,a orl a,54h jnz rp1org 8000hendrp5:acall xmp ;+x方向走一步 acall fmm4 ;f=f+2*x+1 acall addx ;x=x+1 ajmp rp3ymp: mov dptr, #adyp ;將控制字表地址賦給dpth mov a, r3 ;ady表首偏移量送a movc a, a+dptr ;讀取當(dāng)前步進(jìn)電機(jī)的控制字 mov dptr, #7ffeh ;pc口地址送dptr movx dptr, a ;將步進(jìn)電機(jī)的控制字傳送到pc口 cjne a, #05h, loop4 ;若未到表尾,轉(zhuǎn)loop4 mov r3, #00h ;表首
35、偏移量清零 sjmp delay2 loop4: inc r3 ;未到表尾,表首偏移量加1 delay2: mov r0, #ffh ;延時(shí) djnz delay2 retxmp : mov dptr, #adxp ;將控制字表地址賦給dpth mov a, r4 ;表首偏移量送a movc a, a+dptr ;讀取當(dāng)前步進(jìn)電機(jī)的控制字 mov dptr, #7ffdh ;pb口地址送dptr movx dptr, a ;將步進(jìn)電機(jī)的控制字傳送到pb口 cjne a, #05h, loop5 ;若未到表尾,轉(zhuǎn)loop5 mov r4, #00h ;表首偏移量清零 sjmp delay3 lo
36、op5: inc r2 ;未到表尾,表首偏移量加1delay3: mov r0, #ffh ;延時(shí) djnz r0, delay3ret ;返回adxp: db 01h ;-x方向走一步步進(jìn)電機(jī)控制字表 db 03h db 02h db 06h db 04h db 05hadyp: db 01h ;+y方向走一步步進(jìn)電機(jī)控制字表 db 03h db 02h db 06h db 04h db 05hfmm3:f=f-2*y+1clr cmov a,4ahsubb a,50hxch a,bmov a,49hsubb a,4fhxch a,bclr csubb a,50hxch a,bsubb a,
37、4fhxch a,badd a,#01hmov 4ah,axch a,baddc a,#00hmov 49h,aretdecy: y=y-1clr cmov a,50hsubb a,#01hmov 50h,amov a,4fhsubb a,#00hmov 4fh,aretfmm4:f=f+2x+1 mov a,4ah add a,52hmov 4ah,amov a,49haddc a,51hmov 49h,adjnz r7,fmm4mov a,4ahadd a,#01hmov 4ah,amov a,49haddc a,#00hmov 49h,aretaddx:mov a,52h add a,#
38、01h mov 52h,a mov a,51h addc a,#00h mov 51h,aretinputmain:mov r1,9fh 輸入x、y的初值暫存于9fh開(kāi)始的四個(gè)單元main1:mov dptr,#tab;lcall key; 調(diào)用鍵盤(pán)掃描程序movc a,a+dptr;查表后將值送入累加器mov p0,a 送p0口顯示mov r0,a; 將鍵盤(pán)的數(shù)輸入x、y對(duì)應(yīng)的單元inc r0cjne a,0d7h, main1retkey: lcall ks; 檢測(cè)按鍵子程序 jnz k1; 有鍵按下繼續(xù) ajmp key; 若無(wú)按鍵按下,返回繼續(xù)檢測(cè)k1: lcall delay2 lc
39、all delay2;有鍵按下繼續(xù)延時(shí)去抖動(dòng) lcall ks;再一次調(diào)用檢測(cè)按鍵程序 jnz k2;確認(rèn)有按下,進(jìn)行下一步 ajmp key;無(wú)按鍵按下,繼續(xù)返回檢測(cè)k2: mov r2,#0efh;將掃描值送入 r2暫存 mov r4,#00h;r4用于存放列值,并將00h暫存k3: mov p1,r2;l6: jb p10,l1;p10等于1跳轉(zhuǎn)到l1 mov a,#00h;將第一行的行值00h送入acc ajmp lk;跳轉(zhuǎn)到鍵值處理程序l1: jb p11,l2;p1.1等于1跳轉(zhuǎn)到l2 mov a,#04h;將第二行的行值送入acc ajmp lk;跳轉(zhuǎn)到鍵值處理程序進(jìn)行鍵值處理l2: jb p12,l3;p1.2等于1跳轉(zhuǎn)到l3 mov a,#08h;將第三行的行值送入acc ajmp lk;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 少先鋒隊(duì)申請(qǐng)書(shū)
- 全國(guó)導(dǎo)游基礎(chǔ)知識(shí)-導(dǎo)游資格全國(guó)導(dǎo)游基礎(chǔ)知識(shí)2021年真題
- 管理班級(jí)申請(qǐng)書(shū)
- 企業(yè)信息披露結(jié)構(gòu)與透明度提升規(guī)范
- 校資助貧困申請(qǐng)書(shū)
- 2024-2025學(xué)年安徽省合肥市普通高中高二上學(xué)期期末總復(fù)習(xí)測(cè)物理試卷(解析版)
- 江蘇省鹽城市2024-2025學(xué)年高二上學(xué)期學(xué)業(yè)水平合格性模擬檢測(cè)物理試題(解析版)
- 2024-2029年中國(guó)氫能承壓設(shè)備(氫能裝備)行業(yè)發(fā)展前景預(yù)測(cè)與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 2025年江蘇南通市中央創(chuàng)新區(qū)建設(shè)投資有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 電梯系統(tǒng)的遠(yuǎn)程監(jiān)控與故障診斷技術(shù)
- 2024年中考語(yǔ)文(云南卷)真題詳細(xì)解讀及評(píng)析
- 2025年上半年山東氣象局應(yīng)屆高校畢業(yè)生招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 電梯消防安全與維護(hù)
- 【大學(xué)課件】工程倫理與社會(huì)
- 第二單元 主題活動(dòng)三《世界那么大我想去看看》(說(shuō)課稿)-2023-2024學(xué)年六年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)內(nèi)蒙古版
- 人教版2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題練習(xí)
- 【人教版化學(xué)】必修1 知識(shí)點(diǎn)默寫(xiě)小紙條(答案背誦版)
- 雙線大橋連續(xù)梁剛構(gòu)專(zhuān)項(xiàng)施工方案及方法
- 美容院前臺(tái)接待流程
- 幼兒園防四害安全教育
- 全國(guó)第三屆職業(yè)技能大賽(無(wú)人機(jī)駕駛(植保)項(xiàng)目)選拔賽理論考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論