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...