标题:
小车走迷宫原理图和PCB及单片机源程序
[打印本页]
作者:
纪晓芙
时间:
2017-9-4 23:32
标题:
小车走迷宫原理图和PCB及单片机源程序
我们那课设的作业
Altium Designer画的小车走迷宫原理图和PCB图如下:(51hei附件中可下载工程文件)
0.png
(47.15 KB, 下载次数: 132)
下载附件
2017-9-5 02:11 上传
0.png
(49.06 KB, 下载次数: 124)
下载附件
2017-9-5 02:12 上传
原理图和PCB的单片机源程序如下:
#include <AT89X51.H> //包含51单片机相关的头文件
#include "mytest.h"
void Delay(unsigned int DelayTime) //定义机器人调转子时间子程序
{
while(DelayTime--); //机器人转弯循环
// SB1=!SB1; //蜂鸣器闪响
return;
}
void ControlCar(unsigned char ConType) //定义电机控制子程序
{
switch(ConType){ //判断用户设定电机形式
case FRONT: //前进 //判断用户是否选择形式1
M1B=0;
M2B=0;
M1A=1; //M1电机正转
M2A=1; //M2电机正转
break;
case BACK: //后退 //判断用户是否选择形式2
M1A=0;
M2A=0;
M1B=1; //M1电机反转
M2B=1; //M2电机反转
break;
case LEFT: //左转 //判断用户是否选择形式3
M2B=0;
M1A=0;
M1B=1; //M1电机反转
M2A=1; //M2电机正转
break;
case RIGHT: //右转 //判断用户是否选择形式4
M2A=0;
M1B=0;
M1A=1; //M1电机正转
M2B=1; //M2电机反转
break;
default: //停止 //判断用户是否选择形式8
M2A=0;
M1B=0;
M1A=0; //M1电机正转
M2B=0;
break; //退出当前选择
}
}
void main() //主程序入口
{
bit FrontFlag,LeftFlag,RightFlag;
P1=0XFF;
while(1){ //程序主循环
LeftLed=LeftIR;
LeftFlag=LeftIR;
RightLed=RightIR;
RightFlag=RightIR;
FrontLed1=FrontIR;
FrontLed2=FrontIR;
FrontFlag=FrontIR;
if((FrontFlag == OFF) && (LeftFlag == OFF) && (RightFlag == OFF)){
ControlCar(FRONT);
}
if((FrontFlag == ON) && (LeftFlag == ON) && (RightFlag == ON)){
ControlCar(BACK);
}
if(FrontFlag == ON){
if(LeftFlag == ON){
ControlCar(BACK);
Delay(100);
ControlCar(RIGHT);
Delay(50000);
Delay(20000);
}
else{
Delay(100);
ControlCar(LEFT);
Delay(500);
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
小车走迷宫电路及代码.zip
(2.19 MB, 下载次数: 30)
2017-9-4 23:31 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
晨风001
时间:
2017-10-19 21:24
下载学学
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1