syntaxerrornearvoid'

发布时间:2019-08-09 02:58:30

#include<reg51.h> 

#include<math.h> 

#define uchar unsigned char 

#define uint unsigned int [15]

sbit en1=P1^0; /* L298的Enable A */  

sbit s1=P1^2; /* L298的Input 1 */ 

sbit s2=P1^1; /* L298的Input 2 */  

uchar t=0; /* 中断计数器 */ 

uchar m=0; /* 电机速度值 */  

uchar tmp; /* 电机当前速度值 */ 

/* speed-电机速度(-100—100) */ 

void motor(char speed) 

if(speed>=-100 && speed<=100) 

m=abs(speed); /* 取速度的绝对值 */ 

if(speed<0) /* 速度值为负则反转 */ 

s1=0; 

s2=1; 

else /* 不为负数则正转 */ 

s1=1; 

s2=0; 

}  

void delay(uint j) /* 简易延时函数 */ 

for(j;j>0;j--); 

void main() 

uchar i; 

TMOD=0x02; /* 设定T0的工作模式为2 */ 

TH0=0x9B; /* 装入定时器的初值 */ 

TL0=0x9B; 

EA=1; /* 开中断 */ 

ET0=1; /* 定时器0允许中断 */ 

TR0=1; /* 启动定时器0 */ 

while(1) /* 电机实际控制演示 */ 

for(i=0;i<=100;i=i++) /* 正转加速 */ 

motor(i); 

delay(5000); 

for(i=100;i>0;i--) /* 正转减速 */ 

motor(i); 

delay(5000); 

for(i=0;i<=100;i++) /* 反转加速 */ 

motor(-i); 

delay(5000); 

for(i=100;i>0;i--) /* 反转减速 */ 

motor(-i);  

delay(5000); 

void timer0() interrupt 1 /* T0中断服务程序 */ 

if(t==0) /* 1个PWM周期完成后才会接受新数值 */ 

tmp=m; 

if(t<tmp) en1=1; else en1=0; /* 产生电机的PWM信号 */ 

t++; 

if(t>=100) t=0; /* 1个PWM信号由100次中断产生 */ 

}

求大佬指出哪里有错

补充:提示void delay(uint j) /* 简易延时函数 */这一行有问题

推荐回答

还没有选出推荐答案,请稍候访问或查看其他回答!
以上问题属网友观点,不代表本站立场,仅供参考!