2020-01-16 18:35发布
dxm123 发表于 2016-9-21 23:50 是不是端口配置有问题
lcw_swust 发表于 2016-9-22 09:01 程序有问题 或者单片机坏了
liude2006 发表于 2016-9-22 09:15 sbit zheyang_EN = P2^4; //低电平有效 uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 ...
最多设置5个标签!
P1口是统一配置的
sbit zheyang_EN = P2^4; //低电平有效
uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//四相八拍正转编码
//********************************************************
//步进电机正转/
//******************************************************
void motor_ffw()
{
uchar i;
uint j;
for(j=0;j<8;j++)
{
if(++i > 7) i=0;
P1 = FFW;//取数据
delay_1ms(8);//调节转速
}
}
void main()
{
uint r,N=896;//N步进电机运转圈数
P1 = 0; //用P1.4-P1.7口
zheyang_EN = 1;
while(1)
{
if(zheyang_EN == 0)
for(r=0;r<=N;r++)
motor_ffw();//电机正转
}
}
由P1.0-P1.3切换到P1.4-P1.7,程序中在哪里能体现呢?
我只看到IO口的低四位有变化,高四位一直为0
sbit zheyang_EN = P2^4; //低电平有效
uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//四相八拍正转编码
//********************************************************
//步进电机正转/
//******************************************************
void motor_ffw()
{
uint j;
for(j=0;j<8;j++)
{
P1 = (FFW[j]<<4);//取数据
delay_1ms(8);//调节转速
}
}
void main()
{
uint r,N=896;//N步进电机运转圈数
P1 = 0; //用P1.4-P1.7口
while(1)
{
for(r=0;r<=N;r++)
{
motor_ffw();//电机
}
P1=0;
while(1);
}
}
这些代码是楼主自己写的, 感觉楼主不太适合搞这行..
一周热门 更多>