控制算法設計說明_第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

提交評論