資源簡介
基于L298N的步進電機驅(qū)動程序,基于51單片機
代碼片段和文件信息
//******************************************************************************************
//作???????者:碧海云天
//
//功???????能:用298驅(qū)動兩相步進電機,使其分別工作在單拍整步,雙拍整步和混合半步狀態(tài)
//
//日???????期:2009年8月12日
//******************************************************************************************
#include
#define?uint?unsigned?int
#define?uchar?unsigned?char
uchar?counter=0;
sbit?enA=P0^0;
sbit?in1=P0^1;
sbit?in2=P0^2;
sbit?in3=P0^3;
sbit?in4=P0^4;
sbit?enB=P0^5;
void?T0_init();??//定時器初始化
void?delay(uchar);
void?main()
{
???enA=1;????//使能
???enB=1;
???T0_init();
??while(1)
??{};
}
?void?delay(uchar?x)
{
???uchar?i;
???uint?j;
???for(i=0;i ?????for(j=0;j<300;j++);
}
void?T0_init()
??{
??TMOD=0x01;?????????????????//定時器0工作于16位計時器模式
??TH0=(65535-20000)/256;??????//賦初值?
??TL0=(65535-20000)%256;????????????????
??
??EA=1;??????????????????????//開總中斷
??ET0=1;?????????????????????//允許定時器0中斷
??TR0=1;?????????????????????//啟動定時器??
??}
void?clock_signal()?interrupt??1???//單拍運行,耗電少,精度好,但力矩小,為整步運行
{
?
??counter++;
??if(1==counter)
????{in1=1;in3=0;in2=0;in4=0;}
??else?if(2==counter)
????{in1=0;in3=1;in2=0;in4=0;}
??else?if(3==counter)
????{in1=0;in3=0;in2=1;in4=0;}
??else?if(4==counter)
????{in1=0;in3=0;in2=0;in4=1;}
??else
????{counter=0;}
???
??TH0=(65535-3000)/256;???????????
??TL0=(65535-3000)%256;?
????
}
/*void?clock_signal()?interrupt??1??//雙拍運行,耗電大,轉(zhuǎn)矩大,為整步運行
{
?
??counter++;
??if(1==counter)
????{in1=1;in3=1;in2=0;in4=0;}
??else?if(2==counter)
????{in1=0;in3=1;in2=1;in4=0;}
??else?if(3==counter)
????{in1=0;in3=0;in2=1;in4=1;}
??else?if(4==counter)
????{in1=1;in3=0;in2=0;in4=1;}
??else
????{counter=0;}
???
??TH0=(65535-30000)/256;???????????
??TL0=(65535-30000)%256;?
????
}*/
/*void?clock_signal()?interrupt??1??//混合運行,精度高,為半步運行
{
?
??counter++;
??if(1==counter)
????{in1=1;in3=0;in2=0;in4=0;}
??else?if(2==counter)
????{in1=1;in3=1;in2=0;in4=0;}
??else?if(3==counter)
????{in1=0;in3=1;in2=0;in4=0;}
??else?if(4==counter)
????{in1=0;in3=1;in2=1;in4=0;}
??else?if(5==counter)
????{in1=0;in3=0;in2=1;in4=0;}
??else?if(6==counter)
????{in1=0;in3=0;in2=1;in4=1;}
??else?if(7==counter)
????{in1=0;in3=0;in2=0;in4=1;}
??else?if(8==counter)
????{in1=1;in3=0;in2=0;in4=1;}
??else
????{counter=0;}
???
??TH0=(65535-30000)/256;???????????
??TL0=(65535-30000)%256;?
????
}*/
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4059??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機
?????文件???????2571??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.c
?????文件????????864??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.hex
?????文件???????5315??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.LST
?????文件???????7100??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.M51
?????文件???????3665??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.OBJ
?????文件???????1250??2009-08-13?11:04??298驅(qū)動步進電機\298驅(qū)動步進電機.Opt
?????文件???????2517??2009-08-13?10:41??298驅(qū)動步進電機\298驅(qū)動步進電機.plg
?????文件???????2116??2009-08-12?19:13??298驅(qū)動步進電機\298驅(qū)動步進電機.Uv2
????.......?????????0??2009-08-12?16:24??298驅(qū)動步進電機\298驅(qū)動步進電機_Uv2.Bak
?????文件???????5115??2002-04-16?15:32??298驅(qū)動步進電機\STARTUP.A51
?????文件??????11762??2009-08-13?10:41??298驅(qū)動步進電機\STARTUP.lst
?????文件????????859??2009-08-13?10:41??298驅(qū)動步進電機\STARTUP.obj
?????目錄??????????0??2009-08-13?11:04??298驅(qū)動步進電機
????.......??????1250??2009-08-12?19:13??298驅(qū)動步進電機\298驅(qū)動步進電機_Opt.Bak
-----------?---------??----------?-----??----
????????????????48443????????????????????15
- 上一篇:office365等完全卸載工具
- 下一篇:ubuntu-10.10鏡像文件鏈接
評論
共有 條評論