C51——循迹小车实现

文章介绍了TCRT5000模块用于循迹的原理,当红外线未被反射或反射不足时输出高电平,反之输出低电平。接线包括VCC、GND和DO、A0引脚的连接。代码部分展示了如何根据左右传感器的电平状态控制电机前进、左转、右转或停止。此外,还提到了通过电位器调整灵敏度以及串口通信接收指令控制电机动作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCRT5000模块(循迹)
1、模块原理:红外发射二极管不断发射红外线,当发射出的红外线没有被反射回来或强度不够大时,模块的输出高电平1(指示灯不亮);当红外线有被反射回来,此时模块输出低电平0(指示灯亮)

2、接线:vcc接5v,gnd接地,DOttl开关信号输出,A0模拟信号输出(不同距离输出不同电压,在此实验可以不接)

3、循迹原理:有感应到黑线,红外线被吸收反射较弱,DO=1(灭灯);没有感应到黑线,红外线能反射回来,DO=0(亮灯)
向前:两个模块都能反射回来,输出低电平
向左:左边压线,左边模块反射不回来是高电平,右边模块能反射回来是低电平
向右:右边压线,左边模块能反射回来输出低电平,右边模块反射不回来输出低电平

4、识别不灵敏或过于灵敏的时候将模上电位器调整到合适的位置

代码:

1、

main.c

//#include "reg52.h"//代码里边没有,sbit i/o口,可以不要声明
//#include "intrins.h"//代码里边没有_nop_();可以不要该声明
#include "motor.h"
#include "dalay.h"
#include "uart.h"

sbit leftsenser=P2^6;
sbit rightsenser=P2^7;

void main()
{
	Delay1000ms();
	UartInit();
  if(leftsenser==0&&rightsenser==0){
    goforward();
  }
	if(leftsenser==1&&rightsenser==0){
    goleft();
  }
	if(leftsenser==0&&rightsenser==1){
    goright();
  }
  if(leftsenser==1&&rightsenser==1){
    stop();
  }
	  while(1);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值