89c51 步進電機的控制

2025-01-05 10:45:27 字數 1739 閱讀 7367

1樓:匿名使用者

電路圖所在位置:

檔名:程式功能:開關控制步進電機正反轉。

k1 equ

k2 equ

k3 equ

stop: mov p0, #0ffh

loop: jnb k1, z_m2

jnb k2, f_m2

jnb k3, stop1

jmp loop

stop1: acall delay

jnb k3, $

acall delay

jmp stop

z_m2: acall delay

jnb k1, $

acall delay

jmp z_m

f_m2: acall delay

jnb k2, $

acall delay

jmp f_m

z_m: mov r0,#00h

z_m1: mov a, r0

mov dptr, #table

movc a,@a+dptr

jz z_m

mov p0,a

jnb k3, stop1

jnb k2, f_m2

acall delay

inc r0

jmp z_m1 ret

f_m: mov r0,#05h

f_m1: mov a, r0

mov dptr, #table

movc a,@a+dptr

jz f_m

mov p0,a

jnb k3, stop1

jnb k1, z_m2

acall delay

inc r0

jmp f_m1 ret

delay: mov r1,#

d1: mov r2,#

djnz r2,$

djnz r1,d1 ret

table: db 0fch, 0f9h, 0f3h, 0f6hdb 00

db 0f7h, 0f3h, 0fbh, 0f9hdb 0fdh, 0fch, 0feh, 0f6hdb 00end

stc89c51控制步進電機

2樓:死愛芙蓉

最簡單的步進電機,是「四相五線步進電機」

操作非常簡單、5個線、分別對應、vcc、a、b、c、d

a b c d分別對應uln2003晶元的4個腳 另一頭4個腳接 in1 in2 in3 in4

in1~in4分別對應微控制器89c51 的io口,可以是p1^0 ~p1^3 當然,你也可以選擇其他io口,無所謂的。

控制程式也非常簡單,就來個最簡單的四拍控制法吧,原理是依次給4個io口賦高電平,也就是置"1"

例子:1.給a置高電平-其他3個置低電平-延遲3ms(可以調再慢點、因為太快的話、電機的齒輪就咬死了)

2.給b置高電平-其他3個置低電平-延遲3ms

3.給c置高電平(也就是置"1") ~

4.給d置高電平~~~

然後再回過頭,重新給a高電平,其他置低、反覆類推、是不是很簡單呢?

純屬手打、全是原理、如果你耐心看完、我相信你肯定懂得控制步進電機。

控制晶元、可以是uln2003 也可以是 l298n 等, 都是相同原理。

3樓:還在

如果用四相的步進電機,用四個io口分別連線步進電機的四相,通過微控制器控制io口的輸出使步進電機工作。

89C51微控制器有哪中斷源,怎樣開放和禁止中斷 怎樣設定

有5箇中來斷源,外部 中斷自0,定 義為int0 定時 計數器0,定義為t0,外部中斷1,定義為int1 定時 計數器1,定義為t1 序列通訊口中斷 這五種中斷都可以定義高優先順序中斷,可以根據它們自己的需要設定。所有五個中斷源都可以根據自己的需要定義高優先順序。定義高優先順序時,只需定義ip暫存器...

各位高手,我用89c51微控制器驅動4位共陰極數碼管

p0口要接上拉電阻才行。isis 嗎?加一個respack元件 這已經是老辦法了,不如選擇max7219晶片,程式設計控制max7219,spi通訊,3各線,方便 電路圖 在要傳送資料時,應把oe管腳拉低,用at89c51微控制器實現四位數碼管顯示資料 用c語言程式實現 例如顯 include de...

AT89C51微控制器60 00到00 00倒計時程式4位數碼管顯示C語言自己沒做出來,急用,萬分感謝

這個很easy的,在51微控制器之家找找 at89c51微控制器60.00到00.00倒計時程式 4位數碼管顯示 c語.at89c51微控制器60.00到00.00倒計時程式 4位數碼管顯示 c語.黃鶯鳴翠柳 紫燕剪春風 鶯歌燕舞 一年四季春常在 萬紫千紅永開花 喜迎新春 at89c51微控制器24...