资源简介
软件介绍:
程序名:基于51单片机的红外避障小车程序源码实验平台:实验室两驱小车CPU型号:STC89C52 晶振:11.0592MHZ功能:利用两路红外传感器实现小车自动避障调用前进子函数,使小车光电管不满足以下几个条件时都处于前进状态
程序名:基于51单片机的红外避障小车程序源码实验平台:实验室两驱小车CPU型号:STC89C52 晶振:11.0592MHZ功能:利用两路红外传感器实现小车自动避障调用前进子函数,使小车光电管不满足以下几个条件时都处于前进状态
代码片段和文件信息
/*******************************************************************/
/* 程序名:红外避障小车
/* 实验平台:实验室两驱小车
/* CPU型号:STC89C52 晶振:11.0592MHZ
/* 功能:利用两路红外传感器实现小车自动避障
/* 作者:智能电子制作实验室 www.zndzmcu.com
/*****************************************************************/
#include//包含必要头文件
sbit you1=P2^0;//定义单片机控制右边电机的正传引脚
sbit you2=P2^1;//定义单片机控制右边电机的反转引脚
sbit zuo1=P2^2;//定义单片机控制左边电机的正传引脚
sbit zuo2=P2^2;//定义单片机控制左边电机的反转引脚
sbit y=P3^4;//定义单片机右边光电开关的引脚
sbit z=P3^5;//定义单片机左边光电开关的引脚
void delay(int z)//延时函数,用于调节电机速度
{
int ij;
for(i=2;i>0;i--)
for(j=z;j>0;j--);
}
void qian()//左右轮协同前进子函数
{
you1=1;
you2=0;
zuo1=1;
zuo2=0;
delay(10-0);//pwm调速
you1=0;
you2=0;
zuo1=0;
zuo2=0;
delay(0);
}
void zuo()//左右轮协同左转子函数
{
you1=1;
you2=0;
zuo1=0;
zuo2=1;
delay(10-1);//pwm调速
you1=0;
you2=0;
zuo1=0;
zuo2=0;
delay(1);
}
void you()//左右轮协同右转子函数
{
you1=0;
you2=1;
zuo1=1;
zuo2=0;
delay(10-1);//pwm调速
you1=0;
you2=0;
zuo1=0;
zuo2=0;
delay(1);
}
void tui()//左右轮都停止转动
{
you1=0;
you2=1;
zuo1=0;
zuo2=1;
delay(10-1);//pwm调速
you1=1;
you2=1;
zuo1=1;
zuo2=1;
delay(1);
}
//void down()//左右轮都停止转动
//{
// you1=0;
// you2=0;
// zuo1=0;
// zuo2=0;
//}
void main()//主函数
{
while(1)//死循环
{
qian();//调用前进子函数,使小车光电管不满足以下几个条件时都处于前进状态
// while((z==0)&&(y==1))//判断当左边光电管遇到障碍,
// {
// you();//调用右转函数
// }
// while((z==1)&&(y==0))//判断当右边光电管遇到障碍,
// {
// zuo();//调用左转函数
// }
// while((z==0)&&(y==0))//判断当右边光电管遇到障碍,
// {
// tui();//调用后退转函数
// }
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1925 2016-10-17 13:57 zndz.c
----------- --------- ---------- ----- ----
1925 1
- 上一篇:C语言的小型通用数据库.rar
- 下一篇:nozzle.cpp
评论
共有 条评论