#include<reg52.h>
#include"bjdj.h"
#define uint unsigned int
#define uchar unsigned char
uchar code CCW[]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆时钟旋转相序表
uchar code CW[]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正时钟旋转相序表
void main()
{
delay_ms(1000);
}
void delay_ms(uint i)
{
uint j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void delay_us(uint a)
{
while(a)
{
a--;
}
}
void beep(void)
{
uchar t;
for(t=0;t<100;t++)
{
delay_us(500);
FMQ=!FMQ; //产生脉冲
}
FMQ=1; //关闭蜂鸣器
}
void motor_ccw(void)
{
uchar i,j;
for(j=0;j<8;j++) //电机旋转一周,不是外面所看到的一周,是里面的传动轮转了一周
{
if(k3==0)
{
delay_ms(10);
if(k3==0)
break; //如果K3按下,退出此循环
}
for(i=0;i<8;i++) //旋转45度
{
P1=CCW[i];
delaynms(10); //调节转速
}
}
}
这是之前参考的别人的代码,你可以参考一下,希望对你有帮助 |