基于单片机的交通信号灯控制系统.doc
《基于单片机的交通信号灯控制系统.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通信号灯控制系统.doc(32页珍藏版)》请在沃文网上搜索。
1、摘要本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。从而使交通指挥系统更加有秩序,更加安全。至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35S,准备5S,之后通行30S,并在东西和南北两个方向上这两种
2、状态不断循环。此系统核心元件为单片机AT89C51,单片机)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。此设计的硬件电路不是很复杂,关键在于软件的设计,即程序的编写。本设计采用的程序编写语言为现在流行的C语言,简单又便于阅读。编写程序的原则是:1.满足设计的要求
3、。2.尽量采用最好,最有效的算法。3.编写时应尽量用最简洁的语言。编写好源程序后,采用keil软件对其进行编译,使其生成单片机可以识别的.hex文件,再把此文件导入单片机89C51中即可。硬件电路和源程序及目标文件都设计完后,我们可以采用相关软件进行仿真,以使交通信号灯控制系统的设计更加准确,可靠。设计者采用PROTUES软件进行仿真调试,仿真时注意此软件使用,从而进一步熟悉并学习此软件。仿真成功后,就做好本次设计报告,写出此次设计的心得与体会。 目录1 概述31.1 交通灯设计方案选择与论证:31.2设计要求及目的:31.2.1基本要求:31.2.2提高要求:31.2.3设计目的:41.3交
4、通灯控制系统的简单说明:42 系统总体方案及硬件设计52.1 硬件电路各元件介绍:52.1.1核心芯片AT89C51单片机的说明52.1.2两位八段式数码管72.1.3其它元件的说明92.2总电路的设计及过程说明102.2.1设计基本框架图:(如图6所示)102.2.2总体电路的工作原理:102.2.3各端口控制作用:112.2.4复位和时钟电路:122.3设计思想:133 软件设计143.1交通灯状态的分析:143.2主程序流程图:(如图一,图二所示)153.3中断程序流程图:(如图三所示)174 Proteus软件仿真184.1仿真过程:18(1)南北红,东西绿184.2检测与调试:205
5、课程设计体会225.1心得体会:22参考文献22附1:源程序代码23附2:系统原理图281 概述 1.1 交通灯设计方案选择与论证:交通灯控制系统,可由多种电路来构成,我们这里提供三种方案供选择:方案一:由普通的数字电路集成芯片组成这种方案的特点是:硬件设计思路简单,但用元器件多,电路比较复杂,焊接调试容易出错,而且不利于智能控制,调时电路复杂。方案二:用VHDL语言编程控制这种方案的特点是:硬件设计简单,电路结构清晰,电路比较复杂 ,VHDL语言编程控制硬件,可方便的进行仿真,调试。方案三:单片机控制采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活
6、多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时。综合以上三种方案的特点,结合我们自身的知识结构,我们采用方案三,选择常用的51系列单片机构成。1.2设计要求及目的:1.2.1基本要求:(1)采用AT89C51单片机控制交通信号灯;(2)以南北方向的交通灯为例,结合实际情况,控制红、黄、绿交通灯的亮和灭;(3)红、黄、绿交通灯的亮和灭的时间可调节。1.2.2提高要求:(1)采用LED数码管显示红或绿交通信号灯亮的剩余时间;(2)可由拨盘开关强制设置为东西红,南北绿/东西绿,南北红/东西南北都为红;(3)控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;(4)控制系统的原理图
7、和接线图采用PROTEL等专用绘图软件绘制。1.2.3设计目的:在该设计中通过学生自主地设计和调试某一简单实际系统,综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,熟练掌握单片机仿真系统的使用方法,达到提高综合应用相关知识的能力,掌握单片机系统设计全部设计过程的目的。 1.3交通灯控制系统的简单说明: 此系统核心元件为单片机AT89C51,对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。停35S,准备5S,之后通行30
8、S,在东西和南北两个方向上这两种状态不断循环。源程序采用C语言编写,并通过keil软件进行编译,最后倒入AT89C51单片机中,运行系统。设计好后通过PROTUES软件仿真,并调试。2 系统总体方案及硬件设计 2.1 硬件电路各元件介绍: 2.1.1核心芯片AT89C51单片机的说明 (1)主要特性: 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 (2)管脚说明: VCC
9、:供电电压。 GND:接地。 图1:AT89C51 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口作为第八位地址接收
10、。 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”后
11、,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)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
12、/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问
13、外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。(3)振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接
14、。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4)芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为
15、止。 2.1.2两位八段式数码管 (1)单位八段式数码管介绍: LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。 LED数码有共阳和共阴两种,把些LED发光二极管的正极接到一块(一般拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。再把多个这样的8字装在一起就成了多位的数码管了。 图2:多位数码管 找公共共阴和公共共阳首先,我们找个电源(3到5
16、伏)和1个1K(几百的也欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多 个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的了。(相应的图形如图2,3,4所示) (2)两位七段式数码管介绍: 两位八段式数码管其实就是将两个一位八段式数码接相应的电路组合在一起。并引出两控制端 1和2,同过其电平的高低来控制两个数码管的高低位工作。其中两个数码管的八个端子A,B,C,D,E,F,G,DP为公共所用。
17、(其图形如图5所示)图3:共阴极二极管 图4:共阳极二极管 图5:两位八段式数码管2.1.3其它元件的说明 交通信号灯:采用红,黄,绿三色二极管封装在一起组成三色交通信号。接入实际电路中应注意其极性。 与门74LS11:为三端输入。还有电阻九个,按钮三个(紧急情况设置用)。2.2总电路的设计及过程说明2.2.1设计基本框架图:(如图6所示)图6:电路框架图2.2.2总体电路的工作原理: 南北路处于禁止通行的状态,东西路处于允许通行的状态。南北路亮红灯时,东西路亮绿灯;南北路亮绿灯时,东西路亮红灯。南北路亮红灯时,东西路亮绿灯;当绿灯时间减完之后,东西路换为黄灯,南北路仍为红灯。这样东西路与南北
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通 信号灯 控制系统
