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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2337|回復: 0
打印 上一主題 下一主題
收起左側

電賽源碼資料:STM32風力擺

[復制鏈接]
跳轉到指定樓層
樓主
ID:276156 發表于 2018-1-15 14:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
風力擺代碼,直接用

單片機源程序如下:
  1. /*!
  2. *     COPYRIGHT NOTICE
  3. *     Copyright (c) 2013,山外科技
  4. *     All rights reserved.

  5. *     除注明出處外,以下所有內容版權均屬山外科技所有,未經允許,不得用于商業用途,
  6. *     修改內容時必須保留山外科技的版權聲明。
  7. *
  8. * @file       main.c
  9. * @brief      山外KL26 平臺主程序
  10. * @author     山外科技
  11. * @version    v5.2
  12. * @date       2014-10-26
  13. */

  14. #include "common.h"
  15. #include "include.h"

  16. #define MOTOR_HZ    (20*1000)

  17. #define XOUT    ADC0_SE9
  18. #define YOUT    ADC0_SE13
  19. #define ZOUT    ADC0_SE15
  20. #define Gyro1   ADC0_SE14
  21. #define Gyro2   ADC0_SE12
  22. #define Ang     ADC0_SE11
  23. Site_t site_lcd;
  24. uint16 x,y,z,gyro1,gyro2,ang;                           //保存ADC轉換結果

  25. //子函數聲明
  26. void LCD_show_int();//LCD顯示字符
  27. void PIT_IRQHandler(void);//中斷函數
  28. void move();//移動

  29. void main()
  30. {

  31.         //陀螺儀初始化
  32.     adc_init(XOUT);
  33.     adc_init(YOUT);
  34.     adc_init(ZOUT);
  35.     adc_init(Gyro2);         //角加速度  Angular2
  36.     adc_init(Gyro1);         //角加速度  Angular1
  37.     adc_init(Ang);
  38.         
  39.         //LCD初始化
  40.     LCD_init();               
  41.         LCD_show_int();        
  42.         
  43.         //初始化 電機 PWM
  44.     tpm_pwm_init(TPM0, TPM_CH0,MOTOR_HZ,100);
  45.     tpm_pwm_init(TPM0, TPM_CH1,MOTOR_HZ,100);
  46.     tpm_pwm_init(TPM0, TPM_CH4,MOTOR_HZ,100);
  47.     tpm_pwm_init(TPM0, TPM_CH5,MOTOR_HZ,100);
  48.     gpio_init(PTC12,GPO,0);
  49.         
  50. /********************************開PIT中斷******************************/
  51.         pit_init_ms(PIT0, 10);                                //初始化PIT0,定時時間為: ??ms
  52.         
  53.     set_vector_handler(PIT_VECTORn ,PIT_IRQHandler);       //設置PIT0的中斷服務函數為 PIT_IRQHandler
  54.     enable_irq (PIT_IRQn);                                 //使能PIT0中斷

  55.     while(1)
  56.     {
  57.         site_lcd.x = 24;
  58.         site_lcd.y = 2;

  59.         x = adc_once(XOUT,ADC_8bit);
  60.         LCD_num_C (site_lcd, x , FCOLOUR , BCOLOUR);
  61.                
  62.         site_lcd.y += 15;
  63.                 y = adc_once(YOUT,ADC_8bit);
  64.         LCD_num_C (site_lcd, y , FCOLOUR , BCOLOUR);
  65.                
  66.         site_lcd.y += 15;
  67.         z = adc_once(ZOUT,ADC_8bit);
  68.         LCD_num_C (site_lcd, z , FCOLOUR , BCOLOUR);
  69.                
  70.         site_lcd.y += 15;
  71.         gyro1 = adc_once(Gyro1,ADC_8bit);
  72.         LCD_num_C (site_lcd, gyro1 , FCOLOUR , BCOLOUR);
  73.                
  74.         site_lcd.y += 15;
  75.         gyro2 = adc_once(Gyro2,ADC_8bit);
  76.         LCD_num_C (site_lcd, gyro2 , FCOLOUR , BCOLOUR);
  77.                
  78.         site_lcd.y += 15;
  79.         ang = adc_once(Ang,ADC_8bit);
  80.         LCD_num_C (site_lcd, ang , FCOLOUR , BCOLOUR);
  81.     }

  82. }

  83. /******************************LCD初始化****************************/
  84. void LCD_show_int()
  85. {
  86.         LCD_init();
  87.         site_lcd.x = 0;
  88.         site_lcd.y = 2;  
  89.         LCD_str(site_lcd, "X", BLUE, GREEN);
  90.         site_lcd.y = 17;
  91.         LCD_str(site_lcd, "Y", BLUE, GREEN);
  92.         site_lcd.y = 32;
  93.         LCD_str(site_lcd, "Z", BLUE, GREEN);
  94.         site_lcd.y = 47;
  95.         LCD_str(site_lcd, "G1", BLUE, GREEN);
  96.         site_lcd.y = 62;
  97.         LCD_str(site_lcd, "G2", BLUE, GREEN);
  98.         site_lcd.y = 77;
  99.         LCD_str(site_lcd, "A", BLUE, GREEN);  
  100.         site_lcd.y = 92;
  101.         LCD_str(site_lcd, "k", BLUE, GREEN);
  102.         site_lcd.y = 107;
  103.         LCD_str(site_lcd, "dp", BLUE, GREEN);
  104.         site_lcd.x=68;
  105.         site_lcd.y = 2;  
  106.         LCD_str(site_lcd, "wp", BLUE, GREEN);//位置PD
  107.         site_lcd.y = 17;
  108.         LCD_str(site_lcd, "wd", BLUE, GREEN);
  109.         site_lcd.y = 32;
  110.         LCD_str(site_lcd, "zl", BLUE, GREEN);//速度
  111.         site_lcd.y = 47;
  112.         LCD_str(site_lcd, "sp", BLUE, GREEN);
  113.         site_lcd.y = 62;
  114.         LCD_str(site_lcd, "h1", BLUE, GREEN);//環島
  115.         site_lcd.y = 77;
  116.         LCD_str(site_lcd, "h2", BLUE, GREEN);
  117.         site_lcd.y = 92;
  118.         LCD_str(site_lcd, "h3", BLUE, GREEN);
  119.         site_lcd.y = 107;
  120.         LCD_str(site_lcd, "D", BLUE, GREEN);
  121. }

  122. void PIT_IRQHandler(void)
  123. {
  124.     //PIT0 和 PIT1 共用相同中斷號,所以兩者都共用相同中斷函數,需要根據標志位來判斷是由哪個PIT觸發中斷

  125.     if(PIT_TFLG(PIT0) == 1 )        //判斷是否 PIT0 進入中斷
  126.     {
  127.                 move();
  128.             PIT_Flag_Clear(PIT0);       //清中斷標志位
  129.     }
  130. }

  131. void move()
  132. {
  133.         tpm_pwm_duty(TPM0, TPM_CH0,70);
  134.     tpm_pwm_duty(TPM0, TPM_CH1,70);
  135.     tpm_pwm_duty(TPM0, TPM_CH4,70);
  136.     tpm_pwm_duty(TPM0, TPM_CH5,70);
  137. }
復制代碼

所有資料51hei提供下載:
風力擺.rar (854.08 KB, 下載次數: 37)


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

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜视频在线 | 亚洲成人播放器 | 久久精品国产亚洲 | 精品三级在线观看 | 日韩小视频在线 | 国产激情一区二区三区 | 午夜亚洲| 欧美国产亚洲一区二区 | 羞羞视频在线观看 | 久久精品黄色 | 亚洲品质自拍视频 | 欧美激情 一区 | 国产精品高潮呻吟久久av黑人 | 国产乱码精品一区二三赶尸艳谈 | 午夜影院操 | av第一页 | a级黄色网| 91看片网 | 天天操天天操 | 蜜桃官网 | 午夜精品一区二区三区在线视频 | 亚洲一区成人 | 久精品久久 | 欧美a在线看| 久久精品亚洲精品国产欧美kt∨ | 就操在线 | 成人在线免费看 | 91精品国产一区二区三区 | av一级| 国产精品美女视频 | 热久久国产 | 亚洲xx在线 | 91精品国产乱码久久久久久久久 | 亚洲高清在线 | 国产二区av | 日韩一区二区视频 | 一区精品在线观看 | 久久亚洲一区 | www.夜夜骑.com | 国产精品免费小视频 | 高清一区二区三区 |