|
由于本人51系统板的单片机芯片烧坏了 ,红外遥控程序要等芯片到手才能继续编写,现在发布自己用过多的红外跟踪程序,给新手学习用,有不懂得地方跟帖即可。
硬件配置:二个红外光电开关(红外传感器),单片机最小系统板(89C52RC)~~~
程序如下:
#include <REG52.H>
#include <intrins.h>
#define RightSenser P1_4 //左传感器
#define LeftSenser P1_5 //右传感器
unsigned char a,b,k,j;de;
void delay10ms() //延时函数
{
for(a=100;a>0;a--)
for(b=225;b>0;b--);
}
//********************************************************
//********************************************************
main()
{
delay10ms();
delay10ms();
delay10ms();
delay10ms();
while(1)
{
P1_0 = 1 ;
P1_1 = 1 ;
P1_2 = 1 ;
P1_3 = 1;
if((!RightSenser) && LeftSenser) // 如果右边假,左边真
{
P1_0 = 0 ;
P1_1 = 1 ;
P1_2 = 1 ;
P1_3 = 1;
delay10ms();
delay10ms();
}
if(RightSenser && (!LeftSenser)) // 如果左边假,右边真
{
P1_0 = 1 ;
P1_1 = 1 ; P1_2 = 0 ;
P1_3 = 1;
delay10ms();
delay10ms();
}
if((RightSenser) && (LeftSenser)) //左右都是真
{
P1_0 = 0 ;
P1_1 = 1 ;
P1_2 = 0 ;
P1_3 = 1;
for (de=0; de<100; de++); // 延时
}
delay10ms();
delay10ms();
delay10ms();
}
}
目的:新手参考本程序学习for语句的延时和if语句。本程序有错误的地方可跟帖指出,共同学习。
|
评分
-
查看全部评分
|