久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13096|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

kea128電磁組智能車控制源碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:277775 發(fā)表于 2018-1-19 16:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
keaz1284  可跑程序

單片機(jī)源程序如下:
  1. #include "headfile.h"

  2. int flag;


  3. void Para_Init()
  4. {
  5. PID_ANGLE.P=0.10;
  6. PID_ANGLE.D=0.001;
  7. PID_SPEED.P=1.5;
  8. PID_SPEED.I=0.05;
  9. PID_TURN.P=0.01;
  10. PID_TURN.D=0.005;
  11. Fuzzy_Kp=0.005;
  12. Fuzzy_Kd=0.0005;
  13. SetSpeed=2.5;
  14. Set_Angle=20;


  15. Control_Para[0]=SetSpeed;
  16.   Control_Para[1]=PID_ANGLE.P;
  17. Control_Para[2]= PID_ANGLE.D;
  18. Control_Para[3]= PID_SPEED.P;
  19. Control_Para[4]= PID_SPEED.I;
  20. Control_Para[5]= PID_TURN.P;
  21. Control_Para[6]= PID_TURN.D;
  22. }

  23. void main(void)
  24. {
  25.      DisableInterrupts ;     
  26.      
  27.      ADC_Init(ADC_CHANNEL_AD4,ADC_12BIT);   //電磁采集0
  28.      ADC_Init(ADC_CHANNEL_AD5,ADC_12BIT);   //電磁采集1
  29.      ADC_Init(ADC_CHANNEL_AD2,ADC_12BIT);   //電磁采集2
  30.      ADC_Init(ADC_CHANNEL_AD3,ADC_12BIT);   //電磁采集3
  31.      ADC_Init(ADC_CHANNEL_AD6,ADC_12BIT);   //電磁采集4
  32.      ADC_Init(ADC_CHANNEL_AD7,ADC_12BIT);   //電磁采集5
  33.      ADC_Init(ADC_CHANNEL_AD10,ADC_12BIT);   //電池電壓采集實驗
  34.    
  35.      button_init();                         //按鍵初始化
  36.      switch_init();                         //撥碼開關(guān)初始化
  37.      FTM_PWM_init(CFTM2, FTM_CH5, 20000, 0);       //PWM0 PTG7  電機(jī)驅(qū)動
  38.      FTM_PWM_init(CFTM2, FTM_CH4, 20000, 0);    //PWM1 PTG6  電機(jī)驅(qū)動
  39.    
  40.      FTM_PWM_init(CFTM2, FTM_CH3, 20000, 0);       //PWM2 PTG5  電機(jī)驅(qū)動
  41.      FTM_PWM_init(CFTM2, FTM_CH2, 20000, 0);    //PWM3 PTG4  電機(jī)驅(qū)動
  42.    
  43.      PULSE_INIT(CFTM0);                      //編碼器1采集
  44.      PULSE_INIT(CFTM1);                      //編碼器1采集
  45.    
  46.      uart_init(UARTR1,1500000);              //wifi模塊傳輸初始化
  47.    
  48.      BEEP_ON;
  49.      OLED_Init();                          //OLED      初始化
  50.      OLED_Draw_Logo();                   //畫logo專用函數(shù)
  51.      delay(300);
  52.      OLED_Fill(0);                     //初始清屏
  53.      BEEP_OFF;            
  54.      I2C_Init();                       //初始化加速度陀螺儀傳感器
  55.      PIT_Init(PIT_CHANNEL0,2*BUS_CLK_KHZ); //定時中斷   2ms 初始化
  56.      EnableInterrupts;
  57.     Para_Init();
  58.      led_init();
  59.      water_lights();
  60.      while(1)
  61.     {
  62.        if(beep)
  63.       {
  64.         BEEP_ON;
  65.         delay(50);
  66.         BEEP_OFF;
  67.         beep=0;
  68.       }  
  69.        Read_Switch();
  70.       Check_BottonPress();
  71.       if(SendPara)
  72.       {
  73.         SendPara=0;
  74.         Send_Parameter();
  75.       }  
  76.       
  77.        if(flag)  //此段不超過0.5ms 200ms主頻  6ms 或8ms 執(zhí)行一次
  78.       {
  79.         flag=0;
  80.       
  81.         Send_Begin();
  82.         Variable_update();
  83.         Send_Variable();
  84.         Send_Inductor();
  85.       }  
  86.       if(OLED_Refresh)
  87.       {
  88.         OLED_Draw_UI();
  89.       }      
  90.     }
  91. }
  92. //定時器0中斷函數(shù)
  93. void PIT0_ISR(void)

  94. {
  95.    static uint8 flag_100ms,cnt=0;
  96.      RunTime=RunTime+0.002;
  97.   flag_100ms++;

  98.   if(flag_100ms>50)
  99.   {
  100.    flag_100ms=0;  
  101.    Speed_Control();  //100ms進(jìn)行一次速度控制
  102.    LED_RED_TURN;
  103.    SpeedCount=0;
  104.   }
  105.    cnt++;
  106.    if(cnt==1)      //4ms運(yùn)行一次
  107.    {
  108.        flag=1;
  109.      ADC_SAMPLE();   
  110.      Get_Attitude();
  111.      Angle_Calculate();
  112.      Angle_Control();
  113.      Get_Speed();
  114.      
  115.       Direction_Control();
  116.   
  117.    
  118.    }
  119.    if(cnt>=2)
  120.    {
  121.      cnt=0;
  122.    }
  123.      SpeedCount++;
  124.      Speed_Control_Output();
  125.      Moto_Out();

  126.    PIT->CHANNEL[0].TFLG |= PIT_TFLG_TIF_MASK;//清楚中斷標(biāo)志位  
  127.   
  128. }
  129.   //定時器0中斷函數(shù)
  130. void UART0_ISR(void)

  131. {
  132.    static uint8 recv;
  133.   static uint8 data_cnt=0;
  134.   static uint8 predata[10];
  135.   static uint8 Recv_Buff[100];
  136.   static uint8 Data_Receiving=false;
  137.   
  138. // recv=Uart_GetChar(UART1_BASE);
  139.   /**********代表正在接收來自上位機(jī)的參數(shù)數(shù)據(jù)*********/
  140.   if(Data_Receiving)
  141.   {
  142.       if(data_cnt<56)
  143.       {
  144.        Recv_Buff[data_cnt]= recv;
  145.        data_cnt++;
  146.       }
  147.       else
  148.       {
  149.         data_cnt=0;    //達(dá)到幀長
  150.         Data_Receiving=false;
  151.         if(recv==2)  //幀尾
  152.         {
  153.            Modify_Parameter(Recv_Buff);
  154.            SendPara=1;      //參數(shù)回傳,確認(rèn)參數(shù)修改完成
  155.             beep=1; //開啟蜂鳴器
  156.         }
  157.       }
  158.   }

  159.   
  160.   
  161.   if( predata[1]==0x55&&predata[0]==0xAA)
  162.   {
  163.    
  164.       switch(recv)         //判斷功能字
  165.        {
  166.           case 1:           //讀取參數(shù)
  167.              if(SendPara==0) SendPara=1;
  168.               beep=1; //開啟蜂鳴器
  169.             break;
  170.          
  171.           case 2:           //修改參數(shù)
  172.             data_cnt=0;
  173.             Data_Receiving=true;
  174.           case 3:           //保存參數(shù)
  175.             //EEPROM_Save();
  176.             beep=1; //開啟蜂鳴器
  177.           break;        
  178.          
  179.           case 4:           //功能開關(guān)1
  180.            
  181.           break;   
  182.          
  183.           case 5:           //功能開關(guān)2
  184.            
  185.           break;     
  186.          
  187.           case 6:           //功能開關(guān)3
  188.            
  189.           break;
  190.          
  191.           case 7:           //功能開關(guān)4
  192.            
  193.           break;        
  194.          
  195.           default:           //
  196.            break;
  197.         }
  198.   }
  199.   predata[1]=predata[0];
  200.   predata[0]=recv;
  201. }
  202.   
復(fù)制代碼

注意代碼不是用Keil寫的,用的iar編譯的
iar工程文件.7z (1.01 MB, 下載次數(shù): 262)


評分

參與人數(shù) 1黑幣 +1 收起 理由
djdj呵呵 + 1 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:285130 發(fā)表于 2018-2-24 10:44 | 只看該作者
是用iar嗎
回復(fù)

使用道具 舉報

板凳
ID:285260 發(fā)表于 2018-2-25 23:27 | 只看該作者

是的,我用過。程序可以用
回復(fù)

使用道具 舉報

地板
ID:285260 發(fā)表于 2018-2-25 23:28 | 只看該作者
樓主,一般用2個電感。你用4個,怎么安裝的啊
回復(fù)

使用道具 舉報

5#
ID:191831 發(fā)表于 2018-2-26 20:29 | 只看該作者
freepoet 發(fā)表于 2018-2-25 23:27
是的,我用過。程序可以用

求教具體一點
回復(fù)

使用道具 舉報

6#
ID:294075 發(fā)表于 2018-3-19 15:54 | 只看該作者
看起來還不錯,感謝樓主無私奉獻(xiàn)
回復(fù)

使用道具 舉報

7#
ID:300507 發(fā)表于 2018-4-2 22:02 來自手機(jī) | 只看該作者
在哪里可以改管腳通道
回復(fù)

使用道具 舉報

8#
ID:302449 發(fā)表于 2018-4-5 16:52 | 只看該作者
IAR可以用嗎
回復(fù)

使用道具 舉報

9#
ID:305384 發(fā)表于 2018-4-10 20:48 | 只看該作者
修改引腳的在哪里啊
回復(fù)

使用道具 舉報

10#
ID:310693 發(fā)表于 2018-4-18 10:53 | 只看該作者
樓主轉(zhuǎn)彎怎么控制的?
回復(fù)

使用道具 舉報

11#
ID:310693 發(fā)表于 2018-4-18 12:12 | 只看該作者
樓主能問下你的轉(zhuǎn)向控制思路嗎?
回復(fù)

使用道具 舉報

12#
ID:236212 發(fā)表于 2018-5-2 20:36 | 只看該作者
幫頂
回復(fù)

使用道具 舉報

13#
ID:236212 發(fā)表于 2018-5-2 21:01 | 只看該作者
請問樓主用的是什么上位機(jī)?
回復(fù)

使用道具 舉報

14#
ID:335297 發(fā)表于 2018-5-21 22:04 | 只看該作者
感謝樓主的分享
回復(fù)

使用道具 舉報

15#
ID:259503 發(fā)表于 2018-5-30 18:17 | 只看該作者
這是F車KEA128的嘛?
回復(fù)

使用道具 舉報

16#
ID:349062 發(fā)表于 2018-6-13 19:34 | 只看該作者
很棒的程序
回復(fù)

使用道具 舉報

17#
ID:450022 發(fā)表于 2018-12-19 16:44 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

18#
ID:1028251 發(fā)表于 2022-5-22 18:59 | 只看該作者
為啥顯示The project could not be opened
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费久久精品 | 欧美日韩久久精品 | 一区二区三区亚洲视频 | 自拍偷拍亚洲欧美 | 久久久久久久一区二区三区 | 国产精品欧美精品日韩精品 | 日韩成人专区 | 狠狠骚 | 天啪 | 天堂一区 | 亚洲一区二区三区视频在线 | 精品在线| 特一级毛片 | 欧美日韩国产在线观看 | 欧美一区二区视频 | 国产亚洲精品成人av久久ww | 亚洲一区二区三区在线播放 | 国产精品一区在线播放 | 天天看天天操 | 国产女人与拘做受免费视频 | 中文字幕 国产 | 久久久久国产一区二区三区四区 | 中文av电影 | 日韩精品免费 | 国产精品99久久久久久人 | 午夜精品一区二区三区三上悠亚 | 欧美国产日韩在线 | 日韩伦理一区二区三区 | 伊人网站视频 | 国产99精品 | av中文字幕在线播放 | 国产精品一区二区无线 | 国产精品九九九 | 精品一区二区三区在线观看国产 | 亚洲高清一区二区三区 | av中文在线观看 | 在线视频中文字幕 | 天天干天天玩天天操 | 欧美不卡视频一区发布 | 亚洲国产精品99久久久久久久久 | 日韩毛片在线免费观看 |