×

红外循迹小车程序

消耗积分:2 | 格式:doc | 大小:29KB | 2014-05-25

凌风

分享资料个

红外循迹小车程序

#include 《reg52.h》

#include 《intrins.h》

#define uchar unsigned char

#define uint unsigned int

#define SIGNAL P2

//L298带动两个电机M1、M2

sbit IN1 = P1^0; //M1_L

sbit IN2 = P1^1; //M1_R

sbit IN3 = P1^2; //M2_L

sbit IN4 = P1^3; //M2_R

sbit ENA = P1^6; //M1_E

sbit ENB = P1^7; //M2_E

sbit chuan1=P2^0;

EA = 1;

M1_n = 2; //0~8, 代表0/8~8/8

M2_n = 2; //0~8, 代表0/8~8/8

M1_PWM = PWM[M1_n];

M2_PWM = PWM[M2_n];

P0 = 0;

P1 = M1_PWM;

P2 = M2_PWM;

}

uchar check(void)

{

uchar temp;

temp=SIGNAL&0x0f;

return temp;

}

void main()

{ uchar keep;

initiate();

while(1)

{

keep=check();

if(keep==0x00)

{

M1_R=0;//代表左右转的控制的标志位写法

M2_R=0;

}

if(keep==0x01)

{

M1_R=0;

M2_L=0;

}

if(keep==0x10)

{

M1_R=0;

M2_R=0;

}

if(keep==0x11)

{

M1_R=0;

M2_L=1;

}

}

}

void T0_INT(void) interrupt 1

{

TL0 = (65536 - 500) % 256; //重新赋值

TH0 = (65536 - 500) / 256; //1ms@12MHz

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !