《基于51单片机的路灯控制系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的路灯控制系统.docx(28页珍藏版)》请在优知文库上搜索。
1、摘要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那末靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式不少。本系统采用STC-51系列单片机T89C51来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的Pl口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通
2、过双位数码管),浮现交通意外的情况下,必须使东西南北方向上的显示灯都为红灯,以便交通警察及时处理。本系统实用性强、操作简单、扩展功能强。关键词:单片机交通灯电路原理图Proteus仿真图AT89c51C程序目录第一章设计任务-3-第二章设计目的-4-第三章设计思路-4-第四章STC-51芯片简介-5-第五章基础知识-8-(一)管脚说明-8-(二)定时器/计数器,9-(三)定时器/计数器的概念-10-1.89C51单片机内有两个可编程的定时器/计数器TO、Tl-10-2 .定时器/计数器的相关寄存器-10-(四)定时器/计数器的4种工作方式-11-1.方式0-11-3 .方式1-11-4 .方式
3、2-11-5 .方式3-12-(五)定时器/计数器的编程-12-1 .定时器/计数器的初始化-12-2 .定时器/计数器初值的计算-12-第六章主程序设计-13-(一)系统程序流程图如图6-1所示-13-(二)设计流程图如图6-2所示-13-(三)程序的执行表达表如表6-3所示-14-第七章PrOteUS仿真图及各单元电路-15-3 .程序正常仿真中如图72所示-15-4 .时钟震荡电路-15-5 .复位电路-16-6 .紧急情况-16-附录一:C程序源代码-18-附录二:原理图-26-附录三:元件清单表-27-附录四:主要参考文献-27-第一章设计任务交通灯的硬件和软件设计,本设计是交通灯的
4、控制实验,必须要先了解实际交通灯的变化规律。假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭并且都有5秒的准备时间。然后转状态一东西绿灯通车,南北为红灯。过段时间转状态二,东西黄灯闪几次转红灯,延时几秒,南北仍为红灯。再转状态三南北绿灯通车,东西红灯。过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。最后循环至状态一。交通信号灯摹拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示。用十二个发光二极管代替交通灯进行实验设计。这次设计是单片机应用技术(C语言版)课程的综合训练,
5、我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。为今后的毕业设计、及从事单片机控制系统的设计与维护奠定坚实的基础。这次课题设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的普通方法和处理问题的思路,特殊是一些常用的技术手段。使我们能在实践教学环境中积累设计经验,开辟思维空间,全面提高个人的综合能力第二章设计目的课程设计是本专业集中实践环节的主要内容之一。训练正确地应用单片机,
6、培养解决工业控制、工业检测等领域具体问题的能力。学生通过所做课题,熟悉单片机应用系统开辟研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。例如组成系统、编程、调试、绘图等。使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。通过本课程设计,主要达到以下目的:1 .使学生增进对单片机的感性认识,加深对单片机理论方面的理解。2 .使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。3 .使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础第三章设计思路交通灯的变化规律按照
7、常规我们假设一个十字路口为东西(主干道)南北(支干道)走向。初始状态为状态1:东西(主干道)方向红灯,南北(支干道)方向红灯。经过过一段时间(5S)转换状态2:东西(主干道)方向转为绿灯,南北(支干道)方向红灯。并延时一段时间(25S)。再转换到状态3:东西(主干道)方向黄灯闪烁,南北(支干道)方向红灯。过一段时间(5S)转换到状态4:东西(主干道)方向红灯,南北(支干道)方向绿灯。并延时一段时间(25S)转换到状态5:东西(主干道)红灯,南北(支干道)黄灯闪烁,并延时一段时间(5S)后回到状态2。在这些状态下,都有时钟倒数计时。第四草STC-51芯片简介STC-51单片机内部结构如图4-1所
8、示,8051是STC-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或者代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控
9、制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM惟独128个,可存放读写的数据,运算的中间结果或者用户定义的字型表。805!内部给构图4-1程序存储器(RoM):8051共有4096个8位掩膜RoM,用于存放用户程序,原始数据或者表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或者计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、PhP2或者P3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同
10、步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12MHZ的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(HarVard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(PrinCeton)结构。INTEL的STC-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。STC-
11、51的引脚说明:STC-51系列单片机中的80318051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:STC-51的引脚说明:STC-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,图4-2是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:X1ALtd.X. XIAL?Pl
12、 OWiaxoo PC .I ADI M22 MyAtI、 MJ4,D1P0.U PC .6X0$ PO 727HOfM PZIfA9 PJ RAIQ P2A11 P2 4/A12 P2S/A13 P2C/A14 F27M5P3t- I TDP32#iP3fP34/DSEP36vJFPl,田图4-2Pin9:RESET/V号位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上浮现24不时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0。RESET由高电平下降为低电平后,系统即从OO
13、OOH地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图4o此外,RESET八,还是一复用脚,V掉电此间,此脚可接上备用电源,以保证单片机内部RAM向数据不丢失。Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当做一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程此间,将用于输入编程脉冲
14、。Pi1129:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将浮现在PO和P2口上,外部程序存储器则把指令数据放到PO口上,由CPU读入并执行。Pin31:EA/V程序存储器的内外部选通线,8051和8751单片机,内置有4kB的PP程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的803LEA端必须接地。在编程时,EA/V脚还需加之21V的编程电压。第五章基础知识(一)管脚说明VOC:供电电压。OT:接地。PO11:P
15、O口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当PO口的管脚第一次写1时,被定义为高阻输入。PO能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,PO口作为原码输入口,当FIASH进行校验时,PO输出原码,此时PO外部必须被拉高。Pl口:Pl口是一个内部提供上拉电阻的8位双向I/O口,Pl口缓冲器能接收输出4TTL门电流。Pl口管脚写入1后,被内部上拉为高,可用作输入,Pl口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,Pl口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个HL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或者16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口