电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

电动车控制器C语言源代码VIP免费

电动车控制器C语言源代码_第1页
1/45
电动车控制器C语言源代码_第2页
2/45
电动车控制器C语言源代码_第3页
3/45
电动车控制器C语言源代码#define_E_BIKE_W79E83X_C_#include"intrins.h"#include"E_BIKE_W79E83X.H"#include"W79E834.h"/******************************************************************************主函数******************************************************************************/voidmain(void){Init();//初始化Init_IO();//初始化端口H_Sample();//霍尔信号采样Phase_Change();//相位变换AutoHelpEN(1,0x1AA,200);/*第一个参数设定助力功能允许不否,1为允许,0为禁止第二个参数设定助力力量(PWM占空比),数值范围:0~0x355,数值越大,力量越大第三个参数设定助力时间,数值越大,时间越长*/Keep_SpeedEN(1,0x20,6);/*第一个参数设定定速巡航功能允许不否,1为允许,0为禁止第二个参数设定定速巡航最低速设置第三个参数设定在巡航点保持多长时间后才进入巡航*/Current_Lim(0xB48);/*过流保护上限值设定OxBOO对应限电流最大大约为2.6A0xB80对应限流值最大大约为3.8A*/LowVoltage_Lim(Ox9BO);/*欠压保护下限值设定电池电压为47.9V时ADC采样值为0xB6==>0xB60推算电池电压为41V时的采样值为0x9B==>0x9B0推算电池电压为40V时的采样值为0x98==>0x980*/EABS_Set(1,1);/*//Keep_SpeedEN(1,0x20,6);第一个参数为滑行充电功能使能,1为允许,0为禁止第二个参数为电刹车功能使能,1为允许,0为禁止*/Speed_LimHW(0,0,0,1);/*硬件控制最大速度参数只能有一个为1。第一个参数对应15km/h第二个参数对应20km/h第三个参数对应30km/h第四个参数对应40km/h*/Speed_LimSW(0x01);/*软件控制最大速度参数数值由0x00~0x20,数值越小速度越大,反之则越小*/while(1){_nop_();//AutoHelpEN(0,0x1AA,100);//Current_Lim(0xB50);//LowVoltage_Lim(0x9B0);//EABS_Set(0,0);//Speed_LimHW(0,0,0,1);}}/*******************************************************************************I/O端口初始化******************************************************************************/voidInit_IO(void){//P0端口设置//P0M1=0xBE;P0M2=0x01;/*POM1.YP0M2.Y=00设置I/O端口为普通双向模式POM1.YP0M2.Y=01设置I/O端口为推拉模式P0M1.YP0M2.Y=10设置I/O端口为输入,高阻,模式//PWM设置-P0M1.YP0M2.Y=ll设置I/O端口为开漏模式*///P0ID=0x78;//设置四个AD端口0数字输入禁止P0=0xFF;//P1端口设置//P1M1=0x1C;P1M2=0xC0;P1=0xFF;//P2端口设置//P2M1=0x01;P2M2=0x1E;P2=0xFF;}/*******************************************************************************初始化程序******************************************************************************/voidInit(void){unsignedchari;//PWMP>PWMn高电平,反之低电平PWMPH=0X03;PWMPL=0X55;PWM0H=0X00;PWM0L=0X00;PWM1H=0X00;PWM1L=0X00;PWM2H=0X00;PWM2L=0X00;PWMCON1=OXC7;//打开PWM电路,三个PWM口反相输出PWMCON3=0xF0;//飞车保护//EA=1;/*do{ADCCON=1;ADCCON&=0xef;ADCCON|=0x08;ADC_Ready=0;while(ADC_Ready);}while(ADCH>0x60);*///相位检测//while(P02==0){H_Sample();Phase_Detect();.}//变量初始化for(i=0;i<32;i++){Current_Buffer[i]=0;}for(i=0;i<20;i++){Speed_Buffer[i]=0;}for(i=0;i<16;i++){Voltage_Buffer[i]=0;}Current_P=0;Speed_P=0;Voltage_P=0;;Speed_SUM=0;//PWM_MAX=0;Current_SUM=0;Voltage_SUM=0;H_State=0;Old_State=0;PWM_Duty=0;//PWM_MAX=0;Count_Current=0;Count_Speed=0;Count_Voltage=0;.Speed_REQ=0;Current_REQ=0;Voltage_REQ=0;ADC_Ready=0;//PWM_Duty=0;PWM_Duty_min=0;//*********************KeepSpeed_Flag=0;KS_Z1=0;KS_Z2=0;Motor_Speed=0x50;//*********************AutoHelp_Flag=0;Current_Max=0xcffe;Speed_Low=0x0500;//Speed_High=0x1c37;//Speed_MAX=0x1c00;//定时器的设置//TH0=0x50;TL0=0x50;//设定定时器的初值TH1=0xE0;TL1=0xE0;//设定定时器的初值TM0D=0x22;//TO选为定时器,八位,模式2,TL0自动加载THO中的初值CKCON&=0X00;//定时器选择为1/12系统时钟ET0=1;//允许定时器中断TR0=1;//启动定时器ET1=1...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

电动车控制器C语言源代码

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部