wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標題: 51單片機避障小車制作資料與問題解決(附源碼) [打印本頁]

作者: 田埂上的夢27    時間: 2017-12-5 10:30
標題: 51單片機避障小車制作資料與問題解決(附源碼)
避障小車程序?qū)崿F(xiàn)功能:
1.藍牙控制,重力感應,通過串口通訊實現(xiàn)手機和藍牙之間的連接控制用到hc-06模塊
2.循跡壁障,遇見障礙能夠及時躲避,通過舵機帶動hc-sr04超聲波模塊的左右轉(zhuǎn)動來測量前左右的障礙
3.跟蹤,可以追蹤一個物體,物進車進,物退車退
4.走黑線,不同顏色的物體對光的反射不同
4.pwm速度快慢調(diào)速,通過pwm調(diào)節(jié)l298n產(chǎn)生脈寬調(diào)制
5.開燈,通過手機控制單片機的io口輸出高低電頻實現(xiàn)
6.喇叭,高低電頻產(chǎn)生震蕩
********************************************************************************/
/********************************************************************************
避障小車出現(xiàn)的問題:
1.主要是定時器優(yōu)先級別問題,解決辦法調(diào)節(jié)定時器優(yōu)先級別,第一次掌握了定時器二的用法,這是52特有的
2.切記,定時器0不能和定時器1互換,因為定時器1優(yōu)先級沒有0高,互換會導致超聲波測距模塊接受不到數(shù)據(jù)
3.出現(xiàn)模塊從諜,的問題,解決辦法用標記把可能出問題模塊一個一個標記;最后發(fā)現(xiàn)原來是延時函數(shù)名字相同
4.字符串不能直接比較需要用if(strcmp(字符串,字符串2)==0)如果一樣就返回一個0,如果一比二大就返回
一個正數(shù)否則返回負數(shù)記住需要包含#include<string.h>頭文件
5.舵機不能兩個地方同時出現(xiàn)歸中,剛開始以為是定時器優(yōu)先級別的問題,打開定時器1串口通訊就會制動打開
所以我在串口函數(shù)里設了點亮led燈來測試串口中斷是否自己打開,然后我先是注釋ET1發(fā)現(xiàn)程序正常,
后面又注釋掉中斷3發(fā)現(xiàn)程序正常,說明不是定時器設置問題, 注釋掉中斷三里的內(nèi)容發(fā)現(xiàn)也正常說明不是中斷引起的
然后注釋掉舵機pwm調(diào)速,發(fā)現(xiàn)也正常說明不是小車檔位pwm的問題最后注釋掉小車快慢pwm調(diào)速,發(fā)現(xiàn)舵機函數(shù)有問題
然后注釋掉舵機pwm調(diào)速里的eles發(fā)現(xiàn)不正常,之后嘗試了改pwm輸出口的名字以及io口發(fā)現(xiàn)都沒用,最后拔掉舵機信號線
發(fā)現(xiàn)有用,說明舵機初始化有問題,最后把初始化里的歸中14,該成0,發(fā)現(xiàn)能正常運作,最后把初始化該成14,注釋掉
超聲波次主函數(shù)的歸中發(fā)現(xiàn)能正常運作,說明兩個歸中只能要一個。
結(jié)論;一點要細致認真,勤于思考,碰到問題要迎難而上因為編程本來就是個改錯的過程別碰到問題就想著
問別人,因為自己的程序只有自己最了解,寫代碼一定要規(guī)范,免得到時后亂起來連自己都看不懂。
11月13日,吳才成

下面是制作的避障小車的實物圖:


51單片機避障小車源程序如下:
  1. #include<AT89X52.H>        
  2. #include<string.h>                        //字符串比較頭文件
  3. #include <intrins.h>                                //nop的頭文件
  4. #define Left_moto_go {P3_1=1,P3_2=0,P3_3=1,P3_4=0;}         //左邊兩個電機向前走
  5. #define Left_moto_back {P3_1=0,P3_2=1,P3_3=0,P3_4=1;}         //左邊兩個電機向后轉(zhuǎn)
  6. #define Left_moto_Stop {P3_1=0,P3_2=0,P3_3=0,P3_4=0;}         //左邊兩個電機停轉(zhuǎn)
  7. #define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0  ;}         //右邊兩個電機向前走
  8. #define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;}         //右邊兩個電機向前走
  9. #define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}         //右邊兩個電機停轉(zhuǎn) */
  10. /***************************************************************/
  11. //藍牙的設置
  12. /*****************************************************************/
  13. void zxddc ();   //轉(zhuǎn)向燈 后退 剎車指示燈
  14. void zxdzz ();         //轉(zhuǎn)向燈左轉(zhuǎn)
  15. void zxdyz ();          //轉(zhuǎn)向燈右轉(zhuǎn)
  16. void zxdgd ();         //轉(zhuǎn)向燈關(guān)燈
  17. sbit LEDHZ = P3^5;                                        //轉(zhuǎn)向燈左邊
  18. sbit LEDHY = P3^6;                                        //轉(zhuǎn)向燈右邊
  19. sbit LED1 = P1^0 ;                                        //左方向燈
  20. sbit LED2 = P1^1 ;                                        //右方向燈
  21. sbit  fmq = P1^2 ;                                        //喇叭,蜂鳴器
  22. int pwmjishu = 0 ;                                        //pwm調(diào)速
  23. int pushjishu = 0 ;                                    //pwm調(diào)速
  24. sbit ena1 = P2^7;
  25. sbit enb1 = P2^6;                                          //l298npwm調(diào)速引腳
  26. sbit ena2 = P2^5;
  27. sbit enb2 =        P2^4;
  28. unsigned char data table[4]={ 0,0,0,};//用來裝串口發(fā)送過來的字符串,不包括0
  29. /***************************************************************/
  30. //超聲波的設置
  31. /*********************************************************/
  32. #define CSBPWM P2_2                         //接舵機信號端輸入PWM信號調(diào)節(jié)速度
  33. #define ECHO P2_0                                 //超聲波接口定義
  34. #define TRIG P2_1                                 //超聲波接口定義
  35. unsigned char disdat[4]={ 0,0,0,0,};
  36. unsigned char pwm_val_left = 0;//變量定義
  37. unsigned char push_val_left =0;//14;//舵機歸中,產(chǎn)生約,1.5MS 信號
  38. unsigned long S=0;
  39. unsigned long S1=0;
  40. unsigned long S2=0;
  41. unsigned long S3=0;
  42. unsigned long S4=0;
  43. unsigned int time=0;                         //時間變量
  44. unsigned int timer=0;                         //延時基準變量
  45. unsigned char timer1=0;                 //掃描時間變量


  46. void qianj(void)                //前進
  47. {
  48.         Left_moto_go ;                         //左電機往前走
  49.         Right_moto_go ;                         //右電機往前走
  50. }
  51. /************************************************************************/
  52. //全速后退
  53. void hout(void)                                 //后退
  54. {
  55.         Left_moto_back ;                 //左電機往前走
  56.         Right_moto_back ;                 //右電機往前走
  57.         zxddc ();                                //后退指示燈
  58. }
  59. /*********************        ***************************************************/
  60. //左轉(zhuǎn)                                                  //左轉(zhuǎn)
  61. void zuoz(void)
  62. {
  63.         Left_moto_back ;                 //左電機往前走
  64.         Right_moto_go ;                 //右電機往前走
  65.         zxdzz ();                                //左轉(zhuǎn)指示燈
  66. }
  67. /************************************************************************/
  68. //右轉(zhuǎn)
  69. void youz(void)                                  //右轉(zhuǎn)
  70. {
  71.         Left_moto_go ;                         //左電機往前走
  72.         Right_moto_back ;                 //右電機往前走
  73.         zxdyz ();                                //右轉(zhuǎn)指示燈
  74. }
  75. /************************************************************************/
  76. //STOP
  77. void tingz(void)                           //停止
  78. {                                                  
  79.         Left_moto_Stop ;                 //左電機停走
  80.         Right_moto_Stop ;                 //右電機停走
  81.         zxdgd ();                                //車子停止指示燈關(guān)閉
  82. }
  83. /************************************************************************/
  84. /************************************************************************/
  85.   void delay1(unsigned int k) //延時函數(shù)
  86. {
  87.         unsigned int x,y;
  88.         for(x=0;x<k;x++)
  89.         for(y=0;y<2000;y++);
  90. }
  91. /******************************//*******************************************/
  92.          void delay_50us(unsigned int z)        //延時函數(shù)
  93. {
  94.         unsigned int x,y;
  95.         
  96.         for(x=z;x>0;x--)
  97.                 for(y=110;y>0;y--);
  98.         
  99. }        

  100. /*************************************************/

  101. void StartModule() //啟動測距信號
  102. {
  103.         TRIG=1; //給10us以上的高電頻
  104.         _nop_(); //_nop_()一個機器周期,1us
  105.         _nop_();
  106.         _nop_();
  107.         _nop_();
  108.         _nop_();
  109.         _nop_();
  110.         _nop_();
  111.         _nop_();
  112.         _nop_();
  113.         _nop_();
  114.         _nop_();
  115.         _nop_();
  116.         _nop_();
  117.         _nop_();
  118.         _nop_();
  119.         _nop_();
  120.         _nop_();
  121.         _nop_();
  122.         _nop_();
  123.         _nop_();
  124.         _nop_();
  125.         TRIG=0;
  126. }
  127. /***************************************************/
  128. /**************************************************/
  129. void Conut(void) //計算距離
  130. {
  131.                 while(!ECHO); //當RX為零時等待
  132.                 TR0=1; //開啟計數(shù)
  133.                 while(ECHO); //當RX為1計數(shù)并等待
  134.                 TR0=0; //關(guān)閉計數(shù)
  135.                 time=TH0*256+TL0; //讀取脈寬長度
  136.                 TH0=0;
  137.                 TL0=0;
  138.                 S=(time*1.7)/100; //算出來是CM

  139. }


  140. void COMM( void )         //方向計算
  141. {


  142.         push_val_left=5; //舵機向左轉(zhuǎn)90度
  143.         timer=0;
  144.         while(timer<=4000); //延時400MS讓舵機轉(zhuǎn)到其位置
  145.         StartModule(); //啟動超聲波測距
  146.         Conut(); //計算距離
  147.         S2=S;
  148.         
  149.         push_val_left=23; //舵機向右轉(zhuǎn)90度
  150.         timer=0;
  151.         while(timer<=4000); //延時400MS讓舵機轉(zhuǎn)到其位置
  152.         StartModule(); //啟動超聲波測距
  153.         Conut(); //計算距離
  154.         S4=S;
  155.         push_val_left=14; //舵機歸中
  156.         timer=0;
  157.         while(timer<=4000); //延時400MS讓舵機轉(zhuǎn)到其位置
  158.         StartModule(); //啟動超聲波測距
  159.         Conut(); //計算距離
  160.         S1=S;
  161.         if((S2<20)||(S4<20)) //只要左右各有距離小于20CM小車后退
  162.         {
  163.                 hout(); //后退
  164.                 timer=0;
  165.                 while(timer<=4000);
  166.         }

  167.         if(S2>S4)
  168.         {
  169.                 youz(); //車的左邊比車的右邊距離小 右轉(zhuǎn)
  170.                 timer=0;
  171.                 while(timer<=4000);
  172.         }
  173.         else
  174.         {
  175.                         zuoz(); //車的左邊比車的右邊距離大 左轉(zhuǎn)
  176.                         timer=0;
  177.                 while(timer<=4000);
  178.         }
  179. }

  180. /**********************************************************************************
  181. 舵機pwm調(diào)速,和小車換擋調(diào)速共用一個定時器
  182. ***********************************************************************************/
  183. void pwm_Servomoto()
  184. {
  185.         
  186.         if(pwm_val_left<=push_val_left)
  187.         CSBPWM=1;
  188.         else
  189.         CSBPWM=0;
  190.         if(pwm_val_left>=200)
  191.         pwm_val_left=0;         

  192. }


  193. /************************************************************/
  194. void Delay(unsigned int i)
  195. {
  196.         char j;
  197.         for(i; i > 0; i--)
  198.                 for(j = 200; j > 0; j--);
  199. }
  200. /*****************************************************************/
  201. void fangx()         //方向函數(shù)
  202. {
  203.                 if(strcmp(table,"ONA")==0)      qianj();//前進

  204.                 else if(strcmp(table,"ONB")==0) hout();//后退

  205.                 else if(strcmp(table,"ONC")==0)  zuoz();//左轉(zhuǎn)
  206.                
  207.                 else if(strcmp(table,"OND")==0)  youz ();//右轉(zhuǎn)

  208.                 else tingz();//停止
  209.                                        

  210.         //         if((a[0]=='O')&&(a[1]='N')&&(a[2]=='A')&&(a[3]==0)) qianj();
  211.                 /*if(a=="ONA")qianj();//前進 總結(jié)字符串不能用==比較需要調(diào)用內(nèi)部庫函數(shù)

  212.                 else if(a=="ONB") hout();//后退

  213.                 else if(a=="ONC") zuoz();//左轉(zhuǎn)
  214.                
  215.                 else if(a=="OND") youz();//右轉(zhuǎn)
  216.    
  217.                 else tingz();//停止        */        
  218. }               
  219. /*****************************************************************************/
  220. void dangwei()           //檔位函數(shù)
  221. {
  222.         if (strcmp(table,"ON1") ==0 )
  223.                 pushjishu=0;
  224.         if (strcmp(table,"ON2") ==0 )                         //判斷是否按下按鍵
  225.                 {
  226.                         //pushjishu=pushjishu+10;
  227.                         pushjishu+=10;                                        //x+=y;相當與x=x+y;這樣使程序更精煉
  228.                   while (strcmp(table,"ON2") ==0 ); //當按鍵按下的時候進入while循環(huán)執(zhí)行分號空語句,
  229.                                                                                           //當按鍵是釋放跳出while循環(huán),很好的使按鍵按下一次執(zhí)行一次,不會跑飛
  230.                 }
  231.         if (strcmp(table,"ON3") ==0 )
  232.                 {
  233.                         //pushjishu=pushjishu-10;
  234.                    pushjishu-=10;
  235.                         while (strcmp(table,"ON3") ==0 );
  236.                 }
  237.   /*         if (strcmp(table,"ON4") ==0 )
  238.                 pushjishu=105;
  239.         /*if(strcmp(table,"ON5")==0)
  240.                 pushjishu=160;
  241.         if(strcmp(table,"ON6")==0)
  242.                 pushjishu=200;        */
  243. }
  244. /**************************************************************************/
  245. void zxddc ()   //轉(zhuǎn)向燈 后退 剎車指示燈 。函數(shù)需要在前面聲明,因為電機函數(shù)定義在此函數(shù)前面,在電機函數(shù)調(diào)用此函數(shù)會出現(xiàn)錯誤
  246. {
  247.         LEDHZ = 0;
  248.         LEDHY = 0;
  249. }
  250. void zxdzz ()         //轉(zhuǎn)向燈左轉(zhuǎn)
  251. {
  252.         LEDHZ = 0;
  253.         LEDHY = 1;
  254. }
  255. void zxdyz ()          //轉(zhuǎn)向燈右轉(zhuǎn)
  256. {
  257.         LEDHZ = 1;
  258.         LEDHY = 0;
  259. }
  260. void zxdgd ()         //轉(zhuǎn)向燈關(guān)燈
  261. {

  262.         LEDHZ = 1;
  263.         LEDHY = 1;
  264. }
  265. /***************************************************************************/
  266. void kaideng()        //開前大燈燈函數(shù)
  267. {                                                                                
  268.         if ( strcmp(table,"ON7") == 0 )        //開燈
  269.     {
  270.                 LED1=0;
  271.                 LED2=0;
  272.         }
  273.          if ( strcmp(table,"ON8") == 0 )//關(guān)燈
  274.     {
  275.                 LED1=1;
  276.                 LED2=1;
  277.         }
  278. }
  279. /*************************************************************************/
  280. void laba()
  281. {
  282.         if(strcmp(table,"ON9")==0)
  283.         {
  284.                 fmq = 1;           //給高電平
  285.                 Delay(5);           //延時
  286.                 fmq = 0;           //給低電平
  287.                 Delay(5);        
  288.         }
  289. }
  290. /**********************************************************/
  291. void pwm(void)//小車快慢pwm調(diào)速,是通過l298n完成的
  292. {

  293. if(pwmjishu<=pushjishu)        
  294.         {
  295.                 ena1 = 0;
  296.                 enb1 = 0;
  297.                 ena2 = 0;
  298.                 enb2 = 0;    //l298n,實現(xiàn)pwm調(diào)速,當給高電頻的時候io引腳有效,給低電平時無效
  299.         }        
  300.         else
  301.         {
  302.                 ena1 = 1 ;
  303.                 enb1 = 1 ;
  304.                 ena2 = 1 ;
  305.                 enb2 = 1 ;     
  306.         }

  307. if(pwmjishu >= 200)
  308.         pwmjishu = 0;

  309. }
  310. /*******************************************************************************
  311. 超聲波魔術(shù)手程序
  312. *******************************************************************************/
  313. void moss ()
  314. {
  315.         Delay (100);
  316.         push_val_left=14; //舵機歸中
  317.         while(1) /*無限循環(huán)*/
  318.         {         
  319.             dangwei();//檔位        
  320.                 if(strcmp(table,"ON6")==0)        //判斷按鍵 是否按下如果按下就退出csbmian函數(shù),return結(jié)束函數(shù)
  321.                         return;        
  322.                 if(timer>=1000) //100MS檢測啟動檢測一次
  323.                 {
  324.                         timer=0;
  325.                         StartModule(); //啟動檢測
  326.                         Conut(); //計算距離
  327.                         if(S<10) //距離小于20CM
  328.                                 hout(); //小車停止
  329.                         if(20>S&&S>10) //距離小于20CM
  330.                                 tingz();
  331.                         if(30>S&&S>20) //距離大于,30CM往前走
  332.                                 qianj();
  333.                         else
  334.                          if(S>35)
  335.                                 tingz();
  336.                 }        
  337.         }
  338. }
  339. /****************************************
  340. 超聲波壁障主函數(shù)
  341. /***************************************************************/

  342. /*        delay_50us(500);
  343.         TMOD=0X11;
  344.         TH1=(65536-100)/256; //100US定時
  345.         TL1=(65536-100)%256;
  346.         TH0=0;
  347.         TL0=0;
  348.         TR1= 1;
  349.         ET1= 1;
  350.         ET0= 1;
  351.         EA = 1; */        
  352. void csbmian ()
  353. {

  354.         timer=0;
  355.     push_val_left=14; /*舵機歸中,在初始化的時候歸要不在這歸中,如果兩個地方貴在程序就會出現(xiàn)毛病                                                兩個地方
  356.                                                 同時歸中串口中斷無緣無辜的會打開,導致車子不能串口通訊, */
  357.         delay1(50);
  358.         while(1) //無限循環(huán)//
  359.         {         
  360.                    dangwei();//檔位               
  361.                    kaideng();  //開燈函數(shù)
  362.                    laba();         //鳴笛函數(shù)
  363.          
  364.                     if(strcmp(table,"ON6")==0)        //判斷按鍵 是否按下如果按下就退出csbmian函數(shù),return結(jié)束函數(shù)
  365.                                         return;
  366.         
  367.                         if(timer>=1000) //100MS檢測啟動檢測一次
  368.                         {
  369.                                 timer=0;
  370.                                 StartModule(); //啟動檢測
  371.                                 Conut(); //計算距離
  372.                                 if(S<45) //距離小于20CM
  373.                                 {
  374.                                         hout();
  375.                                         hout();         //剎車
  376.                                         hout();
  377.                                         tingz(); //小車停止
  378.                                         COMM(); //方向函數(shù)
  379.                                 }
  380.                                 else
  381.                                         if(S>45) //距離大于,30CM往前走
  382.                                         qianj();
  383.                         }
  384.         }
  385. }
  386.    
  387. /**********************************************************/
  388. void main()
  389. {         
  390.           T2CON=0x30; //設置定時器二為串口波特率模式
  391.           SCON=0x50;  //設置串口方式為1
  392.           RCAP2H=0xff;
  393.           RCAP2L=0xdc; //定時器二自動裝初值16位
  394.           TH2=0xff;
  395.           TL2=0xdc;                //定時器二
  396.           TR2=1;                    //啟動定時器2
  397.           ES=1;                           //打開串口中斷
  398.           PS=1;                           //串口優(yōu)先級設置為最高

  399.           TMOD=0X11;         //打開定時器0和定時器1,工作做方式一
  400.           TH1=(65536-100)/256; //100US定時
  401.           TL1=(65536-100)%256;
  402.           ET1=1 ;                         //打開定時器一中斷
  403.           TR1=1 ;                         //啟動定時器一
  404.           TH0=0;                   //定時器0初始化
  405.           TL0=0;                   //切記定時器0不能和定時器一互換,因為定時器0優(yōu)先級比1高,如果換了以后就不能接收超聲波了
  406.       ET0=1;                 //打開定時器0中斷
  407.           EA=1;                          //打開總中斷        
  408.                               
  409.                            

  410.                                     
  411. /*  T2CON=0x30;
  412.           SCON=0x50;  //設置串口方式為1
  413.           RCAP2H=0xff;
  414.           RCAP2L=0xdc;
  415.           TH2=0xff;
  416.           TL2=0xdc;
  417.           TMOD=0X11;         //打開定時器0和定時器1,工作做方式一
  418.           TH1=(65536-100)/256; //100US定時
  419.           TL1=(65536-100)%256;
  420.           TH0=0;                   //定時器0初始化
  421.           TL0=0;
  422.           ET1=1 ;
  423.           ET0= 1;                 //打開定時器0中斷
  424.           TR2=1;
  425.           ES=1;
  426.           PS=1;        
  427.           EA=1;

  428. /*******************************************/
  429. /*        TMOD=0X11;
  430.         TH1=(65536-100)/256; //100US定時
  431.         TL1=(65536-100)%256;
  432.         TH0=0;
  433.         TL0=0;
  434.         TR1= 1;
  435.         ET1= 1;
  436.         ET0= 1;
  437.           EA=1;                                //總開關(guān)
  438. /******************************************/
  439.    //單獨藍牙的串口設置
  440. /******************************************/
  441.         /*TMOD=0x21;//定時器1工作方式2,8位自動重裝  
  442.         TH0=(65536-100)/256; //100US定時
  443.         TL0=(65536-100)%256;
  444.     TH1=0xFd; //11.0592M晶振,9600波特率 
  445.     TL1=0xFd;
  446.         PS=1;
  447.         ET0=1 ;
  448.         TR0=1 ;
  449.         TR1=1 ;//打開定時器1
  450.     SM0=0 ;//串口方式1 SM0 SM1 01 允許接收  
  451.     SM1=1 ;//SMOD=0 16分頻
  452.     REN=1 ;
  453.         ES=1 ;//打開串口中斷   
  454.     EA=1;//開總中斷  */
  455.     //以上跟串口通信初始化有關(guān)

  456.         while(1)
  457.         {
  458.           dangwei();//檔位               
  459.           fangx();    //方向函數(shù)
  460.           kaideng();  //開燈函數(shù)
  461.           laba();         //鳴笛函數(shù)

  462.           if(strcmp(table,"ON5")==0)//判斷是否按下第五個按鍵,按下則啟動超聲波模式
  463.            csbmian ();          //超聲波模塊的主函數(shù)
  464.           if(strcmp(table,"ON4")==0)//判斷是否按下第四個按鍵,按下則啟動超聲波魔術(shù)手
  465.            moss ();          //超聲波魔術(shù)手模塊的主函數(shù)
  466.          }
  467. }
  468. /***************************************************/
  469. ///*TIMER1中斷服務子函數(shù)產(chǎn)生PWM信號*/
  470. void pwmdins()interrupt 3           //定時器一,優(yōu)先級別最低
  471. {

  472.         TH1=(65536-100)/256;                                         //100US定時
  473.         TL1=(65536-100)%256;  
  474.         pwmjishu++;                                                           // 小車快慢的pwm調(diào)速
  475.         pwm();                                                                    //小車快慢的pwm函數(shù)
  476.         timer++;                                                 //超聲波的基準 定時器100US為準。在這個基礎上延時
  477.         pwm_val_left++;                                         //舵機的pwm調(diào)速基準時間
  478.         pwm_Servomoto();                                 //舵機pwm調(diào)速函數(shù)

  479. }
  480. /***************************************************/
  481. ///*TIMER0中斷服務子函數(shù)產(chǎn)生PWM信號*/
  482. void timer0()interrupt 1                 //因為串口優(yōu)先級別變最高所以定時器0位第二高
  483. {

  484. }
  485. /***************************************************/

  486.    void serial() interrupt 4      //中斷子函數(shù)          //ps=1;使之優(yōu)先級最高
  487. {
  488.         int i;
  489.         ES=0;                                   //關(guān)閉串口中斷,其實不關(guān)也沒影響
  490.         table[i++]=SBUF;           //數(shù)組下標加一,把字符串變成字符字單個取出存入數(shù)組,使之成為一元素
  491.         if(i==3)                           //字符串有三個字符,不包括標志位0
  492.         i=0;                                  //使之清零以便下次從收
  493.         RI=0;                                  //串口標志位硬件制一,手動清零
  494.         ES=1;                                  //打開串口                        
  495. …………
  496. …………
  497. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

原理圖: 無
仿真: 無
代碼:
寶馬自動駕駛.zip (53.9 KB, 下載次數(shù): 509)



作者: admin    時間: 2017-12-5 14:20
好資料,51黑有你更精彩!!!
作者: xuwei517    時間: 2018-5-1 22:10
謝謝樓主    資料真好
作者: 會飛的魚cc    時間: 2018-5-5 12:12
手動點贊
作者: 天祈源    時間: 2018-5-8 16:59
謝謝樓主,提供資料,解決了急需問題
作者: LYZ321520    時間: 2018-7-20 17:11
能不能發(fā)下電路圖

作者: 來啊,快活啊    時間: 2018-7-21 15:26
資料挺不錯的,感謝
作者: stone1998    時間: 2018-9-4 22:36
厲害哦

作者: youwei    時間: 2018-9-6 01:50
下載了沒搞明白怎么弄
作者: 127568566    時間: 2018-9-19 20:09
有沒有制作小車的材料清單
作者: QQ674542612    時間: 2018-10-9 13:22
謝謝樓主好東西
作者: 9998555    時間: 2018-10-15 09:36
能不能發(fā)下電路圖
作者: xiou    時間: 2018-10-17 11:31
我從論壇下載的資料為啥打不開啊
keil4 keil3都打不開啊


作者: xiou    時間: 2018-10-17 14:26
已解決 謝謝 文件夾名字的問題

作者: tianfuxiang21    時間: 2018-10-23 12:54
不錯 學習學習
作者: 風吹亂夏天    時間: 2018-11-20 19:41
感謝樓主,來學習了
作者: 指法芬芳51    時間: 2018-11-27 21:34
資料真好
作者: 機器人007    時間: 2018-11-30 20:31
人才,好資料,謝謝樓主分享

作者: 機器人007    時間: 2018-11-30 20:49
好資料

作者: pingwen1011    時間: 2018-12-10 09:06
贊一個
作者: blingbling1    時間: 2019-3-2 17:07
可以的對我?guī)椭艽?hr noshade size="2" width="100%" color="#808080"> 作者: metoo521    時間: 2019-3-16 18:54

資料真好
作者: hu257758    時間: 2019-3-21 23:26
不錯,學習學習
作者: wzx999sos999    時間: 2019-4-13 19:44
感謝樓主分享
作者: ghdok    時間: 2019-4-16 15:49
剛好在調(diào)試小車  謝謝了
作者: 張濤boy    時間: 2019-4-29 07:45
有沒有制作小車的材料清單
作者: yaomeier    時間: 2019-4-29 16:18
感謝樓主分享,慢慢學習中
作者: 張濤boy    時間: 2019-5-2 09:04
下載了沒搞明白怎么弄
作者: 1kjweh    時間: 2019-5-18 08:30
這個可以呀
作者: jacky.chow    時間: 2020-3-9 17:26
沒有原理圖呢

作者: hahahe.    時間: 2020-3-14 13:42
求元件庫和封裝庫
作者: 1145421628    時間: 2020-3-14 15:29
樓主,我最近也在玩這個,遇到點問題。
程序沒有有關(guān)超聲波的內(nèi)容,只是一個直走的命令,但HC-SR04超聲波模塊連在單片機上,小車不走。
拔掉echo端口,小車直走。
檢查超聲波模塊,超聲波模塊完好,收發(fā)端未接反。
這什么原因啊?求解答。
網(wǎng)上實在是找不到資料,都卡半個月了,以上問題你也遇到過嗎?
作者: 葉之音    時間: 2020-3-20 15:17
謝謝大神~
作者: 伊小蝦米    時間: 2020-3-23 16:53
樓主有沒有電路圖
作者: 伊小蝦米    時間: 2020-3-23 16:54
ghdok 發(fā)表于 2019-4-16 15:49
剛好在調(diào)試小車  謝謝了

有沒有電路圖,求電路圖
作者: 葉之音    時間: 2020-4-25 22:31
感謝樓主分享,謝謝大師
作者: qwq1    時間: 2020-4-30 11:03
謝謝樓主分享

作者: 小燙。    時間: 2020-6-2 15:06
手動點贊
作者: ahjol9898    時間: 2024-1-13 01:51
感謝樓主,正好在看51避障
作者: l616    時間: 2024-1-20 11:52
非常感謝!希望能有更全面的資料




歡迎光臨 (http://m.izizhuan.cn/bbs/) Powered by Discuz! X3.1
国产三级精品视频| 亚洲自拍欧美另类| 日韩精品专区在线| 91国偷自产一区二区开放时间| 国产精品久久久久影视| 久久欧美一区二区| 26uuu精品一区二区在线观看| 高清不卡在线观看| 丁香婷婷综合色啪| 99精品视频一区二区三区| 岛国精品在线观看| av激情综合网| 久久女同互慰一区二区三区| 久久日韩精品一区二区五区| 91性感美女视频| 久久―日本道色综合久久| 久久嫩草精品久久久精品| 久久久www免费人成精品| 国产午夜精品久久| 国产精品色婷婷久久58| 亚洲视频香蕉人妖| 亚洲二区在线观看| 一本久久综合亚洲鲁鲁五月天| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 一级全黄少妇性色生活片| 超碰中文字幕在线| 成人免费在线网| 波多野结衣 作品| www污在线观看| 欧美精品色婷婷五月综合| 日本在线播放一区二区| 你懂得在线视频| 日本黄色小视频在线观看| 特级片在线观看| 久草视频在线免费| 成人精品在线播放| 欧美另类69xxx| 一二三四日本在线| 男人的天堂网av| 国产小视频免费在线网址| 成人片在线看| 成人影院在线免费观看| 任你弄精品视频免费观看| 无码一区二区三区视频| 久久字幕精品一区| bt欧美亚洲午夜电影天堂| 亚洲色图欧美激情| 欧美日韩综合色| 亚洲欧美999| 91av视频在线播放| 精品视频第一区| 人妻夜夜添夜夜无码av| 午夜免费福利视频在线观看| 男人天堂av电影| 中国一级免费毛片| 亚洲 另类 春色 国产| 成年人免费网站在线观看| 日本一区高清| 免费电影日韩网站| 亚洲最好看的视频| 美女诱惑一区| 国产日韩精品久久久| 一本高清dvd不卡在线观看| 日韩精品在线播放| 7777kkkk成人观看| 欧美日韩国产高清视频| 免费毛片小视频| 国产精品成人一区二区三区电影毛片| 日韩高清精品免费观看| 亚洲大香人伊一本线| www.超级碰| 蜜桃视频网站在线| 亚洲精品一二三**| 中文亚洲欧美| 国产欧美一区二区精品秋霞影院 | 精品国产不卡一区二区| 先锋资源久久| 不卡av在线免费观看| 岛国av午夜精品| 国产一区二区成人| 91美女片黄在线观| 欧美精品自拍视频| 亚洲成人黄色av| 国产农村妇女毛片精品久久| 少妇bbbb搡bbbb| 岛国视频免费在线观看| 视频欧美精品| 国产欧美69| 综合久久一区二区三区| 亚洲电影免费观看高清完整版在线| 欧美一级电影久久| 大桥未久一区二区| 精品人妻无码一区二区三区| 亚洲最大成人在线视频| sese在线播放| 岛国av在线网站| 国产精品97| 久久免费的精品国产v∧| 欧美丰满少妇xxxbbb| 欧美一区二区三区…… | 久草免费福利视频| 日中文字幕在线| 久久gogo国模啪啪裸体| 日韩二区三区在线观看| 亚洲国产综合色| 久久韩国免费视频| 日韩免费中文专区| 给我看免费高清在线观看| 精品人妻无码一区二区| 天天操夜夜干| 久久在线观看| 国产真实乱对白精彩久久| 欧美在线免费视屏| 欧美主播福利视频| 黄色一级片播放| 日产欧产va高清| 嫩草影院懂你的影院| 成av人片在线观看www| 欧美不卡视频| 尤物视频一区二区| 欧美精品手机在线| wwwjizzjizzcom| 欧美人与禽zozzo禽性配| 国产永久免费观看| 欧美人与禽猛交乱配| 亚洲国产精品成人| 亚洲精品欧美激情| 隔壁老王国产在线精品| 免费无码不卡视频在线观看| 99久热在线精品996热是什么| 成看片vvv222| 日韩一级特黄| 国产成人免费视频一区| 亚洲成年网站在线观看| 久久99欧美| 少妇人妻好深好紧精品无码| 亚洲精品国产一区二区在线| 超碰在线最新| 夜久久久久久| 欧美在线视频日韩| 91在线精品播放| 亚洲av无码专区在线播放中文| 黄色小视频免费在线观看| 第九色区av在线| 欧美精品激情| 色综合一区二区| 91精品视频观看| 亚洲永久无码7777kkk| 欧美xxx另类| 日韩免费福利视频| 国产成人免费视频精品含羞草妖精| 亚洲精品久久久一区二区三区 | eeuss性xxxxxx电影| 999久久久国产999久久久| 成人精品免费视频| 尤物九九久久国产精品的特点| 国产大尺度在线观看| 日韩免费视频网站| 伊人色综合网| 欧美精品大片| 欧美日本在线播放| 欧美一区二区三区电影在线观看 | 亚洲手机视频| 欧美日韩一二区| 久久久com| 国产一级在线免费观看| 亚洲无码精品一区二区三区| 天天在线女人的天堂视频| 99久久婷婷| 91国产福利在线| 狠狠色综合一区二区| 亚洲国产精品免费在线观看| 男女视频网站免费观看| 国产高清一区二区| 欧美日韩一级大片网址| 亚洲精品国产精品久久| 四虎精品永久在线| 国产一级二级三级在线观看| 久色成人在线| 国产亚洲精品久久久久久| 成人综合视频在线| 男女啪啪无遮挡网站| 福利一区二区免费视频| 国产日韩av一区二区| 日韩av高清不卡| 亚洲精品国产熟女久久久| 九色在线91| 在线一区电影| 精品久久久久久久人人人人传媒 | 日韩成人影院| 欧美视频在线一区| 亚洲国产欧美不卡在线观看| 国产女优在线播放| 超碰中文在线| 91尤物视频在线观看| 国产精品成人aaaaa网站| 粉嫩精品久久99综合一区| 国产精美视频| 日韩香蕉视频| 在线观看欧美视频| 男生和女生一起差差差视频| 欧洲有码在线视频| 97久久视频| 亚洲激情免费观看| 国产精品拍拍拍| 蝌蚪91视频| 日韩国产综合| 欧美成人高清电影在线| 日本黄色三级大片| 国产xxxxxx久色视频在| 精品日韩免费| 日韩一区二区电影网| 免费看国产一级片| 免费国产高清| 日本一区二区高清不卡| 日韩午夜电影av| www日韩在线观看| 特黄三级视频| 飘雪影视在线观看免费观看| 麻豆国产精品视频| 97色在线播放视频| 视频国产一区二区| 香港伦理在线| 91麻豆精东视频| 亚洲最大av网| 中文字幕在线网址| 精品久久在线| 日本高清不卡aⅴ免费网站| 91视频 - 88av| 精品国语对白精品自拍视| 欧美亚洲国产精品久久| 日韩久久午夜影院| 欧美大喷水吹潮合集在线观看| 成r视频免费观看在线播放| 奇米四色…亚洲| 欧美一级视频在线观看| 久久老司机精品视频| 色呦呦在线看| 亚洲色图视频网| 正义之心1992免费观看全集完整版| 熟妇人妻一区二区三区四区 | 欧美日韩偷拍视频| 尤物在线网址| 综合分类小说区另类春色亚洲小说欧美| 精品亚洲第一| 天天综合网在线| 欧美亚洲在线日韩| 色偷偷综合社区| 最新日韩免费视频| 国产蜜臀一区二区打屁股调教| 中文字幕欧美一区| av动漫免费观看| 久久91亚洲| 日韩高清不卡一区二区三区| 国产精品v片在线观看不卡| 一级片视频在线观看| 日韩一区二区三区四区五区 | 久久精品天堂| 国产成人综合久久| 羞羞色院91蜜桃| 91精品国产自产精品男人的天堂| 欧美一级理论性理论a| 国产91在线免费观看| 黄色av免费在线看| 国产精品三级av| 亚洲人午夜色婷婷| 性欧美精品男男| av女在线播放| 在线欧美日韩国产| 人妻换人妻仑乱| 国产一区精品| 亚洲精品国产一区二区三区四区在线| 成年人视频大全| 天天摸天天干| 成人精品小蝌蚪| 亚洲成人第一| 成年网站在线观看| 国产91丝袜在线观看| 免费看成人av| 在线观看wwww| 国内成+人亚洲+欧美+综合在线| 国产精品久久久对白| 亚洲精品综合一区二区三区| 亚洲欧美高清| 97视频中文字幕| 骚虎视频欧美| 美女一区二区久久| 久久精品国产精品青草色艺| 国产浪潮av性色av小说| 另类欧美日韩国产在线| 久久99精品久久久水蜜桃| 中国老太性bbbxxxx| 久久爱另类一区二区小说| 久久国产精品精品国产色婷婷| 国产精品亚洲综合久久小说| 精品一区二区三区视频| 日韩欧美电影一区二区| 天天色天天爽| 亚洲国产成人自拍| 日本激情视频在线| 快射av在线播放一区| 欧美无人高清视频在线观看| 欧美图片一区二区| 成人av集中营| 在线视频精品一| 久久永久免费视频| 国产精品久久久久久| 国产精品永久免费在线| 亚洲成人国产综合| 国产另类ts人妖一区二区| 9999在线观看| 在线视频三级| 黄色成人av网| 成人h动漫精品一区| 欧美特黄色片| 久久精品国产一区二区电影| 亚洲视频在线免费播放| 欧美91大片| 国产精品嫩草在线观看| 九九热视频免费在线观看| 久久奇米777| 香港日本韩国三级网站| 丁香花视频在线观看| 亚洲第一精品夜夜躁人人爽| 欧美日韩激情四射| 中文在线а√在线| 一本色道亚洲精品aⅴ| 丁香激情五月少妇| 国产三级精品三级在线观看国产| 久久久久久国产精品久久| 色窝窝无码一区二区三区成人网站 | 精品人妻无码一区二区色欲产成人| 亚洲毛片在线| 日韩电影大全在线观看| www免费在线观看视频| 欧美日韩精品在线视频| 91成人在线免费视频| 国产精品任我爽爆在线播放| 青青久久aⅴ北条麻妃| 玖玖精品国产| 国产欧美一区二区三区在线看蜜臀| 日本人69视频| 亚洲欧美在线成人| 免费91在线视频| 影音先锋在线资源中文字幕| 成人深夜视频在线观看| 污版视频在线观看| 欧美色网在线| 久久久久一本一区二区青青蜜月| 综合欧美视频一区二区三区| 91在线小视频| 91人妻一区二区| ccyy激情综合| 国产综合久久久久久| 在线成人私人影院| 一本色道久久加勒比精品| 久一视频在线观看| 亚洲黄色天堂| 91免费版看片| а√在线中文在线新版| 欧美成人免费va影院高清| 欧美视频亚洲色图| 亚洲欧美日韩中文播放 | 中文字幕天堂网| 亚洲精品合集| 久久99精品久久久久久久久久| 免费一级在线观看播放网址| 精品福利一二区| 国产激情视频在线播放| www.欧美色图| www.啪啪.com| 欧洲福利电影| 日韩欧美一区二区在线观看| 在线观看完整版免费| 国产亚洲人成网站在线观看| 五月色婷婷综合| 日本一区二区综合亚洲| 一级片视频免费看| 亚洲综合自拍| 欧美精品卡一卡二| www.成人爱| 国产精品入口免费视| 特黄特色特刺激视频免费播放| 欧美不卡一二三| 无码精品在线观看| 亚洲日韩欧美一区二区在线| 99久久99久久精品国产| 亚洲一区日韩在线| 国产精品久久久av| 九色在线91| 日韩一区二区三免费高清| 亚洲爱爱综合网| 国产精品视频在线看| 成人在线观看小视频| 日日夜夜精品视频免费 | 日本aⅴ中文| 亚洲国产成人在线视频| 亚洲色图 欧美| 欧美日韩国产综合视频在线观看中文| 日韩色图在线观看|