求微控制器控制步進電機的c語言程式急啊

2022-02-25 17:44:18 字數 1714 閱讀 3123

1樓:走在時間的前頭

用什麼感測器呢,需要可以加我,我這裡有一些資料,可以交流一下,多謝。

求微控制器控制步進電機簡單的c程式

2樓:瑞嫚書香天

幾相的步進電機啊?用不用驅動晶片?用的話選什麼型號的驅動晶片?你要說具體點啊!

先給你三相的,個不用驅動晶片的步進電機程式。(驅動電路自己做)#include

#define

uchar

unsigned

char

#define

uint

unsigned

intuint

time

void

timer1(void)

interrupt

1using

1void

delay(uint

n)void

delay(uint

dtime)

void

moto(bit

cf,uchar

n,uint

dtime);

uchar

idata

fpai[4]=;

uchar

i,l=0;

if(cf==0)

//正轉,a-b-c-a

for(i=0;i

else}}

void

main()

}改為四相了,你看看吧。不懂再問吧。

3樓:神經火光

給你一段簡單的程式**,控制步進電機的,不過你要好好看看程式的編寫,以適應你的硬體(主要是連線),你可以在實現這個的基礎上實現你所說的目標,個人覺得你參考這個程式然後自己實現你所說的功能比較好:

#include

unsigned char code f_rotation[4]=;//正轉**

unsigned char code b_rotation[4]=;//反轉**

void delay(unsigned int i)//延時main()}}

4樓:

讓步進電機一秒轉幾圈不大可能

請求:微控制器控制步進電機c語言程式設計

5樓:匿名使用者

你描述的要求不是很明瞭,應該分步描述,每一步的要求分步寫出來,大家容易看懂.

明白你的意思了!

只有兩個口控制步進電機的話,需要外加步進電機驅動器.

p1.0控制方向,p1.0是1(0)電機向前,p1.0是0(1)步進電機向後

p1.1控制步數和速度,用一個pwm就可以了,直接用定時器來控制.pwm頻率越高速度越快,但要用在定時器中斷裡面計算步進的步數來確定走了多遠.

至於你說的中斷訊號,可以用迴圈掃描的方法,在程式中掃描輸入中斷訊號,當檢測到訊號後改變p1.5的電平,即可點亮led

6樓:學術科技

一樓說的步進電機驅動器對外接需要一個時鐘,一個正反轉控制訊號,用這樣的晶片自然簡單,其實用微控制器自己產生步進電機驅動訊號也可以,之需要加電晶體驅動電路(加大驅動功率的作用),為了精確運動距離,首先得根據螺距算出要總共要轉過的角度(多少圈領多少個脈衝)

至於中斷訊號可以將其設定成下降沿觸發(電平觸發會導致多次相應),不進電機驅動訊號產生就用主函式中的主迴圈實現(設定好迴圈次數等固定資訊)。

C語言控制步進電機,怎麼用C語言控制步進電機

我之前做過一個,步進電機模擬電梯執行的控制程式,是那種發一個訊號走一步的那種,步進角比較大,好像是15度左右,我當時的做法就是加入系統延時,讓程式給步進電機傳送訊號,通過控制延時來決定單位時間內步進電機轉動的次數 我用的是永磁式步進電機,不知道你用的是什麼樣的,我使用的這種,步進角比較大,步進電機都...

微控制器C語言問題,微控制器C語言的一個問題 static bit a 什麼意思

c語言也不難,如果閣下肯花20小時,把c語言最基本的東西弄懂,肯定沒有什麼問題。我覺得微控制器開發中c語言用到最多的幾個部分基礎知識 比如資料型別,運算子,格式轉換 順序控制 if語句 switch語句 迴圈控制 while語句 for語句 陣列指標 其他一些c語言中的東西微控制器上用不了,也就大概...

c語言與微控制器

正如bai樓上的話,微控制器要du學模電數電,它還要學計zhi算機組成原理的,單dao片版機其實是大學的一個專業,要學權四年,要學得精並且能找到工作的話,恐怕你還是得看一下大學的課程包括什麼了。c語言的話理解容易但說學熟的話恐怕也不是一年半載的事情,你對電腦不熟這個是個很大的麻煩,我看過很多對電腦不...