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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于LPC單片機的電磁循跡小車代碼

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 恒星撒旦 于 2020-11-7 17:32 編輯

之前校賽做的題目。
主控單片機為LPC546,程序實現功能為室內電磁循跡具體代碼注釋的很詳細,一看就能明白,實際循跡效果還不錯,有十字,坡道,環島等處理方式。
分享給大家,有問題可以留言。
小車如下:
單片機源程序如下:
  1. //* @changed by ZZH ZHY DZH
  2. /*
  3. 接口定義:

  4. 攝像頭             單片機接口
  5. D0-D7數據口        B24 B25 B26 B27 B28 B29 B30 B31
  6. SDA                A9   F5
  7. SCL                A8
  8. 場信號             A0
  9. 像素信號           A1

  10. 運放
  11. 通道1              A10
  12. 通道2              A15
  13. 通道3              A16
  14. 通道4              A31
  15. 通道5              B0
  16. 通道6              A23

  17. IIC                 
  18. SDA                A13 F1
  19. SCL                A14

  20. 電機PWM
  21. PWM1               A18   T1
  22. PWM2               A20
  23. PWM3               B4   T2
  24. PWM4               B5

  25. 編碼器         
  26. LSB1               A2   T0
  27. DIR                A3
  28. LSB2               A4  T3
  29. DIR                A5


  30. 舵機   
  31. PWM                A6 T4

  32. OLED/TFT
  33. SCK                B19
  34. MOSI               B21
  35. MISO               B20      液晶沒有這個引腳  但是SPI會占用這個引腳
  36. CS                 B9 F4

  37. DC                 B10
  38. RES                B8
  39. BL                 B7

  40. UART               
  41. RX                 A24
  42. TX                 A25  

  43. 按鍵   
  44. B1 B2 B3 B23任意交換  


  45. 撥碼開關               
  46. B17  B22任意交換  

  47. NRF
  48. B15 B14 A29 A22 A21 A17        任意交換  

  49. */


  50. //打開新的工程或者工程移動了位置務必執行以下操作
  51. //第一步 關閉上面所有打開的文件
  52. //第二步 project  clean  等待下方進度條走完

  53. #include "headfile.h"
  54. #include "LPC546XX_adc.h"
  55. #include "LYG_motor.h"
  56. #include "LYG_direction.h"
  57. #include "LYG_mspeed.h"
  58. #include "LYG_keyboard.h"
  59. #include "LYG_mohu.h"
  60. #include "SEEKFREE_ICM20602.h"
  61. #include "LPC546XX_spi.h"
  62. #include "LPC546XX_mrt.h"
  63. #include "LYG_chaoshengbo.h"

  64. #define TRIG_PIN1 B6                //定義超聲波觸發引腳端口
  65. #define ECHO_PIN1 B4                //定義超聲波觸發引腳端口

  66. uint16 speed0,speed1,speed2,speed3,speed4,speed5;                          //直道  彎道  坡道  路障
  67. uint16 read_ZHI[6];       //eeprom儲存的最大電感值
  68. extern float  AD_MAX_Data1[6];
  69. uint16   duoji_zz;
  70. uint32 speeds;
  71. extern int16 Turn_PID ;
  72. extern int16 Offset;
  73. uint16 huandao[8];
  74. extern int16 D_error ;
  75. extern uint16 ad_03_he;
  76. extern uint16 time;
  77. extern int16 speedl,AD_SS0[3],AD_SS1[3],AD_SS2[3],AD_SS3[3],AD_SS4[3],AD_SS5[3];
  78. extern uint8 flag_dawan;
  79. extern uint32 distance1;
  80. extern int16 Turn_PID ;
  81. uint16 shizi1[2];
  82. uint16 zhijiao1[2];
  83. uint16 benzenedao[2];

  84. extern uint8 con,fangxiangshu;
  85. uint8 xuanze,xuanze1;

  86. int main(void)
  87. {   
  88.     get_clk();
  89.     oled_init();
  90.     eeprom_init();
  91.     motor_init();
  92.     duoji_init();
  93.     mspeed_init();
  94.     //chaoshengbo_init();
  95.     //uart_init(USART_0,115200,UART0_TX_A25,UART0_RX_A24);  //藍牙
  96.     //icm20602_init_spi();                                   //陀螺儀
  97.     //spi_init(SPI_NUM,SPI_CS_PIN,SPI_SCK_PIN,SPI_MOSI_PIN,SPI_MISO_PIN,3,10*1000*1000);
  98.     //gpio_init(A8,GPI,1,NOPULL);  
  99.    
  100.    // gpio_init(TRIG_PIN1,GPO,0,NOPULL);//超聲波
  101.    
  102.    
  103.    
  104.     adc_init(ADC1);
  105.     adc_init(ADC2);
  106.     adc_init(ADC3);
  107.     adc_init(ADC4);
  108.     adc_init(ADC5);
  109.     adc_init(ADC6);
  110.     huandao[0]=EEPROM_READ_WORD(11);   // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
  111.     huandao[1]=EEPROM_READ_WORD(12);
  112.     huandao[2]=EEPROM_READ_WORD(13);
  113.     huandao[3]=EEPROM_READ_WORD(14);
  114.     huandao[4]=EEPROM_READ_WORD(15);
  115.     huandao[5]=EEPROM_READ_WORD(16);
  116.     huandao[6]=EEPROM_READ_WORD(20);
  117.     huandao[7]=EEPROM_READ_WORD(21);
  118.     benzenedao[0]=EEPROM_READ_WORD(25);
  119.     benzenedao[1]=EEPROM_READ_WORD(26);
  120.     shizi1[0]=EEPROM_READ_WORD(10);
  121.     shizi1[1]=EEPROM_READ_WORD(22);
  122.     zhijiao1[0]=EEPROM_READ_WORD(23);
  123.     zhijiao1[1]=EEPROM_READ_WORD(24);
  124.     fangxiangshu=EEPROM_READ_WORD(30);
  125.     //duoji_zz=EEPROM_READ_WORD(9);
  126.     duoji_zz=779;
  127.     speed0=EEPROM_READ_WORD(5);
  128.     speed1=EEPROM_READ_WORD(6);
  129.     speed2=EEPROM_READ_WORD(7);
  130.     speed3=EEPROM_READ_WORD(8);
  131.     speed4=EEPROM_READ_WORD(27);
  132.     speed5=EEPROM_READ_WORD(28);
  133.     read_ZHI[0]=EEPROM_READ_WORD(1);
  134.     read_ZHI[1]=EEPROM_READ_WORD(2);
  135.     read_ZHI[2]=EEPROM_READ_WORD(3);
  136.     read_ZHI[3]=EEPROM_READ_WORD(4);
  137.     read_ZHI[4]=EEPROM_READ_WORD(17);
  138.     read_ZHI[5]=EEPROM_READ_WORD(18);
  139.     con=EEPROM_READ_WORD(29);
  140.     xuanze=EEPROM_READ_WORD(19);
  141.     xuanze1=EEPROM_READ_WORD(31);

  142.     AD_MAX_Data1[0] = (read_ZHI[0]/10)/10.0;
  143.     AD_MAX_Data1[1] = (read_ZHI[1]/10)/10.0;
  144.     AD_MAX_Data1[2] = (read_ZHI[2]/10)/10.0;
  145.     AD_MAX_Data1[3] = (read_ZHI[3]/10)/10.0;
  146.     AD_MAX_Data1[4] = (read_ZHI[4]/10)/10.0;
  147.     AD_MAX_Data1[5] = (read_ZHI[5]/10)/10.0;

  148.    
  149.     systick_delay_ms(500);   //防止上電標志置位
  150.    
  151.     //pint_init(PINT_CH0,ECHO_PIN1,FALLING); //超聲波
  152.     //set_irq_priority(PIN_INT0_IRQn,0);//設置優先級 越低優先級越高
  153.     //enable_irq(PIN_INT0_IRQn);//開中斷 PIN_INT0_IRQn - PIN_INT7_IRQn
  154.    
  155.     pint_init(PINT_CH1,B12,RISING);//霍爾停車
  156.     set_irq_priority(PIN_INT1_IRQn,1);
  157.     enable_irq(PIN_INT1_IRQn);
  158.    
  159.     //pint_init(PINT_CH2,A8,RISING);//激光避障
  160.     //set_irq_priority(PIN_INT2_IRQn,2);
  161.     //enable_irq(PIN_INT2_IRQn);
  162.    
  163.     // pint_init(PINT_CH1,A8,FALLING); //引腳中斷停車
  164.     // pint_enable_irq(PINT_CH1);  //開啟引腳中斷
  165.    // EnableInterrupts;
  166.    
  167.     pit_init_ms(5);    //周期定時器
  168.     enable_irq(RIT_IRQn);
  169.     //mrt_pit_init_ms(MRT_CH0,5);
  170.    // enable_irq(MRT0_IRQn);
  171.     EnableInterrupts;
  172.    
  173.   // mrt_start(MRT_CH1);
  174.     while(1)
  175.     {
  176.      // OLED_ConfigParameter();                  //菜單  //yihuigai
  177.      // data_conversion(AD_Norm[0],AD_Norm[3],AD_Norm[4],AD_Norm[5],virtual_scope_data);//藍牙傳輸數據

  178.         oled_p6x8str(0,1,"ADCl :");  oled_printf_int32(6*8,1,AD_Norm[0],4);
  179.         //oled_p6x8str(0,2,"ADC2 :");  oled_printf_int32(6*8,2,AD_SS1[2],3);
  180.         //oled_p6x8str(0,3,"ADC3 :");  oled_printf_int32(6*8,3,AD_SS2[2],3);
  181.         oled_p6x8str(0,3,"ADCr :");  oled_printf_int32(6*8,3,AD_Norm[3],4);
  182.         oled_p6x8str(0,5,"D :");  oled_printf_int32(6*8,5,Turn_PID,4);
  183.          ctimer_pwm_duty(TIMER1_PWMCH0_A18,2000 );
  184.          ctimer_pwm_duty(TIMER2_PWMCH1_B4, 2000 );
  185.          
  186.       //  oled_p6x8str(0,4,"Offset :");  oled_printf_int32(6*8,4,Offset,3);
  187.         //oled_p6x8str(0,4,"turn :");  oled_printf_int32(6*8,4,Turn_PID,3);
  188.         
  189.       
  190.         
  191.       //chaoshengboZF();
  192.     }
  193.    
  194.    
  195.         
  196.    
  197. }
復制代碼




Tortoise 1.7z

193.01 KB, 下載次數: 7, 下載積分: 黑幣 -5

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

使用道具 舉報

沙發
ID:1 發表于 2020-11-7 17:00 | 只看該作者
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

板凳
ID:724905 發表于 2020-11-7 17:37 | 只看該作者
小車如圖
回復

使用道具 舉報

地板
ID:724905 發表于 2020-11-7 17:40 | 只看該作者

回復

使用道具 舉報

5#
ID:780742 發表于 2021-3-18 23:35 | 只看該作者
樓主的電磁傳感器是使用的什么傳感器呢?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 自拍亚洲| 日韩理论电影在线观看 | 成人在线免费观看 | 国产精品国产亚洲精品看不卡15 | 欧美久久久久久 | 亚洲有码转帖 | 天天干.com | 在线观看三级av | 中文字幕在线精品 | 日韩视频国产 | 国产无套一区二区三区久久 | av免费成人 | 欧美久久精品一级c片 | 奇色影视| 99久久精品国产一区二区三区 | 玖玖玖在线 | 亚洲免费久久久 | 91视频91 | 国产精品日韩一区 | 久久91| 热re99久久精品国产99热 | 欧美国产一区二区 | 一级片网站视频 | 黑人巨大精品欧美一区二区免费 | 日韩一区二区在线视频 | 国产免费又黄又爽又刺激蜜月al | 亚洲精品久久久久国产 | 久久成人免费观看 | 日韩欧美一区二区三区免费看 | 蜜桃一区二区三区 | 亚洲日本国产 | 日本午夜精品 | 在线视频中文字幕 | 久久久久综合 | 欧美激情国产精品 | 午夜资源| 天天躁日日躁狠狠的躁天龙影院 | 毛片一区二区三区 | 午夜私人影院 | 激情91 | 久久毛片 |