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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18466|回復: 20
收起左側

智能小車黑線循跡實驗程序

  [復制鏈接]
ID:229064 發表于 2017-8-24 08:21 | 顯示全部樓層 |閱讀模式
關于小車沿黑線循跡的程序!!!!!

單片機源程序如下:
  1. #include <reg52.h>                                    //包含52系統頭文件                         
  2. #include "zncar.h"                                     //包含能小車頭文件                  

  3. unsigned char pwmval_left   = 0;              //變量定義                  
  4. unsigned char pwmval_right  = 0;

  5. unsigned char pwmval_left_init  = 5;          //左電機占空比調節 ,調節值在0到20之間             此值越大,電機的轉速越快
  6. unsigned char pwmval_right_init = 5;          //右電機占空比調節 ,調節值在0到20之間          

  7. bit right_pwm = 1;                                    //右電機PWM開關,為1時打開   
  8. bit left_pwm  = 1;                                            //左電機PWM開關,為1時打開

  9. void delay(int In,int Out)                    //定義延時函數            
  10. {
  11. int i,j;
  12. for( i = 0;i < In;i++ )
  13. {
  14.   for( j = 0;j < Out;j++ )
  15.   {;}
  16. }
  17. }
  18. /**************************************************前進  左轉   右轉******************************************************************************/
  19. void forward(void)                                   //智能小車前進
  20. {
  21. IN1 = 0;
  22. IN2 = 1;                          //左車輪的正轉                 

  23. IN3 = 0;
  24. IN4 = 1;                          //右車輪的正轉                  
  25. }

  26. void left_turn(void)                       //智能小車左轉   
  27. {
  28. IN1 = 0;
  29. IN2 = 0;                          //左車輪停轉  

  30. IN3 = 0;
  31. IN4 = 1;                          //右車輪正轉            
  32. }                                                                    

  33. void right_turn(void)                   //智能小車右轉
  34. {  
  35. IN1 = 0;
  36. IN2 = 1;                          //左車論的正轉          

  37. IN3 = 0;
  38. IN4 = 0;                          //右車輪停轉  
  39. }

  40. /****************************左電機控制函數********************************************/                                                         
  41. void left_moto(void)
  42. {  
  43. if(left_pwm)
  44. {
  45.   if(pwmval_left <= pwmval_left_init)
  46.   {
  47.    EN1 = 1;
  48.   }
  49.   else
  50.   {
  51.    EN1 = 0;
  52.   }
  53.   if(pwmval_left >= 20)
  54.   {
  55.    pwmval_left = 0;
  56.   }
  57. }
  58. else   
  59. {
  60.   EN1 = 0;                     
  61. }
  62. }

  63. /***************************右電機控制函數***************************************/
  64. void right_moto(void)
  65. {
  66. if(right_pwm)
  67. {
  68.   if(pwmval_right <= pwmval_right_init)                  
  69.   {
  70.    EN2 = 1;                                                           
  71.   }
  72.   else if(pwmval_right > pwmval_right_init)
  73.   {
  74.    EN2 = 0;
  75.   }
  76.   if(pwmval_right >= 20)
  77.   {
  78.    pwmval_right = 0;
  79.   }
  80. }
  81. else   
  82. {
  83.   EN2 = 0;                                                      
  84. }
  85. }
  86.            
  87. /**************單片機定時器0的中斷處理函數***************/
  88. void timer0()interrupt 1 using 2
  89. {
  90. TH0 = 0xfc;                                      //1Ms定時          
  91. TL0 = 0x66;

  92. pwmval_left  = pwmval_left  + 1;
  93. pwmval_right = pwmval_right + 1;

  94. left_moto();
  95. right_moto();
  96. }       



  97. void keyscan(void)                         //按鍵掃描函數            
  98. {
  99. loop:if(SWITCH_S7 == 0)                                  //判斷是否有按下信號          
  100.           {
  101.            delay(5,10);                                    //延時10ms          
  102.            if(SWITCH_S7 == 0)                                 //再次判斷是否按下            
  103.            {
  104.             BEEP_IO = 0;                       //蜂鳴器響                 
  105.                 while(SWITCH_S7 == 0);                   //判斷是否松開按鍵                  
  106.             BEEP_IO = 1;                       //蜂鳴器停止  
  107.            }
  108.            else
  109.            {
  110.                 goto loop;                        //跳轉到loop重新檢測          
  111.            }
  112.           }
  113.           else
  114.           {
  115.            goto loop;                        //跳轉到loop重新檢測            
  116.           }
  117. }
  118. /******將定時器0設置成每隔1MS申請一次中斷*********/
  119. void timer_init()
  120. {
  121. TMOD=0x01;
  122. TH0= 0xfc;                                  //1ms定時   
  123. TL0= 0x66;
  124. TR0= 1;
  125. ET0= 1;
  126. EA = 1;                                                     //開總中斷       
  127. }

  128. //主函數   
  129. void main(void)
  130. {       
  131. P1 = 0x00;                                     //關電機       
  132. keyscan();                                            //按鍵啟動檢測            
  133. delay(100,1000);                               //1s后啟動          

  134. timer_init();        //調用定時器0的初始化函數

  135. while(1)                                            //無限循環            
  136. {  
  137.   //有信號為0  沒有信號為1          
  138. ……………………

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

所有資料51hei提供下載:
7、智能小車黑線循跡實驗.rar (31.03 KB, 下載次數: 151)
回復

使用道具 舉報

ID:246031 發表于 2017-11-21 13:22 | 顯示全部樓層
這個有電路圖嗎???大佬
回復

使用道具 舉報

ID:254856 發表于 2018-1-27 15:15 | 顯示全部樓層
謝謝啊
回復

使用道具 舉報

ID:299036 發表于 2018-4-24 15:33 來自手機 | 顯示全部樓層
看了有很大的幫助,謝謝
回復

使用道具 舉報

ID:423048 發表于 2018-11-8 15:44 | 顯示全部樓層
這個是什么意思啊

自動循跡小車程序.doc

24 KB, 下載次數: 14, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:400569 發表于 2018-11-23 15:16 來自手機 | 顯示全部樓層
解決了我的疑惑
回復

使用道具 舉報

ID:401857 發表于 2018-11-26 16:16 | 顯示全部樓層
對我很有幫助‘’
回復

使用道具 舉報

ID:473311 發表于 2019-4-5 13:07 | 顯示全部樓層
用的什么傳感器啊
回復

使用道具 舉報

ID:467843 發表于 2019-4-5 14:08 | 顯示全部樓層
郭文玲呀 發表于 2019-4-5 13:07
用的什么傳感器啊

紅外傳感器
回復

使用道具 舉報

ID:575799 發表于 2019-7-1 16:51 | 顯示全部樓層
用什么軟件編程呀
回復

使用道具 舉報

ID:575799 發表于 2019-7-2 14:16 | 顯示全部樓層
51小車能用這個程序嗎
回復

使用道具 舉報

ID:588628 發表于 2019-7-23 12:50 | 顯示全部樓層
用啥軟件編程的
回復

使用道具 舉報

ID:587564 發表于 2019-7-26 14:12 | 顯示全部樓層
看了有很大幫助,謝謝
回復

使用道具 舉報

ID:590918 發表于 2019-8-2 16:22 | 顯示全部樓層
有幫助
回復

使用道具 舉報

ID:617434 發表于 2019-9-27 23:36 | 顯示全部樓層
貌似不對啊,我咋編譯不了?
回復

使用道具 舉報

ID:624645 發表于 2019-10-15 20:33 | 顯示全部樓層
謝謝啊
回復

使用道具 舉報

ID:629701 發表于 2019-10-25 13:48 | 顯示全部樓層

ARM的KEIL
回復

使用道具 舉報

ID:629701 發表于 2019-10-25 13:49 | 顯示全部樓層
有問:樓主的電機是用的無刷電機?沒有使用電機驅動模塊?
回復

使用道具 舉報

ID:664199 發表于 2019-12-15 11:40 | 顯示全部樓層
借用一下 大佬
回復

使用道具 舉報

ID:789860 發表于 2020-6-25 23:02 | 顯示全部樓層
感謝分享!!
回復

使用道具 舉報

ID:259955 發表于 2020-7-6 16:12 | 顯示全部樓層
你好,有個問題請教一下,小車是怎么判斷黑色的 ?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜a v电影 | 国产精品久久久久久久免费大片 | 亚洲一区高清 | 国产福利在线 | 欧美极品在线播放 | 在线观看第一页 | 久久一二区 | 欧美精品久久 | 精品亚洲国产成av人片传媒 | 操操日 | 国产日韩欧美 | 日韩欧美在线一区 | 韩日av在线| 欧美三级网站 | 自拍偷拍3p| 草草视频在线播放 | 在线观看视频91 | 日本黄色的视频 | 日韩三级电影在线看 | 一级黄色毛片免费 | 日本黄色不卡视频 | 久久蜜桃av一区二区天堂 | 日韩av三区| 亚洲成人播放器 | 91精品久久久久久久久中文字幕 | 午夜爱爱毛片xxxx视频免费看 | 日韩影院在线观看 | 一区二区三区欧美 | 欧美成人免费在线 | 日本成人一区二区 | 日韩精品免费一区 | 91视频在线看 | 黄色免费在线观看 | 精品久久久久久久 | 亚洲国产视频一区二区 | 午夜影院在线视频 | 成人免费黄色片 | 欧美色综合 | 国产精品久久国产精品 | 国产成人精品免费 | 中文字幕在线视频网站 |