找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9482|回复: 9
打印 上一主题 下一主题
收起左侧

自动往返小车程序

  [复制链接]
跳转到指定楼层
楼主



全部资料(压缩包)下载:
自动往返小车程序0411定稿.rar (142.65 KB, 下载次数: 93)


还是吐槽下电设赛题出的不严谨,我们做的B题,轴流风机这个坑啊,买了好多个,最后发现都不好用,主要是响应太慢,从通电到满速需要10s。关键我们还在西南地区,顺丰都要一天多才能到。换了无刷电机(无刷确实比轴流风机好控制的多)+桨。
回到正题吧,这个是01年的题,用的主控是51,然后L298N做电机驱动。加了超声波控制小车和墙壁的距离,当时做的只是简单控制,没加PID。使用nokia5110显示速度和时间,51单片机用这个显示屏还是比较方便的,换了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发送端
  22. sbit Echo=P2^7;//定义HC-SR04接收端

  23. uchar right;//pwm右边
  24. uchar left;//pwm左边
  25. uchar pwm_time;
  26. uint timer;//总计时,单位是10ms
  27. uchar time_c;//timec -- timecounter
  28. uchar line_counter;//计量通过黑线数目
  29. uchar black;//标记是否通过黑线
  30. uchar circle;//计量轮圈转动圈数
  31. uint w_hole;//wheel hole 计量轮子洞洞数目
  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. 主函数
  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 //定时器0,PWM,记录时间
  61. {
  62.         //pwm();
  63.                 timer++;
  64.        
  65.                 TH0=(65536-10000)/256;//1ms???? 12M   
  66.                 TL0=(65536-10000)%256; //????
  67. }*/
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:244236 发表于 2017-10-30 15:47 | 只看该作者
为什么下载不下来呢?
回复

使用道具 举报

板凳
ID:308794 发表于 2018-4-15 20:41 | 只看该作者
打不开
回复

使用道具 举报

地板
ID:308148 发表于 2018-4-18 00:29 | 只看该作者
有没有电路图,和原件清单啊
回复

使用道具 举报

5#
ID:313326 发表于 2018-4-21 20:33 | 只看该作者
原件和原理图
回复

使用道具 举报

6#
ID:148126 发表于 2019-3-6 13:28 | 只看该作者
程序不完整   看不到   最重要的函数
回复

使用道具 举报

7#
ID:611005 发表于 2019-9-12 17:01 | 只看该作者
感谢感谢。。。。
回复

使用道具 举报

8#
ID:697697 发表于 2020-2-25 12:48 来自手机 | 只看该作者
麻烦楼主能给我一份完整文件吗,谢谢了啊
回复

使用道具 举报

9#
ID:732504 发表于 2020-4-19 11:02 来自手机 | 只看该作者
有没有仿真呀?跪求
回复

使用道具 举报

10#
ID:735061 发表于 2020-4-22 11:51 | 只看该作者
很有用哒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表