|
L298n驅(qū)動兩相四線步進(jìn)電機四拍、八拍程序
001、步進(jìn)電機正轉(zhuǎn)兩相四拍程序\
002、步進(jìn)電機正轉(zhuǎn)兩相八拍程序\
003、步進(jìn)電機反轉(zhuǎn)兩相四拍程序\
004、步進(jìn)電機反轉(zhuǎn)兩相八拍程序\
005、步進(jìn)電機兩相四拍調(diào)速程序\
006、步進(jìn)電機兩相八拍調(diào)速程序\
單片機源程序:
- ////////////////////////匯誠科技////////////////////
- ///////////////////步進(jìn)電機調(diào)試程序/////////////
- #include<reg52.h>
- /*****P1.0=A ;P1.1=B ;P1.2=B' ; P1.3=A'****/
- //////////////////////////////////////////////////////////////////////////////////////////////
- /*******************************正轉(zhuǎn)數(shù)組**************************************************/
- code unsigned char runz[8]={0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04}; //兩相四線八拍工作方式
- /*******************************反轉(zhuǎn)數(shù)組**************************************************/
- code unsigned char runf[8]={0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05}; //兩相四線八拍工作方式
- unsigned char keycan=0; //鍵值
- unsigned char s,i,j,k,z;
- int y=30;//定義轉(zhuǎn)動速度,數(shù)值越大電機轉(zhuǎn)速越慢反之則快
- sbit P2_0=P2^0;//正轉(zhuǎn)按鍵
- sbit P2_1=P2^1;//反轉(zhuǎn)按鍵
- sbit P2_2=P2^2;//電機加速
- sbit P2_3=P2^3;//電機減速
- void delay(i)//延時函數(shù)
- {
- for(j=0;j<i;j++)
- for(k=0;k<250;k++);
- }
- void zrun()// 正轉(zhuǎn)運行
- {
- for(z=0;z<8;z++)
- {
- P1=runz[z];
- delay(y);
- }
- }
- void frun()// 反轉(zhuǎn)運行
- {
- for(z=0;z<8;z++)
- {
- P1=runf[z];
- delay(y);
- }
- }
- main()
- {
- while(1)
- {
- if(P2_0==0) //如果電機正轉(zhuǎn)按鍵按下
- {
- keycan=1; //鍵值等于1
- }
- if(P2_1==0) //如果電機反轉(zhuǎn)按鍵按下
- {
- keycan=2; //鍵值等于2
- }
- switch (keycan)
- {
- case 1: zrun(); //鍵值等于1 正轉(zhuǎn)
- break;
- case 2: frun(); //鍵值等于2 反轉(zhuǎn)
- break;
- }
- if(P2_2==0) // 電機加速
- {
- y+=5;
- }
- if(P2_3==0)
- { // 電機減速
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
完整資料打包下載:
參考例程包.zip
(89.58 KB, 下載次數(shù): 429)
2017-5-8 14:54 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|