基于AT89C51的校车安全辅助装置设计.docx
《基于AT89C51的校车安全辅助装置设计.docx》由会员分享,可在线阅读,更多相关《基于AT89C51的校车安全辅助装置设计.docx(42页珍藏版)》请在冰点文库上搜索。
基于AT89C51的校车安全辅助装置设计
ANYANGINSTITUTEOFTECHNOLOGY
本科毕业论文
基于AT89C51的校车安全辅助装置设计
TheDesignOfSchoolBusSafetyAssistDeviceBasedonAT89C51
系(院)名称:
电子信息与电气工程学院
专业班级:
2008级自动化1班
学生姓名:
学号:
200802010047
指导教师姓名:
李正斌
指导教师职称:
讲师
2012年5月
业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得安阳工学院及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解安阳工学院关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
基于AT89C51的校车安全辅助设计
摘要:
本文设计了一个基于AT89C51单片机控制的校车安全辅助系统,该系统以AT89C51单片机为核心,由行驱动电路模块、列端口扩展模块、16*64LED点阵显示模块、H桥式驱动电路模块、电源等功能模块构成。
其中行驱动模块由译码器74HC154和三极管构成,74HC154为4线—16线高速CMOS译码器,用以实现行地址的扩展。
通过三极管放大译码器输出的电流信号驱LED显示。
列扩展模块由8片74HC595构成,通过级联只需要使用3个单片机端口就可扩展成64个端口,完美的解决了单片机端口不足的问题。
点阵显示模块由16块8*8的点阵构成16*64的点阵屏显示系统。
H桥式电机驱动电路包括4个三极管和一个直流电机。
要使电机运转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
本系统大部分功能通过软件实现,吸收了硬件软件化的思想,使电路简单明了,系统稳定性大大提高,硬件调试及维修更为方便。
本系统设计的难点在于点阵的翻转程序和直流电机正反转控制程序的编写上。
通过proteus仿真实现了预期的所有功能。
关键词:
单片机;点阵显示;H桥式电路
TheDesignOfSchoolBusSafetyBasedonAT89C51
Abstract:
ThispaperdescribesthedesignofasinglechipmicrocomputerbasedonAT89C51controlschoolbussafetyassistantsystem,thesystemisbasedonAT89C51single-chipmicrocomputerasthecore,byalinedrivecircuitmodule,thecolumnportexpansionmodule,16*64LEDdot-matrixdisplaymodule,Hbridgedrivercircuitmodule,powersupplymodule.Therowdrivemodulebythedecoder74HC154anddynatron,74HC1544line,16linehigh-speedCOMSdecoder,toachievetherowaddressextension.ThroughthedynatronamplifieroutputcurrentsignaldriveLEDdisplay.Columnexpansionmoduleiscomposedof8piecesof74HC595,throughacascadeofonlyrequirestheuseof3single-chipportcanbeextendedintothe64port,theperfectsolutiontotheproblemofinsufficientportofthesinglechip.Dotmatrixdisplaymoduleiscomposedof16blocksof8*8latticeform16*64latticescreendisplaysystem.Hbridgemotordrivecircuitincludes4threetransistorandaDCmotor.Tomakethemotorrun,mustbeconductedonthediagonalandapairofthreetransistors.Accordingtothethreetransistoroftheconductingcircumstance,currentmaybefromlefttorightorrighttoleftfromflowingthroughthemotor,therebycontrollingthemotorturning.Thissystemmostofthefunctionsrealizedbysoftware,absorbedtheideasofhardwareandsoftware,sothatthecircuitissimple,greatlyimprovethestabilityofthesystem,hardwaredebuggingandrepairismoreconvenient.ThedesignofthissystemliesinthedifficultyofdotmatrixturnoverproceduresandDCmotorcontrolprogram.Throughproteussimulationachievedtheexpectedfunctionofall.
Keywords:
SCM;Dotmatrixdisplay;Hbridgecircuit
引言
近来,各地连续发生了几起校车重大安全事故,在付出惨痛的代价后,校车的安全问题终于受到政府的重视,国务院也已责成有关部门迅速制订《校车安全条例》,完善校车标准,做好校车设计、生产、改造、配备等工作,并建立相应管理制度。
2012年3月28日国务院第197次常务会议通过了《校车安全管理条例》,2012年4月5日,温家宝总理签署国务院第617号令,至此中国的第一部关于校车安全的条例自公布之日开始实行。
根据《校车安全管理条例》规定,载有学生的校车享有路上“优先权”,可在公共交通专用车道以及其他禁止社会车辆通行但允许公共交通车辆通行的路段行驶。
条例的出台能否真正改善校车的安全尚不得而知,但做出的努力确是有目共睹,那么国外的校车是什么情况呢?
在美国,校车在停车时左侧都会伸出一个近一米的交通标志杆,此时来往的车辆都要停下,超越正在停靠和上下学生的校车是最严重的交通违法行为之一。
在德国,校车必须设立车站,车站标志须明显可辨,要在规定车位停车;在日本,校车会有意的避开交通高峰期,分为三条路线,轮流接送学生;在加拿大,与校车有关的死亡事故是零。
除了国家的重视,车体的坚固也是国外校车安全性高的一个条件。
2006年在美国印第安纳州发生的车祸,最终以悍马的迎头粉碎和校车的轻微受损验证了美国校车的坚固,正是这种重视使美国坐校车的安全系数要比坐私家车和公交车高40倍。
在校车的安全性及事故处理来看,我国较国外确实颇有不如。
我们从目前可以改进并着手改进的手段来看:
观念及技术的介入正在改变着校车的安全性。
先看理念,保障校车安全的最强大力量其实还是来自人本身,是否真正认同“孩子的生命安全高于一切最有价值的财富”的原则。
除此之外,技术的介入也正在逐步改善校车的安全状况,像近期在重庆亮相的最新校车,只需一个按钮,车窗玻璃全部碎成渣,高分子材料武装的轮胎遭遇铁钉也不会爆胎;油箱遇火不会爆炸;这些强大的功能以前只会出现在军用车辆上,但现在已经开始为孩子们保驾护航。
优越的硬件条件、严格的安全标准、完善的管理措施和科学的人力安排,软件、硬件双管齐下,才能有效保障乘车学生的安全。
本文的第一章主要是对设计要求的分析,在充分理解设计要求的基础上对各种方案进行比较,选出最优方案。
第二章主要是对该设计的硬件电路介绍,以及电路中个元件的参数计算。
第三章是系统软件的逻辑介绍。
第四章为系统的仿真效果展示。
第一章方案论证及选择
本章主要对该课题的分析,根据分析所得的结论,选择不同的预设方案,然后对这些方案进行比较,选择出最优的实施方案。
1.1设计任务要求
1.校车行驶中,LED点阵显示“保持车距”。
2.当校车靠右停车时,电动机正向转动,带动车后的横杆缓缓放下,直到横杆压下车右边的按钮时电机停止转动。
然后车门打开(警灯亮)。
此过程中固定在横杆上的LED点阵翻转显示的“请避让!
”。
3.当校车启动时按下关门按钮车门关闭(警灯灭)。
电机反向转动,缓缓收起车后横杆,当横杆压下校车左方按钮时电机停止反转,此过程中LED正向显示“保持车距”。
表1.1设计要求
按键
功能
校车状态
1
显示“保持车距”
行驶中
2
电机正转
停车中
3
警灯亮、电机停、翻转显示“请避让!
”
停车
4
电机反转、警灯灭
校车起步
5
显示“保持车距”电机停止转动
行驶中
1.2方案比较与选择
1.2.1单片机的比较与选择
目前基于此课题的设计方案主要有四种,分别是基于凌阳十六位单片机SPCE061A的C语言或汇编语言设计,基于ATMEL八位单片机AT89C51的设计,基于TMS320C5000系列的DSP设计,基于μC/OS-II操作系统的ARM设计,下面具体分析各种设计方案的优缺点。
方案一:
基于凌阳十六位单片机SPCE061A的C语言或汇编语言设计
优点:
功能强、效率高的指令系统:
μ’nSPTM的指令系统的指令格式紧凑,执行迅速,并且其指令结构提供了对高级语言的支持,这可以大大缩短产品的开发时间。
低功耗、低电压:
μ’nSPTM家族采用CMOS制造工艺,同时增加了软件激发的弱振方式,空闲方式和掉电方式,极大地降低了其功耗,另外,μ’nSPTM家族的工作电压范围大,能在低电压供电时正常工作,且能用电池供电,这对于其在野外作业等领域中的应用具有特殊的意义。
缺点:
与学习过的ATMEL八位单片机AT89C51相比,对凌阳单片机接触的少,应用能力不够。
并且他的优势是高级语言模块,在本设计中没有用。
在仿真环境的应用上无法顺利实现出需要实现的功能,不太适合应用在本设计上。
方案二:
基于AT89C51单片机设计
优点:
51单片机具有高效能,资源占用率低等特点。
目前51单片机的使用非常广泛,关于51单片机设计开发的资料非常丰富。
使用C语言编程可以实现丰富的功能,在Proteus仿真环境上也可以很好地体现出本设计欲达到的效果。
并且各方面知识在之前的学习中已有较熟悉的了解,运用起来得心应手。
缺点:
对多线程同时需要共享资源的任务处理性能有限,无法满足现今对执行效率和存储容量都有较高要求的需要。
在多任务的处理能力上根本无法与基于嵌入式操作系统构架的方案同日而语。
方案三:
基于μC/OS-II操作系统的ARM设计
优点:
ARM内核是一种32位RISC微处理器,具有功耗低、性价比高和代码密度高等特点,适用于对性能要求比较高的领域。
μC/OS-II具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。
μC/OS-II已经移植到了几乎所有知名的CPU上。
缺点:
ARM相对51单片机而言在接口设计和编程方面比较复杂,需要系统的学习而不适合初学者。
而μC/OS-II虽然是在任务调度方面有优势,但它定义的一些API或数据结构和标准C库里的有冲突,以至于许多标准C函数无法应用。
方案四:
基于TMS320C5000系列的DSP设计
优点:
DSP(digitalsignalprocessor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。
它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
缺点:
与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。
由于本课题属于小型项目,信息处理量不大,如果选择功能强大的基于μC/OS-II操作系统的ARM芯片或者高速DSP芯片来设计显然不太合适。
采用凌阳十六位单片机SPCE061A的C语言或汇编语言设计也同样存在知识缺乏,开发过程复杂等情况,本项目并不能发挥出这些芯片的强大功能。
基于以上优缺点的分析我选择了第二种设计方案。
选用ATMEM公司的AT89C51作为控制芯片,成本低,开发周期短,配合各种专用芯片的使用能够实现丰富的功能。
可以在Proteus仿真环境中很好的体现出设计所要实现的效果
1.2.2扫描方式的方案比较和选择
方案一:
静态显示,所谓的静态显示就是对LED电子显示屏中的每一像素点都通过硬件单独控制,整个LED显示屏所有的LED的同时显示。
此方式最大优点是程序设计简单,且画面无闪烁。
但这种设计存在致命的缺点:
电路复杂,硬件利用率低,成本巨大。
所以此方式一般不被采用。
方案二:
采用动态扫描法并行输出数据,所谓的动态扫描法是利用视觉暂留特点而实现的一种显示方法。
即当刷新速率足够高时,人眼就察觉不出显示屏画面更迭的闪烁。
若要显示一帧画面,先送出第一行的数据,然后选通并点亮第一行,延时,此后送出第二行的数据,同样选通、点亮并延时;依次将所有行扫描完,即给出了一帧的画面。
方案三:
采用动态扫描法串行输出数据,方案二和方案三同样采用动态扫描实现显示过程。
但方案二的缺点也是明显的,比较而言,方案二的译码电路比较复杂,相对硬件开销大一些;方案三电路构成简单,译码电路简洁。
为使电路设计简洁易行,我们采用方案三。
1.2.3行列控制方式的方案比较与选择
方案一:
采用并口输出,如果采用该方式,本系统点阵部分共需要80个IO端口。
方案二:
应用行扫描和列送数据的方式,横向取模,从STC89C51串口发送出来的数据通过74HC595进行串并行数据转换输出给LED的各列,从STC89C51输出口出来的数据进入线译码器74HC154,译码以后通过限流电阻进入三极管放大,直接驱动LED点阵的各行。
该种方式点阵部分共需要8个I/O口。
为了更好的利用单片机资源,我们采用方案二。
第二章硬件设计
2.1系统整体框图
整个系统由单片机最小系统、点阵的行驱动模块、列驱动模块、LED点阵、H桥式电路模块组成。
系统整体框图如图2.1所示。
图2.1系统整体框图
2.2单片机最小系统
单片机最小系统由单片机、时钟电路、复位电路、电源电路构成,其框图如图2.2所示。
图2.2最小系统框图
最小系统原理图如图2.3所示。
图2.3最小系统图
2.2.1时钟电路
时钟电路的作用:
时钟电路用于产生单片机工作所必需的时钟控制信号。
单片机各功能部件的运行都是以时钟控制信号为基准,有条不紊地一拍一拍地工作。
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
本系统的时钟电路原理图如图2.4所示。
图2.4时钟电路原理图
说明:
1:
系统采用内部时钟方式
2:
XTAL1,XTAL2接单片机的15和14引脚
3:
两个电容典型值通常都为30pF
时钟周期:
单片机的基本时间单位,决定了单片机的运行速度。
其计算公式为:
(2-1)
本系统的选用的晶振频率
为12MHz,代入上式可得
=1us。
2.2.2复位电路
复位电路的作用:
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
如果没有复位电路,单片机将不能正常工作。
复位操作:
给单片机的复位引脚加上大于两个时钟周期的高电平。
本系统采用了手动复位和上电自动复位两种复位方式。
其复位原理图如图2.5所示。
图2.5复位电路原理图
2.2.3主控电路(单片机)
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbyte的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MSC-51指令系统,片内置通用8位中央处理器和FLASH存储单元,适合在开发阶段的使用。
AT89C51提供以下标准功能:
4k字节FLASH闪存存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51的管脚配置图如下图2.6所示。
图2.6AT89C51单片机
AT89C51单片机管脚说明如下:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,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口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.2.4电源电路
直流电源电路原理框图如图2.7所示。
图2.7直流电源电路图框图
本系统所需电源:
电流大于640mA(系统所需电流的计算会在以后提到),电压为5V。
由系统所需电压可选择稳压电路的稳压管为LM7805,该稳压管的输出电压为5V,输入电压需大于8V,故可选择9V的电源变压器。
由于系统所需的电流大于640mA,市面上可以得到的9V变压器功率有8W和12W的,8W的变压器电流为
,12W的变压器电流为1333mA,均能满足系统要求,考虑到变压器成本及体积,本系统选择9V/8W的电源变压器。
其他的电路元件均为经典值。
电源电路接线图如图2.8所示。
图2.8电源电路接线图
2.3行驱动电路
16*64点阵需要16个行驱动信号,单片机的I/O口有限,所以系统采用译码器来扩展I/O端口,考虑到成本等各种因素,本系统直接采用一片74HC154。
74HC154是一款高速CMOS器件电压为2.0-6.0V、驱动电流为+/-5.2mA其功能是将4个二进制编码输入译成16个彼独立的输出,其引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC154的电路图如图2.8所示。
图2.874HC154电路图
74HC154这种单片4线—16线译码器(引脚功能表见表2.1)非常适合用于高性能存储器的译码器。
当两个选通输入E1和E2为低时,它可将4个二进制编码的输入译成16个互相独立的输出之一。
实现解调功能的办法是:
用4个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。
当任何一个选通输入是高时,所有输出都为高。
74HC154的真值表如表2.2所示。
表2.174HC154的引脚功能表
引脚端 No
SYMBOL符号
NAMEANDFUNCTION名称及功能
1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17
Y0toY15
Outputs输出(ActiveLOW)低电平
18,19
E1,E2
EnableInputs(ActiveLOW)使能输入(低电平)
23,22,21,20
AtoD
AddressInputs地址输入
12
GND
Ground接地(0V)
24
VCC
PositiveSupplyVoltage电源电压
表2.274HC154真值表
NPUTS输入
SELECTEDOUTPUT选定输出(L)
E1
E2
D