毕业论文基于MCS51单片机的汽车信号灯控制器设计终稿精品.docx
《毕业论文基于MCS51单片机的汽车信号灯控制器设计终稿精品.docx》由会员分享,可在线阅读,更多相关《毕业论文基于MCS51单片机的汽车信号灯控制器设计终稿精品.docx(23页珍藏版)》请在冰豆网上搜索。
![毕业论文基于MCS51单片机的汽车信号灯控制器设计终稿精品.docx](https://file1.bdocx.com/fileroot1/2022-12/1/35b95bff-3c5a-475b-ac11-d7673b8a1ea4/35b95bff-3c5a-475b-ac11-d7673b8a1ea41.gif)
毕业论文基于MCS51单片机的汽车信号灯控制器设计终稿精品
武汉长江工商学院
毕业论文(设计)
学院:
专业:
电子信息工程年级:
06级
题目:
基于MCS-51单片机的汽车信号灯控制器设计
学生:
孙浩学号:
20060641
指导教师:
田晓梅职称:
副教授
2010年5月1日
武汉长江工商学院
本科毕业论文(设计)原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
目录
摘要1
关键词1
Abstract1
KeyWords1
1.绪论2
2.系统概述2
2.1MSC-51芯片简介2
2.1.1MCS-51单片机内部结构2
2.1.2AT89C51微处理器4
2.1.3AT89C51的引脚说明4
2.2ULN2003A简介6
2.2.1ULN2003A的结构6
2.2.2ULN2003A的作用6
3.设计的技术指标及要求6
3.1设计的要求6
3.2设计方案与思想7
3.2.1选定方案的论证7
3.2.2硬件设计方案7
3.2.3软件设计思想8
4.单元电路设计及元器件选择8
4.1AT89C51的最小系统8
4.1.1复位电路说明8
4.1.2时钟电路说明8
4.2信号灯的选择9
4.3开关的连接9
4.4ULN2003A的连接10
4.5元件清单10
5.软件设计10
5.1程序设计思想10
5.2程序流程11
5.3调试与仿真11
5.4硬件装配与焊接及电路调试12
6.结论12
参考文献13
附录1电路原理图14
附录2源程序代码15
基于MCS-51单片机的汽车信号灯控制器设计
摘要:
汽车作为较为方便的代步工具已经成为我们生活中不可或缺的一部分,人们对于它的研究已经进入技术非常发达的阶段,为了使其更为完美的被人们更方便、更简单的利用,人们从没停止对它的各方面的研究。
对于汽车来说,信号灯是它与其它车辆交流的通道和方式,各种模式状态代表了不同的意义和司机同志下一步的操作,是协调交通,避免事故的一个最好的方法,所以关于汽车信号灯控制器的设计有很多实例,现在我采用基于MCS-51单片机的技术设计此电路,加入了故障检测和停靠等功能,使汽车信号灯控制器更加完善。
本论文首先介绍了单片机的基本知识包括对MCS-51系列芯片的详细介绍,然后对汽车信号灯控制器基本功能进行分析,给出设计方案,进行编程设计,同时进行软件仿真,硬件下载仿真等。
本设计较好的完成了该课题指定的基本功能,并有所扩展,使控制系统使用更加方便,且便于修改改进。
关键词:
汽车信号灯;单片机;控制系统。
AutomobileSignalLampControllerDesignBasedontheMCS-51
Abstract:
Theautomobilebeingamoreconvenientmeansoftransportationtoolhasalreadybecomeanecessarypartinourlife.Thepeople'sresearchtowardsithasalreadyturnedintoaveryflourishingstageoftechnique,forthesakeofmakingitmoreperfect,moreconvenientandmoresimpleexploitation,peopleneverstoptheresearchofitseveryone'snoodles.Fortheautomobile,thesignallampisthepassageandwaythatitcommunicateswiththeothervehicles.Thevariousmodeappearancesrepresentedthedifferentmeaningandtheoperationofthenextmove.Itisthebestmethodofmoderatingtransportationandavoidingthetrouble.Sothedesignconcerningtheautomobilesignallampcontrollercontainsalotofsolidexamples.Also,IadopttodesignthiselectriccircuitaccordingtothetechniqueoftheMCS-51now.Whilejoiningtobreakdownanexaminationandstoppingtodependtoaccountfunction,thecircuitmakestheautomobilesignalbeaconcontrollermoreperfect.ThisthesisintroducedthebasicknowledgeoftheMCUfirst,includingthedetailedintroductionoftheMCS-51seriesofchips,then;thethesisintroducedtheautomobilesignalbeaconcontroller’sfunctioncarryonanalysisandgivesthedesignproject.InthemeantimeIcarrythecircuitonsoftwareandthehardwaretoimitatereallyetc.Thisdesigncompletedthetopictobasicfunctionverywellandmadethecontrolsystemusagemoreconvenient.Alsoitiseasytoimprove.
KeyWords:
Automobilesignallamp;MCU;Controlsystem.
1绪论
随着科技的不断发展,人们的生活条件有了巨大的改善,交通变得更加便利,汽车的增加解决了很多交通问题,但同时也带来了很多的烦恼,日益频繁的交通事故让人深感毛骨悚然,汽车安全成为人们非常关注的话,而在汽车起步、转弯、变更车道或路边停车时,需要打开转向信号灯以表示汽车的趋向,提醒周围车辆和行人注意,所以一个智能、可靠、稳定的汽车信号灯控制系统对安全行车非常重要。
单片机(又称微控制器)是微型计算机的一种,作为现代电子技术的新兴领域,它的出现极大地推动了电子工业的发展,已成为电子系统设计中最为普遍的应用手段。
它在一块芯片上集成了计算机的所有基本功能,包括中央处理器,随机存储器,只读存储器,以及I/O接口电路、定时/计数器和串行接口电路等等。
它的体积小、质量轻、价格低,可靠性高,同时其非凡的嵌入式应用形态对于满足嵌入式应用据有独特的优势。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
近年来单片机应用渗透到人们生活的各个领域,导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄影机、全自动洗衣机的控制,以及程控玩具、电子宠物等,都离不开单片机,更不用说自动控制领域的机器人、智能仪表和医疗器械了。
单片机的应用正在不断地走向深入,同时带动传统的控制检测日新月益的更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
英国Labcenter公司推出的Proteus软件是一款极好的单片机应用开发平台,它以其特有的虚拟仿真技术很好的解决了单片机及其外围电路的设计和协同仿真问题,可以在没有单片机实际硬件的条件下,利用PC以虚拟仿真方式实现单片机系统的软、硬件同步仿真调试,使单片机应用系统设计变得简单容易。
本设计以单片机原理为基础,通过Proteus软件设计电路图,模拟汽车信号灯的控制系统进行仿真,采用MSC-51系列单片机AT89C51芯片为中心器件来设计汽车信号灯控制系统,实现了能根据模拟7种驾驶操作情况的开关量输入,控制仪表板的左/右转弯信号灯、左/右头灯和左/右尾灯六类灯的“亮”、“灭”及“闪烁”等。
同时,系统具有故障检测功能,驾驶员能通过报警灯及报警器知道车外的信号灯是否点亮,从而提高车的安全性。
本系统实用性强、操作简单、扩展功能强。
模拟成功后,根据电路原理图焊接实物电路,并检测调试无误。
单片机应用的重要意义在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
2系统概述
2.1MSC-51芯片简介
2.1.1MCS-51单片机内部结构
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
下图是MCS-51系列单片机的内部结构示意图。
图2-1MCS-51内部结构示意图
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
图2-28051内部结构示意图
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
·程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
·并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
·全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
·中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
·时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
2.1.2AT89C51微处理器
AT89C51是一款采用ATMEL高密度非易失存储器MC74LS161A制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容的单片机,其主要性能特点有:
(1)高性能、低功耗的8Byte微控制器LDA211、两个16位定时器/计数器等功能。
(2)片内集成4KB可编程闪烁存储器CY7C024-55AXC支持三级程序存储器锁定。
(3)丰富强大的外部接口性能L29C520PC-1:
32可编程I/O线,可编程串行通道,片内振荡器和时钟电路。
2.1.3AT89C51的引脚说明:
图2-3AT89C51芯片
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)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
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.2ULN2003A简介
ULN2003A电路是美国TexasInstruments公司和Sprague公司开发的高压大电流达林顿晶体管阵列电路,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。
通常单片机驱动ULN2003A时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。
2.2.1ULN2003A的结构
ULN2003A是一个非门电路,包含7个单元(7个硅NPN达林顿管组成的驱动芯片),单独每个单元驱动电流最大可达350mA.9脚可以悬空。
比如1脚输入,16脚输出,负载接在VCC与16脚之间,不用9脚。
图2-4ULN2003A内部结构图
2.2.2ULN2003A的作用
ULN2003A是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。
可直接驱动继电器等负载。
输入5VTTL电平,输出可达500mA/50V。
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
(1)ULN2003A的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。
(2)ULN2003A是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
ULN2003A是高耐压、大电流、内部由七个硅NPN达林顿管组成的驱动芯片。
经常在以下电路中使用,作为:
显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。
ULN2003A的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003A工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
ULN2003A的封装采用DIP—16或SOP—16。
3设计的技术指标及要求
3.1设计的要求
本设计是模拟汽车在驾驶中的左转弯、右转弯、刹车、闭合紧急开关、停靠等操作。
在左转弯或右转弯时,通过转弯操作杆使左转弯或右转弯开关合上,从而使左头信号灯、仪表板的左转弯信号灯、左尾信号灯或右头信号灯、仪表板的右转弯信号灯、右尾信号灯闪烁;闭合紧急开关时,以上六个信号灯全部闪烁;汽车刹车时,左、右两个尾信号灯点亮;若正当转弯时刹车,则转弯时原闪烁的信号灯继续闪烁,同时另一个尾信号灯同时点亮,以上闪烁的信号灯以1Hz频率慢速闪烁。
任何在下表中未出现的组合,都将出现故障指示灯闪烁,闪烁频率为10Hz。
在各种模拟驾驶开关操作时,信号灯输出的信号见下表:
表3-1各种操作对应的信号灯输出
输出信号
左头信号灯
右头信号灯
左转弯信号灯
右转弯信号灯
左尾信号灯
右尾信号灯
左转弯(合上左转弯开关)
闪烁
灭
闪烁
灭
闪烁
灭
右转弯(合上右转弯开关)
灭
闪烁
灭
闪烁
灭
闪烁
闭合紧急开关
闪烁
闪烁
闪烁
闪烁
闪烁
闪烁
刹车(合上刹车开关)
灭
灭
灭
灭
亮
亮
左转弯时刹车
闪烁
灭
闪烁
灭
闪烁
亮
右转弯时刹车
灭
闪烁
灭
闪烁
亮
闪烁
刹车时闭合紧急开关
闪烁
闪烁
闪烁
闪烁
亮
亮
左转弯时刹车闭合紧急开关
闪烁
闪烁
闪烁
闪烁
闪烁
亮
右转弯时刹车闭合紧急开关
闪烁
闪烁
闪烁
闪烁
亮
闪烁
停靠(闭合停靠开关)
闪烁
闪烁
灭
灭
闪烁
闪烁
3.2设计方案与思想
3.2.1选定方案的论证
方案一:
选用逻辑门电路,用中、小规模集成电路芯片7400、7404、74138、7476、7486和其它器件实现对汽车尾灯显示的控制功能。
用555定时器或石英晶体振荡器参生一个秒脉冲,用7476JK触发器组成一个计数器,然后把开关控制的信号和计数器所得的数据送人74138译码器译码,最后驱动汽车尾灯。
此方案的特点是不需要由软件控制,反应的速度较快,但不足之处是硬件电路较为复杂。
方案二:
选用MSC-51系列单片机atmelAT89C51为中心器件来设计汽车信号灯灯控制器,利用单片机可编程和可以直接驱动外围电路的这一特点,可以很方便地使用程序来控制外围电路,并且可以实时控制汽车的行驶情况。
此方案的特点是硬件电路简单,系统反应速度比数字电路慢,逻辑功能比数字电路强,但其需要一定得编程能力。
综合以上两种方案和自己的情况,决定选用方案二。
3.2.2硬件设计方案
在驾驶汽车时有左转弯、右转弯、刹车、紧急开关、停靠五个操作,所以可以用五个开关来模拟这几个操作,当单片机检测到相关操作后,然后判断属于那一类操作,再通过软件来驱动控制相应的信号灯闪烁或长亮。
以此来实现对汽车信号灯的控制。
基于设计思想、设计环境以及所学单片机知识,在设计时,选择了5个开关、AT89C51单片机、ULN2003A芯片以及7只发光二极管。
其中AT89C51做为控制核心,当5个开关的状态发生改变后,单片机检测到开关信号后就通过软件输出相关信号,在经过ULN2003A芯片来驱动7个汽车信号灯根据开关的相应状态闪烁或长亮。
整体电路的工作原理图如下:
图3-1整体电路工作原理图
3.2.3软件设计思想
软件部分与硬件部分一起构成一个完整的系统,对整个系统来说起着重要的作用。
在本设计中使用了散传程序的设计方法,以分支结构编写程序,它根据系统的某种运算结果,分别转向各个处理程序,即对于不同的开关状态,为其分配相应的入口,从而对于不同的开关状态作出相应。
4单元电路设计及元器件选择
4.1AT89C51的最小系统
4.1.1复位电路说明
复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态开始运行。
当AT89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作。
如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。
因此要求单片机复位后能脱离复位状态。
根据应用的要求,复位操作通常有2种基本形式:
上电复位、开关复位。
上电复位要求接通电源后,自动实现复位操作。
开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。
本设计采用上电复位电路如图所示。
上电后,由于电容充电,使RST持续一段高电平时间,充电完毕后,RST又变为低电平,从而实现上电复位操作。
通常选择C=10~30uF,R=1~10kΩ。
图4-1AT89C51复位电路连接图
4.1.2时钟电路说明
AT89C51单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并振荡时钟脉冲。
晶振通常选用6MHz、12M