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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 29716|回復: 19
收起左側

51單片機控制尋跡避障小車各種源程序(功能很多)

  [復制鏈接]
ID:378221 發表于 2018-8-20 13:35 | 顯示全部樓層 |閱讀模式
包括電路設計,一些論文還有調試程序

0.png
程序適用單片機
這些程序都可以用ATMEL公司的, AT89C51 C52
                              AT89S51 S52
          可以用STC公司的,   STC89C51
                              STC89C52
請初學的朋友注意,不要再問你這些程序是不是只能用在51上面的,不能用在52上面。


程序調試步驟
1.在裝好車后,一步一步來,先把驅動模塊與單片機控制板連接好。其它不接,下載程序1    -  程序4 看小車前進后退是否正常。如果正常
再往下一步。不要在全部安裝好后,就直接測試下面的一些比較復雜的應用的程序!


關于KEIL打少開頭文件問題

關于KEIL打少開頭文件問題!
很多朋友反應你的程序是不是不能用呀,編譯通不過呀,我們用的KEIL UV3
如果編譯少文件的話請把AT89X51.H    AT89X52.H這個頭文件放到
X:\Keil\C51\INC
注意X為安裝盤,安裝不同位置不同找到對應的就行

單片機源程序如下:
  1.         /****************************************************************************
  2.          簡單尋跡程序:接法
  3.          
  4.      EN1 EN2 PWM輸入端,本程序不使用這二個,直接使插上跳線帽,使能輸出,這樣就能全速運行

  5.          PWM采用轉向端輸出PWM法來使小車,調速運行,原理,驅動端IN1=0  IN2=1 的時候全速前進         ,IN1=0,IN2=0時電機停止
  6.          當給IN2一個,占空比信號時,IN1=0 (IN2=0或IN2=1)之間切換,就是前進與停止之間切換,占空比調節其速度



  7.      P1_0 P1_1 接IN1  IN2    當 P1_0=1,P1_1=0; 時左上電機正轉        左上電機接驅動板子輸出端(藍色端子OUT1 OUT2)
  8.          P1_0 P1_1 接IN1  IN2    當 P1_0=0,P1_1=1; 時左上電機反轉        

  9.          P1_0 P1_1 接IN1  IN2    當 P1_0=0,P1_1=0; 時左上電機停轉        

  10.          P1_2 P1_3 接IN3  IN4    當 P1_2=1,P1_3=0; 時左下電機正轉        左下電機接驅動板子輸出端(藍色端子OUT3 OUT4)
  11.          P1_2 P1_3 接IN3  IN4    當 P1_2=0,P1_3=1; 時左下電機反轉   

  12.          P1_2 P1_3 接IN3  IN4    當 P1_2=0,P1_3=0; 時左下電機停轉        

  13.          P1_4 P1_5 接IN5  IN6    當 P1_4=1,P1_5=0; 時右上電機正轉        右上電機接驅動板子輸出端(藍色端子OUT5 OUT6)
  14.          P1_4 P1_5 接IN5  IN6    當 P1_4=0,P1_5=1; 時右上電機反轉

  15.          P1_4 P1_5 接IN5  IN6    當 P1_4=0,P1_5=0; 時右上電機停轉

  16.          P1_6 P1_7 接IN7  IN8    當 P1_6=1,P1_7=0; 時右下電機正轉        右下電機接驅動板子輸出端(藍色端子OUT7 OUT8)
  17.          P1_6 P1_7 接IN7  IN8    當 P1_6=0,P1_7=1; 時右下電機反轉

  18.          P1_6 P1_7 接IN7  IN8    當 P1_6=0,P1_7=0; 時右下電機停轉
  19.    

  20.      P3_4接四路尋跡模塊接口第一路輸出信號即中控板上面標記為OUT1
  21.      P3_5接四路尋跡模塊接口第二路輸出信號即中控板上面標記為OUT2        
  22.      P3_6接四路尋跡模塊接口第三路輸出信號即中控板上面標記為OUT3
  23.          P3_7接四路尋跡模塊接口第四路輸出信號即中控板上面標記為OUT4
  24.          四路尋跡傳感器有信號(白線)為0  沒有信號(黑線)為1
  25.          四路尋跡傳感器電源+5V GND 取自于單片機板靠近液晶調節對比度的電源輸出接口

  26.                                                                                                                                                                                          
  27.          關于單片機電源:本店驅動模塊內帶LDO穩壓芯片,當電池輸入6V時時候可以輸出穩定的5V
  28.          分別在針腳標+5 與GND 。這個輸出電源可以作為單片機系統的供電電源。
  29.         ****************************************************************************/
  30.         
  31.         
  32.         #include<AT89x51.H>


  33.     #define Left_1_led        P3_4         //P3_4接四路尋跡模塊接口第一路輸出信號即中控板上面標記為OUT1
  34.         #define Left_2_led        P3_5         //P3_5接四路尋跡模塊接口第二路輸出信號即中控板上面標記為OUT2        

  35.     #define Right_1_led       P3_6         //P3_6接四路尋跡模塊接口第三路輸出信號即中控板上面標記為OUT3
  36.         #define Right_2_led       P3_7         //P3_7接四路尋跡模塊接口第四路輸出信號即中控板上面標記為OUT4


  37.         #define Left_moto_pwm          P1_1         //PWM信號端
  38.         #define Left_moto_pwm1          P1_3
  39.         
  40.         #define Right_moto_pwm          P1_5
  41.         #define Right_moto_pwm1          P1_7                                                                 
  42.                                                                  


  43.         #define Left_moto_go      {P1_0=1,P1_1=0,P1_2=1,P1_3=0;}    //左邊兩個電機向前走
  44.         #define Left_moto_back    {P1_0=0,P1_1=1,P1_2=0,P1_3=1;}         //左邊兩個電機向后轉
  45.         #define Left_moto_Stop    {P1_0=0,P1_1=0,P1_2=0,P1_3=0;}    //左邊兩個電機停轉                     
  46.         #define Right_moto_go     {P1_4=1,P1_5=0,P1_6=1,P1_7=0;}        //右邊兩個電機向前走
  47.         #define Right_moto_back   {P1_4=0,P1_5=1,P1_6=0,P1_7=1;}        //右邊兩個電機向前走
  48.         #define Right_moto_Stop   {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}        //右邊兩個電機停轉   

  49.         unsigned char pwm_val_left  =0;//變量定義
  50.         unsigned char push_val_left =0;// 左電機占空比N/10
  51.         unsigned char pwm_val_right =0;
  52.         unsigned char push_val_right=0;// 右電機占空比N/10
  53.         bit Right_moto_stop=1;
  54.         bit Left_moto_stop =1;
  55.         unsigned  int  time=0;
  56.    
  57. /************************************************************************/        
  58. //延時函數        
  59.    void delay(unsigned int k)
  60. {   
  61.      unsigned int x,y;
  62.          for(x=0;x<k;x++)
  63.            for(y=0;y<2000;y++);
  64. }
  65. /************************************************************************/
  66. //前速前進
  67.      void  run(void)
  68. {
  69.      push_val_left=7;         //速度調節變量 0-9。。。9最小,0最大
  70.          push_val_right=7;
  71.          Left_moto_go ;   //左電機往前走
  72.          Right_moto_go ;  //右電機往前走
  73. }

  74. //前速后退
  75.      void  backrun(void)
  76. {
  77.      push_val_left=3;         //速度調節變量 0-9。。。0最小,1最大
  78.          push_val_right=3;
  79.          Left_moto_back ;   //左電機往前走
  80.          Right_moto_back ;  //右電機往前走
  81. }

  82. //左轉
  83.      void  leftrun(void)
  84. {
  85.    
  86.          Left_moto_back ;   //左電機往前走
  87.          Right_moto_go ;  //右電機往前走
  88. }

  89. //右轉
  90.      void  rightrun(void)
  91. {
  92.    
  93.          Left_moto_go ;   //左電機往前走
  94.          Right_moto_back ;  //右電機往前走
  95. }


  96. /************************************************************************/
  97. /*                    PWM調制電機轉速                                   */
  98. /************************************************************************/
  99. /*                    左電機調速                                        */
  100. /*調節push_val_left的值改變電機轉速,占空比            */
  101.                 void pwm_out_left_moto(void)
  102. {  
  103.    if(Left_moto_stop)
  104.    {
  105.     if(pwm_val_left<=push_val_left)
  106.                {
  107.                      Left_moto_pwm=1;
  108.                      Left_moto_pwm1=1;
  109.                    }
  110.         else
  111.                {
  112.                  Left_moto_pwm=0;
  113.                      Left_moto_pwm1=0;
  114.                    }
  115.         if(pwm_val_left>=10)
  116.                pwm_val_left=0;
  117.    }
  118.    else   
  119.           {
  120.            Left_moto_pwm=0;
  121.            Left_moto_pwm1=0;
  122.                   }
  123. }
  124. /******************************************************************/
  125. /*                    右電機調速                                  */  
  126.    void pwm_out_right_moto(void)
  127. {
  128.   if(Right_moto_stop)
  129.    {
  130.     if(pwm_val_right<=push_val_right)
  131.               {
  132.                Right_moto_pwm=1;
  133.                    Right_moto_pwm1=1;
  134.                    }
  135.         else
  136.               {
  137.                    Right_moto_pwm=0;
  138.                    Right_moto_pwm1=0;
  139.                   }
  140.         if(pwm_val_right>=10)
  141.                pwm_val_right=0;
  142.    }
  143.    else   
  144.           {
  145.            Right_moto_pwm=0;
  146.            Right_moto_pwm1=0;
  147.               }
  148. }
  149.       
  150. /***************************************************/
  151. ///*TIMER0中斷服務子函數產生PWM信號*/
  152.          void timer0()interrupt 1   using 2
  153. {
  154.      TH0=0XFc;          //1Ms定時
  155.          TL0=0X18;
  156.          time++;
  157.          pwm_val_left++;
  158.          pwm_val_right++;
  159.          pwm_out_left_moto();
  160.          pwm_out_right_moto();
  161. }        

  162. /*********************************************************************/                 
  163. /*--主函數--*/
  164.         void main(void)
  165. {

  166.         TMOD=0X01;
  167.         TH0= 0XFc;                  //1ms定時
  168.          TL0= 0X18;
  169.         TR0= 1;
  170.         ET0= 1;
  171.         EA = 1;


  172. ……………………

  173. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
5.小車配套程序.rar (1.08 MB, 下載次數: 694)


評分

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

查看全部評分

回復

使用道具 舉報

ID:412449 發表于 2018-11-6 23:31 | 顯示全部樓層
這個資料很好,很全面
回復

使用道具 舉報

ID:411366 發表于 2018-11-12 15:14 | 顯示全部樓層
很好,謝謝
回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:604493 發表于 2019-8-30 00:16 來自觸屏版 | 顯示全部樓層
有沒有主程序
回復

使用道具 舉報

ID:608128 發表于 2019-9-8 19:48 | 顯示全部樓層
功能全面,值得參考
回復

使用道具 舉報

ID:611378 發表于 2019-9-16 09:05 | 顯示全部樓層
我的小車沒有舵機,前四個都ok,往下就都不行了,我的只有超聲波避障和藍牙控制,好氣
回復

使用道具 舉報

ID:242298 發表于 2019-9-22 02:28 | 顯示全部樓層
這個資料很好,很全面
回復

使用道具 舉報

ID:648017 發表于 2019-11-23 19:04 | 顯示全部樓層

這個資料很好
回復

使用道具 舉報

ID:684871 發表于 2020-1-14 13:44 來自觸屏版 | 顯示全部樓層
我的板子上沒有l298n,請問可以調速嗎?
回復

使用道具 舉報

ID:688784 發表于 2020-1-31 17:23 | 顯示全部樓層
下載看不了啊
回復

使用道具 舉報

ID:228376 發表于 2020-2-17 02:20 來自觸屏版 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:676153 發表于 2020-2-24 13:13 | 顯示全部樓層
謝謝樓主分享
回復

使用道具 舉報

ID:693716 發表于 2020-2-27 19:38 | 顯示全部樓層
幣不夠了,無法下載,想問問樓主,通過PWM控制電機,有什么辦法能保證多個電機同步運行嗎?,我自己做的小車,通過PWM調速的,有光電編碼器,返回的脈沖和要求運行的脈沖是一樣的的,但是電機就是不能同步啟動和同步停止,導致小車運行不能走直線。
回復

使用道具 舉報

ID:713570 發表于 2020-3-23 17:02 來自觸屏版 | 顯示全部樓層
群主,下載了,沒有pcb電路圖呀,求電路設計圖
回復

使用道具 舉報

ID:713570 發表于 2020-3-23 17:07 來自觸屏版 | 顯示全部樓層
yrx0203 發表于 2020-1-14 13:44
我的板子上沒有l298n,請問可以調速嗎?

請問有沒有電路圖,下載下來只有程序代碼呀
回復

使用道具 舉報

ID:713570 發表于 2020-3-23 17:12 來自觸屏版 | 顯示全部樓層
群主,為什么我下載下來沒有電路圖呀
回復

使用道具 舉報

18#
無效樓層,該帖已經被刪除
ID:633418 發表于 2020-4-2 16:45 | 顯示全部樓層
資料很好,感謝分享
回復

使用道具 舉報

ID:844202 發表于 2020-11-16 09:22 | 顯示全部樓層
這個資料很好 ,很有利于我學習,謝謝(*°?°)=3
回復

使用道具 舉報

21#
無效樓層,該帖已經被刪除
ID:971056 發表于 2021-10-11 08:20 | 顯示全部樓層
謝謝樓主,正好最近在找這個資料
回復

使用道具 舉報

23#
無效樓層,該帖已經被刪除
ID:986849 發表于 2022-4-13 13:12 | 顯示全部樓層
用for調轉速,電機效率會降低的嘛
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产美女在线观看 | 二区三区视频 | 一本色道精品久久一区二区三区 | 国产99热 | 午夜精品在线观看 | 日韩一级免费看 | 日本一本视频 | 亚洲风情在线观看 | 中文字幕一区二区三区四区 | 香蕉视频黄色 | 久久久久久国产精品免费免费男同 | 男人天堂av网站 | 黑人精品欧美一区二区蜜桃 | 男女又爽又黄视频 | 亚洲人人 | 久久免费福利 | 久久精品国产一区二区电影 | 国产色在线 | 中文字幕精品一区二区三区精品 | 中文字幕人成人 | 成人免费xxxxx在线视频 | av一级| 一区二区三区免费网站 | 成人在线视频免费观看 | 99精品久久| 久久精品视频一区二区三区 | 日本一区二区三区在线观看 | 国内久久精品 | 亚洲精品一区中文字幕 | 亚洲 欧美 日韩在线 | 高清国产午夜精品久久久久久 | japanhd美女动 | 国户精品久久久久久久久久久不卡 | 成人在线免费观看视频 | 精品欧美一区二区三区久久久 | 激情的网站 | 亚洲国产精品一区二区三区 | 精品国产一区二区在线 | 青青草中文字幕 | 久久精品一区二区三区四区 | 亚洲国产精品精华素 |