找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机智能小车前进后退左转右转比赛程序

[复制链接]
跳转到指定楼层
楼主
这是我之前做小车比赛用到的源程序有常用函数
各个模块的源代码

1、常用函数
2、智能小车前进实验
3、智能小车前进后退左转右转综合实验
4、程序可读性优化
5、按键选择智能小车功能演示
6、PWM电机调速
7、按键调节LED灯亮度
8、独立按键调节小车行驶速度

单片机源程序如下:
  1. /*********************************************************************************
  2. * 【实验平台】: QX-MCS51 单片机开发板 & QX-A51智能小车
  3. * 【外部晶振】: 11.0592mhz       
  4. * 【主控芯片】: STC89C52
  5. * 【编译环境】: Keil μVisio4
  6. * ********************************【接线说明】********************************
  7.                                                  以下"A_"表示智能小车底板~~~"B_"表示开发板     
  8. *开发板供电线  :A_J5-VCC~~~B_VCC或5V0    A_J6-GND~~~B_GND (一共使用2根杜邦线)
  9. *电机控制线    :A_J10-P1.2至P1.7 对应接到B_P1.2至P1.7 (一共使用6根杜邦线)
  10. *避障寻迹反馈线:A_J11-P3.2至P3.5 对应接到B_P3.2至P3.5 (一共使用4根杜邦线)
  11. ******************************************************************************
  12. * 【程序功能】:智能小车前进后退左转右转综合实验                                                                                             
  13. * 【使用说明】:接线无误后,烧写程序打开电源开关小车全速前进-后退-右转-左转-停止
  14. * 【注意事项】:避免小车撞向障碍物或小车轮子堵转,小车电压不能低于6V
  15. **********************************************************************************/
  16. #include <reg52.h>

  17. sbit IN1 = P1^2; //为1 左电机反转
  18. sbit IN2 = P1^3; //为1 左电机正转
  19. sbit IN3 = P1^6; //为1 右电机正转
  20. sbit IN4 = P1^7; //为1 右电机反转
  21. sbit EN1 = P1^4; //为1 左电机使能
  22. sbit EN2 = P1^5; //为1 右电机使能

  23. void delay(unsigned int z)//毫秒级延时
  24. {
  25.         unsigned int x,y;
  26.         for(x = z; x > 0; x--)
  27.                 for(y = 114; y > 0 ; y--);
  28. }       

  29. void main()
  30. {
  31.         //小车直行
  32.         EN1 = 1;  //为1 左电机使能
  33.         EN2 = 1;  //为1 右电机使能
  34.         IN1 = 0;//为1 左电机反转
  35.         IN2 = 1;//为1 左电机正转
  36.         IN3 = 1;//为1 右电机正转
  37.         IN4 = 0;//为1 右电机反转       
  38.         delay(3000);//毫秒级延时

  39.         //小车停止
  40.         EN1 = 0;  //为1 左电机使能
  41.         EN2 = 0;  //为1 右电机使能
  42.         delay(3000);//毫秒级延时
  43.        
  44.         //小车后退
  45.         EN1 = 1;  //为1 左电机使能
  46.         EN2 = 1;  //为1 右电机使能
  47.         IN1 = 1;//为1 左电机反转
  48.         IN2 = 0;//为1 左电机正转
  49.         IN3 = 0;//为1 右电机正转
  50.         IN4 = 1;//为1 右电机反转
  51.         delay(3000);//毫秒级延时       
  52.        
  53.         //小车停止
  54.         EN1 = 0;  //为1 左电机使能
  55.         EN2 = 0;  //为1 右电机使能
  56.         delay(3000);//毫秒级延时

  57.         //小车右转
  58.         EN1 = 1; //为1 左电机使能
  59.         EN2 = 1; //为1 右电机使能
  60.         IN1 = 0; //为1 左电机反转
  61.         IN2 = 1; //为1 左电机正转
  62.         IN3 = 0; //为1 右电机正转
  63.         IN4 = 0; //为1 右电机反转
  64.         delay(3000);//毫秒级延时

  65.         //小车停止
  66.         EN1 = 0;  //为1 左电机使能
  67.         EN2 = 0;  //为1 右电机使能
  68.         delay(3000);//毫秒级延时

  69.         //小车左转
  70.         EN1 = 1; //为1 左电机使能
  71.         EN2 = 1; //为1 右电机使能
  72.         IN1 = 1; //为1 左电机反转
  73.         IN2 = 1; //为1 左电机正转
  74.         IN3 = 1; //为1 右电机正转
  75.         IN4 = 0; //为1 右电机反转
  76.         delay(3000);//毫秒级延时

  77.         //小车停止
  78.         EN1 = 0;  //为1 左电机使能
  79.         EN2 = 0;  //为1 右电机使能               
  80.         while(1);       
  81. ……………………

  82. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码


部分视频

全部资料51hei下载地址:
模块程序.zip (7.78 MB, 下载次数: 146)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:317409 发表于 2018-4-26 22:06 | 只看该作者
视频还没来得及上传
回复

使用道具 举报

板凳
ID:379643 发表于 2018-8-26 18:24 | 只看该作者
楼主有全部资料吗可以分享一份吗
回复

使用道具 举报

地板
ID:670973 发表于 2019-12-24 08:18 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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