控制算法设计说明_第1页
控制算法设计说明_第2页
控制算法设计说明_第3页
控制算法设计说明_第4页
控制算法设计说明_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十一届全国大学生智能汽车邀请赛技术报告第十三届全国大学生智能汽车邀请赛技术报告附录A:源代码#include"headfile.h"externintflag;intmain(void){get_clk();//获取时钟频率必须执行DisableInterrupts;//关闭总中断OLED_Init();//oled初始化uart_init(uart1,115200);//串口初始化pit_init_ms(pit0,1);//中断定时1msset_irq_priority(PIT_CH0_IRQn,1);//中断优先级1enable_irq(PIT_CH0_IRQn);//中断使能EnableInterrupts;//打开总中断DirectionInit();//adc口初始化MotorInit();//电机pwm口初始化ftm_count_init(ftm0);//对E0引脚输入的脉冲进行计数E0接编码器LSBftm_count_init(ftm1);//对E7引脚输入的脉冲进行计数E7接编码器LSBgpio_init(H6,GPI,0);//用于判断方向C5接编码器DIRgpio_init(H7,GPI,0);//用于判断方向H5接编码器DIRport_pull(H6);//IO上拉port_pull(H7);//IO上拉gpio_init(C6,GPO,0);//蜂鸣器初始化IIC_init();//IIC初始化InitMPU6050();//mpu6050初始化gpio_init(A6,GPI,1);gpio_init(G3,GPI,1);gpio_init(E1,GPI,1);gpio_init(G1,GPI,1);gpio_init(C5,GPI,1);gpio_init(G0,GPI,1);pit_time_start(pit1);while(1){UI_Main();if(gpio_get(A6)==0){flag=1;}}}#include"KEA_UI.h"#include"KEA_UI.h"uint8UI_adc[4][7]={"ADC1:","ADC2:","ADC3:","ADC4:"};//uint8UI_Dir[2][7]={"DirP:","DirD:"};uint8UI_Speed[3][7]={"Sp_P:","Sp_I:","S_Set:"};intstopFlag=0;externint16g_ValueOfAD[4];externfloatg_dirControl_P;//externfloatg_dirControl_D;/externfloatg_speedControl_P;//externfloatg_speedControl_I;// externfloatspeedset;floatspeed=28;voidUI_Main(){staticintkeyNum;staticintMenuNum=0;staticintselectFlag=0;while(gpio_get(G3)==0){keyNum=keyscan();if(MenuNum==1){OLED_P8x16Str(1,selectFlag,">");if(keyNum==3){selectFlag+=3;if(selectFlag>6)selectFlag=3;OLED_Fill(0x00);}}if(MenuNum==2){OLED_P8x16Str(1,selectFlag,">");if(keyNum==3){selectFlag+=2;if(selectFlag>6)selectFlag=2;OLED_Fill(0x00);}}if(keyNum==4){MenuNum++;if(MenuNum==1)selectFlag=3;elseif(MenuNum==2)selectFlag=2;elseselectFlag=0;OLED_Fill(0x00);if(MenuNum>3)MenuNum=0;}setNum(MenuNum,keyNum,selectFlag);switch(MenuNum){case0:menu1();break;case1:menu2();break;case2:menu3();break;}}OLED_Fill(0x00);}voidmenu1(){OLED_P8x16Str(15,0,UI_adc[0]);OLED_Print_Num(70,0,(uint16)g_ValueOfAD[0]);OLED_P8x16Str(15,2,UI_adc[1]);OLED_Print_Num(70,2,(uint16)g_ValueOfAD[1]);OLED_P8x16Str(15,4,UI_adc[2]);OLED_Print_Num(70,4,(uint16)g_ValueOfAD[2]);OLED_P8x16Str(15,6,UI_adc[3]);OLED_Print_Num(70,6,(uint16)g_ValueOfAD[3]);}voidmenu2(){OLED_P8x16Str(15,0,"Direction:");OLED_P8x16Str(15,3,UI_Dir[0]);OLED_Print_Num(70,3,(uint16)g_dirControl_P);OLED_P8x16Str(15,6,UI_Dir[1]);OLED_Print_Num(70,6,(uint16)g_dirControl_D);}voidmenu3(){OLED_P8x16Str(15,0,"Direction:");OLED_P8x16Str(15,2,UI_Speed[0]);OLED_Print_Num(70,2,(uint16)g_speedControl_P);OLED_P8x16Str(15,4,UI_Speed[1]);OLED_Print_Num(70,4,(uint16)g_speedControl_I);OLED_P8x16Str(15,6,UI_Speed[2]);OLED_Print_Num(70,6,(uint16)speed);}unsignedcharkeyscan(void){staticcharkey_state=0;staticcharkey_value=0;unsignedcharkey_press,key_return=0;key_press=turn_up&turn_down&turn_ok&turn_change;//读按键I/O电平switch(key_state){case0://按键初始态if(key_press==0)key_state=1;//键被按下,但需要确认是否是干扰break;case1://按键确认态if(key_press==0)//如有键按下则不是干扰,判断键值{if(turn_up==0)//判断是哪一个按键被按下key_value=1;//按键较多时可采用switch选择结构elseif(turn_down==0)key_value=2;elseif(turn_ok==0)key_value=3;elseif(turn_change==0)key_value=4;key_state=2;//状态转换到键释放态}elsekey_state=0;//按键已抬起,属于干扰,转换到按键初始态break;case2:if(key_press==1){key_return=key_value;//按键释放后再输出键值key_value=0;key_state=0;//如果按键释放,转换到按键初始态}break;}returnkey_return;//返回键值}voidsetNum(intMenuNum,intkeyNum,intselectFlag){if(MenuNum==1){if(selectFlag==3){if(keyNum==1)g_dirControl_P++;if(keyNum==2)g_dirControl_P--;}elseif(selectFlag==6){if(keyNum==1)g_dirControl_D++;if(keyNum==2)g_dirControl_D--;}}elseif(MenuNum==2){if(selectFlag==2){if(keyNum==1)g_speedControl_P++;if(keyNum==2)g_speedControl_P-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论