单片机C语音控制步进电机正反转程序?

2025-03-14 00:08:29
推荐回答(2个)
回答1:

#include
#define uchar unsigned char
#define uint unsigned int
uchar steptabt[]={0x08,0x0a,0x02,0x06,0x04,0x05,0x01,0x09};
uchar steptabf[]={0x0a,0x06,0x05,0x09,0x0a,0x06,0x05,0x09};
uint freq,ftim;
uchar num,fx;
sbit key1=P1^0;
sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;

void t0isr() interrupt
{
TH0=(65536-ftim)/256;
TL0=(65536-ftim)%256;
P2=steptabt[num]; //半步
// P2=steptabf[num]; //全步
if(fx==0)
{
num++;
num%=8;
}
else
{
if(num==0)num=7;
else num--;
}
}

main()
{
TMOD=0x01;
freq=400; //转动频率,你可以自己改变
ftim=1000000/2/freq;
TH0=(65536-ftim)/256;
TL0=(65536-ftim)%256;
ET0=1;
EA=1;
while(1)
{
if(key1==0){fx=0;TR0=1;}
if(key2==0){fx=1;TR0=1;}

if((key3==0)||(key4==0))TR0=0;

}

回答2:

百度文库里有,自己找找吧