基于51单片机的巡线机器人

目 录
摘 要 I
Abstract II
第1章 绪论 1
1.1 选题背景及意义 1
1.1.1 选题背景 1
1.1.2 选题意义 1
1.2 国内外研究现状及发展趋势 1
1.2.1 国内研究现状 1
1.2.2 国外研究现状 2
1.2.3 发展趋势 3
1.3 本课题研究的主要内容 3
第2章 系统总体方案设计 5
2.1 设计要求 5
2.2 方案选择 5
2.3 整体设计框架 6
第3章 系统硬件设计 7
3.1 巡线机器人整体硬件方案设计 7
3.2 51单片机最小系统模块 7
3.3 1621LCD显示模块 8
3.4 红外线模块 9
3.5 超声波模块 10
3.6 L298N电机驱动模块 11
第4章 系统软件设计 13
4.1 程序语言及开发环境 13
4.2 程序流程图设计 13
4.2.1 总体程序设计 13
4.2.2 LCD1602显示屏程序设计 14
4.2.3 红外遥控程序设计 15
第5章 硬件组装与调试 17
5.1 元器件的选择与测量 17
5.2 电路板的焊接 17
5.3 实物的调试 18
5.3.1 仿真调试 18
5.3.2 实物调试 18
第6章 总结与展望 21
6.1 总结 21
6.2 展望 21
致 谢 23
参考文献 24
附 录 26
附录一 原理图 26
附录二 PCB图 26
1.3 本课题研究的主要内容
本课题的主要研究内容是设计一款基于AT89C51单片机的多功能巡线机器人。通过构建这一巡线机器人系统,旨在提升个人在自动化控制系统设计与动手实践方面的能力。
研究的核心在于以AT89C51单片机作为控制芯片,构建巡线机器人的核心控制系统。在此基础上,开发并集成了障碍物检测、寻线、车辆移动等多项功能。为实现这些功能,本研究引入了红外探测器用于障碍物检测和寻线,超声波探测器用于精确测距以实现避障功能,以及电机驱动模块用于控制巡线机器人的运动。
在功能实现的过程中,本研究特别注重智能算法的应用。通过算法的优化和调试,实现了巡线机器人的智能跟踪和避障功能,提高了巡线机器人在复杂环境中的自主导航能力。
此外,本研究还探讨了红外、电机、超声波测距等技术在巡线机器人上的实际应用。通过这些技术的深入研究,我们可以进一步开发红外技术、超声波测距技术,并探索它们在实际巡线机器人中的应用,如红外倒车报警系统、红外防盗系统、超声波倒车系统等。这些应用不仅具有一定的实用性,也为巡线机器人技术的未来发展提供了广阔的空间。
综上所述,本课题的主要研究内容是基于AT89C51单片机的巡线机器人设计,通过集成多种传感器和智能算法,实现巡线机器人的多功能和智能化,并探索相关技术在实际应用中的可能性。

#include"SMG.h"
#include"ultrasonic.h"
#include"temp.h"
#include"moving.h"
#include"irControl.h"

sbit buzz = P2^3;

extern uchar temp;
extern uchar humi;
extern uint jz;
unsigned int Cmeter,motor; //行程里数
unsigned int timesc=0;
unsigned char flagTemp=0,flagUltra = 0;
//外部中断
void EXTI_init (void)
{
	EA = 1;			//中断总开关  
	EX0 = 1; 		//允许外部中断0中断
	IT0 = 1; 		//1:下沿触发  0:低电平触发
}

//初始化变量
void initVariable(void)
{
	LcdInitiate();
	Timer1Init();
	Cmeter = 0;
	motor = 0;
	buzz=0;
	initIR();
//	EXTI_init();
}
//超声波测距
void ultrasonic_Distance(void)
{
	unsigned int dis;
	dis = distance();
	display_ultrasonic(dis,0x00);
//	if(dis<35)	buzz = 1;
//	else buzz = 0;
}
//温湿度-行程里数
void temp_hui(void)
{
	ReadDhtData();
	display_TH(temp,humi);
	motor=(Cmeter)*14-14;
//	display_Cmeter(motor,0x09);
}
void main(void)
{	
	initVariable();
	while(1)
	{
//	   ultrasonic_Distance();
//	   temp_hui();
	   display_val(jz,0x49+3);
	   delay(50);
	}		   
}
/*********************************************************************************************
外部中断INT0计算电机的脉冲
/********************************************************************************************/
//void intersvr1(void) interrupt 0 using 1
//{	
//	Cmeter++;	
//}
//void intersvr2(void) interrupt 2 using 3
//{	
//}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值