毕业设计题目模拟交通灯系别专业班级姓名学号指导教师日期设计任务书设计题目:模拟交通灯设计要求:1.用单片机设计一个模拟交通灯,在十字路口的两个方向上各设一组红绿黄橙灯(橙色灯代表左转信号),显示顺序为:其中一个方向是绿灯、黄灯、红灯、橙灯,另一个方向是橙灯、红灯、黄灯、绿灯。
2.设置一组数码管,以倒计时的方式显示允许通过或禁止通行的时间。
其中左转灯、绿灯、黄灯、红灯的持续时间分别是15S、30S、3S、48S。
3.当各条路上任意一条出现特殊情况,例如消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁,当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。
设计进度要求:第一周:确定题目;查找和题目有关的资料;第二周:查找资料,阅读资料;第三周:结合实物写总体设计方案;第四周:硬件选片和硬件设计;第五周:软件设计;第六周:上机调试;第七周:写毕业设计;第八周:毕业答辩。
指导教师(签名):摘要随着社会经济的快速发展,人们的生活水平提高,拥有车辆的家庭越来越多,但随之而来的交通问题也成为政府关注的问题。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。
本人选择制作交通灯作为课题加以研究。
分析了现代城市交通控制与管理问题的现状,结合城乡交通的实际情况阐述了交通灯控制系统的工作原理,利用单片机89S51为核心部件,外加定时器、复位电路、晶振电路、显示电路等,设计一个比较符合交通规则的模拟交通灯,包括人行道,车行道、南北东西左转、应急车道,以及基本的交通灯的功能,同时给出了一种简单实用的城市交通灯控制系统的硬件电路设计方案。
关键词:交通灯,单片机,定时器目录1 方案选择 (1)1.1交通灯的总体设计思路 (1)1.2设计框图 (1)1.3计时方案 (2)1.4显示方案 (2)1.5按键设计方案 (3)2 硬件设计 (4)2.1整体硬件原理 (4)2.2单片机89S51的简介 (5)2.3单片机附属电路 (7)2.474LS373的功能 (8)2.574LS07的功能 (9)2.6数码显示——七段LED数码管 (10)2.7键盘接口工作原理 (12)3 十字交通灯的软件设计 (14)3.1软件的设计 (14)3.2程序流程图及程序介绍 (16)4 测试、调试及结果分析 (23)4.1状态灯显示测试 (23)4.2整体电路调试 (23)4.3结果分析 (24)总结 (25)致谢 (26)参考文献 (27)附录 (28)1 方案选择1.1 交通灯的总体设计思路交通灯的控制主要是利用单片机,是单片机的一个典型应用,首先用发光二极管的亮与灭来模拟交通灯的各种运行状态。
考虑交通灯的功能,东西南北各两组,一个十字路口至少需4组交通灯(每组是四个发光二极管)。
指挥转弯和直行的关键,是设计控制交通灯的亮与灭。
考虑南北、东西方向灯的亮灭规律相同,故可以考虑用四个两组交通灯来模拟实际北东运行的交通灯;东一组四个发光二极管,北一组四个发光二极管,分别用红、绿、黄、橙来指示直行和转弯。
先南北直行红灯亮48秒,而后黄灯亮3秒,再直行绿灯亮30秒,黄灯亮3秒;然后南北转弯绿灯亮15秒,黄灯亮3秒,南北交通灯都亮红灯;东西交通灯以同样规律变化。
可用中断计数器控制,来显示不同的二极管来模拟交通灯不同的状态。
同时使用数码管来显示时间,提醒行人停止行走或准备行走。
(1)每次绿灯变红灯时,要求黄灯先亮3秒,黄灯亮时,绿灯灭。
(2)要求在绿灯亮(通行时间内)和红灯亮(禁止通行时间内)均有倒计时显示时间。
所以基本符合现实功能,能够指挥车辆在十字路口完成左转和不同路口的直行。
1.2 设计框图根据设计思路和设计要求,可得出总体框图如将单片机P0.0…P0.7口作为LED数码管的段码输入口,将P1.0…P1.5口作为LED数码管的位码输入口,做为倒计时显示时间;P2.0…P2.7口作为发光二极管的输出端,模拟红绿灯的运行状态;P1.6和P1.7接紧急按键,做为特殊情况用。
图1.1 总设计框图1.3 计时方案利用89S51内部的定时器/计数器进行中断定时,配合软件延时实现时的倒计时。
该方案节省硬件成本,且能够使我们在定时器/计时器、中断及程序设计方面得到锻炼与提高。
1.4 显示方案单片机技术中通常有两种显示方式:动态显示和静态显示方案一:串行扩展,LED静态显示。
由于占用较多的接口,在单片机设计中常用串行扩展来完成。
由于是串行接口,该方案占用接口资源少,并且显示亮度有保证,但硬件开销大,电路复杂,信息刷新速度慢,比较适用于并行接口资源较少以及对显示没有实时要求的场合。
方案二:LED动态显示。
动态显示的方案硬件连接简单,但动态扫描的显示方式需占用cpu较多的时间。
在该系统中由于单片机除了显示红、绿灯的倒计时间没有太多的实时测控任务,故选用动态扫描方式。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,我决定采用方案二实现系统的显示功能。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
1.5按键设计方案计算机中所用的键盘有编码键盘和非编码键盘两种。
但编码键盘需要较多的硬件,价格较贵,一般的单片机应用系统较少使用,而非编码键盘硬件简单,成本低,所以目前在单片机应用系统中多采用非编码键盘,在我们使用的非编码键盘中又分为以下两种:方案一:独立式键盘的接口电路在单片机应用系统中,按键作为系统信息的输入端。
可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。
每个独立式按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。
方案二:行列式键盘如果按键数较多时,为减少占用I/O接口线数,通常采用行列式键盘。
由于我这个设计只使用两个按键,所以我采用方案一,将按键K2接在P1.6上再把K1接在P1.7。
来完成道路上的应急情况。
2 硬件设计2.1 整体硬件原理电路的核心是89S51单片机,其内部带有4KB的FlashROM,无须扩展程序存储器;没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必扩展片外RAM,系统配备4个LED显示和2个单接口键盘,采用P0接口外接8路反相三态缓冲器74LS373作LED动态扫描的段码控制驱动信号,用P1接口的P1.0-P1.3外接一片集电极开路反相门电路74LS07做为4位LED的位选信号驱动口,LED共阴极端与74LS07的输出端相连;按键接口,由P3.0,P3.1来完成。
P2口接交通指示灯,整个系统采用查表的方发,将交通灯的显示情况和数码管的计时情况,分别以代码的形式送到指示灯和LED数码管,启动定时器,同时调用显示程序,和查询按键。
利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环,当按下应急按键时停止定时器,送一个代码使两个方向都亮红灯,按下一个按键时启动定时器,恢复循环。
图2.1 整体设计硬件图2.2 单片机89S51的简介单片机(Microcontroller,有称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。
目前使用的单片机大部分都是MCS-51系列, MCS51系列单片机是Intel公司推出的通用型单片机而且它的品种很多,例如MCS-48,MCS-51(8位机),MCS-51(16位机)等,在MCS-51系列中,所有产品都是以89S51为核心,89S51单片机内部包含了作为微型计算机所必需的基本功能部件,各功能部件相互独立而融为一体,集成在同一块芯片上,而且具有以下特点:(1)8位CPU;(2)时钟振荡器和时钟电路;(3)32根I/O线;(4)外部存储器寻址范围ROM、RAM各64K;(5)2个16位的定时器/计数器;(6)5个中断源,2个中断优先级;(7)全双工串行接口。
由此可见,89S51本身就是一个功能相当强大的8位微型机,所以在我的设计中选择89S51作为核心器件。
9S51系列的内部结构可以划分为CPU、存储器、并行口串行口、定时器/计数器、中断逻辑几部分。
图2.2 89S51的内部结构1 中央处理器89S51的中央处理器由运算器和控制逻辑构成,其中包括若干特殊功能寄存器(SFR)。
2 存储器组织89S51单片机的存储器结构特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种结构称为哈佛结构单片机。
这种结构与通用微机的存储器结构不同,一般微机只有一个存储器逻辑空间,可随意安排ROM或RAM,访存时用同一种指令,这种结构称为普林斯顿型。
89S51单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。
3 3种I/O端口I/O端口是计算机的输入、输出接口(T是输入,O是输出之意)。
单片机中的I/O端口都是芯片的辅入/输出引脚。
这些I/O端口,可分为以下几种类型:(1)总线输入/输出端口(2)用户I/O端口。
由用户用于外部电路的输入/输出控制。
(3)单片机内部功能的输入/输出端口。
例如,定时器/计数器的计数辅入、外部中断源辅入等。
4 基本功能单元基本功能单元是为满足单片机测控功能而设置的一些电路,是用来完善和扩大计算机功能的一些基本电路,如定时器/计数器,中断系统等。
定时器/计数器在实际应用中作用非常大,如精确的定时,或者对外部事件进行计数等。
2.3 单片机附属电路片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。
片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~12MHz 之间选取。
C1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF。
本电路选用的电容为30pF,晶振频率为12MHz。
这样就确定了单片机的4个周期分别是:振荡周期=1/12sμ;机器周期(SM)=sμ1;指令周期=sμ1。
~4图2.3 时钟产生电路下面为单片机复位电路。
单片机在开机时都需要复位,以便中央处理器CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机的复位后是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。
MCS-51单片机的RST引脚是复位信号的输入端。
例如:若MCS-51单片机时钟频率为12MHz,则复位脉冲宽度至少应该为2μs。
复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图2.4,2.5,2.6所示。
由于在我的设计中仅仅在应急情况下才使用复位电路,所以,我使用手动复位电路。