1、两个电机按同一个方向转动。(2)小车的反转:两个电机按同一个方向反向转动。(3)小车的左转和右转:一个电机快速转动而另一个电机缓慢的转动。1.3.1框图设计基于STC89C51单片机智能小车的控制系统由电源电路、单片机主控电路、复位电路、晶振电路、车轮转轴驱动电路、按键电路等组成,框图组成如图1-1所示。1.3.2知识点本项目需要通过学习和查阅资料,了解和掌握一下知识。+5v电源原理及设计。单片机复位电路工作原理及设计。单片机晶振电路工作原理及设计。按键电路的设计。数码管的特性及其使用。STC89C51单片机的引脚图及其功能使用。L293D驱动器管脚及其功能使用。红外接收装置的使用。单片机C语
2、言的及其设计。1.4硬件设计1.4.1电路原理图 (1)数码管显示电路原理图如图1-2所示。图1-2 数码管显示电路原理图(2)智能小车车轮驱动电路原理图如图1-3所示。L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。图1-3 智能小车车轮驱动电路原理图(3)LED指示灯原理图如图1-4所示。
3、图1-4 LED指示灯原理图(4)红外传感器寻线的原理图如图1-5所示。图1-5 红外传感器寻线的原理图(5)红外传感避障原理图如图1-6所示。图1-6 红外避障原理图 综上所述,可以设计出STC89C51单片机控制智能小车的最小系统原理图如图1-7所示。图1-7 STC89C51单片机控制智能小车的最小系统原理图1.4.2原件清单 基于STC89C51单片机智能小车控制系统的原件清单如表1-1所示。表1-1 基于STC89C51单片机智能小车控制系统的原件清单原件名称型号数量用途单片机电容电解电容电源VCC直流电机三极管集成块STC89C51100uF30pF10uF/10V+5v/1AL2
4、93D1个4个2个若干控制核心晶振电路复位电路提供电源车轮驱动脉宽调整晶振电阻发光二极管数码管蜂鸣器电位器11.0592MHZ1K0.7V共阴极300直流电机驱动指示灯显示数字数码管限流1.4.3 L293D驱动单片机的原理简介如图2-6 L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PW
5、M连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转1.4.4 STC89C51单片机管脚图及其功能(1)STC89C51管脚图如图1-8所示。图1-8 STC89C51管脚图(2)STC89C51的管脚图功能 如图2-7为STC89C51的引脚功能图,其各个引脚功能概述如下: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIAS
6、H编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用
7、于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(
8、串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出
9、的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器 周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/
10、EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。1.5 软件设计1.5.1 程序流程图智能小车控制流程图如图1-9所示。1.5.2 L293D驱动器管脚赋值表L293D驱动器小车电机转动的管脚图赋值表如表1-2所示。表1-2 L293D驱动器小车电机转动的管脚图赋值表 状态引脚停止(K4)左转(K0)右转(K1)前进(K2)后退(K3)Out1(P2.0)1Out2(P2.1)Out3(P2.2)Out4(P2.3)1.5.3 程序清单相关软件
11、程序清单如下:(1)智能小车自动寻线软件清单如下:#include #define uchar unsigned char #define uint unsigned intsbit K1=P10;sbit K2=P11;sbit K3=P12;sbit K4=P13;sbit K5=P14;sbit KIN1=P15;sbit KIN2=P16;sbit out1 = P20 ;sbit out2 = P21 ;sbit out3 = P22 ;sbit out4 = P23 ; void delay(uint t) /延时程序1 uchar j; while(t-) for(j=5;j0;j-); /左转void comeleft() uchar i; out1=0; out2=0; out3=1; out4=0; for(i=0;i10;i+) out1=!out1; delay(1); /左微转void sleft()5;/右微转void sright() uchar i; out1=1; out3=0; out3=!out3;/右转void comeright ()
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1