包含以下51單片機程序:
001、步進電機正轉兩相四拍程序\
002、步進電機正轉兩相八拍程序\
003、步進電機反轉兩相四拍程序\
004、步進電機反轉兩相八拍程序\
005、步進電機兩相四拍調速程序\
006、步進電機兩相八拍調速程序\
0.png (67.93 KB, 下載次數: 76)
下載附件
2017-5-31 03:40 上傳
單片機源碼:
- #include<reg52.h>
- /*****P1.0=A ;P1.1=B ;P1.2=A' ; P1.3=B'****/
- code unsigned char run[4]={0x01,0x08,0x02,0x04}; //四相四拍工作方式
- unsigned char s,i,j,k;
- void delay(i)//延時函數
- {
- for(j=0;j<i;j++)
- for(k=0;k<250;k++);
- }
- main()
- {
- unsigned char z,y;
- y=30; //定義延時時間,時間越長電機轉速越慢反之則快
- while(1)
- {
- for(z=0;z<4;z++)
- {
- P1=run[z];
- delay(y);
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼- ///////////////////步進電機調試程序/////////////
- #include<reg52.h>
- /*****P1.0=A ;P1.1=B ;P1.2=A' ; P1.3=B'****/
- //////////////////////////////////////////////////////////////////////////////////////////////
- /*******************************正轉數組**************************************************/
- code unsigned char runz[4]={0x01,0x08,0x02,0x04}; //兩相四線四拍工作方式
- /*******************************反轉數組**************************************************/
- code unsigned char runf[4]={0x04,0x02b,0x08,0x01}; //兩相四線四拍工作方式
- 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<4;z++)
- {
- P1=runz[z];
- delay(y);
- }
- }
- void frun()// 反轉運行
- {
- for(z=0;z<4;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 反轉
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
全部資料下載地址:
兩相步進電機正反轉_參考例程包.rar
(86.73 KB, 下載次數: 69)
2017-5-31 03:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|