版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 單片機(jī)課程設(shè)計 </p><p> 學(xué)校: </p><p> 院系:物理與電氣工程學(xué)院</p><p><b> 專業(yè)班級:自動化</b></p><p><b> 摘要</b></p><p> 步進(jìn)電機(jī)是將電脈沖
2、信號轉(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ī)的調(diào)速一般是改變輸入步進(jìn)電機(jī)的脈沖的頻率來實現(xiàn)步進(jìn)電機(jī)的調(diào)速,因為步進(jìn)電機(jī)每給一個脈沖就轉(zhuǎn)動一個固定的角度,這樣就可以通過控制
3、步進(jìn)電機(jī)的一個脈沖到下一個脈沖的時間間隔來改變脈沖的頻率,延時的長短來具體控制步進(jìn)角來改變電機(jī)的轉(zhuǎn)速,從而實現(xiàn)步進(jìn)電機(jī)的調(diào)速。在本設(shè)計方案中采用AT89C51型單片機(jī)內(nèi)部的定時器改變CP脈沖的頻率從而實現(xiàn)對步進(jìn)電機(jī)的轉(zhuǎn)速進(jìn)行控制,實現(xiàn)電機(jī)調(diào)速與正反轉(zhuǎn)的功能。 </p><p> 關(guān)鍵詞:步進(jìn)電機(jī), 單片機(jī), 調(diào)速系統(tǒng) ,數(shù)碼管,發(fā)光二極管。</p><p><b> 目錄&
4、lt;/b></p><p><b> 摘要</b></p><p><b> 一、引 言1</b></p><p> 1.1 設(shè)計背景1</p><p> 1.2 設(shè)計要求4</p><p><b> 二、方案論證6</b>&
5、lt;/p><p> 2.1 方案的選擇6</p><p> 2.2 方案的論證仿真與分析8</p><p> 三、硬件電路設(shè)計9</p><p> 3.1單片機(jī)模塊原理圖9</p><p> 3.3電機(jī)模塊原理圖10</p><p> 3.4 按鍵模塊原理圖10</p
6、><p><b> 四、軟件設(shè)計11</b></p><p> 4.1 流程圖設(shè)計11</p><p> 4.2 匯編源程序12</p><p><b> 五、總結(jié)19</b></p><p><b> 六、參考文獻(xiàn)19</b></
7、p><p><b> 一、引言</b></p><p><b> 1.1 設(shè)計背景</b></p><p> 1.1.1、步進(jìn)電機(jī)工作原理</p><p> 一、步進(jìn)電動機(jī)是一種將電脈沖信號轉(zhuǎn)換成相應(yīng)角位移或線位移的電動機(jī), 它的運行需要專門的驅(qū)動電源,驅(qū)動電源的輸出受外部的脈沖信號控制。每一個
8、脈沖信號可使步進(jìn)電機(jī)旋轉(zhuǎn)一個固定的角度,這個角度稱為步距角。脈沖的數(shù)量決定了旋轉(zhuǎn)的總角度,脈沖的頻率決定了電動機(jī)旋轉(zhuǎn)的速度,改變繞組的通電順序可以改變電機(jī)旋轉(zhuǎn)的方向。在數(shù)字控制系統(tǒng)中,它既可以用作驅(qū)動電動機(jī),也可以用作伺服電動機(jī)。它在工業(yè)過程控制中得到廣泛的應(yīng)用,尤其在智能儀表和需要精確定位的場合應(yīng)用更為廣泛。 </p><p> 二、步進(jìn)電動機(jī)有三線式、五線式、六線式三種,但其控制方式均相同,必須以脈沖電流來
9、驅(qū)動。若每旋轉(zhuǎn)一圈以200個勵磁信號來計算,則每個勵磁信號</p><p> 前進(jìn)1.8 度,其旋轉(zhuǎn)角度與脈沖數(shù)成正比,正、反轉(zhuǎn)可由脈沖順序來控制。 </p><p> 三、步進(jìn)電動機(jī)的勵磁方式可分為全部勵磁及半步勵磁,其中全步勵磁又有1相勵磁及2相勵磁之分,而半步勵磁又稱1-2相勵磁。圖為步進(jìn)電動機(jī)的控制等效電路,適應(yīng)控制A、B、/A、/B 的勵磁信號,即可控制步進(jìn)電動機(jī)的轉(zhuǎn)動。每輸
10、出一個脈沖信號,步進(jìn)電動機(jī)只走一步。因此,依序不斷送出脈沖信號,即可步進(jìn)電動機(jī)連續(xù)轉(zhuǎn)動。</p><p> 四、28byj48是最普通的減速步進(jìn)電機(jī),最大轉(zhuǎn)速大概是14圈/分鐘。該電機(jī)要是節(jié)拍太快的話,就不動了,而且還有一點異響。這個型號的電機(jī)最適合用于學(xué)習(xí),真正現(xiàn)實中用處不太大,無論是轉(zhuǎn)速、扭曲都不太理想,唯一有點就是價格便宜。ULN2003是達(dá)林頓陣列,能用這個驅(qū)動的步進(jìn)電機(jī)很少,而且受到電流限制,性能不理
11、想。該減速比為64的,都適合精密旋轉(zhuǎn),但要速度不可觀。要想提高轉(zhuǎn)速可以考慮以L298N驅(qū)動,然后用28或者35步進(jìn)電機(jī)(不帶減速),稍微大一些,這樣達(dá)到30或60轉(zhuǎn)/分鐘比較容易,紅線接電源5V,橙色電線接P1.3口,黃色電線接P1.2口,粉色電線接P1.1口,藍(lán)色接P1.0口。</p><p> 28BYJ48型步進(jìn)電機(jī)是四相八拍電機(jī),電壓為DC5V~DC12V。當(dāng)對步進(jìn)電機(jī)按一定順序施加一系列連續(xù)不斷的控制
12、脈沖時,它可以連續(xù)不斷地轉(zhuǎn)動。每一個脈沖信號使得步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一定的角度。當(dāng)通電狀態(tài)的改變完成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運行,常見的通電方式有單(單相繞組通電)四拍(A-B-C-D-A),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB),四相八拍(A-AB-B-BC-C-CD-D-DA-A)</p><p><b&g
13、t; 步進(jìn)電機(jī)時序表</b></p><p> 1.1.2、驅(qū)動ULN2003A工作原理</p><p> 輸入回路的電阻有差別,ULN2003是2.7k,ULN2004是10.5k。靈敏度也有差別,簡單講2003適于5v的TTL,2004適宜6-15v的CMOS。驅(qū)動灌入電流:500mA,在大型儀器儀表系統(tǒng)中,經(jīng)常要用到伺服電機(jī)、步進(jìn)電機(jī)、各種電磁閥、泵等驅(qū)動電壓高且功
14、率較大的器件。ULN2000、ULN2800高壓大電流達(dá)林管陣列系列產(chǎn)品就屬于這類可控大功率器件,由于這類器件功能強(qiáng)、應(yīng)用范圍語廣。因此,許多公司都生產(chǎn)高壓大電流達(dá)林頓晶體管陣列產(chǎn)品,從而形成了各種系列產(chǎn)品,ULN2000、ULN2800系列就是美國Texas Instruments公司、美國Sprague公司開發(fā)的高壓大電流達(dá)林頓晶體管陣列產(chǎn)品。。在上述系列產(chǎn)品中,ULN2000系列能夠同時驅(qū)動7組高壓大電流負(fù)載,ULN2800系列則
15、能夠同時驅(qū)動8組高壓大電流負(fù)載。美國Texas Instruments公司、美國Sprague公司生產(chǎn)的ULN2003A由7組達(dá)林頓晶體管陣列和相應(yīng)的電阻網(wǎng)絡(luò)以及鉗位二極管網(wǎng)絡(luò)構(gòu)成,具有同時驅(qū)動7組負(fù)載的能力,為單片雙極型大功率高速集成電路。</p><p> 上圖中1B-7B為信號輸入端,1C-7C為輸出端,8腳為地,9腳為正電源,負(fù)載經(jīng)正電源到輸出端,當(dāng)相應(yīng)輸入端有信號電壓時對應(yīng)輸出端就導(dǎo)通</p&g
16、t;<p><b> 1.2 設(shè)計要求</b></p><p> 本設(shè)計為步進(jìn)電機(jī)單片機(jī)控制系統(tǒng),其功能如下:</p><p> (1)對步進(jìn)電機(jī)的正反轉(zhuǎn)、加減速控制;</p><p> (2)控制按鈕分別為正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止鍵;</p><p> (3)能夠通過八位LED數(shù)碼管顯示當(dāng)前
17、的轉(zhuǎn)動速度檔位</p><p> (4)能夠通過LED顯示燈的亮滅頻率反應(yīng)當(dāng)前的轉(zhuǎn)動速度</p><p> (5)能夠通過蜂鳴器來判斷當(dāng)前的轉(zhuǎn)動速度是否達(dá)到最大檔位</p><p><b> 設(shè)計要求:</b></p><p> (1)獨立設(shè)計原理圖及硬件電路</p><p> (2)獨
18、立編寫和調(diào)試相應(yīng)的程序</p><p> (3)掌握單片機(jī)和步進(jìn)電機(jī)的原理及電路的設(shè)計</p><p> (4)熟悉Protel、proteus和Keil等軟件的使用方法</p><p> (5)熟悉模塊化設(shè)計的思想。</p><p><b> 二、方案論證</b></p><p><
19、;b> 2.1 方案的選擇</b></p><p> 方案一:電路圖主要元器件:AT89S52、ULN2003、四相五線制步進(jìn)電動機(jī),LED燈。</p><p><b> 方案一的優(yōu)點:。</b></p><p> 1、電路相對簡單,線路連接和編程比較容易。</p><p> 2、除了實現(xiàn)步進(jìn)
20、電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止功能外,利用LED燈反應(yīng)電機(jī)轉(zhuǎn)速快慢</p><p><b> 方案一的缺點:</b></p><p> 此方案沒有了利用其他模塊的功能,只有一個正轉(zhuǎn)燈和一個反轉(zhuǎn)燈來顯示轉(zhuǎn)速的快慢,如果轉(zhuǎn)速過快,燈閃爍的速度過快,便失去了它們存在的意義。</p><p> 方案二:用到的元器件主要有:AT89S52芯片、
21、ULN2003驅(qū)動芯片、四相五線制步進(jìn)電動機(jī)、LED燈,數(shù)字?jǐn)?shù)碼管 、蜂鳴器。</p><p><b> 方案二的優(yōu)點:</b></p><p> 1、元件比較齊全,能夠?qū)崿F(xiàn)對電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、停止的控制。</p><p> 2、此方案通過數(shù)碼管可以顯示出電機(jī)的轉(zhuǎn)速檔位。</p><p> 3、此方案
22、通過蜂鳴器可以顯示出電機(jī)的最高、低轉(zhuǎn)速檔位。</p><p><b> 方案二的缺點:</b></p><p> 1、電路比較復(fù)雜,編程也不簡潔。</p><p> 2、單片機(jī)I/O口占用較多,電機(jī)的轉(zhuǎn)速大小無法用數(shù)碼管動態(tài)顯示</p><p> 2.2 方案的論證仿真與分析</p><p&g
23、t; 以上各單元電路分別設(shè)計論證,對電路進(jìn)行總和,分為系統(tǒng)主體和驅(qū)動電路兩大塊。系統(tǒng)整體硬件連接圖如上圖所示。在繪制電路時,利用了Proteus進(jìn)行仿真。并且方案二采用LED顯示,數(shù)碼管顯示也在、硬件連接方面雖然顯得較為復(fù)雜,但是設(shè)計的要求還是能達(dá)到,還擴(kuò)展了其他功能,在不同的應(yīng)用場合下配合使用的芯片業(yè)不同,根據(jù)本設(shè)計的要求,最終選擇了方案二。</p><p><b> 三、硬件電路設(shè)計</b
24、></p><p> 3.1單片機(jī)模塊原理圖</p><p> 3.2數(shù)碼管模塊原理圖</p><p> 3.3電機(jī)模塊原理圖</p><p> 3.4 按鍵模塊原理圖</p><p><b> 四、軟件設(shè)計</b></p><p><b> 4
25、.1 流程圖設(shè)計</b></p><p> 開始初始化 S0是否按下? Y NS1是否按下?</p><p> Y 反轉(zhuǎn) 正轉(zhuǎn)當(dāng)前運轉(zhuǎn)方向的速度檔位循環(huán) 加速</p><p> S4是否按
26、下? Y N</p><p> S5是否按下? N S6是否按下? Y電機(jī)停止</p><p><b> 4.2 匯編源程序</b></p><p><b> ORG 0000H</b></p><p> LJMP START</p><p&
27、gt;<b> ORG 0100H</b></p><p> START:MOV P1,#0FFH </p><p> MOV DPTR,#TAB</p><p> CALL KEYHN;采用矩陣式鍵盤的掃描</p><p><b> JNZ HAVE</b></p>
28、<p><b> JMP START</b></p><p> HAVE:MOV R6,#100</p><p> CALL DELAY</p><p> CALL KEYHN</p><p><b> JNZ TRUE</b></p><p><
29、b> JMP START</b></p><p> TRUE:MOV P3,#0EFH</p><p><b> MOV A,P3</b></p><p> JB ACC.0,L1 ;S0按下跳正轉(zhuǎn)</p><p><b> JMP ZZ</b></p>
30、<p> L1:JB ACC.1,L2 ;S1按下跳反轉(zhuǎn)</p><p><b> JMP FZ</b></p><p> L2:JB ACC.2,START;S2按下跳停止</p><p> JMP TZ </p><p> ZZ:CALL JC1 ;去抖動<
31、/p><p> MOV P1,#0FEH;電機(jī)正轉(zhuǎn)(3檔)循環(huán),LED1燈亮</p><p> SS0:CPL P1.0 ;LED1燈閃爍</p><p> MOV P0,#0B0H ;數(shù)碼管顯示3</p><p> MOV R1,#64 </p><p> ZZ1:MOV R0,#0&l
32、t;/p><p> ZZ2:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ ZZ1</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,LL1 ;S4按下跳轉(zhuǎn)到正轉(zhuǎn)4檔&
33、lt;/p><p> JMP ZJIASU1</p><p> LL1:JB ACC.1,LL2 ;S5按下跳轉(zhuǎn)到正轉(zhuǎn)2檔</p><p> JMP ZJIANSU1</p><p> LL2:JB ACC.2,LL3 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b&g
34、t;</p><p> LL3:MOV R6,#150</p><p> CALL DELAY</p><p> DJNZ R1,ZZ2</p><p> LJMP SS0 </p><p> ZJIASU1:CALL JC1 ;去抖動</p><p
35、> MOV P1,#0EEH ;正轉(zhuǎn)4檔循環(huán),LED1、4燈亮</p><p> SS1:CPL P1.4 ;LED4燈閃爍</p><p> MOV P0,#99H ;數(shù)碼管顯示4</p><p> MOV R1,#64</p><p> JI1:MOV R0,#0</p><p>
36、; JI2:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JI1</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,LLL0;S4按下跳轉(zhuǎn)到正轉(zhuǎn)5檔</p><p&g
37、t; JMP ZJIASU2</p><p> LLL0:JB ACC.1,LLL1 ;S5按下跳轉(zhuǎn)到正轉(zhuǎn)3檔</p><p><b> JMP ZZ</b></p><p> LLL1:JB ACC.2,LLL2 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b&
38、gt;</p><p> LLL2:MOV R6,#100 </p><p> CALL DELAY</p><p> DJNZ R1,JI2</p><p> LJMP SS1 </p><p> ZJIASU2:CALL JC1;去抖動</p><p&
39、gt; MOV P1,#0EEH;正轉(zhuǎn)5檔循環(huán),LED1、4燈亮</p><p> SS2:CPL P1.4 ;LED4燈閃爍</p><p> SETB P1.7</p><p> MOV P0,#92H;數(shù)碼管顯示5</p><p> MOV R1,#64</p><p> JI3
40、:MOV R0,#0</p><p> JI4:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JI3</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,FMQ1 ;S
41、4按下已達(dá)到最快檔,蜂鳴器提示</p><p><b> CLR P1.7</b></p><p><b> JMP LLL4</b></p><p> FMQ1:JB ACC.1,LLL3;S5按下跳到正轉(zhuǎn)4檔</p><p> JMP ZJIASU1</p><p&
42、gt; LLL3:JB ACC.2,LLL4;S6按下跳到停止</p><p><b> JMP TZ</b></p><p> LLL4:MOV R6,#50</p><p> CALL DELAY</p><p> DJNZ R1,JI4</p><p> LJMP SS2
43、 </p><p> ZJIANSU1:CALL JC1 ;去抖動</p><p> MOV P1,#0DEH ;正轉(zhuǎn)2檔循環(huán),LED1、5燈亮</p><p> SS3:CPL P1.5 ;LED5燈閃爍</p><p> MOV P0,#0A4H ;數(shù)碼管顯示2</p><p> MOV
44、 R1,#64</p><p> JI5:MOV R0,#0</p><p> JI6:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JI5</b></p><p><b> CALL LOOP</b></p
45、><p> JB ACC.0,LLL5;S4按下跳到正轉(zhuǎn)3檔</p><p><b> JMP ZZ</b></p><p> LLL5:JB ACC.1,LLL6;S5按下跳到正轉(zhuǎn)1檔</p><p> JMP ZJIANSU2</p><p> LLL6:JB ACC.2,LLL
46、7;S6按下跳到停止</p><p><b> JMP TZ</b></p><p> LLL7:MOV R6,#200</p><p> CALL DELAY</p><p> DJNZ R1,JI6</p><p><b> LJMP SS3</b><
47、/p><p> ZJIANSU2:CALL JC1;去抖動</p><p> MOV P1,#0DEH;正轉(zhuǎn)1檔循環(huán)顯示,LED1、5燈亮</p><p> SS4:CPL P1.5;LED5燈閃爍</p><p><b> SETB P1.7</b></p><p> MOV
48、P0,#0F9H;數(shù)碼管顯示1</p><p> MOV R1,#64</p><p> JI7:MOV R0,#0</p><p> JI8:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JI7</b></p><
49、;p><b> CALL LOOP</b></p><p> JB ACC.0,FMQ2 ;S4按下跳到正轉(zhuǎn)2檔</p><p> JMP ZJIANSU1</p><p> FMQ2:JB ACC.1,LLL8;S5按下已達(dá)到最低檔,蜂鳴器提示</p><p><b> CLR P1.7&l
50、t;/b></p><p><b> JMP LLL9</b></p><p> LLL8:JB ACC.2,LLL9;S6按下跳到停止</p><p><b> JMP TZ</b></p><p> LLL9:MOV R6,#250</p><p> C
51、ALL DELAY</p><p> DJNZ R1,JI8</p><p> LJMP SS4 </p><p> FZ:CALL JC1;去抖動</p><p> MOV P1,#0FDH;電機(jī)反轉(zhuǎn)(3檔)循環(huán),LED2燈亮</p><p> SS5:CPL P1.1 ;LED2燈閃爍
52、</p><p> MOV P0,#0B0H ;數(shù)碼管顯示3</p><p> MOV R1,#64</p><p> FZ1:MOV R0,#09</p><p> FZ2:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> J
53、Z FZ1</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,LL4 ;S4按下跳轉(zhuǎn)到反轉(zhuǎn)4檔</p><p> JMP FJIASU1</p><p> LL4:JB ACC.1,LL5 ;S5按下跳轉(zhuǎn)到反轉(zhuǎn)2檔</p>&l
54、t;p> JMP FJIANSU1</p><p> LL5:JB ACC.2,LL6 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b></p><p> LL6:MOV R6,#150</p><p> CALL DELAY</p><p> DJNZ
55、R1,FZ2</p><p> LJMP SS5 </p><p> FJIASU1:CALL JC1 ;去抖動</p><p> MOV P1,#0EDH ;反轉(zhuǎn)4檔循環(huán),LED2、4燈亮</p><p> SS6:CPL P1.4 ;LED4燈閃爍</p><p&
56、gt; MOV P0,#99H ;數(shù)碼管顯示4</p><p> MOV R1,#64</p><p> JIN1:MOV R0,#09</p><p> JIN2:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JIN1</b>&
57、lt;/p><p><b> CALL LOOP</b></p><p> JB ACC.0,FFF0 ;S4按下跳轉(zhuǎn)到反轉(zhuǎn)5檔</p><p> JMP FJIASU2</p><p> FFF0:JB ACC.1,FFF1 ;S5按下跳轉(zhuǎn)到反轉(zhuǎn)3檔</p><p><
58、b> JMP FZ</b></p><p> FFF1:JB ACC.2,FFF2 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b></p><p> FFF2:MOV R6,#100</p><p> CALL DELAY</p><p>
59、 DJNZ R1,JIN2</p><p> LJMP SS6 </p><p> FJIASU2:CALL JC1 ;去抖動</p><p> MOV P1,#0EDH ;反轉(zhuǎn)5檔循環(huán) ,LED2、4燈亮</p><p> SS7:CPL P1.4 ;LED4燈閃爍</p><p>&l
60、t;b> SETB P1.7</b></p><p> MOV P0,#92H</p><p> MOV R1,#64</p><p> JIN3:MOV R0,#09</p><p> JIN4:MOV A,R0</p><p> MOVC A,@A+DPTR</p>&l
61、t;p><b> JZ JIN3</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,FMQ3;S4按下已達(dá)到最快檔,蜂鳴器提示</p><p><b> CLR P1.7</b></p><p><b>
62、 JMP FFF4</b></p><p> FMQ3:JB ACC.1,FFF3 ;S5按下跳轉(zhuǎn)到反轉(zhuǎn)4檔</p><p> JMP FJIASU1</p><p> FFF3:JB ACC.2,FFF4 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b></p
63、><p> FFF4:MOV R6,#50</p><p> CALL DELAY</p><p> DJNZ R1,JIN4</p><p> LJMP SS7 </p><p> FJIANSU1:CALL JC1 ;去抖動</p><p> MOV P1,#0DDH
64、 ;反轉(zhuǎn)2檔循環(huán),LED2、5燈亮</p><p> SS8:CPL P1.5 ;LED5燈閃爍</p><p> MOV P0,#0A4H ;數(shù)碼管顯示2</p><p> MOV R1,#64</p><p> JIN5:MOV R0,#09</p><p> JIN6:MOV A,R0
65、</p><p> MOVC A,@A+DPTR</p><p><b> JZ JIN5</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,FFF5;S4按下跳轉(zhuǎn)到反轉(zhuǎn)3檔</p><p><b>
66、JMP FZ</b></p><p> FFF5:JB ACC.1,FFF6;S5按下跳轉(zhuǎn)到反轉(zhuǎn)1檔</p><p> JMP FJIANSU2</p><p> FFF6:JB ACC.2,FFF7 ;S6按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b></p>
67、<p> FFF7:MOV R6,#200</p><p> CALL DELAY</p><p> DJNZ R1,JIN6</p><p> LJMP SS8 </p><p> FJIANSU2:CALL JC1;去抖動</p><p> MOV P1,#0DDH;反轉(zhuǎn)1檔循環(huán)
68、,LED2、5燈亮</p><p> SS9:CPL P1.5;LED5燈閃爍</p><p><b> SETB P1.7</b></p><p> MOV P0,#0F9H;數(shù)碼管顯示1</p><p> MOV R1,#64</p><p> JIN7:MOV R0,#
69、09</p><p> JIN8:MOV A,R0</p><p> MOVC A,@A+DPTR</p><p><b> JZ JIN7</b></p><p><b> CALL LOOP</b></p><p> JB ACC.0,FMQ4 ;S4按下跳轉(zhuǎn)
70、到反轉(zhuǎn)2檔</p><p> JMP FJIANSU1</p><p> FMQ4:JB ACC.1,FFF8;S5按下達(dá)到最低檔,蜂鳴器提示</p><p><b> CLR P1.7</b></p><p><b> JMP FFF9 </b></p><p>
71、 FFF8:JB ACC.2,FFF9 ;S4按下跳轉(zhuǎn)到停止</p><p><b> JMP TZ</b></p><p> FFF9:MOV R6,#250</p><p> CALL DELAY</p><p> DJNZ R1,JIN8</p><p> LJMP SS9
72、;</p><p> TZ:MOV P1,#0BFH ;LED6燈閃爍</p><p> MOV P0,#0C0H ;數(shù)碼管顯示0</p><p> MOV P2,#00H ;電動機(jī)停止轉(zhuǎn)動</p><p><b> CALL D100</b></p><p> LJ
73、MP START</p><p> KEYHN:MOV P3,#0FH ;鍵盤掃描子程序</p><p><b> MOV A,P3</b></p><p><b> CPL A</b></p><p> ANL A,#0FH</p><p><b>
74、; RET</b></p><p> LOOP:INC R0 ;循環(huán)控制</p><p><b> MOV P2,A</b></p><p> MOV P3,#0DFH</p><p><b> MOV A,P3</b></p><p>
75、; MOV R6,#100</p><p> CALL DELAY</p><p><b> RET</b></p><p> JC1:MOV A,P3 ;去抖動程序</p><p> JNB ACC.0,JC1</p><p> JNB ACC.1,JC1</p>
76、;<p> MOV R6,#50</p><p> CALL DELAY</p><p><b> MOV A,P3</b></p><p> JNB ACC.0,JC1</p><p> JNB ACC.1,JC1</p><p><b> RET</b
77、></p><p> DELAY:NOP ;電機(jī)轉(zhuǎn)速的延時控制</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP </b></p><p><b>
78、; NOP</b></p><p> DJNZ R6,DELAY</p><p> RET </p><p> D100:MOV R4,#5</p><p> D1:MOV R5,#100</p><p> D2:MOV R6,#249</p><p&g
79、t;<b> D3:NOP</b></p><p> DJNZ R6,D3</p><p> DJNZ R5,D2</p><p> DJNZ R4,D1</p><p><b> RET</b></p><p> TAB:DB 01H,03H,02H,06H,0
80、4H,0CH,08H,09H ;正轉(zhuǎn)表</p><p><b> DB 00H</b></p><p> DB 09H,08H,0CH,04H,06H,02H,03H,01H ;反轉(zhuǎn)表</p><p><b> DB 00H</b></p><p><b> END<
81、;/b></p><p><b> 五、總結(jié)</b></p><p> 通過本次課程設(shè)計我們學(xué)習(xí)到了許多書本上沒有的知識,通過自己查資料和互相討論,對系統(tǒng)進(jìn)行整體設(shè)計后基本達(dá)到了要求,實現(xiàn)步進(jìn)電機(jī)正反加減速的控制并通過對方案的比較,綜合考慮,選用了最佳的方案,使我們對步進(jìn)電機(jī)有了更深刻的認(rèn)識,使自己將理論與實際相結(jié)合起來同時對單片機(jī)的設(shè)計及編程有了更深的了解
82、,學(xué)會了很多。同時衷心感謝老師的指導(dǎo)。</p><p><b> 六、參考文獻(xiàn)</b></p><p> [1]李全利.單片機(jī)原理與接口技術(shù),高等教育出版社2009. </p><p> [2]余孟嘗.數(shù)字電子技術(shù)基礎(chǔ),高等教育出版社,2006 </p><p> [3]楊素行.模擬電子技術(shù)基礎(chǔ):高等教育出版社,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)-控制步進(jìn)電機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計--步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計報告——單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計---步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計步進(jìn)電機(jī)控制設(shè)計
- 單片機(jī)課程設(shè)計-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計--基于單片機(jī)的步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計--步進(jìn)電機(jī)角度控制
- 單片機(jī)課程設(shè)計---步進(jìn)電機(jī)控制 (2)
- 單片機(jī)課程設(shè)計——單片機(jī)控制步進(jìn)電機(jī)控制系統(tǒng)設(shè)計
- 單片機(jī)課程設(shè)計--步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計---步進(jìn)電機(jī)
- 基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計報告--步進(jìn)電機(jī)控制設(shè)計
- 單片機(jī)課程設(shè)計-步進(jìn)電機(jī)
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計
評論
0/150
提交評論