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