天津电子信息职业技术学院
课程设计
课题名称简易交通灯控制器的设计
姓名赵玉婷
学号22
班级通信S11-1
专业通信技术
所在系电子技术系
指导教师曹金玲
完成日期2012年12月27日
智能交通灯电路设计与制作
摘要
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本课题采用C52单片机为中心器件来设计交通灯控制器,系统实用性强、操作简单、拓展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示。
本设计系统有单片机I/O扩展系统、单片机的最小系统、复位电路、LED等几大部分组成。
关键词:电子线路;AT89C52 ; LED 交通灯;单片机的最小系统。
目录
一、绪论 (4)
1.研究背景 (4)
2. 交通控制系统国内外发展状况 (5)
3. 本文的主要内容 (6)
二、元器件简介 (6)
1.单片机的特点 (6)
2.AT89C52单片机简介 (7)
3.AT89C52主要工作特性 (7)
4.AT89C52主要性能 (7)
5.AT89S52功能特性描述 (7)
6.LED相关原理: (9)
7.LED显示器中的发光二极管共有两种连接方法: (9)
8. 数码管简介: (10)
三、设计的基本要求、步骤和方案 (10)
1.交通灯电路设计基本要求: (10)
2.设计步骤(接线说明与连接方式): (10)
四、总体设计方案 (11)
1.设计思路 (11)
2.设计目的 (11)
3.设计任务和内容 (12)
4.电源提供方案 (12)
5.复位方案 (12)
6.输入方案 (12)
7.电路原理图 (13)
8.交通灯电路流程图: (14)
9.PCB原理展示 (16)
五、显示界面方案 (16)
六、设计方框图 (17)
七、设计原理分析 (18)
1.交通灯显示时序的理论分析与计算 (18)
2.交通灯显示时间的理论分析与计算 (20)
八、结论 (20)
九、谢辞 (21)
十、参考文献 (21)
十一、附录 (21)
一、绪论
1.研究背景
社会在发展,经济突飞猛进的同时,城市化进程也在不断加深,机动车已成为城市生活不可或缺的代步工具,交通问题也渐渐成为城市的通病。拥挤的交通成为消耗时间、能源以及交通事故的和环境污染的主要症结。交通灯的发明和发展,很好的解决了和保障了交通的有序性和安全性。
对人民生活水平的提高和城市经济的发展来说交通作为城市经济生活的命脉起着不可替代的作用。为了想很好的解决现代交通问题,最大程度的利用道路的价值,只能交通灯控制系统应运而生,并受到世界的广泛关注和重视。因此对新型交通灯控制系统的设计和应用对解决交通拥堵和提高道路利用率有着十分现实的意义。
目前, 为了解决城市交通需求量迅速增加的问题,主要采用以下两种方法: 首先,在交通基础设施建设、道路新建、合理规划道路线路等“硬件”发面要有所加强;其次,优化的服务理念和智能化的管理控制在“软件”方面的改造在发挥现有道路的通行潜力和提升通行率做出有益贡献。比较之下,后者太短期内以很少的投资便可以取得实效。
因此,先进的自动化控制方法在交通控制系统中的应用成为亟待解决的问题之一。目前摆在我们面前的问题是:如何将先进的智能控制算法和嵌入式系统相结合并研发出高性价比和适合中国国情的交通控制器。
本设计针对基于ATS89C52单片机的交通信号灯的自动控制系统在交通控制中的实现进行研究,将具有重要的理论意义和实际的应用价值。
2. 交通控制系统国内外发展状况
在数百年的交通灯发展史上,最早的非手工控制路口交通是在1868年伦敦使用燃气色灯信号对单个路口的控制;首次联网控制的交通灯系统是加拿大多伦多市1963年使用IBM650型计算机作为集中协调器的交通控制系统并以此为标志,进入智能交通灯控制系统新阶段。到目前为止,人们相继完成了很多区域交通控制系统,其中最有代表性的有TRANSYT、SCOOT、SCATS、RHODES等。世界上已有300多个大城市采用了先进的区域自适应式交通信号控制系统( TASCS, Traffic Adaptive Signal Control System,即交通面控制系统)近年来,路口附近装有磁环路检测器等先进检测装置,并由它们将交通控制参数通过电话线、闭路电视等通讯网络送入微处理器由小型计算机集中控制的交通控制系统在美、澳和欧洲国家的某些城市建立起来。
在我国建国六十年来,特别是改革开放以后,我国交通基础建设和城市发展取得了巨
大的成绩,但是,仅以现在的速度还远不能满足迅猛发展的汽车化、城市化的发展。我国现代化交通发展比较晚,由于国情的差别,交通状况也与国外有很大差别,自前主开发的城市交通控制系统在整体性上比国外同类系统有较大差距,表现在:
(1)城市道路结构不合理。
(2)交通出行结构失衡。
(3)交通管理技术水平低,交通事故频繁。
为了能够实现城市佳通控制系统的实时自适应最优控制的目标,探索一个有效的控制方法是很有效的途径。
3. 本文的主要内容
本论文的开发工作主要内容:
第一章绪论部分,介绍了该课题的研究背景,研究意义等;
第二章介绍了课题分析和方案论证以及需求分析;
第三章详细介绍了本系统设计的相关原理与硬件设计理论等;
第四章具体介绍了系统的设计与实现,以及交通灯概述等
最后为结论,对本课题的研究工作进行了总结,指出了研究工作的创新点和意义。并对未来的工作进行展望。
二、元器件简介
1.单片机的特点
(1)性价比高,开发周期短,易于产品化,
(2)集成度高,可靠性好,抗干扰性强,
(3)功能完善,接口多样,
(4)低功耗、低电压
一般电源供电电压在5~3V范围内单片机都能正常工作,供电的下限可达1~2V。(5)总线多样,易于扩展
单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。外部总线增加了I2C及SPI等串行总线方式, 可根据需要进行并行或者串行扩展。
2.AT89C52单片机简介
3.AT89C52主要工作特性
片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;
片内数据存储器内含256字节的RAM;
具有32根可编程I/O口线;
具有3个可编程定时器;
中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;
串行口是具有一个全双工的可编程串行通信口;
具有一个数据指针DPTR;
低功耗工作模式有空闲模式和掉电模式;
具有可编程的3级程序锁定位;
AT89C52工作电源电压为5(1+0.2)V,且典型值为5V;
AT89C52最高工作频率为24MHz。
4.AT89C52主要性能
与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
5.AT89S52功能特性描述
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8K字节Flash,256字
节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52
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)。在flash编程和校验时,P1口接收低8位地址字节。
引脚号第二功能
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”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用。
在flash编程和校验时,P3口也接收一些控制信号。
端口引脚第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 INTO(外中断0)
P3.3 INT1(外中断1)
P3.4 TO(定时/计数器0)
P3.5 T1(定时/计数器1)
P3.6 WR(外部数据存储器写选通)
P3.7 RD(外部数据存储器读选通)
此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。
RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。
ALE/PROG——当访问外部程存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:
对FLASH存储器编程期间,该引脚还用于输入编程脉冲
(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH
单元的D0位置位,可禁止ALE操作。该位置位后,只有一条
MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉
高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
6.LED相关原理:
LED(Light Emitting Diode),发光二极管(图 3.2) ,它是将电转化为光的固态半导体器件。一端是负极,另一端连接正极的半导体晶片是LED的核心装置,它被环氧树脂封装起来。由一个P型半导体和一个N型半导体组成图3.3“P-N结”的半导体晶片。当有电流通过时,电子被推向P区,在P区里电子和空穴复合,之后就会以光子的形式发光。光的颜色由P-N结的材料决定。3.5数码管简介数码管(图3.3)是由发光二极管组成的半导体发光器件,分为七段和八段数码管。
图3.3
7.LED显示器中的发光二极管共有两种连接方法:
共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+
5V。阴极端输入低电平的段发光二极管导通点亮,输入高电平的则不点亮。共阴极接法把
发光二极管的阴极连在一起构成公共阴极。使用时会共阴极接地,阳极端输入高电平的段发光二极管导通点亮,输入低电平的则不点亮
符号和引脚共阴极共阳极
8. 数码管简介:
分类:共阴极、共阳极;静态驱动、动态驱动。原理:共阴极:所有二极管的阴极连接到一起,将共阴极接地,当某一字段二极管阳极高电平,相应字段就点亮。共阳极:所有二极管阳极连接到一起,将共阳极接+5V,当某一字段二极管阴极低电平,相应字段就点亮。
三、设计的基本要求、步骤和方案
1.交通灯电路设计基本要求:
在万能板上实现以下功能:运用所学的单片机知识进行设计,当连接电源后,万能板的东西方向上的绿灯会亮25S,南北方向的红灯会根据绿灯的时间来进行统一设定,25S 后,东西方向亮5S黄灯,南北方向亮5S红灯,5S后,东西方向亮起红灯15S,南北方向绿灯亮起15S,15S后,东西方向红灯亮时长为5S,南北方向黄灯亮时长为5S,数码管倒计时显示当前相位剩余时间。时间控制基于定时器实现。整个程序循环下来后,就实现了简易交通灯控制器电路设计的基本要求。
25s5s15s5s
东西向绿灯黄灯红灯红灯
南北向红灯红灯绿灯黄灯
2.设计步骤(接线说明与连接方式):
(1)简易交通灯硬件接线说明:
硬件平台及用到的资源
硬件平台:I51学习板。
用到的资源:数码管显示、发光二极管等。
单片机P0.1-P0.3、P0.5-P0.7依次控制南北方向的绿红黄,东西方向的绿红黄。
(2)连线说明:
数码管显示电路:段码控制接口P8用8P杜邦线连接单片机P2口;位码控制接口P9用4P 杜邦线用4P杜邦线接单片机P3.4-P3.7。
发光二极管电路:发光二极管控制端P6用8P杜邦线连接单片机P0口。
四、总体设计方案
1.设计思路
以单片机为核心器件,对系统进行控制,外加辅助电路对系统参数进行必要的设置和显示。交通信号灯的显示时间可以固定,也可用键盘重新设置,时间控制和LED显示均由单片机进行控制。交通信号灯控制系统主要可以分为定时、红绿灯转换、倒计时显示等三个控制模块,单片机作为系统的控制单元,在系统中的作用主要有以下几个方面:
(1)利用单片机中的定时器循环出一秒时间,然后将它累计到处于活动状态的寄存器中。
寄存器里的计数是递减的,一秒时间到则减1,直到计数为0,说明定时时间到。
(2)定时时间到后,单片机将对寄存器地址进行判断,不同的寄存器对应不同的红绿灯
显示。
(3)每次一秒时间到,寄存器自减1后,还要将寄存器中的值,也就是剩余的秒数反映
到LED显示器上,构成倒计时显示。
(4)扫描键盘上的数值,并将它反映到特定的寄存器里,根据寄存器的存储值对定时程
序进行重新置数操作
2.设计目的
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过
程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
3.设计任务和内容
(1)设计任务
单片机采用用AT89C52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口25秒,南北路口20秒,黄灯时间5秒)。
(2)设计内容
a设计并绘制硬件电路图
b制作PCB并焊接好元器件
c编写程序并将调试好的程序固化到单片机中
4.电源提供方案
为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。此方案的优点是
系统简明扼要,节约成本;缺点是输出功率不高。
5.复位方案
复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采
用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,
达到复位的目的。
6.输入方案
方案一:
采用89C52扩展I/O 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O但操作起来稍显复杂。
方案二:
直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源
还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身
的计数器及RAM已经够用,故选择方案二
7.电路原理图
(1)电路原理图:
(2)复位电路:
复位方式有多种,本设计采用按键复位。接线图如图程序
复位电路
在设定的定时时间内,89C52必须在RST引脚产生一个由高到低的电平变化,以清内部定时器.
(3)晶振电路:
图9晶振模块原理图
选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振
为12MHz。
8.交通灯电路流程图:
图为中断主程序
行过程:
LED显示程序
9.PCB原理展示
五、显示界面方案
该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:
方案一:
完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。方案二:
完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED (点阵式和8段式LED)相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。设计方框图
整个设计以AT89C52单片机为核心,由数码管显示,LED数码管显示,复位电路组成。
硬件模块入图1-1。
六、设计方框图
交通灯循
环
最小系统
倒计时显示
强通车控制
图4(总框图)
A T89C52单
片机
数码管显示
LED 数码管
显示
晶振电路
复位电路
七、设计原理分析
1.交通灯显示时序的理论分析与计算
对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间来表示。
先设定一些标号如图5 所示。
图5
说明:
此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯。
图2-2 所示为一种红绿灯规则的状态图,分别设定为S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图6)。
图6
请注意图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高。
依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它们的状态在相位上相差180°。因此最终只需写出一组S1、S2、S3、S4的逻辑状态表。如表7 所示。
表7
表8
表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值。
2.交通灯显示时间的理论分析与计算
东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下示。
T-S1+T-S2=T-S3
T-S2=T-S4
T-S1=T-S3
我们可以依据上述的标准来改变车辆的放行时间。按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间。
八、结论
在刚拿到课程设计任务书时,确实觉得有点犯难,因为这种综合硬件和软件的设计对于我们刚学了基础知识对硬件还不是太熟,有点不知从哪下手,通过查资料,翻课本,对各个地方知识的复习,同学的指导,才明白了硬件的控制原理和控制方法,才有了程序设计的初步思路。
通过这次课程设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程、以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。本次课程设计的过程是艰辛的,不过收获却是很大的。在设计过程中会出现了一些问题,但都是常见的小问题,如,在调试时出现异常,