您的位置:控制工程论坛网论坛 » 电机与运动控制 » 求助高手修改51单片机控制测速的程序

skywind001

skywind001   |   当前状态:离线

总积分:57  2025年可用积分:0

注册时间: 2007-03-31

最后登录时间: 2007-04-04

空间 发短消息加为好友

求助高手修改51单片机控制测速的程序

skywind001  发表于 2007/3/31 20:13:13      1443 查看 0 回复  [上一主题]  [下一主题]

手机阅读

以下是使用51单片机控制测速的程序,求教高手指出其中的错误。非常感谢!!! 


#include<reg51.h>
sbit SHURU =P1^0; /* 这是输入引脚 */
/* 三个选择引脚 */
sbit CHOSE1=P2^0;
sbit CHOSE2=P2^1;
sbit CHOSE3=P2^2;
int time=0;

/* 定义中断 */
void timer(void)interrupt 1
{ time=time+1;
TH0=0xFE;
TL0=0x0C;
}


float sudu(unsigned int n) /*计算速度的公式*/
{ float s;
s=n*2; /*1毫秒走的路程,2为假设的距离*/
float timers;
timers=time*0.0001;
float v;
v=s/timers;
return(v);

}





/* 主函数 */
main()
{ TMOD=0x01;
TH0=0xFE;
TL0=0x0C;
TR0=1;
ET0=1;
EA=1;
unsigned int n;

n=0;
/* unsigned int timers;
timers=0;
float v;
v=0; */ /*初始化原变量*/
/* 无限循环 */
while(1)
{


/*if 引导在50毫秒是计算一个速度*/
if (SHURU==1&&time!==50)
{n=n+1;
} /*记录脉冲次数 */

elseif(time==50)
{
v=sudu(n);
time=0;
n=0;

}

/* 调用显示函数显示速度 */




}
}
问题补充:这是通过光电门感应电动车轮子上的一个障碍物来输出高低电平,但在经Keil uVISION2进行编译时,总是无法编译,那位高手可以帮忙看一下这个程序,第一次编,就要用了。我也没分,只能谢谢了,万分感谢,
1楼 0 0 回复