找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

自動(dòng)往返小車程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主



全部資料(壓縮包)下載:
自動(dòng)往返小車程序0411定稿.rar (142.65 KB, 下載次數(shù): 93)


還是吐槽下電設(shè)賽題出的不嚴(yán)謹(jǐn),我們做的B題,軸流風(fēng)機(jī)這個(gè)坑啊,買(mǎi)了好多個(gè),最后發(fā)現(xiàn)都不好用,主要是響應(yīng)太慢,從通電到滿速需要10s。關(guān)鍵我們還在西南地區(qū),順豐都要一天多才能到。換了無(wú)刷電機(jī)(無(wú)刷確實(shí)比軸流風(fēng)機(jī)好控制的多)+槳。
回到正題吧,這個(gè)是01年的題,用的主控是51,然后L298N做電機(jī)驅(qū)動(dòng)。加了超聲波控制小車和墻壁的距離,當(dāng)時(shí)做的只是簡(jiǎn)單控制,沒(méi)加PID。使用nokia5110顯示速度和時(shí)間,51單片機(jī)用這個(gè)顯示屏還是比較方便的,換了STM32之后用OLED更舒服



主程序如下:
  1. #include <reg52.h>
  2. #include <init.h>
  3. #include <interrupt.h>
  4. #include <turn.h>
  5. #include <control.h>
  6. #include <delay.h>
  7. //#include <speed.h>
  8. #include <nokia_5110.h>
  9. #include <display.h>
  10. #include <ultrasonic.h>
  11. //#include <uart.h>

  12. #define uchar unsigned char
  13. #define uint  unsigned int
  14. #define ulong unsigned long
  15. typedef unsigned char BYTE;

  16. sbit light=P3^7;        //探頭中
  17. sbit enle1=P2^0;//使能端左,前輪
  18. sbit enle2=P2^1;//左后
  19. sbit enri1=P2^2;//使能端右,前輪
  20. sbit enri2=P2^3;//右后
  21. sbit Trig=P2^6;//  定義HC-SR04發(fā)送端
  22. sbit Echo=P2^7;//定義HC-SR04接收端

  23. uchar right;//pwm右邊
  24. uchar left;//pwm左邊
  25. uchar pwm_time;
  26. uint timer;//總計(jì)時(shí),單位是10ms
  27. uchar time_c;//timec -- timecounter
  28. uchar line_counter;//計(jì)量通過(guò)黑線數(shù)目
  29. uchar black;//標(biāo)記是否通過(guò)黑線
  30. uchar circle;//計(jì)量輪圈轉(zhuǎn)動(dòng)圈數(shù)
  31. uint w_hole;//wheel hole 計(jì)量輪子洞洞數(shù)目
  32. uint distance;
  33. uint usonic_time,usonic_flag=0;
  34. float usonic_s;
  35. //BYTE bu_F[3];
  36. //BYTE wan,qian,bai,shi,ge;

  37. /*************
  38. 主函數(shù)
  39. **************/

  40. void main()
  41. {
  42.         init();
  43.         straight_full();
  44. //        time_display();
  45. //        delay_ms(500);
  46. //        distance_display();
  47. //        delay_ms(500);
  48.         while(1){       
  49.                 time_display(timer,0);
  50. //                time_display(timer,3);
  51. //                time_display(timer,2);
  52.                 distance =circle*20.72+w_hole*1.18;
  53.                 distance_display();
  54.         //        lenth();
  55.         //        zitai();
  56.                 control();
  57.                 zitai();
  58.         }
  59. }

  60. /*void T0_timer0 () interrupt 1 //定時(shí)器0,PWM,記錄時(shí)間
  61. {
  62.         //pwm();
  63.                 timer++;
  64.        
  65.                 TH0=(65536-10000)/256;//1ms???? 12M   
  66.                 TL0=(65536-10000)%256; //????
  67. }*/
復(fù)制代碼



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

使用道具 舉報(bào)

沙發(fā)
ID:244236 發(fā)表于 2017-10-30 15:47 | 只看該作者
為什么下載不下來(lái)呢?
回復(fù)

使用道具 舉報(bào)

板凳
ID:308794 發(fā)表于 2018-4-15 20:41 | 只看該作者
打不開(kāi)
回復(fù)

使用道具 舉報(bào)

地板
ID:308148 發(fā)表于 2018-4-18 00:29 | 只看該作者
有沒(méi)有電路圖,和原件清單啊
回復(fù)

使用道具 舉報(bào)

5#
ID:313326 發(fā)表于 2018-4-21 20:33 | 只看該作者
原件和原理圖
回復(fù)

使用道具 舉報(bào)

6#
ID:148126 發(fā)表于 2019-3-6 13:28 | 只看該作者
程序不完整   看不到   最重要的函數(shù)
回復(fù)

使用道具 舉報(bào)

7#
ID:611005 發(fā)表于 2019-9-12 17:01 | 只看該作者
感謝感謝。。。。
回復(fù)

使用道具 舉報(bào)

8#
ID:697697 發(fā)表于 2020-2-25 12:48 來(lái)自手機(jī) | 只看該作者
麻煩樓主能給我一份完整文件嗎,謝謝了啊
回復(fù)

使用道具 舉報(bào)

9#
ID:732504 發(fā)表于 2020-4-19 11:02 來(lái)自手機(jī) | 只看該作者
有沒(méi)有仿真呀?跪求
回復(fù)

使用道具 舉報(bào)

10#
ID:735061 發(fā)表于 2020-4-22 11:51 | 只看該作者
很有用噠
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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