标题:
智能四驱·小车红外检测单片机程序
[打印本页]
作者:
xsk308
时间:
2018-12-12 20:57
标题:
智能四驱·小车红外检测单片机程序
红外检测
单片机源程序如下:
//注意程序只做参考之用,要达到最理想的效果,还需要同学们细心调试。
//控制板跳线帽接法
//J6-1 P1.0至P1.7 IO口处跳线帽全部接上
//如果程序中有PWM功能,需要把J6-2 下排焊针用杜邦线接到 P0.0 P0.1 P0.2 P0.3 IO口上--详细看课件说明
#include<AT89X52.H> //包含51单片机头文件,内部有各种寄存器定义
#include<HJ-4WD_PWM.H> //包含HJ-4WD蓝牙智能小车驱动IO口定义等函数
#include<XIANSHI.H>
#define uchar unsigned char
unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned char xianshi[4]={0xff,0xff,0xff,0xff};
unsigned char a=0;
unsigned int cnt=0;
unsigned long sec=0;
//主函数
void main(void)
{
unsigned char i;
P1=0X00; //小车停止
TMOD=11;
TH1=0XFC;
TL1=0X67;
TH0=0XFc; //1Ms定时
TL0=0X18;
TR0=1;
ET0=1;
TR1=1;
ET1=1;
EA = 1;
while(1) //无限循环
{
//有信号为0 没有信号为1
if(TF1==1)
{
TF1=0;
TH1=0XFC;
TL1=0X67;
cnt++;
if(cnt>=8000)
{
cnt=0;
sec++;
xianshi[0]=table[sec%10];
xianshi[1]=table[sec/10%10];
xianshi[2]=table[sec/100%10];
xianshi[3]=table[sec/1000%10];
}
if(i==0){P2=0xf7;i++;P0=xianshi[0];}
else if(i==1){P2=0xfb;i++;P0=xianshi[1];}
else if(i==2){P2=0xfd;i++;P0=xianshi[2];}
else if(i==3){P2=0xfe;i=0;P0=xianshi[3];}
}
if(Left_X_led==0&&Right_X_led==0) //白线
run();
else
{
if(Left_X_led==0&&Right_X_led==1) //左边检测到红外
{
Left_moto_go; //左边两个电机正转
Right_moto_Stop;
}
if(Right_X_led==0&&Left_X_led==1) //右边检测到红外
{
Right_moto_go; //右边两个电机正转
Left_moto_Stop;
}
}
}
}
复制代码
所有资料51hei提供下载:
小车.zip
(31.99 KB, 下载次数: 8)
2018-12-12 20:56 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2018-12-14 02:48
补全原理图或者详细说明一下电路连接即可获得100+黑币
作者:
xmc101
时间:
2021-7-9 16:09
能分享电路原理图吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1