如何將直流電機(jī)連接到8051單片機(jī)?在本文中,主要有8051單片機(jī)+DC電機(jī)系統(tǒng)兩個部分。首先是帶有控制電機(jī)所需程序的8051單片機(jī),其次是合適的驅(qū)動電路。
大多數(shù)直流電機(jī)的功率要求遠(yuǎn)遠(yuǎn)超出了單片機(jī)的范圍,而且在反轉(zhuǎn)旋轉(zhuǎn)方向時產(chǎn)生的電壓尖峰更容易損壞單片機(jī)。因此將直流電機(jī)直接連接到單片機(jī)是不明智的,完美的解決方案是在單片機(jī)和直流電機(jī)之間使用電機(jī)驅(qū)動電路。
一、L293電機(jī)驅(qū)動芯片
L293是一款專用的H橋電機(jī)驅(qū)動器IC,采用16引腳封裝。L293的電流容量為600mA/通道,電源電壓范圍為4.5至36VDC。它們配有內(nèi)部高速鉗位二極管,用于電感尖峰保護(hù)。L293的其他優(yōu)點包括高抗噪性、內(nèi)部ESD保護(hù)、熱關(guān)斷、每個通道的獨立輸入電源等。L293電機(jī)驅(qū)動器的引腳排列和真值表如下圖所示:
二、使用8051單片機(jī)控制雙向直流電機(jī)
這里的雙向直流電機(jī),它在預(yù)設(shè)時間(約1秒)后自動改變方向。AT89S51是這里使用的單片機(jī),L293構(gòu)成電機(jī)驅(qū)動器。電路圖如下所示:
在電路元件R1、S1和C3中形成去抖動復(fù)位電路。C1、C2和X1與振蕩器有關(guān)。端口引腳P1.0和P1.1連接到L293電機(jī)驅(qū)動器的相應(yīng)輸入引腳。電機(jī)連接在L293的輸出引腳3和6之間。軟件是這樣寫的,P1.0和P1.1的邏輯組合控制電機(jī)的方向。最初接通電源時,P1.0為高電平,P1.1為低電平。該狀態(tài)保持預(yù)設(shè)時間(約1S),此時電機(jī)將沿順時針方向運行(參見L293的功能表)。然后P1.0和P1.1的邏輯被交換并且這個條件也保持相同的持續(xù)時間。
控制程序1:
ORG 00H
MAIN: MOV P1,#00000001B
ACALL DELAY
MOV P1,#00000010B
ACALL DELAY
SJMP MAIN
DELAY: MOV R4,#0FH
WAIT1: MOV R3,#00H
WAIT2: MOV R2,#00H
WAIT3: DJNZ R2,WAIT3
DJNZ R3,WAIT2
DJNZ R4,WAIT1
RET
END
三、帶按鈕控制的雙向電機(jī)
下面顯示的電路是基于8051單片機(jī)的雙向電機(jī),其方向可以使用2個按鈕開關(guān)控制。除了兩個按鈕開關(guān)之外,該電路與前一個電路非常相似。這些按鈕開關(guān)連接到單片機(jī)的P0rt3。電阻R2和R3分別是P3.0和3.1的下拉電阻。
上述項目的代碼是這樣編寫的,最初當(dāng)電源打開時,電機(jī)保持關(guān)閉。當(dāng)按下按鈕開關(guān)S2時,P1.0變?yōu)楦唠娖剑鳳1.1保持低電平。電機(jī)按順時針方向運行,此狀態(tài)一直保持到按下S3。當(dāng)按下按鈕開關(guān)S3時,P1.0和P1.1的邏輯切換,使電機(jī)以相反方向運行,這種狀態(tài)一直保持到下一次按下S2。
控制程序2:
ORG 00H
MOV P3,#00000000B
MOV P1,#00000000B
MAIN:MOV A,P3
CJNE A,#00000001B,LABEL1
MOV P1,#00000001B
LABEL1:CJNE A,#00000010B,LABEL2
MOV P1,#00000010B
LABEL2:SJMP MAIN
END
檢查特定按鈕是否被按下是使用CJNE(如果不相等則比較并跳轉(zhuǎn))指令完成的。簡而言之,CJNE指令比較兩個操作數(shù),如果操作數(shù)不相等,則跳轉(zhuǎn)到預(yù)定義的LABEL。如果兩個操作數(shù)相等,則不會發(fā)生任何事情并執(zhí)行下一條指令。每當(dāng)按下按鈕S2時,P3的狀態(tài)將是00000001B。該狀態(tài)被移動到累加器A并使用CJNE指令與00000001B進(jìn)行比較。兩個操作數(shù)相等表示按下S2,執(zhí)行下一條使電機(jī)順時針轉(zhuǎn)動的指令(MOV P1,#00000001B)。如果操作數(shù)不相等,則表示沒有按下S2,控制器跳轉(zhuǎn)到LABEL1以檢查S3。要檢查S3,P3的狀態(tài)再次移動到A,并使用CJNE指令與00000010B進(jìn)行比較。兩個操作數(shù)相等表示按下S3,執(zhí)行下一條使電機(jī)逆時針運行的指令(MOV P1,#00000010B)。兩個操作數(shù)不相等意味著S3未被按下,控制器再次檢查S2并重復(fù)此循環(huán)。
-
直流電機(jī)
+關(guān)注
關(guān)注
36文章
1710瀏覽量
70414 -
8051單片機(jī)
+關(guān)注
關(guān)注
5文章
153瀏覽量
25576
發(fā)布評論請先 登錄
相關(guān)推薦
51單片機(jī)的直流電機(jī)控制
單片機(jī)控制直流電機(jī)
用單片機(jī)控制直流電機(jī)
![用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>](https://file1.elecfans.com//web2/M00/A4/6F/wKgZomUMNC-AIfDYAAAm3XSbETM566.jpg)
基于AVR單片機(jī)的無刷直流電機(jī)控制系統(tǒng)設(shè)計
![基于AVR<b class='flag-5'>單片機(jī)</b>的無刷<b class='flag-5'>直流電機(jī)</b><b class='flag-5'>控制</b>系統(tǒng)設(shè)計](https://file.elecfans.com/web2/M00/49/70/pYYBAGKhtFCAce6DAAALF85Omh0819.jpg)
基于單片機(jī)的紅外遙控直流電機(jī)控制系統(tǒng)設(shè)計
基于AVR單片機(jī)實現(xiàn)的直流電機(jī)PWM調(diào)速控制器
![基于AVR<b class='flag-5'>單片機(jī)</b>實現(xiàn)的<b class='flag-5'>直流電機(jī)</b>PWM調(diào)速<b class='flag-5'>控制</b>器](https://file.elecfans.com/web2/M00/4A/06/pYYBAGKhvIqAH_SeAAAmxQTskGU006.png)
使用51單片機(jī)控制直流電機(jī)調(diào)速的程序免費下載
![使用51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>調(diào)速的程序免費下載](https://file.elecfans.com/web1/M00/95/DC/pIYBAF0CAKGADYu_AAcexEO-M30586.png)
使用51單片機(jī)控制直流電機(jī)的代碼免費下載
![使用51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b><b class='flag-5'>直流電機(jī)</b>的代碼免費下載](https://file.elecfans.com/web1/M00/BF/C7/pIYBAF7zBdGAcHboAAH6yPE7v04324.png)
單片機(jī)控制直流電機(jī)基本原理
單片機(jī)入門匯編程序--直流電機(jī)的單片機(jī)控制
![<b class='flag-5'>單片機(jī)</b>入門匯編程序--<b class='flag-5'>直流電機(jī)</b>的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>控制</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
單片機(jī)操作直流電機(jī)
![<b class='flag-5'>單片機(jī)</b>操作<b class='flag-5'>直流電機(jī)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論