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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機多功能智能小車源程序

[復制鏈接]
跳轉到指定樓層
樓主
智能小車設計
1.硬件設計
1.1單片機
單片機是循跡避障小車的核心部件,一方面它要接收傳感器送來的路線信息和障礙物信號;另一方面要對兩種信號進行處理控制發光二極管的亮滅,以顯示其信息,同時控制電機進行相應動作。并且查詢模式選擇開關的狀態。在單片機實現的功能中使用查詢方式獲取傳感器返回的信息,即讀取傳感器返回信號,需要單片機有較快的處理速度,使小車對信息的獲取及處理是實時準確的,實現小車的準確循跡與及時避障。因此我們的芯片選用stc15f2k系列芯片。
STC15F2K60S2系列單片機是STC生產的單時鐘/機器周期(1T)的單片機,是高速/高可靠/低功耗/超強抗干擾的新一代8051單片機,采用第八代加密技術,加密性超強,兼容傳統8051,但速度快8-12倍。內部集成高精度R/C時鐘(±0.3%),±1%溫飄(-40℃~+85℃),常溫下溫飄±0.6%(-20℃~+65℃),5MHz~35MHz寬范圍可設置,可徹底省掉外部昂貴的晶振和外部復位電路(內部已集成高可靠復位電路,ISP編程時8級復位門檻電壓可選)。3路CCP/PWM/PCA,8路高速10位A/D轉換(30萬次/秒),內置2K字節大容量SRAM,2組高速異步串行通信端口(UART1/UART2,可在5組管腳之間進行切換,分時復用可作5組串口使用),1組高速同步串行通信端口SPI,針對多串行口通信/電機控制/強干擾場合。
1.2電機驅動
電機驅動是小車最重要的模塊之一,在我們的系統中使用的是L298N驅動芯片,L298N是ST公司生產的一種高電壓、大電流電機驅動芯片。該芯片采用15腳封裝
L298N芯片的主要特點是:
  a、工作電壓高,最高電壓可達46V;
  b、輸出電流大,瞬間峰值電流可達3A,持續工作電流為2A;
c、額定功率25W,內含兩個H橋的高電壓大電流全橋式驅動器可以驅動直流電動機和步進電機。
  d、該芯片可以驅動一臺兩相步進電機或四相步進電機,也可驅動兩臺直流電機。
  e、適合應用于機器人設計及智能小車的設計
   


單片機源程序如下:
  1. #include <stc15.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int    //宏定義

  4.        
  5. uchar zkb_left1,zkb_right1,zkb_left2,zkb_right2,i1,j1,i2,j2; //占空比標志

  6. sbit IN1=P3^5;        //電機控制端口
  7. sbit IN2=P3^6;
  8. sbit IN3=P3^7;
  9. sbit IN4=P1^6;

  10. sbit xj_left=P0^1;           //循跡端口
  11. sbit xj_right=P0^2;         



  12. sbit zkba=P1^0;          //占空比控制端
  13. sbit zkbb=P1^1;
  14. sbit zkbc=P1^2;          //占空比控制端
  15. sbit zkbd=P1^3;

  16. //sbit fm=P2^5;

  17. void delay_ms(uint z)         //延時函數
  18. {
  19.         uchar x,y;
  20.         for(x=z;x>0;x--)
  21.                 for(y=110;y>0;y--);
  22. }

  23. void init()          //初始化函數
  24. {
  25.         TMOD=0x01;
  26.         TH0=(65536-100)/256;
  27.         TL0=(65536-100)%256        ;
  28.         EA=1;
  29.         ET0=1;
  30.         TR0=1;
  31.         zkba=1;
  32.         zkbb=1;
  33.         zkbc=1;
  34.         zkbd=1;
  35. }

  36. void time0() interrupt 1   //中斷服務函數
  37. {
  38.         i1++;j1++;i2++;j2++;                  //進入中斷i,j自加1
  39.         if(i1<zkb_right1)        {zkbb=1;}        //如果i小于設定值,使能端置1,否則置0
  40.         else zkbb=0;
  41.         if(i1==40)        {zkbb=~zkbb;i1=0;}  //如果i加到40;使能端取反,i置0

  42.         if(j1<zkb_left1)        {zkba=1;}
  43.         else zkba=0;
  44.         if(j1==40)        {zkba=~zkba;j1=0;}
  45.        
  46.         if(i2<zkb_right2)        {zkbd=1;}        //如果i小于設定值,使能端置1,否則置0
  47.         else zkbd=0;
  48.         if(i2==40)        {zkbd=~zkbd;i2=0;}  //如果i加到40;使能端取反,i置0

  49.         if(j2<zkb_left2)        {zkbc=1;}
  50.         else zkbc=0;
  51.         if(j2==40)        {zkbc=~zkbc;j2=0;}       
  52.        
  53.        
  54.         TH0=(65536-100)/256;          //定時器0重裝初值
  55.         TL0=(65536-100)%256;
  56. }

  57. void go()         //前進函數
  58. {
  59.         zkb_left1=8;
  60.         zkb_right1=8;
  61.         zkb_left2=8;
  62.         zkb_right2=8;
  63.        
  64.         IN1=1;        IN2=0;                  
  65.         IN3=1;        IN4=0;
  66. }
  67. void back()         //后退函數
  68. {
  69.         zkb_left1=8;
  70.         zkb_right1=8;
  71.         zkb_left2=8;
  72.         zkb_right2=8;
  73.        
  74.         IN1=0;        IN2=1;
  75.         IN3=0;        IN4=1;
  76. }
  77. void left()                //左轉彎函數,
  78. {
  79.         zkb_left1=14;   //設置一個速度
  80.         zkb_right1=14;
  81.         zkb_left2=14;   
  82.         zkb_right2=14;
  83.        
  84.         IN1=0;        IN2=1;        //
  85.         IN3=1;        IN4=0;
  86. }
  87. void right()                //右轉彎函數
  88. {
  89.         zkb_left1=14;                //設置一個速度
  90.         zkb_right1=14;
  91.         zkb_left2=14;               
  92.         zkb_right2=14;
  93.        
  94.         IN1=1;        IN2=0;         //
  95.         IN3=0;        IN4=1;
  96. }
  97. void stop()                //停止函數
  98. {
  99.         IN1=0;        IN2=0;
  100.         IN3=0;        IN4=0;       
  101. }

  102. /*void bee()         //蜂鳴器發聲函數
  103. {
  104.          fm=1;
  105.          delay_ms(50);
  106.          fm=0;
  107.          delay_ms(50);
  108. }*/

  109. void xunji()         //循跡函數
  110. {
  111.         uchar flag;           //定義一個標志位,用于狀態判斷
  112.         if(xj_left==0  & xj_right==0)         //未檢測到黑線
  113.         {flag=0;}
  114.          else if(xj_left==1  & xj_right==0)        //左邊檢測到黑線
  115.         {flag=1;}
  116.          else if(xj_left==0& xj_right==1)        //右邊檢測到黑線
  117.         {flag=2;}
  118.          else if(xj_left==1  & xj_right==1)        //全部檢測到黑線
  119.         {flag=3;}
  120.                 else flag=4;   //其他情況標志位置0
  121.         switch (flag)
  122.         {
  123.                 case 0: stop(); break;        //情況0,停止
  124.                 case 1: left(); break;        //情況1,左轉
  125.                 case 2: right(); break;        //情況2,右轉
  126.                 case 3: go(); break;        //情況3,前進
  127.                 case 4: stop(); break;        //情況4,停止
  128.                 default: stop(); break;        //其他情況,停止
  129.         }
  130. }

  131. void main()
  132. {
  133.         init();
  134.         delay_ms(1);
  135.         while(1)
  136.         {
  137.                 xunji();
  138.         }
  139. }
復制代碼

所有資料51hei提供下載:
智能小車.rar (96.38 KB, 下載次數: 58)





評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:813537 發表于 2021-4-28 21:25 | 只看該作者
很不錯的資料學習了,51智能小車代碼
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区视频 | 一级毛片在线播放 | 欧美激情在线精品一区二区三区 | www.色婷婷 | 亚洲一区二区精品视频在线观看 | 九九在线视频 | 色综合视频 | 天天干视频 | 在线视频一区二区 | 日本a级大片| 国产目拍亚洲精品99久久精品 | 久久精品久久精品久久精品 | 精品日韩 | 亚洲精品性视频 | 国产福利在线播放麻豆 | 国产日韩欧美在线观看 | 欧美午夜视频 | 久久一区二区三区四区 | 玖玖综合网 | 国产成人综合在线 | 理论片免费在线观看 | 国产一级毛片视频 | 亚洲人成在线播放 | 国产精品综合 | 亚洲欧美在线观看 | 欧美高清视频一区 | 黄色毛片在线观看 | 国产精品一区久久久 | 91视频免费在观看 | 国产精品久久久久久久久久久久 | 91av视频在线免费观看 | 久久久人成影片一区二区三区 | 午夜黄色影院 | 欧美日韩久久久 | 久久精品免费 | 亚洲欧美在线视频 | 久久综合一区 | 一区二区三区四区国产 | 国产精品区二区三区日本 | 一级电影免费看 | 中文天堂在线一区 |