找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机编写擂台碰撞小车的源码

[复制链接]
跳转到指定楼层
楼主
ID:409564 发表于 2018-10-14 19:22 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#define uint unsigned int
#define ucha unsigned char

sbit P10=P1^0;//控制左电机前进
sbit P11=P1^1;//控制左电机后退
sbit P12=P1^2;//控制右电机前进
sbit P13=P1^3;//控制右电机后退
sbit zuoshang=P3^0;//左上传感器
sbit zuoxia=P3^1;//左下传感器
sbit youshang=P3^2;//右上传感器
sbit youxia=P3^3;//右下传感器
sbit qiance=P3^4;//前测传感器
sbit zuoce=P3^5;//左测传感器
sbit youce=P3^6;//右测传感器
sbit houce=P3^7;//后测传感器

void delay_50us(uint t)
{
uint j;
for(;t>0;t--)
for(j=19;j>0;j--);
}

void delay_50ms(uint t)
{
uint j;
for(;t>0;t--)
for(j=6245;j>0;j--);
}

void qianjin()//小车前进
{
P10=0;P11=1;P12=0;P13=1;
delay_50us(20);
P10=1;P11=1;P12=1;P13=1;
delay_50us(20);
}

void houtui()//小车后退掉头
{
P10=1;P11=0;P12=1;P13=0;
delay_50us(50);
P10=1;P11=0;P12=0;P13=1;
delay_50us(50);
}

void tingzhi()//小车停止
{P10=1;P11=1;P12=1;P13=1;}

void youguai()//小车右拐
{P10=0;P11=1;P12=1;P13=0;
delay_50ms(20);
P10=1;P11=1;P12=1;P13=1;
delay_50us(10);
}
void zuoguai()//小车左拐
{
P12=0;P13=1;P10=1;P11=0;
delay_50ms(20);
P12=1;P13=1;P10=1;P11=1;
delay_50us(10);
}

void zhuanwan()//小车转弯
{
P10=1;P11=0;P12=0;P13=1;
delay_50ms(1);
{P10=1;P11=1;P12=1;P13=1;}
delay_50ms(20);
}

void quansuqianjin()//小车全速前进
{
P10=0;P11=1;
P12=0;P13=1;
}
void quansuhoutui()//小车全速后退
{
P10=1;P11=0;
P12=1;P13=0;
}

void main(void)

{
while(1)
{

if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
qianjin();
if(zuoshang==1&&youshang==1&&zuoxia==0&&youxia==0&&qiance==1&&houce==1&&zuoce==1&&youce==1)
qianjin();
if(zuoshang==0&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
youguai();
if(zuoshang==1&&youshang==0&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
zuoguai();
if(zuoshang==0&&youshang==0&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
houtui();
if(zuoshang==0&&youshang==1&&zuoxia==0&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
youguai();
if(zuoshang==1&&youshang==0&&zuoxia==1&&youxia==0&&qiance==1&&houce==1&&zuoce==1&&youce==1)
zuoguai();
if(zuoshang==1&&youshang==1&&zuoxia==0&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==1)
qianjin();
if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==0&&qiance==1&&houce==1&&zuoce==1&&youce==1)
qianjin();

if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==1&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();
if(zuoshang==1&&youshang==1&&zuoxia==0&&youxia==0&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();
if(zuoshang==1&&youshang==1&&zuoxia==0&&youxia==1&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();
if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==0&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();
if(zuoshang==0&&youshang==1&&zuoxia==0&&youxia==0&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();
if(zuoshang==1&&youshang==0&&zuoxia==0&&youxia==0&&qiance==0&&houce==1&&zuoce==1&&youce==1)
quansuqianjin();

if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();
if(zuoshang==0&&youshang==0&&zuoxia==1&&youxia==1&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();
if(zuoshang==0&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();
if(zuoshang==1&&youshang==0&&zuoxia==1&&youxia==1&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();
if(zuoshang==0&&youshang==0&&zuoxia==0&&youxia==1&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();
if(zuoshang==0&&youshang==0&&zuoxia==1&&youxia==0&&qiance==1&&houce==0&&zuoce==1&&youce==1)
quansuhoutui();

if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==0&&youce==1)
zuoguai();
if(zuoshang==1&&youshang==0&&zuoxia==1&&youxia==0&&qiance==1&&houce==1&&zuoce==0&&youce==1)
zuoguai();
if(zuoshang==1&&youshang==0&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==0&&youce==1)
zuoguai();
if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==0&&qiance==1&&houce==1&&zuoce==0&&youce==1)
zuoguai();
if(zuoshang==1&&youshang==0&&zuoxia==0&&youxia==0&&qiance==1&&houce==1&&zuoce==0&&youce==1)
zuoguai();
if(zuoshang==0&&youshang==0&&zuoxia==1&&youxia==0&&qiance==1&&houce==1&&zuoce==0&&youce==1)
quansuhoutui();

if(zuoshang==1&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==0)
youguai();
if(zuoshang==0&&youshang==1&&zuoxia==0&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==0)
youguai();
if(zuoshang==0&&youshang==1&&zuoxia==1&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==0)
youguai();
if(zuoshang==1&&youshang==1&&zuoxia==0&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==0)
youguai();
if(zuoshang==0&&youshang==1&&zuoxia==0&&youxia==0&&qiance==1&&houce==1&&zuoce==1&&youce==0)
youguai();
if(zuoshang==0&&youshang==0&&zuoxia==0&&youxia==1&&qiance==1&&houce==1&&zuoce==1&&youce==0)
quansuhoutui();


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

使用道具 举报

沙发
ID:1 发表于 2018-10-15 00:55 | 只看该作者
补全原理图或者详细说明一下电路连接即可获得100+黑币
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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