标题:
单片机智能小车前进后退左转右转比赛程序
[打印本页]
作者:
额呵呵好
时间:
2018-4-26 22:04
标题:
单片机智能小车前进后退左转右转比赛程序
这是我之前做小车比赛用到的源程序有常用函数
各个模块的源代码
0.jpg
(38.36 KB, 下载次数: 107)
下载附件
2018-4-27 02:40 上传
1、常用函数
2、智能小车前进实验
3、智能小车前进后退左转右转综合实验
4、程序可读性优化
5、按键选择智能小车功能演示
6、PWM电机调速
7、按键调节LED灯亮度
8、独立按键调节小车行驶速度
单片机源程序如下:
/*********************************************************************************
* 【实验平台】: QX-MCS51 单片机开发板 & QX-A51智能小车
* 【外部晶振】: 11.0592mhz
* 【主控芯片】: STC89C52
* 【编译环境】: Keil μVisio4
* ********************************【接线说明】********************************
以下"A_"表示智能小车底板~~~"B_"表示开发板
*开发板供电线 :A_J5-VCC~~~B_VCC或5V0 A_J6-GND~~~B_GND (一共使用2根杜邦线)
*电机控制线 :A_J10-P1.2至P1.7 对应接到B_P1.2至P1.7 (一共使用6根杜邦线)
*避障寻迹反馈线:A_J11-P3.2至P3.5 对应接到B_P3.2至P3.5 (一共使用4根杜邦线)
******************************************************************************
* 【程序功能】:智能小车前进后退左转右转综合实验
* 【使用说明】:接线无误后,烧写程序打开电源开关小车全速前进-后退-右转-左转-停止
* 【注意事项】:避免小车撞向障碍物或小车轮子堵转,小车电压不能低于6V
**********************************************************************************/
#include <reg52.h>
sbit IN1 = P1^2; //为1 左电机反转
sbit IN2 = P1^3; //为1 左电机正转
sbit IN3 = P1^6; //为1 右电机正转
sbit IN4 = P1^7; //为1 右电机反转
sbit EN1 = P1^4; //为1 左电机使能
sbit EN2 = P1^5; //为1 右电机使能
void delay(unsigned int z)//毫秒级延时
{
unsigned int x,y;
for(x = z; x > 0; x--)
for(y = 114; y > 0 ; y--);
}
void main()
{
//小车直行
EN1 = 1; //为1 左电机使能
EN2 = 1; //为1 右电机使能
IN1 = 0;//为1 左电机反转
IN2 = 1;//为1 左电机正转
IN3 = 1;//为1 右电机正转
IN4 = 0;//为1 右电机反转
delay(3000);//毫秒级延时
//小车停止
EN1 = 0; //为1 左电机使能
EN2 = 0; //为1 右电机使能
delay(3000);//毫秒级延时
//小车后退
EN1 = 1; //为1 左电机使能
EN2 = 1; //为1 右电机使能
IN1 = 1;//为1 左电机反转
IN2 = 0;//为1 左电机正转
IN3 = 0;//为1 右电机正转
IN4 = 1;//为1 右电机反转
delay(3000);//毫秒级延时
//小车停止
EN1 = 0; //为1 左电机使能
EN2 = 0; //为1 右电机使能
delay(3000);//毫秒级延时
//小车右转
EN1 = 1; //为1 左电机使能
EN2 = 1; //为1 右电机使能
IN1 = 0; //为1 左电机反转
IN2 = 1; //为1 左电机正转
IN3 = 0; //为1 右电机正转
IN4 = 0; //为1 右电机反转
delay(3000);//毫秒级延时
//小车停止
EN1 = 0; //为1 左电机使能
EN2 = 0; //为1 右电机使能
delay(3000);//毫秒级延时
//小车左转
EN1 = 1; //为1 左电机使能
EN2 = 1; //为1 右电机使能
IN1 = 1; //为1 左电机反转
IN2 = 1; //为1 左电机正转
IN3 = 1; //为1 右电机正转
IN4 = 0; //为1 右电机反转
delay(3000);//毫秒级延时
//小车停止
EN1 = 0; //为1 左电机使能
EN2 = 0; //为1 右电机使能
while(1);
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
部分视频
全部资料51hei下载地址:
模块程序.zip
(7.78 MB, 下载次数: 146)
2018-4-26 22:04 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
额呵呵好
时间:
2018-4-26 22:06
视频还没来得及上传
作者:
我放假快乐
时间:
2018-8-26 18:24
楼主有全部资料吗可以分享一份吗
作者:
176qqq
时间:
2019-12-24 08:18
谢谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1