版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)說(shuō)明書(shū)</b></p><p> 課程名稱 單片機(jī)課程設(shè)計(jì) </p><p> 教 學(xué) 部 工學(xué)一部 </p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 班 級(jí) </p><p>
2、;<b> 課程設(shè)計(jì)任務(wù)書(shū)</b></p><p> 教 學(xué) 部 工學(xué)一部 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p> 課程設(shè)計(jì)題目 三步進(jìn)電機(jī)聯(lián)動(dòng)控制的設(shè)計(jì)與實(shí)現(xiàn) </p><p> 課程設(shè)計(jì)的內(nèi)容及要求:</p><p><
3、b> 主要內(nèi)容</b></p><p> 將三臺(tái)試驗(yàn)箱的串口用導(dǎo)線連接并實(shí)現(xiàn)通信,編寫(xiě)步進(jìn)電機(jī)正反轉(zhuǎn)、調(diào)速程序,完成根據(jù)開(kāi)關(guān)選擇情況兩個(gè)步進(jìn)電機(jī)或正或反、或快或慢同時(shí)或者獨(dú)立轉(zhuǎn)動(dòng)。</p><p><b> (二)基本要求</b></p><p> 必須用實(shí)驗(yàn)室有的儀器完成;</p><p>
4、 調(diào)試后通過(guò)老師當(dāng)場(chǎng)驗(yàn)收;</p><p> 交出完整的課程設(shè)計(jì)報(bào)告。</p><p><b> ?。ㄈ┲饕獏⒖紩?shū)</b></p><p> 1.李剛民,曹巧媛,陳忠平編 《單片機(jī)原理及實(shí)用技術(shù)》高等教育出版社2005</p><p> 2.劉和平 《單片機(jī)原理及應(yīng)用》重慶大學(xué)出版社2002</p>
5、<p> 3. 雷思孝等 《單片機(jī)原理及實(shí)用技術(shù)》西安電子科技大學(xué)出版社2004 </p><p> 4.陳忠平等 《單片機(jī)原理及接口》 清華大學(xué)出版社2005</p><p><b> ?。ㄋ模┰u(píng)語(yǔ)</b></p><p><b> (五)成績(jī)</b></p><p> 指導(dǎo)教
6、師 年 月 日</p><p> 負(fù)責(zé)教師 年 月 日</p><p><b> 目錄</b></p><p><b> 摘 要1</b>&l
7、t;/p><p><b> 1.1功能需求1</b></p><p><b> 2硬件設(shè)計(jì)2</b></p><p><b> 2.1電路設(shè)計(jì)2</b></p><p> 2.2 步進(jìn)電機(jī)圖3</p><p> 3 系統(tǒng)工作原理3<
8、/p><p> 3.1步進(jìn)電機(jī)工作原理3</p><p> 3.2 基于AT89C2051的步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理4</p><p> 3.3 四項(xiàng)八拍正向勵(lì)磁順序5</p><p> 3.4 四項(xiàng)八拍反向勵(lì)磁順序6</p><p><b> 4 線路連接6</b></p
9、><p><b> 5 軟件設(shè)計(jì)7</b></p><p> 5.1 軟件設(shè)計(jì)思路7</p><p> 5.2 主程序流程圖7</p><p> 5.3 延遲模塊流程圖8</p><p><b> 6 調(diào)試分析9</b></p><p>
10、;<b> 7結(jié)論9</b></p><p><b> 8結(jié)束語(yǔ)9</b></p><p><b> 參考文獻(xiàn)10</b></p><p><b> 附錄一11</b></p><p><b> 摘 要</b>&l
11、t;/p><p> 步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不能像普通的直流電機(jī),交流電機(jī)在常規(guī)下使用。它必須由雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機(jī)卻非易事,它涉及到機(jī)械、電機(jī)、電子及計(jì)算機(jī)等許多
12、專業(yè)知識(shí)。步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(即步進(jìn)角)。您可以通過(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加
13、速度,從而達(dá)到調(diào)速的目的。</p><p> 關(guān)鍵詞:步進(jìn)電機(jī),51單片機(jī),脈沖信號(hào)</p><p><b> 緒論</b></p><p> 通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過(guò)定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角
14、度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來(lái)控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。步進(jìn)電機(jī)必須加驅(qū)動(dòng)才可以運(yùn)轉(zhuǎn), 驅(qū)動(dòng)信號(hào)必須為脈沖信號(hào),沒(méi)有脈沖的時(shí)候, 步進(jìn)電機(jī)靜止, 如果加入適當(dāng)?shù)拿}沖信號(hào), 就會(huì)以一定的角度(稱為步角)轉(zhuǎn)動(dòng)。轉(zhuǎn)動(dòng)的速度和脈沖的頻率成正比。2 騰龍版步進(jìn)電機(jī)的步進(jìn)角度為7.5 度,一
15、圈360 度, 需要48 個(gè)脈沖完成。3 步進(jìn)電機(jī)具有瞬間啟動(dòng)和急速停止的優(yōu)越特性。4 改變脈沖的順序, 可以方便的改變轉(zhuǎn)動(dòng)的方向。因此,目前打印機(jī),繪圖儀,機(jī)器人,等等設(shè)備都以步進(jìn)電機(jī)為動(dòng)力核心。</p><p><b> 1.1功能需求</b></p><p> 編寫(xiě)步進(jìn)電機(jī)正反轉(zhuǎn)、調(diào)速程序,完成根據(jù)開(kāi)關(guān)選擇情況兩個(gè)步進(jìn)電機(jī)或正或反、或快或慢同時(shí)轉(zhuǎn)動(dòng)。<
16、/p><p><b> 2硬件設(shè)計(jì)</b></p><p><b> 2.1電路設(shè)計(jì)</b></p><p> 此程序?yàn)?個(gè)步進(jìn)電機(jī)分別調(diào)速,分別調(diào)方向的控制程序。P1.0-P1.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P1.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P1.4-P1.7接步進(jìn)電機(jī)1的A-D;P2.0-P2.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P2.3
17、步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P2.4-P2.7接步進(jìn)電機(jī)2的A-D;P3.0-P3.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P3.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P3.4-P3.7接步進(jìn)電機(jī)3的A-D。</p><p><b> 圖1 電路設(shè)計(jì)圖</b></p><p><b> 2.2 步進(jìn)電機(jī)圖</b></p><p> 圖 2 步進(jìn)電機(jī)實(shí)物
18、圖</p><p> 圖3 步進(jìn)電機(jī)原理圖</p><p><b> 3 系統(tǒng)工作原理</b></p><p> 3.1步進(jìn)電機(jī)工作原理</p><p> 步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。圖3是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。
19、</p><p> 開(kāi)始時(shí),開(kāi)關(guān)SB接通電源,SA、SC、SD斷開(kāi),B相磁極和轉(zhuǎn)子0、3號(hào)齒對(duì)齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和C、D相繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。</p><p> 當(dāng)開(kāi)關(guān)SC接通電源,SB、SA、SD斷開(kāi)時(shí),由于C相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和C相繞組的磁極對(duì)齊。而0、3號(hào)齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、
20、5號(hào)齒就和A、D相繞組磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。</p><p> 四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。</p><p> 單四拍
21、、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖6.a、b、c所示:</p><p> a. 單四拍 b. 雙四拍 c八拍</p><p> 圖6.步進(jìn)電機(jī)工作時(shí)序波形圖</p><p> 3.2 基于AT89C2051的步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理</p><p> 步進(jìn)電機(jī)驅(qū)動(dòng)器
22、系統(tǒng)電路原理如圖8:</p><p> 圖8 步進(jìn)電機(jī)驅(qū)動(dòng)器系統(tǒng)電路原理圖</p><p> AT89C2051將控制脈沖從P1口的P1.4-P1.7輸出,經(jīng)74LS14反相后進(jìn)入9014,經(jīng)9014放大后控制光電開(kāi)關(guān),光電隔離后,由功率管TIP122將脈沖信號(hào)進(jìn)行電壓和電流放大,驅(qū)動(dòng)步進(jìn)電機(jī)的各相繞組。使步進(jìn)電機(jī)隨著不同的脈沖信號(hào)分別作正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和停止等動(dòng)作。圖中L1為步
23、進(jìn)電機(jī)的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對(duì)上位機(jī)脈沖信號(hào)周期的影響。</p><p> 圖8中的RL1-RL4為繞組內(nèi)阻,50Ω電阻是一外接電阻,起限流作用,也是一個(gè)改善回路時(shí)間常數(shù)的元件。D1-D4為續(xù)流二極管,使電機(jī)繞組產(chǎn)生的反電動(dòng)勢(shì)通過(guò)續(xù)流二極管(D1-D4)而衰減掉,從而保護(hù)了功率管TIP122不受損壞。</p>
24、;<p> 在50Ω外接電阻上并聯(lián)一個(gè)200μF電容,可以改善注入步進(jìn)電機(jī)繞組的電流脈沖前沿,提高了步進(jìn)電機(jī)的高頻性能。與續(xù)流二極管串聯(lián)的200Ω電阻可減小回路的放電時(shí)間常數(shù),使繞組中電流脈沖的后沿變陡,電流下降時(shí)間變小,也起到提高高頻工作性能的作用。</p><p> 3.3 四項(xiàng)八拍正向勵(lì)磁順序</p><p> A→AB→B→BC→C→CD→D→DA</p&
25、gt;<p> 3.4 四項(xiàng)八拍反向勵(lì)磁順序</p><p> A→DA→D→CD→C→BC→B→AB</p><p><b> 4 線路連接</b></p><p> 此程序?yàn)?個(gè)步進(jìn)電機(jī)分別調(diào)速,分別調(diào)方向的控制程序。P1.0-P1.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P1.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P1.4-P1.7接步進(jìn)電機(jī)1的
26、A-D;P2.0-P2.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P2.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P2.4-P2.7接步進(jìn)電機(jī)2的A-D;P3.0-P3.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P3.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P3.4-P3.7接步進(jìn)電機(jī)3的A-D。</p><p><b> 圖9 電路設(shè)計(jì)圖</b></p><p><b> 5 軟件設(shè)計(jì)</b></p&g
27、t;<p> 5.1 軟件設(shè)計(jì)思路</p><p> 此程序?yàn)?個(gè)步進(jìn)電機(jī)分別調(diào)速,分別調(diào)方向的控制程序。P1.0-P1.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P1.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P1.4-P1.7接步進(jìn)電機(jī)1的A-D;P2.0-P2.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P2.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P2.4-P2.7接步進(jìn)電機(jī)2的A-D;P3.0-P3.2步進(jìn)電機(jī)1的速度開(kāi)關(guān),P3.3步進(jìn)電機(jī)2的轉(zhuǎn)向開(kāi)關(guān),P
28、3.4-P3.7接步進(jìn)電機(jī)3的A-D。</p><p> 5.2 主程序流程圖</p><p> 圖10 主程序流程圖</p><p> 5.3 中斷服務(wù)模塊流程圖</p><p> 圖11 中斷服務(wù)模塊流程圖</p><p><b> 6 調(diào)試分析</b></p>&
29、lt;p> 在課程設(shè)計(jì)中,遇到了不少問(wèn)題。開(kāi)始時(shí)兩臺(tái)機(jī)器沒(méi)有接地,導(dǎo)致從電機(jī)不能穩(wěn)定工作。還有程序的設(shè)計(jì)上也出現(xiàn)了點(diǎn)問(wèn)題,就是旋轉(zhuǎn)方向的判斷,剛開(kāi)始是送一個(gè)脈沖判斷一次,結(jié)果不行,于是改為送完一個(gè)周期的脈沖后在判斷兩個(gè)電機(jī)的旋轉(zhuǎn)方向。單片機(jī)指令書(shū)寫(xiě)格式也錯(cuò)了很多,比如JNZ RET,只有一個(gè)操作數(shù),還有CJNE 第一個(gè)操作數(shù)只能是Rn或A,發(fā)現(xiàn)這些錯(cuò)誤后一個(gè)一個(gè)改正過(guò)來(lái)啦。</p><p><b&g
30、t; 7結(jié)論 </b></p><p> 本次課程設(shè)計(jì)難點(diǎn)重重,不但要運(yùn)用到實(shí)驗(yàn)儀器所鮮有的P2口,還要在程序中引入中斷服務(wù)子程序及定時(shí)器技術(shù)。在周期性運(yùn)轉(zhuǎn)實(shí)現(xiàn)過(guò)程中,測(cè)試結(jié)果連帶很多疑問(wèn)。需要經(jīng)過(guò)多次嘗試來(lái)判斷問(wèn)題指向。例如變速的獨(dú)立性和轉(zhuǎn)向變換獨(dú)立性等。</p><p><b> 8結(jié)束語(yǔ)</b></p><p> 本次
31、課設(shè)是我自己獨(dú)立設(shè)計(jì)開(kāi)發(fā),購(gòu)件,組裝,焊接電路,最后測(cè)試而成的</p><p> 在參考程序基礎(chǔ)上,將參考程序?qū)崿F(xiàn)的雙電動(dòng)機(jī)聯(lián)動(dòng)同事控速升級(jí)為三電動(dòng)機(jī)聯(lián)動(dòng)獨(dú)立控速。其中引入中斷服務(wù)程序及內(nèi)部定時(shí)器等技術(shù),較雙電動(dòng)機(jī)聯(lián)動(dòng)更為復(fù)雜。為期兩周的課程設(shè)計(jì)讓我鍛煉了獨(dú)立設(shè)計(jì)能力,以及解決問(wèn)題,難題的能力。從要求出發(fā),從根本出發(fā),將問(wèn)題細(xì)分,運(yùn)用之前學(xué)習(xí)掌握的知識(shí),將理論與實(shí)踐結(jié)合,開(kāi)發(fā)出課程設(shè)計(jì)所需的完美作品。</
32、p><p><b> 參考文獻(xiàn)</b></p><p> [1]汪道輝. 單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐.電子工業(yè)出版社,2006年</p><p> [2] 何宏.單片機(jī)原理與接口技術(shù).國(guó)防工業(yè)出版社,2006年</p><p> [3] 李鴻.單片機(jī)原理與應(yīng)用.湖南大學(xué)出版社,2005年</p><p&
33、gt; [4]李恩林,陳斌生.微機(jī)接口技術(shù)300例.機(jī)械工業(yè)出版社,2003年</p><p> 附錄一 程序代碼清單</p><p> SPD1EQU30H</p><p> SPD2EQU31H</p><p> SPD3EQU32H</p><p> TIM1EQU33H&l
34、t;/p><p> TIM2EQU34H</p><p> TIM3EQU35H</p><p> FX1EQU20H.0</p><p> FX2EQU21H.1</p><p> FX3EQU22H.2</p><p> T0TIMLEQU0B0H
35、;T0方式1,100ms中斷的數(shù)據(jù)=3CB0H(6M晶振)</p><p> T0TIMHEQU3CH</p><p><b> ORG0000H</b></p><p> LJMPSTART</p><p> ORG000BH;T0中斷向量</p><p> L
36、JMPTCL0;T0中斷</p><p><b> ORG0100H</b></p><p> START: MOVA,#50H</p><p> MOVSP,A;50H定義為堆堆棧區(qū)</p><p> LCALLT0_INIT;初始化T0,為T(mén)0中斷做準(zhǔn)備</p>&l
37、t;p><b> MOVA,#00</b></p><p> MOVR0,A;電機(jī)1指針清零</p><p> MOVR1,A;電機(jī)2指針清零</p><p> MOVR2,A;電機(jī)3指針清零</p><p> LOOP:LCALLDJ1SUB</p><
38、;p> ;LCALLDJ2SUB</p><p> ;LCALLDJ2SUB</p><p><b> LJMPLOOP</b></p><p> ;=========================================================</p><p> DJ1S
39、UB:NOP</p><p> MOVA,P1;讀電機(jī)1的速度開(kāi)關(guān)</p><p> ANLA,#07H;保留低3位</p><p> JZEND_1;速度=0時(shí),為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p> CJN
40、EA,TIM1,TEST1;比較中斷計(jì)時(shí)是否已到</p><p> TEST1:JCEND_1;當(dāng)TIM1小于設(shè)定速度時(shí)說(shuō)明時(shí)間未到,不輸出.</p><p> ;當(dāng)TIM1大于等于設(shè)定速度時(shí)說(shuō)明時(shí)間到,</p><p> ;進(jìn)入輸出流程,接著輸出</p><p> MOVA,R0;讀指針1</p>
41、;<p> JNZNEXT1;R0<>0 說(shuō)明一圈未完,應(yīng)繼續(xù)</p><p> MOVA,P1;R0=0 說(shuō)明一圈的開(kāi)始,應(yīng)測(cè)方向,</p><p> ;只是當(dāng)R0=0時(shí)才重讀方向</p><p> JBACC.3,SETB_D1Z;P1.3=1去建立電機(jī)1的正轉(zhuǎn)標(biāo)志.</p><p>
42、 CLRFX1;ACC.3=0為反轉(zhuǎn),建立反轉(zhuǎn)標(biāo)志</p><p> LJMPNEXT1</p><p> SETB_D1Z:SETBFX1</p><p> ; 以上是當(dāng)R0=0時(shí)建立的方向標(biāo)志</p><p> ; 根據(jù)方向來(lái)取數(shù)據(jù),正轉(zhuǎn)取TAB1,反轉(zhuǎn)取TAB2.
43、</p><p> NEXT1:NOP</p><p> JBFX1,ZZ_1;標(biāo)志1=1=正轉(zhuǎn),去讀正轉(zhuǎn)數(shù)據(jù)。</p><p> MOVDPTR,#TAB2;指向反轉(zhuǎn)表 </p><p> LJMPOUT1;去輸出</p><p> ZZ_1:MOVDPTR,#TAB1
44、;指向正轉(zhuǎn)表 </p><p> OUT1:MOVA,R0;R0=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP1,A;向電機(jī)1輸出信號(hào)</p><p><b> INCR0</b></p><p> CJNER0,#8
45、,NEXT1;R0<>8未到一圈,應(yīng)繼續(xù)</p><p> MOVR0,#0;R0=8 說(shuō)明一圈結(jié)束,指針清零</p><p> END_1:RET</p><p> ;=========================================================</p><p>
46、 DJ2SUB:NOP</p><p> MOVA,P2;讀電機(jī)2的速度開(kāi)關(guān)</p><p> ANLA,#07H;保留低3位</p><p> JZEND_2;速度=0時(shí),為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p>
47、 CJNEA,TIM2,TEST2;比較中斷計(jì)時(shí)是否已到</p><p> TEST2:JCEND_2;當(dāng)TIM2小于設(shè)定速度時(shí)說(shuō)明時(shí)間未到,不輸出.</p><p> ;當(dāng)TIM2大于等于設(shè)定速度時(shí)說(shuō)明時(shí)間到,</p><p> ;進(jìn)入輸出流程,接著輸出</p><p> MOVA,R1;讀指針2<
48、/p><p> JNZNEXT2;R1<>0 說(shuō)明一圈未完,應(yīng)繼續(xù)</p><p> MOVA,P2;R1=0 說(shuō)明一圈的開(kāi)始,應(yīng)測(cè)方向,</p><p> ;只是當(dāng)R1=0時(shí)才重讀方向</p><p> JBACC.3,SETB_D2Z;P2.3=1去建立電機(jī)2的正轉(zhuǎn)標(biāo)志.</p><
49、p> CLRFX2;ACC.3=0為反轉(zhuǎn),建立反轉(zhuǎn)標(biāo)志</p><p> LJMPNEXT2</p><p> SETB_D2Z:SETBFX2</p><p> ;以上是當(dāng)R1=0時(shí)建立的方向標(biāo)志</p><p> ;根據(jù)方向來(lái)取數(shù)據(jù),正轉(zhuǎn)取TAB1,反轉(zhuǎn)取TAB2.</p><p>
50、 NEXT2:NOP</p><p> JBFX2,ZZ_2;標(biāo)志2=1=正轉(zhuǎn),去讀正轉(zhuǎn)數(shù)據(jù)。</p><p> MOVDPTR,#TAB2;指向反轉(zhuǎn)表 </p><p> LJMPOUT2;去輸出</p><p> ZZ_2:MOVDPTR,#TAB1;指向正轉(zhuǎn)表 </p>
51、<p> OUT2:MOVA,R1;R1=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP2,A;向電機(jī)2輸出信號(hào)</p><p><b> INCR1</b></p><p> CJNER1,#8,NEXT2;R1<>8
52、未到一圈,應(yīng)繼續(xù)</p><p> MOVR1,#0;R1=8 說(shuō)明一圈結(jié)束,指針清零</p><p> END_2:RET</p><p> ;=========================================================</p><p> DJ3SUB:NOP</p>
53、;<p> MOVA,P3;讀電機(jī)3的速度開(kāi)關(guān)</p><p> ANLA,#07H;保留低3位</p><p> JZEND_3;速度=0時(shí),為停止,不輸出,直接返回.</p><p><b> CLRC</b></p><p> CJNEA,TIM3,TE
54、ST3;比較中斷計(jì)時(shí)是否已到</p><p> TEST3:JCEND_3;當(dāng)TIM3小于設(shè)定速度時(shí)說(shuō)明時(shí)間未到,不輸出.</p><p> ;當(dāng)TIM3大于等于設(shè)定速度時(shí)說(shuō)明時(shí)間到,</p><p> ;進(jìn)入輸出流程,接著輸出</p><p> MOVA,R2;讀指針3</p><p> J
55、NZNEXT3;R2<>0 說(shuō)明一圈未完,應(yīng)繼續(xù)</p><p> MOVA,P3;R2=0 說(shuō)明一圈的開(kāi)始,應(yīng)測(cè)方向,</p><p> ;只是當(dāng)R2=0時(shí)才重讀方向</p><p> JBACC.3,SETB_D3Z;P3.3=1去建立電機(jī)3的正轉(zhuǎn)標(biāo)志.</p><p> CLRFX3;ACC.3
56、=0為反轉(zhuǎn),建立反轉(zhuǎn)標(biāo)志</p><p> LJMPNEXT3</p><p> SETB_D3Z:SETBFX3</p><p> ; 以上是當(dāng)R2=0時(shí)建立的方向標(biāo)志</p><p> ; 根據(jù)方向來(lái)取數(shù)據(jù),正轉(zhuǎn)取TAB1,反轉(zhuǎn)取TAB2.</p><p> NEXT3:NOP</p>
57、;<p> JBFX3,ZZ_3;標(biāo)志3=1=正轉(zhuǎn),去讀正轉(zhuǎn)數(shù)據(jù)。</p><p> MOVDPTR,#TAB2;指向反轉(zhuǎn)表 </p><p> LJMPOUT3;去輸出</p><p> ZZ_3:MOVDPTR,#TAB1;指向正轉(zhuǎn)表 </p><p> OUT3:MOVA,
58、R2;R2=讀表的指針</p><p> MOVCA,@A+DPTR</p><p> MOVP3,A;向電機(jī)3輸出信號(hào)</p><p><b> INCR2</b></p><p> CJNER2,#8,NEXT3;R2<>8未到一圈,應(yīng)繼續(xù)</p><
59、p> MOVR2,#0;R2=8 說(shuō)明一圈結(jié)束,指針清零</p><p> END_3:RET</p><p> ;=========================================================</p><p> T0_INIT:MOV TMOD,#21H ;T1=方式2 T0=方式1<
60、/p><p> MOV TL0,T0TIML ;定時(shí)器0 低字節(jié)</p><p> MOV TH0,T0TIMH ;定時(shí)器0 高字節(jié)</p><p> SETBTR0;允許T0計(jì)數(shù)</p><p> SETBEA;開(kāi)中斷</p><p> ;==================
61、=======T0中斷服務(wù)程序====================</p><p> TCL0:MOV TL0,T0TIML</p><p> MOV TH0,T0TIMH</p><p> PUSH PSW;保存狀態(tài)字</p><p><b> INCTIM1</b></p>
62、;<p><b> INCTIM2</b></p><p><b> INCTIM3</b></p><p> POP PSW;恢復(fù)狀態(tài)字</p><p><b> RETI</b></p><p> ;================
63、=========================================</p><p> TAB1:DB 1FH,3FH,2FH,6FH,4FH,0CFH,8FH,9FH,00;正正</p><p> TAB2:DB 1FH,9FH,8FH,0CFH,4FH,6FH,2FH,3FH,00;反反</p><p><b>
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)步進(jìn)電機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告——單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--步進(jìn)電機(jī)控制設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)-控制步進(jìn)電機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)步進(jìn)電機(jī)控制設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計(jì)——單片機(jī)控制步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)角度控制
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制 (2)
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)
- 三相步進(jìn)電機(jī)的單片機(jī)控制單片機(jī)課程設(shè)計(jì)
- 基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論