汽车倒车的防撞系统大学论文Word格式文档下载.docx
《汽车倒车的防撞系统大学论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《汽车倒车的防撞系统大学论文Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
3.1主控单元设计………………………………………………4
3.1.1主控芯片的介绍………………………………………4
3.1.2最小系统………………………………………………10
3.1.3电源设计………………………………………………11
3.2测距单元的设计……………………………………11
3.2.1设计要求……………………………………………11
3.2.2超声波测距的基本原理……………………………11
3.2.3硬件系统的电路设计………………………………12
3.3小车电机驱动模块设计…………………………………14
3.3.1设计要求……………………………………………14
3.3.2驱动控制芯片的介绍………………………………14
3.3.3驱动电路的设计……………………………………16
3.3显示单元……………………………………………………………17
第4章系统软件设计…………………………………………18
4.1测距单元软件设计…………………………………………18
4.2驱动调速单元软件设计……………………………………19
第5章总结与展望………………………………………………20
结束语……………………………………………………………………21
致谢………………………………………………………………………22
参考文献………………………………………………………………23
附录倒车防撞系统源程序…………………………………………………25
第1章绪论
1.1论文背景
随着社会经济的发展,交通运输业日益兴旺,汽车的数量在大副攀升。
交通拥挤状况也日趋严重,撞车事件屡屡发生,造成了不可避免的人身伤亡和经济损失,针对这种情况,设计一种响应快,可靠性高且较为经济的汽车防撞报警系统势在必行,超声波测距法是最常见的一种距离测距方法,应用于汽车停车的前后左右防撞的近距离,低速状况,以及在汽车倒车防撞报警系统中,超声波作为一种特殊的声波,同样具有声波传输的基本物理特性——折射,反射,干涉,衍射,散射。
超声波测距即是利用其反射特性,当车辆后退时,超声波距离传感器利用超声波检测车辆后方的障碍物位置,并利用指示灯及蜂鸣器把车辆到障碍物的距离及位置通知驾驶人员,起到安全的作用。
1.2设计要求及主要功能介绍
本次设计的智能避障小车,它是以STC89C52作为主控制器,用超声波模块对距离进行距离测试,并将信号发给主控制器。
用L298芯片驱动直流电机,执行主控制器命令,控制小车的前进、后退、转向,并用LED灯和蜂鸣器报告检测出后方有障碍物。
第2章系统总体设计
2.1系统功能的定义
根据设计要求,可以先大致勾勒出要完成的设计,需要如下所示的几个模块。
图2.1功能模块图
2.2总体方案
本次设计的简易智能电动车,设计思路如下:
1.在小车前进过程中STC89C52芯片向超声波传感器模块Trig口发送长度为20us的脉冲信号,使超声波发射电路工作向前方发送超声波进行测量,此时STC89C52芯片中定时计数器开始计时;
当超声波遇到障碍物反射被,超声波接收电路收到反射波时,将测得的高电平信号通过Echo口传给主控制器,只有出现低电平时,计数器开始中断计时STC89C52根据时间差值检测法公式s=t/58(cm)计算出距离;
2.主控芯片STC89C52根据设定的报警距离判断前方是否出现了障碍物,如果判断是,则驱动蜂鸣器报警,LED灯闪烁;
3.利用主控芯片分别对两个直流电机发送连续的具有一定占空比的矩形脉冲进行PWM小车速度调制,在没有障碍物的情况下,后轮直流电机收到一定的脉冲宽度则小车走的是匀速直线运动;
当STC89C52芯片判断出有障碍物时,则前轮得到一定脉冲宽度,从而达到避障的目的。
本次设计的小车结构简单,较容易实现。
采用与MCS系列完全兼容的STC89C52芯片,它是一种低功耗、高性能、COMS微处理器。
片内具有8k字节的在线可重复编程快擦快写Flash存储器,256×
8位内RAM,STC89C52可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本。
驱动采用L298这款芯片,主要的特点是功率强大,可以加载高达46V的电压,并且提供两组IN口便于对两个轮子进行PMW速度调制控制。
超声波模块采用计时器中断计时的方法,算法简单有效,并且程序中采取超时控制防止出现无限大的数据;
同时也对温度的影响也采取了相应的措施,以增加测量的精确度。
采用四节干电池串联做电源,功率上达到设计要求,并且是很好的稳定的直流电源,避免的电网电源转化时出现的电流不稳定现象,一定程度上降低了电路的复杂程度。
LED与蜂鸣器的设计发挥了安全的报警作用,有较强的实用性,为系统的人性化设计增添了色彩。
总体设计框图如图2.2
图2.2汽车倒车防撞系统
第3章系统硬件电路设计
3.1主控单元设计
3.1.1主控芯片的介绍
引脚功能
本次的设计采用的是STC89C52单片机,它有44个引脚PLCC和TQFP方形封装形式,40个引脚的双列直插式封装形式,最常用的是40个引脚的双列直插式封装形式,各个引脚功能说明如图3.1
图3.1AT89S52单片机的引脚
VCC:
电源,接+5V
GND:
接地
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;
在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3-1所示。
在flash编程和校验时,P1口接收低8位地址字节。
表3-1AT89S52单片机P1口第二功能
引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口亦作为STC89C52特殊功能(第二功能)使用,如表3-2所示。
在flash编程和校验时,P3口也接收一些控制信号。
表3-289S52单片机P3口第二功能
P3.0
RXD(串行输入线)
P3.1
TXD(串行输出线)
P3.2
(外部中断0输入线)
P3.3
P3.4
T0(定时器0外部计数脉冲输入)
P3.5
T1(定时器1外部计数脉冲输入)
P3.6
(外部数据存储器写选通信号输出)
P3.7
RST:
复位输入。
晶振工作时,RST脚将持续2个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/
:
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在flash编程时,此引脚(
)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可以用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOVC指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
外部程序存储器选通信号(
)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,
在每个机器周期被激活两次,而在访问外部数据存储器时,
将不被激活。
/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,
必须接GND。
为了执行内部程序指令,
应该接VCC。
在flash编程期间,
也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
存储器结构
STC89C52器件有单独的程序存储器和数据存储器。
外部程序存储器和数据存储器都可以64KB寻址。
程序存储器:
如果
引脚接地,程序读取只从外部存储器开始。
对于STC89C52,如果
接VCC,读写程序先从内部存储器(地址为0000H~1FFFH)开始,接着从外部寻址,寻址地址为:
2000H~FFFFH。
数据存储器:
STC89C52有256字节片内数据存储器。
高128字节与特殊功能寄存器重叠。
也就是说高128字节与特殊功能寄存器有相同的地址,而物理上是分开的。
当一条指令访问高于7FH的地址时,寻址方式决定CPU访问高128字节RAM还是特殊功能寄存器空间。
直接寻址方式访问特殊功能寄存器(SFR)。
例如,下面的直接寻址指令访问0A0H(P2口)存储单元
MOV0A0H,#data
使用间接寻址方式访问高128字节RAM。
例如,下面的间接寻址方式中,R0内容为0A0H,访问的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。
MOV@R0,#data
堆栈操作也是间接寻址方式。
因此,高128字节数据RAM也可用于堆栈空间。
定时器
1.MCS-51系列中51子系列有两个16位的可编程定时/计数器:
定时/计数器T0和定时/计数器T1,52子系列有三个,还有一个定时/计数器T2。
2.每个定时/计数器既可以对系统时钟计数实现定时,也可以对外部信号计数实现计数功能,通过编程设定来实现。
3.每个定时/计数器都有多种工作方式,其中T0有四种工作方式;
T1有三种工作方式,T2有三种工作方式。
通过编程设置其方式寄存器TMOD可设定定时器工作于某种方式,方式寄存器TMOD格式见表3-3。
表3-3定时/计数器的方式寄存器TMOD
GATE
C/
M1
M2
门控
开/关
计数/定时
方式选择
T1T0
GATE:
门控信号。
GATE=0,TRx=1时即可启动定时器/计数器工作,是一种自启动的方式;
GATE=1,TRx=1,
=1时才可启动定时器/计数器工作。
即是
引脚加高电平启动,是一种外启动方式。
定时或计数方式选择位,当C/
=1时工作于计数方式;
当C/
=0时工作于定时方式。
M1、M0:
为工作方式选择位,定时器/计数器的四种工作方式由M1M0设定,设定情况见表3-4。
表3-4M1M0的设定
M0
工作方式
方式说明
13位定时/计数器
1
16位定时/计数器
2
8位自动重置定时/计数器
3
T0为两个8位定时/计数器
4.每一个定时/计数器定时计数时间到时产生溢出,使控制寄存器TCON中相应的溢出位置位,溢出可通过查询或中断方式处理,控制寄存器格式见表3-5。
表3-5定时/计数器的控制寄存器TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
T1请求有/无
T1工作启/停
T0请求有/无
T0工作启/停
INT1请求有/无
INT1方式下沿/低电平
INT0请求有/无
INT0方式下沿/低电平
其中:
TF1:
定时/计数器T1的溢出标志位,当定时/计数器T1计满时,由硬件使它置位,如中断允许则触发T1中断。
进入中断处理后由内部硬件电路自动清除。
TR1:
定时/计数器T1的启动位,可由软件置位或清零,当TR1=1时启动;
TR1=0时停止。
TF0:
定时/计数器T0的溢出标志位,当定时/计数器T0计满时,由硬件使它置位,如中断允许则触发T0中断。
TR0:
定时/计数器T0的启动位,可由软件置位或清零,当TR0=1时启动;
TR0=0时停止。
中断
STC89C52有6个中断源:
两个外部中断(
和
),三个定时中断(定时器0、1、2)和一个串行中断。
每个中断源都可以通过置位或清除特殊寄存器IE中的相关中断允许控制位分别使得中断源有效或无效。
IE还包括一个中断允许总控制位EA,它能一次禁止所有中断。
如表3-6所示,IE.6位是不可以用的。
它们为AT89系列新产品预留。
定时器2可以被寄存器T2CON中的TF2和EXF2的或逻辑触发。
程序进入中断服务后,这些标志位都可以由硬件清0。
实际上,中断服务程序必须判定是否是TF2或EXF2激活中断,标志位也必须由软件清0。
定时器0和定时器1标志位TF0和TF1在计数溢出的那个周期的S5P2被置位。
它们的值一直到下一个周期被电路捕捉下来。
然而,定时器2的标志位TF2在计数溢出的那个周期的S2P2被置位,在同一个周期被电路捕捉下来。
表3-6中断允许控制寄存器(IE)
(MSB)(LSB)
EA
--
ET2
ES
ET1
EX1
ET0
EX0
EA:
中断允许总控位。
EA=0,屏蔽所有的中断请求;
EA=1,开放中断。
ET2:
定时器/计数器T2的溢出中断允许位
ES:
串行口中断允许位。
ET1:
定时器/计数器T1的溢出中断允许位。
EX1:
外部中断INT1的中断允许位。
ET0:
定时器/计数器T0的溢出中断允许位。
EX0:
外部中断INT0的中断允许位。
3.1.2最小系统
复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。
一般微机电路正常工作需要供电电源为5V±
5%,即4.75~5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。
图3.2复位电路
震荡电路
晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率是串联谐振,较高的频率是并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就波振荡电路,由于晶振等效为电感频率范围很窄所以即使其它参数元件很大,这个震荡器的频率也不会有很大变化。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的