找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 39365|回復(fù): 56
打印 上一主題 下一主題
收起左側(cè)

入門級51單片機(jī)智能小車 可實現(xiàn)多種功能,程序簡單易懂

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:264081 發(fā)表于 2017-12-22 20:52 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
視頻演示:


可以實現(xiàn)避障,紅外跟隨,藍(lán)牙控制,尋跡

效果圖片:


紅外跟隨程序:
  1. #include<reg52.h>

  2. #define uint unsigned int
  3. #define uchar unsigned char
  4.        
  5. uchar zkb_left1,zkb_right1,zkb_left2,zkb_right2,i1,j1,i2,j2; //占空比標(biāo)志

  6. sbit IN1=P1^0;        //電機(jī)控制端口
  7. sbit IN2=P1^1;
  8. sbit IN3=P1^2;
  9. sbit IN4=P1^3;
  10. sbit IN5=P1^4;       
  11. sbit IN6=P1^5;
  12. sbit IN7=P1^6;
  13. sbit IN8=P1^7;

  14. sbit hw1=P2^4;        //紅外傳感器端口
  15. sbit hw2=P2^3;


  16. sbit zkba=P0^0;          //占空比控制端
  17. sbit zkbb=P0^1;
  18. sbit zkbc=P0^2;          //占空比控制端
  19. sbit zkbd=P0^3;

  20. void delay_ms(uint z)         //延時函數(shù)
  21. {
  22.         uchar x,y;
  23.         for(x=z;x>0;x--)
  24.                 for(y=110;y>0;y--);
  25. }

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

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

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

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

  60. void go()         //前進(jìn)函數(shù)
  61. {
  62.         zkb_left1=8;
  63.         zkb_right1=8;
  64.         zkb_left2=8;
  65.         zkb_right2=8;
  66.        
  67.         IN1=1;        IN2=0;                  
  68.         IN3=1;        IN4=0;
  69.         IN5=1;        IN6=0;                  
  70.         IN7=1;        IN8=0;
  71. }
  72. void back()         //后退函數(shù)
  73. {
  74.         zkb_left1=8;
  75.         zkb_right1=8;
  76.         zkb_left2=8;
  77.         zkb_right2=8;
  78.        
  79.         IN1=0;        IN2=1;
  80.         IN3=0;        IN4=1;
  81.         IN5=0;        IN6=1;
  82.         IN7=0;        IN8=1;
  83. }
  84. void left()                //左轉(zhuǎn)彎函數(shù),
  85. {
  86.         zkb_left1=10;   //設(shè)置一個速度
  87.         zkb_right1=10;
  88.         zkb_left2=10;   
  89.         zkb_right2=10;
  90.        
  91.         IN1=0;        IN2=1;        //
  92.         IN3=1;        IN4=0;
  93.         IN5=0;        IN6=1;       
  94.         IN7=1;        IN8=0;
  95. }
  96. void right()                //右轉(zhuǎn)彎函數(shù)
  97. {
  98.         zkb_left1=10;                //設(shè)置一個速度
  99.         zkb_right1=10;
  100.         zkb_left2=10;               
  101.         zkb_right2=10;
  102.        
  103.         IN1=1;        IN2=0;         //
  104.         IN3=0;        IN4=1;
  105.         IN5=1;        IN6=0;         //
  106.         IN7=0;        IN8=1;
  107. }
  108. void stop()                //停止函數(shù)
  109. {
  110.         IN1=0;        IN2=0;
  111.         IN3=0;        IN4=0;
  112.         IN5=0;        IN6=0;
  113.         IN7=0;        IN8=0;       
  114. }


  115. void gensui()         //
  116. {
  117.         uchar flag;           //定義一個標(biāo)志位,用于狀態(tài)判斷
  118.         if(hw1==1 & hw2==1)         //
  119.         {flag=0;}
  120.          else if(hw1==0 & hw2==0)        //
  121.         {flag=1;}
  122.          else if(hw1==1 & hw2==0)        //
  123.         {flag=2;}
  124.          else if(hw1==0 & hw2==1)        //
  125.         {flag=3;}
  126.                 else flag=4;   //其他情況標(biāo)志位置0
  127.         switch (flag)
  128.         {
  129.                 case 0: go(); break;        //情況0,前進(jìn)
  130.                 case 1: stop(); break;        //情況1,前進(jìn)
  131.                 case 2: left(); break;        //情況2,左轉(zhuǎn)
  132.                 case 3: right(); break;        //
  133.                 case 4: stop(); break;        //情況4,右轉(zhuǎn)
  134.                 default: stop(); break;        //
  135.         }
  136. }

  137. void main()
  138. {
  139.         init();
  140.         delay_ms(1);
  141.         while(1)
  142.         {
  143.                 gensui();
  144.         }
  145. }

復(fù)制代碼


全部資料51hei下載地址:
源程序打包.rar (87.95 KB, 下載次數(shù): 597)


評分

參與人數(shù) 3黑幣 +15 收起 理由
94295 + 5 很給力!
dongwei108 + 5 這個太給力!!! 會一直關(guān)注樓主
Cordelia + 5 很給力!

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:269089 發(fā)表于 2017-12-30 00:32 來自手機(jī) | 只看該作者
樓主,可以分享一波嗎
回復(fù)

使用道具 舉報

板凳
ID:264081 發(fā)表于 2017-12-31 08:47 | 只看該作者
ruguowoshidj 發(fā)表于 2017-12-30 00:32
樓主,可以分享一波嗎

代碼已經(jīng)發(fā)出來了
回復(fù)

使用道具 舉報

地板
ID:202586 發(fā)表于 2018-1-2 20:10 | 只看該作者
謝謝分享  學(xué)習(xí)下
回復(fù)

使用道具 舉報

5#
ID:271338 發(fā)表于 2018-1-4 13:45 | 只看該作者
這一波操作很溜~學(xué)習(xí)了
回復(fù)

使用道具 舉報

6#
ID:284774 發(fā)表于 2018-3-16 16:24 | 只看該作者
里面不是  坑
回復(fù)

使用道具 舉報

7#
ID:285079 發(fā)表于 2018-3-17 07:44 | 只看該作者
樓主很強勢,點個贊
回復(fù)

使用道具 舉報

8#
ID:289779 發(fā)表于 2018-3-22 18:49 | 只看該作者
謝謝樓主,很強
回復(fù)

使用道具 舉報

9#
ID:264081 發(fā)表于 2018-3-31 23:00 | 只看該作者

怎么會不是,哪里出問題了吧
回復(fù)

使用道具 舉報

10#
ID:305541 發(fā)表于 2018-4-11 11:58 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報

11#
ID:258650 發(fā)表于 2018-4-20 15:38 | 只看該作者

謝謝分享  學(xué)習(xí)下
回復(fù)

使用道具 舉報

12#
ID:305648 發(fā)表于 2018-4-22 16:03 來自手機(jī) | 只看該作者
樓主,我想問一下,跟隨用的什么紅外模塊啊,謝謝
回復(fù)

使用道具 舉報

13#
ID:305648 發(fā)表于 2018-4-22 16:52 來自手機(jī) | 只看該作者
有人做出來了嗎
回復(fù)

使用道具 舉報

14#
ID:309758 發(fā)表于 2018-5-14 22:10 | 只看該作者
這幾種功能的程序是在一個總程序里面的還是各個程序分開的?
回復(fù)

使用道具 舉報

15#
ID:331717 發(fā)表于 2018-5-16 22:55 | 只看該作者
正在找這個
回復(fù)

使用道具 舉報

16#
ID:335277 發(fā)表于 2018-5-31 22:53 | 只看該作者
贊一個
回復(fù)

使用道具 舉報

17#
ID:349966 發(fā)表于 2018-6-13 18:13 | 只看該作者
請問樓主這里邊是教程還是只有代碼?


我是新手能看懂不?
回復(fù)

使用道具 舉報

18#
ID:264081 發(fā)表于 2018-6-14 21:39 | 只看該作者
1205693382 發(fā)表于 2018-6-13 18:13
請問樓主這里邊是教程還是只有代碼?

沒有教程哦,不過這些程序很容易看懂的
回復(fù)

使用道具 舉報

19#
ID:356094 發(fā)表于 2018-6-22 23:52 | 只看該作者
感謝樓主的分享
回復(fù)

使用道具 舉報

20#
ID:358191 發(fā)表于 2018-6-25 09:32 | 只看該作者
l厲害了,感謝樓主分享
回復(fù)

使用道具 舉報

21#
ID:283315 發(fā)表于 2018-6-25 09:49 | 只看該作者
IO好像不夠用  是IO口公用了還是擴(kuò)展了IO口???樓主很急啊!
回復(fù)

使用道具 舉報

22#
ID:353118 發(fā)表于 2018-6-25 16:49 | 只看該作者
紅外跟隨
回復(fù)

使用道具 舉報

23#
ID:396124 發(fā)表于 2018-10-30 23:50 | 只看該作者
有小車的電路圖嗎?
回復(fù)

使用道具 舉報

24#
ID:419603 發(fā)表于 2018-11-2 12:42 | 只看該作者
好厲害
回復(fù)

使用道具 舉報

25#
ID:418342 發(fā)表于 2018-11-2 17:22 | 只看該作者

謝謝分享
回復(fù)

使用道具 舉報

26#
ID:328975 發(fā)表于 2018-11-2 22:28 | 只看該作者
樓主,電路原理圖可以分享嗎?
回復(fù)

使用道具 舉報

27#
ID:421919 發(fā)表于 2018-11-6 20:42 | 只看該作者
很給力喲
回復(fù)

使用道具 舉報

28#
ID:428050 發(fā)表于 2018-11-17 11:06 | 只看該作者
很好,學(xué)習(xí)了。
回復(fù)

使用道具 舉報

29#
ID:428221 發(fā)表于 2018-11-18 21:22 | 只看該作者
很給力!頂!真棒!
回復(fù)

使用道具 舉報

30#
ID:428947 發(fā)表于 2018-11-18 23:53 來自手機(jī) | 只看該作者
厲害
回復(fù)

使用道具 舉報

31#
ID:280485 發(fā)表于 2018-12-8 16:32 | 只看該作者
非常感謝。。。。!
回復(fù)

使用道具 舉報

32#
ID:435490 發(fā)表于 2018-12-13 09:12 | 只看該作者
很棒的東西,謝謝樓主,幫了大忙
回復(fù)

使用道具 舉報

33#
ID:436621 發(fā)表于 2018-12-16 00:58 | 只看該作者
非常給力,謝謝分享!
回復(fù)

使用道具 舉報

34#
ID:445186 發(fā)表于 2018-12-18 23:11 來自手機(jī) | 只看該作者
謝謝樓主無私分享,真的很有用!
回復(fù)

使用道具 舉報

35#
ID:444919 發(fā)表于 2018-12-23 12:17 | 只看該作者
都用的哪些配件,有清單嗎?發(fā)下學(xué)習(xí)。
回復(fù)

使用道具 舉報

36#
ID:482513 發(fā)表于 2019-3-2 11:49 | 只看該作者
好。!
回復(fù)

使用道具 舉報

37#
ID:485051 發(fā)表于 2019-3-5 17:58 | 只看該作者
ruguowoshidj 發(fā)表于 2017-12-30 00:32
**** 作者被禁止或刪除 內(nèi)容自動屏蔽 ****

望分享
回復(fù)

使用道具 舉報

38#
ID:486550 發(fā)表于 2019-3-7 21:50 | 只看該作者
沒有黑幣氣死了,我也想學(xué)
回復(fù)

使用道具 舉報

39#
ID:486550 發(fā)表于 2019-3-9 21:28 | 只看該作者
終于下載上了,可藍(lán)牙控制應(yīng)該怎么能了

希望能幫忙,謝謝
回復(fù)

使用道具 舉報

40#
ID:495022 發(fā)表于 2019-3-26 09:46 | 只看該作者
謝謝,正需要呢
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表