代码好像没上传成功,补上
int main(void)
{
u16 adc_start;
u16 adc_over;
float v_start;
float v_over;
float number;//电位器初始位置和最终位置差值
float time;//电机从初始位置到最终位置要运行的时间
delay_init();
Adc_Init();
while(1)
{
adc_start=Get_Adc_Average(ADC_Channel_1,10);
v_start=(float)adc_start*(3.3/4096);
delay_ms(10);
adc_over=Get_Adc_Average(ADC_Channel_1,10);
v_over=(float)adc_over*(3.3/4096);
delay_ms(10);
number=v_over-adc_start;//点位置初始位置和最终位置的差值
if(number>0.1)
{
if(number>0.1)
time=number*100;
ENABLE=0;//电机全速正转
DIR=0;
delay_ms(time);
ENABLE=1;//电机停止
DIR=1;
}
if(number<0.1)
{
if(number<0.1)
time=number*100;
ENABLE=0;//电机全速反转
DIR=1;
delay_ms(time);
ENABLE=0;//电机停止
DIR=1;
}
}
}
|