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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)避障小車制作資料與問題解決(附源碼)

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

下面是制作的避障小車的實(shí)物圖:


51單片機(jī)避障小車源程序如下:
  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;}         //左邊兩個電機(jī)向前走
  5. #define Left_moto_back {P3_1=0,P3_2=1,P3_3=0,P3_4=1;}         //左邊兩個電機(jī)向后轉(zhuǎn)
  6. #define Left_moto_Stop {P3_1=0,P3_2=0,P3_3=0,P3_4=0;}         //左邊兩個電機(jī)停轉(zhuǎn)
  7. #define Right_moto_go {P1_4=1,P1_5=0,P1_6=1,P1_7=0  ;}         //右邊兩個電機(jī)向前走
  8. #define Right_moto_back {P1_4=0,P1_5=1,P1_6=0,P1_7=1;}         //右邊兩個電機(jī)向前走
  9. #define Right_moto_Stop {P1_4=0,P1_5=0,P1_6=0,P1_7=0;}         //右邊兩個電機(jī)停轉(zhuǎn) */
  10. /***************************************************************/
  11. //藍(lán)牙的設(shè)置
  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. //超聲波的設(shè)置
  31. /*********************************************************/
  32. #define CSBPWM P2_2                         //接舵機(jī)信號端輸入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;//舵機(jī)歸中,產(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;                         //延時基準(zhǔn)變量
  45. unsigned char timer1=0;                 //掃描時間變量


  46. void qianj(void)                //前進(jìn)
  47. {
  48.         Left_moto_go ;                         //左電機(jī)往前走
  49.         Right_moto_go ;                         //右電機(jī)往前走
  50. }
  51. /************************************************************************/
  52. //全速后退
  53. void hout(void)                                 //后退
  54. {
  55.         Left_moto_back ;                 //左電機(jī)往前走
  56.         Right_moto_back ;                 //右電機(jī)往前走
  57.         zxddc ();                                //后退指示燈
  58. }
  59. /*********************        ***************************************************/
  60. //左轉(zhuǎn)                                                  //左轉(zhuǎn)
  61. void zuoz(void)
  62. {
  63.         Left_moto_back ;                 //左電機(jī)往前走
  64.         Right_moto_go ;                 //右電機(jī)往前走
  65.         zxdzz ();                                //左轉(zhuǎn)指示燈
  66. }
  67. /************************************************************************/
  68. //右轉(zhuǎn)
  69. void youz(void)                                  //右轉(zhuǎn)
  70. {
  71.         Left_moto_go ;                         //左電機(jī)往前走
  72.         Right_moto_back ;                 //右電機(jī)往前走
  73.         zxdyz ();                                //右轉(zhuǎn)指示燈
  74. }
  75. /************************************************************************/
  76. //STOP
  77. void tingz(void)                           //停止
  78. {                                                  
  79.         Left_moto_Stop ;                 //左電機(jī)停走
  80.         Right_moto_Stop ;                 //右電機(jī)停走
  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_()一個機(jī)器周期,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) //計(jì)算距離
  130. {
  131.                 while(!ECHO); //當(dāng)RX為零時等待
  132.                 TR0=1; //開啟計(jì)數(shù)
  133.                 while(ECHO); //當(dāng)RX為1計(jì)數(shù)并等待
  134.                 TR0=0; //關(guān)閉計(jì)數(shù)
  135.                 time=TH0*256+TL0; //讀取脈寬長度
  136.                 TH0=0;
  137.                 TL0=0;
  138.                 S=(time*1.7)/100; //算出來是CM

  139. }


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


  142.         push_val_left=5; //舵機(jī)向左轉(zhuǎn)90度
  143.         timer=0;
  144.         while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
  145.         StartModule(); //啟動超聲波測距
  146.         Conut(); //計(jì)算距離
  147.         S2=S;
  148.         
  149.         push_val_left=23; //舵機(jī)向右轉(zhuǎn)90度
  150.         timer=0;
  151.         while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
  152.         StartModule(); //啟動超聲波測距
  153.         Conut(); //計(jì)算距離
  154.         S4=S;
  155.         push_val_left=14; //舵機(jī)歸中
  156.         timer=0;
  157.         while(timer<=4000); //延時400MS讓舵機(jī)轉(zhuǎn)到其位置
  158.         StartModule(); //啟動超聲波測距
  159.         Conut(); //計(jì)算距離
  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. 舵機(jī)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();//前進(jìn)

  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();//前進(jìn) 總結(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;相當(dāng)與x=x+y;這樣使程序更精煉
  228.                   while (strcmp(table,"ON2") ==0 ); //當(dāng)按鍵按下的時候進(jìn)入while循環(huán)執(zhí)行分號空語句,
  229.                                                                                           //當(dāng)按鍵是釋放跳出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ù)需要在前面聲明,因?yàn)殡姍C(jī)函數(shù)定義在此函數(shù)前面,在電機(jī)函數(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,實(shí)現(xiàn)pwm調(diào)速,當(dāng)給高電頻的時候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; //舵機(jī)歸中
  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(); //計(jì)算距離
  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; /*舵機(jī)歸中,在初始化的時候歸要不在這歸中,如果兩個地方貴在程序就會出現(xiàn)毛病                                                兩個地方
  356.                                                 同時歸中串口中斷無緣無辜的會打開,導(dǎo)致車子不能串口通訊, */
  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(); //計(jì)算距離
  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; //設(shè)置定時器二為串口波特率模式
  391.           SCON=0x50;  //設(shè)置串口方式為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)先級設(shè)置為最高

  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不能和定時器一互換,因?yàn)槎〞r器0優(yōu)先級比1高,如果換了以后就不能接收超聲波了
  406.       ET0=1;                 //打開定時器0中斷
  407.           EA=1;                          //打開總中斷        
  408.                               
  409.                            

  410.                                     
  411. /*  T2CON=0x30;
  412.           SCON=0x50;  //設(shè)置串口方式為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.    //單獨(dú)藍(lán)牙的串口設(shè)置
  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中斷服務(wù)子函數(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++;                                                 //超聲波的基準(zhǔn) 定時器100US為準(zhǔn)。在這個基礎(chǔ)上延時
  477.         pwm_val_left++;                                         //舵機(jī)的pwm調(diào)速基準(zhǔn)時間
  478.         pwm_Servomoto();                                 //舵機(jī)pwm調(diào)速函數(shù)

  479. }
  480. /***************************************************/
  481. ///*TIMER0中斷服務(wù)子函數(shù)產(chǎn)生PWM信號*/
  482. void timer0()interrupt 1                 //因?yàn)榇趦?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)閉串口中斷,其實(shí)不關(guān)也沒影響
  490.         table[i++]=SBUF;           //數(shù)組下標(biāo)加一,把字符串變成字符字單個取出存入數(shù)組,使之成為一元素
  491.         if(i==3)                           //字符串有三個字符,不包括標(biāo)志位0
  492.         i=0;                                  //使之清零以便下次從收
  493.         RI=0;                                  //串口標(biāo)志位硬件制一,手動清零
  494.         ES=1;                                  //打開串口                        
  495. …………
  496. …………
  497. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

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


評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報(bào)

沙發(fā)
ID:1 發(fā)表于 2017-12-5 14:20 | 只看該作者
好資料,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:171111 發(fā)表于 2018-5-1 22:10 | 只看該作者
謝謝樓主    資料真好
回復(fù)

使用道具 舉報(bào)

地板
ID:322672 發(fā)表于 2018-5-5 12:12 | 只看該作者
手動點(diǎn)贊
回復(fù)

使用道具 舉報(bào)

5#
ID:77866 發(fā)表于 2018-5-8 16:59 | 只看該作者
謝謝樓主,提供資料,解決了急需問題
回復(fù)

使用道具 舉報(bào)

6#
ID:269454 發(fā)表于 2018-7-20 17:11 | 只看該作者
能不能發(fā)下電路圖
回復(fù)

使用道具 舉報(bào)

7#
ID:376635 發(fā)表于 2018-7-21 15:26 | 只看該作者
資料挺不錯的,感謝
回復(fù)

使用道具 舉報(bào)

8#
ID:393768 發(fā)表于 2018-9-4 22:36 | 只看該作者
厲害哦
回復(fù)

使用道具 舉報(bào)

9#
ID:394168 發(fā)表于 2018-9-6 01:50 | 只看該作者
下載了沒搞明白怎么弄
回復(fù)

使用道具 舉報(bào)

10#
ID:400222 發(fā)表于 2018-9-19 20:09 來自觸屏版 | 只看該作者
有沒有制作小車的材料清單
回復(fù)

使用道具 舉報(bào)

11#
ID:406979 發(fā)表于 2018-10-9 13:22 | 只看該作者
謝謝樓主好東西
回復(fù)

使用道具 舉報(bào)

12#
ID:409750 發(fā)表于 2018-10-15 09:36 來自觸屏版 | 只看該作者
能不能發(fā)下電路圖
回復(fù)

使用道具 舉報(bào)

13#
ID:405273 發(fā)表于 2018-10-17 11:31 | 只看該作者
我從論壇下載的資料為啥打不開啊
keil4 keil3都打不開啊

回復(fù)

使用道具 舉報(bào)

14#
ID:405273 發(fā)表于 2018-10-17 14:26 | 只看該作者
已解決 謝謝 文件夾名字的問題
回復(fù)

使用道具 舉報(bào)

15#
ID:413969 發(fā)表于 2018-10-23 12:54 | 只看該作者
不錯 學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

16#
ID:430125 發(fā)表于 2018-11-20 19:41 | 只看該作者
感謝樓主,來學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

17#
ID:434555 發(fā)表于 2018-11-27 21:34 | 只看該作者
資料真好
回復(fù)

使用道具 舉報(bào)

18#
ID:436792 發(fā)表于 2018-11-30 20:31 | 只看該作者
人才,好資料,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

19#
ID:436792 發(fā)表于 2018-11-30 20:49 | 只看該作者
好資料
回復(fù)

使用道具 舉報(bào)

20#
ID:443011 發(fā)表于 2018-12-10 09:06 | 只看該作者
贊一個
回復(fù)

使用道具 舉報(bào)

21#
ID:483314 發(fā)表于 2019-3-2 17:07 | 只看該作者
可以的對我?guī)椭艽?/td>
回復(fù)

使用道具 舉報(bào)

22#
ID:482489 發(fā)表于 2019-3-16 18:54 | 只看該作者

資料真好
回復(fù)

使用道具 舉報(bào)

23#
ID:495816 發(fā)表于 2019-3-21 23:26 | 只看該作者
不錯,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

24#
ID:511444 發(fā)表于 2019-4-13 19:44 | 只看該作者
感謝樓主分享
回復(fù)

使用道具 舉報(bào)

25#
ID:300463 發(fā)表于 2019-4-16 15:49 | 只看該作者
剛好在調(diào)試小車  謝謝了
回復(fù)

使用道具 舉報(bào)

26#
ID:431514 發(fā)表于 2019-4-29 07:45 | 只看該作者
有沒有制作小車的材料清單
回復(fù)

使用道具 舉報(bào)

27#
ID:414113 發(fā)表于 2019-4-29 16:18 | 只看該作者
感謝樓主分享,慢慢學(xué)習(xí)中
回復(fù)

使用道具 舉報(bào)

28#
ID:431514 發(fā)表于 2019-5-2 09:04 | 只看該作者
下載了沒搞明白怎么弄
回復(fù)

使用道具 舉報(bào)

29#
ID:538080 發(fā)表于 2019-5-18 08:30 | 只看該作者
這個可以呀
回復(fù)

使用道具 舉報(bào)

30#
ID:704712 發(fā)表于 2020-3-9 17:26 | 只看該作者
沒有原理圖呢
回復(fù)

使用道具 舉報(bào)

31#
ID:707535 發(fā)表于 2020-3-14 13:42 | 只看該作者
求元件庫和封裝庫
回復(fù)

使用道具 舉報(bào)

32#
ID:702493 發(fā)表于 2020-3-14 15:29 | 只看該作者
樓主,我最近也在玩這個,遇到點(diǎn)問題。
程序沒有有關(guān)超聲波的內(nèi)容,只是一個直走的命令,但HC-SR04超聲波模塊連在單片機(jī)上,小車不走。
拔掉echo端口,小車直走。
檢查超聲波模塊,超聲波模塊完好,收發(fā)端未接反。
這什么原因啊?求解答。
網(wǎng)上實(shí)在是找不到資料,都卡半個月了,以上問題你也遇到過嗎?
回復(fù)

使用道具 舉報(bào)

33#
ID:712292 發(fā)表于 2020-3-20 15:17 | 只看該作者
謝謝大神~
回復(fù)

使用道具 舉報(bào)

34#
ID:713570 發(fā)表于 2020-3-23 16:53 來自觸屏版 | 只看該作者
樓主有沒有電路圖
回復(fù)

使用道具 舉報(bào)

35#
ID:713570 發(fā)表于 2020-3-23 16:54 來自觸屏版 | 只看該作者
ghdok 發(fā)表于 2019-4-16 15:49
剛好在調(diào)試小車  謝謝了

有沒有電路圖,求電路圖
回復(fù)

使用道具 舉報(bào)

36#
ID:712292 發(fā)表于 2020-4-25 22:31 | 只看該作者
感謝樓主分享,謝謝大師
回復(fù)

使用道具 舉報(bào)

37#
ID:695362 發(fā)表于 2020-4-30 11:03 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

38#
ID:608763 發(fā)表于 2020-6-2 15:06 | 只看該作者
手動點(diǎn)贊
回復(fù)

使用道具 舉報(bào)

39#
ID:1107666 發(fā)表于 2024-1-13 01:51 | 只看該作者
感謝樓主,正好在看51避障
回復(fù)

使用道具 舉報(bào)

40#
ID:211360 發(fā)表于 2024-1-20 11:52 | 只看該作者
非常感謝!希望能有更全面的資料
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
亚洲人被黑人高潮完整版| 亚洲男人天堂影院| 成人综合社区| 欧洲女同同性吃奶| 麻豆成人免费视频| 国产精品视频白浆合集 | 国产精品三级在线观看| 日韩一区二区视频在线观看| 97在线视频精品| 婷婷视频在线播放| 国产中年熟女高潮大集合| www.香蕉视频| 91精品国产一区二区三密臀| 新的色悠悠久久久| 国产导航在线| 高清在线一区二区| 免费视频一区| 偷拍一区二区三区四区| 欧美日韩国产91| 亚洲最新在线| 亚洲精品91在线| 好男人www社区在线视频夜恋| 亚洲视频精品在线观看| 成人在线视频你懂的| 国产大陆精品国产| 欧美一区二区在线免费观看| 国产精品v日韩精品| 国产欧美高清在线| 国产精品自拍99| 2021av网站| 国产a亚洲精品| 日本伊人午夜精品| 欧美日韩视频在线观看一区二区三区 | www.99re7| 午夜激情在线视频| 国产高清视频在线播放| 国产一区三区在线播放| 久久综合九色综合欧美亚洲| 亚洲国产精品小视频| 国产精品一区二区欧美| 亚洲乱码一区二区三区| av电影网站在线观看| 中文字幕乱在线伦视频中文字幕乱码在线 | 中文字幕一区三区久久女搜查官| 亚洲国产福利视频| 韩国三级在线观看久| 欧美日韩在线播放视频| 国产精品情趣视频| 久久在线视频在线| 免费网站在线观看视频| 国产又大又黑又粗免费视频| 污网站免费看| 粉嫩av一区二区| 久久精品综合网| 欧美自拍偷拍午夜视频| 国产精品久久久久不卡| 国产高清视频网站| 精品久久人妻av中文字幕| 欧美视频免费一区二区三区| 香蕉视频一区| 国产日韩精品视频一区| 伦伦影院午夜日韩欧美限制| 日韩av中文字幕第一页| 无码人妻aⅴ一区二区三区有奶水| av大片免费看| 日韩在线麻豆| 自拍偷拍亚洲激情| 欧洲亚洲在线视频| 日本精品一区在线| 国产精品无码99re| 欧洲成人综合网| 久久aⅴ乱码一区二区三区| 欧美日韩亚洲另类| 国产欧美综合精品一区二区| 亚洲综合第一区| 日本视频网址| 视频一区中文字幕精品| 91丨porny丨最新| 色偷偷偷亚洲综合网另类| 亚洲熟妇无码一区二区三区| 一级成人免费视频| 国产毛片在线| 在线视频精品| 91麻豆精品国产自产在线观看一区| 久久伦理网站| 久草精品视频在线观看| 草久在线视频| 亚洲天天综合| 狠狠久久五月精品中文字幕| 成人看片人aa| 国产aaaaaaaaa| 免费大秀视频在线播放| 成人h动漫精品一区二区器材| 成人欧美一区二区三区黑人麻豆| 欧美性视频网站| 91超薄肉色丝袜交足高跟凉鞋| 精品无线一线二线三线| 成人在线视频www| 国产欧美日韩激情| 欧美一区二三区| 中国黄色a级片| 五月婷婷开心综合| 精品日产免费二区日产免费二区| 精品高清美女精品国产区| 成人免费视频网站| 日韩av播放器| 天天操天天爱天天干| 日韩大片免费观看| 91一区一区三区| 韩国福利视频一区| 北岛玲一区二区| 四虎4hutv紧急入口| 日韩a一区二区| 欧美色老头old∨ideo| 免费电影一区| 日本中文字幕在线观看视频| 黄色免费在线观看| 成人毛片在线观看| 韩国v欧美v日本v亚洲| 中文字幕一区二区三区人妻电影| 黄色录像1级片| 亚洲另类黄色| 一本色道久久88亚洲综合88| 中文字幕精品一区二区三区在线| 色猫咪免费人成网站在线观看| 国产欧美日韩在线一区二区 | 中文字幕这里只有精品| 久久精品一区四区| 国产一区私人高清影院| 久久久久免费看| 蜜桃视频在线观看www社区| 欧美美女福利视频| 久久一区91| 欧美日韩国产欧美日美国产精品| 强开小嫩苞一区二区三区网站| 丰满熟妇人妻中文字幕| 国产精品1区| 五月天中文字幕一区二区| 日韩在线国产| 特级丰满少妇一级aaaa爱毛片| 视频国产精品| 欧美日韩精品综合在线| 91久色国产| 中文字幕一区二区三区四区视频| 日韩三区在线| 亚洲高清免费观看 | 欧美福利网站| 久久电影国产免费久久电影| 欧美怡春院一区二区三区| 丝袜 亚洲 另类 欧美 重口| 国产在线观看免费麻豆| 日本一区二区三区久久久久久久久不| 99久久精品无码一区二区毛片 | 99视频免费在线观看| 在线日韩电影| zzjj国产精品一区二区| 亚洲av无码国产精品麻豆天美| 国产在线视频网| 国产第一亚洲| 欧洲色大大久久| 欧美在线观看成人| 色视频免费观看| 在线视频亚洲| 538国产精品一区二区免费视频| 日本中文字幕免费在线观看| 爱看av在线入口| 一区二区三区四区中文字幕| 致1999电视剧免费观看策驰影院| 性欧美xxx极品另类| 97偷自拍亚洲综合二区| 日韩在线视频网| 一区二区黄色片| 国产深夜福利| 亚洲黄色在线| 2019亚洲男人天堂| 成人在线免费看视频| 欧美亚洲综合视频| 欧美福利视频一区| 天天爽夜夜爽视频| 玖玖在线免费视频| 91麻豆产精品久久久久久| 欧美一区二区三区在线播放 | 国产乱色国产精品免费视频| 91久热免费在线视频| a级片在线播放| 久久av免费| 色偷偷av亚洲男人的天堂| 破处女黄色一级片| 91精品影视| 欧美人与性动xxxx| 中国特级黄色片| 日本在线播放| 亚洲国产视频一区| 18禁免费观看网站| 国产日本韩国在线播放| 成人国产精品视频| 日本一区二区三区www| 四虎国产精品永久地址998| 一区福利视频| 国产成人精品免费视频| 一区二区三区www污污污网站| 网红女主播少妇精品视频| 在线午夜精品自拍| 欧美高清视频一区二区三区| 欧美高清xxx| 日韩电影免费观看中文字幕| 999精品久久久| 日韩漫画puputoon| 精品国产麻豆免费人成网站| 91成年人网站| 亚洲精品国产精品国产| 欧美一区二区三区不卡| xxx在线播放| 韩国成人漫画| 精品国产免费人成电影在线观看四季 | 国产精品免费无遮挡无码永久视频| 中文在线播放| 国产精品初高中害羞小美女文| 国产精品50p| 你懂的视频在线| 国产精品一区二区不卡| 亚洲欧洲精品在线观看| 极品尤物av丝袜美腿在线观看| 91丝袜美腿高跟国产极品老师| 国产 国语对白 露脸| 中文在线a在线| 午夜精品在线视频一区| 水蜜桃av无码| 成人黄色视屏网站| 最近中文字幕mv在线一区二区三区四区| 久久久久亚洲av成人毛片韩| 成人高清av| 国产精品人成电影| 久久er这里只有精品| 国产不卡视频在线播放| 久久av综合网| 国产免费视频在线| 欧美巨大另类极品videosbest| 天堂资源在线视频| 盗摄牛牛av影视一区二区| 午夜精品在线视频| √天堂中文在线| 国产一区在线看| a级片一区二区| 国产福利小视频在线| 欧美亚洲动漫另类| 久久久久亚洲av片无码| 欧美日韩123| 成人国产在线激情| 日产乱码一卡二卡三免费| 欧美国产1区2区| 中国女人做爰视频| 九色视频网站在线观看| 精品视频全国免费看| 中国1级黄色片| 中文久久电影小说| 欧美在线视频观看免费网站| 无码精品在线观看| 国产一区二区在线影院| 日韩一级性生活片| 国产黄色片在线观看| 欧美日本精品一区二区三区| 国产传媒在线看| 久久九九精品视频| 欧美不卡一区二区| 欧美 变态 另类 人妖| 91九色鹿精品国产综合久久香蕉| 中文字幕一区二区在线观看| 免费黄色a级片| 人妖欧美1区| 亚洲天堂男人天堂| 欧美日韩中文视频| 欧美精品一区二区三区久久久竹菊| 国产91在线播放| 国产精品xxx电影| 日产欧产美韩系列久久99| 久久精品国产sm调教网站演员| 亚欧精品一区| 日本麻豆一区二区三区视频| 青青在线免费视频| 免费网站www在线观看| 欧美性极品少妇| a级一a一级在线观看| 综合欧美亚洲| 久久精品在线视频| 先锋音影av资源中文网| 国产毛片一区| 国产 日韩 欧美在线| 在线免费91| 中文字幕欧美区| 中文字幕日韩三级片| 一区二区视频免费完整版观看| 97精品欧美一区二区三区| av老司机久久| gogo大胆日本视频一区| 精品久久久无码人妻字幂| 日本高清在线观看| 91精品国产高清一区二区三区| 亚洲综合成人av| 欧美激情精品久久久六区热门| 国产91精品不卡视频| 天天干天天插天天操| 国产免费久久| 奇米888一区二区三区| 成人免费网址在线| 欧美日韩美少妇| 成年人av电影| 亚洲巨乳在线| 日韩精品av一区二区三区| 久久久久久久久免费视频| 91精品国产色综合久久久蜜香臀| 一级二级三级视频| 99成人在线| 亚洲欧美国产毛片在线| 亚洲成a人v欧美综合天堂| 精品少妇一区二区三区免费观| 波多野结衣mp4| 黄网站在线观看永久免费| 亚洲综合社区网| 日韩一卡二卡在线| 国产曰批免费观看久久久| 午夜国产一区二区三区| 欧美电影免费观看网站| 久久久久亚洲精品| 国产精品一区二区午夜嘿嘿嘿小说| 亚洲国产精品久久人人爱| 男人av资源站| 亚洲欧美日韩国产一区二区| 久久久亚洲精品无码| 99精品视频在线免费播放| 国产一区欧美二区三区| 日本私人影院在线观看| 亚洲美女动态图120秒| 男女视频免费网站| 性久久久久久久| 日韩免费视频网站| 蜜桃av一区二区三区电影| 又黄又色的网站| 欧美日韩国产高清电影| 久久一区二区三区欧美亚洲| 在线黄色网页| 久久久久久国产精品美女| 国产成人午夜精品| 日韩精品在线一区| 欧美一级一区二区三区| 亚洲尤物视频在线| 亚洲欧美在线观看视频| 久久电影一区| 午夜视频在线免费看| 欧洲激情综合| 欧美男女爱爱视频| 成人网av.com/| 国产精品区一区二区三含羞草| 制服丝袜中文字幕在线| 午夜剧场成人观在线视频免费观看 | 精品人妻一区二区三区四区不卡| 日本一区二区综合亚洲| 国产女片a归国片aa| 日韩av一级电影| 亚洲精品在线视频免费观看| 国产一区二区三区四区五区传媒| 秋霞在线观看一区二区三区 | 亚洲一区二区三区中文字幕| 国产成人愉拍精品久久| 91美女精品福利| 老熟妻内射精品一区| 日韩vs国产vs欧美| 成人免费看aa片| 亚洲美女色禁图| av电影在线播放| 欧美日本中文| 99热这里只有精品在线播放| 小说区亚洲自拍另类图片专区| 欧美日韩福利在线| 深夜福利一区| 亚洲 国产 欧美一区| 欧美日韩精品一区二区三区视频| 六月婷婷久久| 三级在线看中文字幕完整版| 精品国产一区二区三区麻豆免费观看完整版 | 欧美www在线观看| 色网综合在线观看| 婷婷丁香花五月天| 亚洲自拍偷拍麻豆| 中文天堂在线资源| 夜夜精品视频一区二区| 中文字幕在线播放不卡| 国产亚洲成年网址在线观看| 国产精品久久久久久久久夜色| 国产日本亚洲高清| 在线观看中文字幕网站| 中文字幕一区二区在线观看| 国产高清中文字幕| 日韩毛片一二三区| 中文字幕在线2019| 色综合久久88色综合天天免费| 欧美特黄一级视频| 91麻豆精品国产91久久久更新时间| 蜜桃色永久入口| 欧美精品日韩一本|