第一范文网 - 专业文章范例文档资料分享平台

电动汽车课程设计(智能小车)

来源:用户分享 时间:2025/5/26 1:13:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

北京理工大学珠海学院2016届电动汽车课程设计

#define Left_moto_go {P1_2=0,P1_3=1;} //左电机向前走 #define Left_moto_back {P1_2=1,P1_3=0;} //左边电机向后转

#define Left_moto_Stop {P1_5=0;} //左边电机停转 #define Right_moto_go {P1_6=1,P1_7=0;} #define Right_moto_back {P1_6=0,P1_7=1;} #define Right_moto_Stop {P1_4=0;}

//右边电机向前走 //右边电机向后走

//右边电机停转

unsigned char pwm_val_left =0;//变量定义

unsigned char push_val_left =0;// 左电机占空比N/20 unsigned char pwm_val_right =0;

unsigned char push_val_right=0;// 右电机占空比N/20 bit Right_moto_stop=1; bit Left_moto_stop =1; unsigned int time=0;

/***********************************************/ //延时函数

void delay(unsigned int k) {

unsigned int x,y; }

/**********************************************/ //前速前进

void run(void) {

push_val_left=8;

push_val_right=8;

Left_moto_go ; //左电机往前走

-第17页-

for(x=0;x

//速度调节变量 0-20。。。0最小,20最大

北京理工大学珠海学院2016届电动汽车课程设计

}

Right_moto_go ; //右电机往前走

//左转

void leftrun(void) {

push_val_right=8;

Right_moto_go ; //右电机往前走

Left_moto_Stop ; //左电机停止 } //右转

void rightrun(void) { }

/* PWM调制电机转速 */ /* 左电机调速 */

/*调节push_val_left的值改变电机转速,占空比*/

void pwm_out_left_moto(void) push_val_left=8;

Left_moto_go ; //左电机往前走 Right_moto_Stop ; //右电机往前走

{

if(Left_moto_stop) {

if(pwm_val_left<=push_val_left)

{

Left_moto_pwm=1;

} else

-第18页-

北京理工大学珠海学院2016届电动汽车课程设计

{

Left_moto_pwm=0;

}

if(pwm_val_left>=20) pwm_val_left=0;

} else {

Left_moto_pwm=0;

} }

/* 右电机调速 */ void pwm_out_right_moto(void) {

if(Right_moto_stop) {

if(pwm_val_right<=push_val_right)

{

Right_moto_pwm=1; } else {

Right_moto_pwm=0;

}

if(pwm_val_right>=20) pwm_val_right=0;

} else

-第19页-

北京理工大学珠海学院2016届电动汽车课程设计

{

Right_moto_pwm=0; } }

/*TIMER0中断服务子函数产生PWM信号*/ void timer0()interrupt 1 using 2 {

TH0=0XFc;

TL0=0X18; time++;

pwm_val_left++; pwm_val_right++; pwm_out_left_moto(); pwm_out_right_moto();

//1Ms定时

} #endif

2. 遥控程序

#include

#define Left_moto_go {P1_2=0,P1_3=1;} //左边电机向前走

#define Left_moto_back {P1_2=1,P1_3=0;} //左边电机向后转

#define Left_moto_Stop {P1_2=0,P1_3=0;} //左边电机停转 #define Right_moto_go {P1_6=1,P1_7=0;} #define Right_moto_back {P1_6=0,P1_7=1;} #define Right_moto_Stop {P1_6=0,P1_7=0;}

//右边电机向前走 //右边电机向后走 //右边电机停转

#define Imax 14000 //此处为晶振为11.0592时的取值, #define Imin 8000 //如用其它频率的晶振时, #define Inum1 1450 //要改变相应的取值。

-第20页-

搜索更多关于: 电动汽车课程设计(智能小车) 的文档
电动汽车课程设计(智能小车).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5dzv060te76b8vf014ce_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top