步進電機小示例(Proteus仿真電路,C語言程序代碼)
1S步進電機轉45°
(時間可以調)
下面是Proteus仿真電路:
(注:沒畫最小系統)
下面是單片機C源程序:
#include<reg51.h>
#define uchar unsigned char
uchar st[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};
//1001 1000 1100 0100 0110 0010 0011 0001
uchar i=0,num=0;
void int_time();
void main()
{
int_time();
while(1);
}
void int_time()
{
TMOD=0x01;
TH0=(56636-50000)/256; //50ms
TL0=(56636-50000)%256;
ET0=1;
EA=1;
TR0=1;
}
void step_isr() interrupt 1
{
TH0=0x3c;
TL0=0xb0;
num++;
if(num==20) //20*50ms 1s(想變快將時間調小)
{
P2=st[i++];
if(i==8)
i=0;
num=0;
}
}
下面有仿真電路和程序
步進電機.zip
(33.96 KB, 下載次數: 20)
2020-12-1 21:49 上傳
點擊文件名下載附件
|