基于AT89C51的简单智能循迹小车
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Leabharlann Baidu
流程图
传感器
AT89C51
马达控制 电路
实物图
所有器件
一星期后小车测试成功
内容
传感器模块 单片机模块 马达控制模块
传感器原理图
最左端的是发白光的二 极管,它发射出来的光被 光敏电阻所接受,导致光 敏电阻的阻值发生变化. 然后我们就要调滑动变 阻器使得2端的电压在3 端变化的电压之间.这样 就可以使当光敏电阻接 受到暗光源时的压低于3 端的电压,则7端输出低电 平,反之则输出高电平.
//********* P1_5=1; P1_4=1; //限制速度 delay5ms(25); P1_4=0; delay5ms(10); } } //*********************** void delay5ms(unsigned char i) { unsigned char j; for(j=0;j<i;j++) { TH1=0xec; TL1=0x78; TR1=1; while(!TF1); TF1=0; } }
51单片机最小系统
H桥马达驱动电路
LM2984芯片
(6)L298N大功率直流电机驱 动模块资料: L298N 是专用驱动集成电路,属 于H 桥集成电路,与L293D 的差 别是其输出电流增大, 功率增强。其输出电流为2A,最 高电流4A,最高工作电压50V, 可以驱动感性负载,如大功 率直流电机,步进电机,电磁阀 等,特别是其输入端可以与单片 机直接相联,从而很方便地 受单片机控制。当驱动直流电机 时,可以直接控制两路电机,并 可以实现电机正转与反转, 实现此功能只需改变输入端的逻辑电平。 本模块具有体积小,控制方便的特点。采用此模块定会使您的电机控制自如, 可以应对需要大功率直流电机的题目。
P1_0=0; //前进 (后马达) P1_1=1; //******** P1_5=1; P1_4=1; //限制速度 delay5ms(50); P1_4=0; delay5ms(10); } } //*********************** else if (P3_1==0 && P3_2==1) { while(!P3_0==0 && !P3_2==0) {P1_2=1;// 左转 (前马达) P1_3=0; //******** P1_5=1; P1_4=1; //限制速度 delay5ms(25); P1_4=0; delay5ms(10); } } //*************************************** else if (P3_1==1 && P3_2==0) { while(!P3_0==0 && !P3_1==0) {P1_2=0; // 右转 (前马达) P1_3=1;
智能循迹小车设计报告
设计者:申晋杰、刘家增
E-mail: dpsjj0602@126.com
摘要
本小车以AT89C51单片机为核心控制系 统,通过传感器读入数据,经单片机处 理后,输出控制信号给马达驱动电路, 来控制马达的正反转动。 所以整个过程不需要人来控制,当不同 的传感器检测到黑线时,马达会有不同 的转动方向。从而实现了简单的智能控 制。
C语言控制程序
#include <reg51.h> sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; sbit P1_3=P1^3; sbit P1_4=P1^4; sbit P1_5=P1^5; //************* sbit P3_0=P3^0; sbit P3_1=P3^1; sbit P3_2=P3^2; void delay5ms(unsigned char i); void main() { while(1) { if (P3_0==0) { while(!P3_1==0 && !P3_2==0) {P1_2=1; //方向向前 P1_3=1; //********
参考资料
《单片机应用技术(C语言版)》2009版——王静霞 《数字电子技术基础》2008版——刘守义、钟苏 《模拟电子技术基础》2003版——陈梓城 百度知道
设计项目
流程图
传感器
AT89C51
马达控制 电路
实物图
所有器件
一星期后小车测试成功
内容
传感器模块 单片机模块 马达控制模块
传感器原理图
最左端的是发白光的二 极管,它发射出来的光被 光敏电阻所接受,导致光 敏电阻的阻值发生变化. 然后我们就要调滑动变 阻器使得2端的电压在3 端变化的电压之间.这样 就可以使当光敏电阻接 受到暗光源时的压低于3 端的电压,则7端输出低电 平,反之则输出高电平.
//********* P1_5=1; P1_4=1; //限制速度 delay5ms(25); P1_4=0; delay5ms(10); } } //*********************** void delay5ms(unsigned char i) { unsigned char j; for(j=0;j<i;j++) { TH1=0xec; TL1=0x78; TR1=1; while(!TF1); TF1=0; } }
51单片机最小系统
H桥马达驱动电路
LM2984芯片
(6)L298N大功率直流电机驱 动模块资料: L298N 是专用驱动集成电路,属 于H 桥集成电路,与L293D 的差 别是其输出电流增大, 功率增强。其输出电流为2A,最 高电流4A,最高工作电压50V, 可以驱动感性负载,如大功 率直流电机,步进电机,电磁阀 等,特别是其输入端可以与单片 机直接相联,从而很方便地 受单片机控制。当驱动直流电机 时,可以直接控制两路电机,并 可以实现电机正转与反转, 实现此功能只需改变输入端的逻辑电平。 本模块具有体积小,控制方便的特点。采用此模块定会使您的电机控制自如, 可以应对需要大功率直流电机的题目。
P1_0=0; //前进 (后马达) P1_1=1; //******** P1_5=1; P1_4=1; //限制速度 delay5ms(50); P1_4=0; delay5ms(10); } } //*********************** else if (P3_1==0 && P3_2==1) { while(!P3_0==0 && !P3_2==0) {P1_2=1;// 左转 (前马达) P1_3=0; //******** P1_5=1; P1_4=1; //限制速度 delay5ms(25); P1_4=0; delay5ms(10); } } //*************************************** else if (P3_1==1 && P3_2==0) { while(!P3_0==0 && !P3_1==0) {P1_2=0; // 右转 (前马达) P1_3=1;
智能循迹小车设计报告
设计者:申晋杰、刘家增
E-mail: dpsjj0602@126.com
摘要
本小车以AT89C51单片机为核心控制系 统,通过传感器读入数据,经单片机处 理后,输出控制信号给马达驱动电路, 来控制马达的正反转动。 所以整个过程不需要人来控制,当不同 的传感器检测到黑线时,马达会有不同 的转动方向。从而实现了简单的智能控 制。
C语言控制程序
#include <reg51.h> sbit P1_0=P1^0; sbit P1_1=P1^1; sbit P1_2=P1^2; sbit P1_3=P1^3; sbit P1_4=P1^4; sbit P1_5=P1^5; //************* sbit P3_0=P3^0; sbit P3_1=P3^1; sbit P3_2=P3^2; void delay5ms(unsigned char i); void main() { while(1) { if (P3_0==0) { while(!P3_1==0 && !P3_2==0) {P1_2=1; //方向向前 P1_3=1; //********
参考资料
《单片机应用技术(C语言版)》2009版——王静霞 《数字电子技术基础》2008版——刘守义、钟苏 《模拟电子技术基础》2003版——陈梓城 百度知道
设计项目