基于单片机的交通信号灯控制系统设计完整版

重庆大学网络教育学院

毕业设计(论文)

题目 基于单片机的交通信号灯 控制系统设计

学生所在校外学习中心 四川南充校外学习中心 批次 层次 专业 092 专科起点本科 电气工程及其自动化 学 号 W09205801 学 生 邓力 指 导 教 师 起 止 日 期 2011年9月 1 日起至2011年 11 月30日止

摘 要

随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。

随着当今社会的迅速发展,汽车的销售量有了很大的提高。大量汽车的出售,给我们的生活带了很大的便利。但是,它也给城市的交通提出了更加严峻的考验。在这种情况下,我们除了要修建更加好的道路外,还需要设计出更多更好的交通信号灯控制系统。

在现代,利用单片机来实现交通信号灯的控制成了我们调控交通的主流。运用单片机控制交通信号灯方便,性能高,易于控制。所以,我们很必要对这一课题进行一次系统的研究学习。在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯,并用单片机进行合理的控制。本系统由AT89C51单片机、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通信号灯的功能。系统除基本交通信号灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

关键词:单片机,交通信号灯

Ⅰ 1

目 录

中文摘要·····································································································Ⅰ

1. 引言········································································································1

2. 设计任务及思路························································································1

3. 单片机·····································································································3

3.1 单片机简介·····························································································3

3.2 单片机基本结构 ·····················································································3

3.3 单片机硬件特性 ·····················································································3

4. 芯片的选择······························································································4

4.1 74LS373以及74LS07芯片简介···································································4

4.2 8255芯片·······························································································5

4.2.1 8255可编程并行接口芯片简介·······························································5

4.2.2 8255可编程并行接口芯片方式控制字格式说明·········································5

4.3 晶闸管···································································································7

5. 交通灯控制原理分析及方案论证·································································8

6. 系统硬件设计···························································································9

6.1 总体设计································································································9

6.2 单片机最小系统······················································································9

6.2.1 振荡电路·····························································································9

6.2.2 复位电路···························································································10

6.3 显示及其驱动模块·················································································11

6.3.1 键盘与状态显示功能···········································································11

6.3.2 倒计时计数功能·················································································11

7. 系统软件设计·························································································12

7.1 延时程序设计························································································12

7.1.1 计数器硬件延时·················································································12

7.1.2 软件延时···························································································13

7.2 时间及信号灯的显示··············································································14

7.2.1 8031并行口的扩展·············································································14

7.2.2 显示原理···························································································15

7.2.3 8255输出信号的放大··········································································15

7.2.4 8255输出信号与信号灯的连接·····························································15

7.2.5 8255与8031的连接············································································16

7.3 程序设计······························································································16

7.3.1 流程图······························································································16

7.3.2 源程序代码························································································19

7.4 调试运行······························································································23 设计总结·····································································································24 参考文献·····································································································25 致谢···········································································································26 附录1·········································································································27 附录2·········································································································28

1.引言

当今,交通信号灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术在19世纪就已出现了。

1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,造成人员伤亡,遂被取消。

电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,另一种是用扩音器来启动红绿灯。

信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。

基于单片机构成的城市交通信号灯控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。但利用单片机控制交通信号灯涉及到一些现实问题,诸如信号的驱动、车辆到达的感知等。为此,我们采用模拟方式进行说明。所谓模拟,就是用绿、黄、红色三只共四组发光二极管代替交通信号灯。目前,城市交通信号灯控制系统应用广泛,因此,开发这种系统非常实用。

2.设计任务及思路

设计一个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的设计。

1

系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作。控制对象如下:

东西方向红灯两个 , 南北方向红灯两个,

东西方向黄灯两个 , 南北方向黄灯两个,

东西方向绿灯两个 , 南北方向绿灯两个,

南西东

图1 交通信号示意

十字路口东西方向和南北方向各装有直行(包括右拐弯)控制红、黄、绿交通信号灯(如图1所示)。还有倒计时显示器,显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间(即剩余时间)。系统中有两个按钮-启动和停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭。信号灯的控制规律如表1所示。即系统启动后,东西方向先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,与此同时南北方向红灯亮30s。南北方向红灯亮30s后转为先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,东西向红灯亮30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。

2

表1 信号灯控制规律

设计电路中使用到的主要元器件,单片机芯片、8255芯片和晶闸管。十字路口分四条道,每条道有三个红绿灯,共十二个。每个红绿灯由一块8031芯片单独控制,我们只设计一个红绿灯的燃亮情况,同理根据燃亮顺序设计其它红绿灯。然后再组合起来,达到设计要求。

3.单片机

3.1单片机简介

单片机是一种集成电路芯片,简称为单片微型计算机。是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随机存储器RAM,只读存储器ROM,多种I\0口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小而完善

的计算机系统。

3.2单片机基本结构

单片机由运算器,控制器,存储器,输入输出设备组成。

3.3单片机硬件特性

(1)单片机集成度很高,单片机包括CPU、4KB容量的ROM(8031无)、128B容量的RAM、2个16定时计时器、4个8位并行口、全双工串口行口。

(2)单片机系统结构简单,使用方便,实现了模块化。

(3)单片机可靠性能好,可工作很长时间。

(4)处理功能强,速度快

3

4.芯片的选择

4.1 74LS373以及74LS07简介

74LS373 是一种带三态门的8D锁存器,其管脚示意图2如下所示:

图2 74LS373管脚示意图

其中:1D-8D为8个输入端。

1Q-8Q为8个输出端。

LE为数据打入端:当LE为“1”时,锁存器输出

状态同输入状态;当LE由“1”变“0”时,数据

打入锁存器

OE为输出允许端;当OE=0时,三态门打开;

当OE=1时,三态门关闭,输出高阻。

六驱动器(OC高压输出) 74LS07

Vcc 6A 6Y 5A 5Y 4A 4

┌┴─┴─┴─┴─┴─┴─┴┐

│14 13 12 11 10 9 8│

Y = A ) │

│ 1 2 3 4 5 6 7│

└┬─┬─┬─┬─┬─┬─┬┘

7805实现正电压输出,负电压截止。

4

4.2 8255芯片

4.2.1 8255可编程并行接口芯片简介

8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。8255的内部组成框图如 图3所示:

图3 8255内部组成框图

4.2.2 8255可编程并行接口芯片方式控制字格式说明

8255有两种控制命令字:一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在 此不作叙述。方式控制字格式说明如图4所示:

5

图4 8255方式控制字

方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式0适合于两种情况:一种是

无条件传送,另一种是查询方式传送。

方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出, C口的4条线中三条用作数据传输的联络信号和中断请求信号。

方式2 :双向选通输入/输出方式。只有A口具备双向选通输入/输出方式,8位外设线用作输入或输出。

6

4.3 晶闸管

晶闸管(Thyristor)是晶体闸流管的简称,又可称做可控硅整流器,以前被简称为可控硅;晶闸管是PNPN四层半导体结构,它有三个极:阳极,阴极和门极;晶闸管工作条件为:加正向电压且门极有触发电流;其派生器件有:快速晶闸管,双向晶闸管,逆导晶闸管,光控晶闸管等。它是一种大功率开关型半导体器件,在电路 中用文字符号“VT”表示;图5为晶闸管的结构图;图6为晶闸管的电路图;

A

G

K

K 图5 晶闸管的结构图 图6 为晶闸管的电路图

晶闸管VT在工作过程中,它的阳极A和阴极K与电源和负载连接,组成晶闸管的主电路,晶闸管的门极G和阴极K与控制晶闸管的装置连接,组成晶闸管的控制电路。晶闸管的工作条件: 1. 晶闸管承受反向阳极电压时,不管门极承受何种电压,晶闸管都处于关断状态。2. 晶闸管承受正向阳极电压时,仅在门极承受正向电压的情况下晶闸管才导通。3. 晶闸管在导通情况下,只要有一定的正向阳极电压,不论门极电压如何,晶闸管保持导通,即晶闸管导通后,门极失去作用。在电路中我们使用的晶闸管来控制红绿灯的亮灭。如图7所示:

图7 晶闸管控制电路

5.交通灯控制原理分析与方案论证

本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。系统总体设计框图如图8所示:

图8 系统总体设计

1.电源提供方案

为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案:

方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。

方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。

综上所述,选择第二种方案。 2.显示界面方案

该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式LED显示。这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。

方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。 3.输入方案

这里同样讨论了两种方案:

方案一:采用8155扩展I/O口、键盘及显示等。该方案的优点是使用灵活可编程,并且有RAM及计数器。若用该方案,可提供较多I/O口,但操作起来稍显复杂。

方案二:直接在I/O口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的端口资源还比较多,我们使用六个按键,分别是P16、P17、P27、P30、P32、P33,依次完成倒计时加1、倒计时减1、调完确认、调时方向切换、南北强行和东西强行等功能。

由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。

6.系统硬件设计

硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。

6.1总体设计

本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。

单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。

键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。 系统采用双数码管倒计时计数功能,最大显示数字99。

友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。

6.2 单片机最小系统 6.2.1 振荡电路

AT89C51是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(若有)开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51常外接6MHz、12MHz的石英晶体,18脚和19脚分别对地接了一个20pF的电容,目的是防止单片机自激。若从18脚输入外部时钟脉冲,则19脚接地。

6.2.2 复位电路

复位电路就是在RST端(9脚)外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,AT89C51便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H处读入程序代码而执行程序。单片机最小系统电路如图9所示:

图9 单片机最小系统电路

6.3 显示及其驱动模块 6.3.1 键盘与状态显示功能

键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能,起到了不可缺少的重要作用。当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时1秒,在显示黄灯的下一个时间,这样依次把所有的时间显示完后在重新给时间计数器赋初值,重新进入循环。键盘电路如图10所示:

图10 键盘电路

6.3.2 倒计时计数功能

本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到1。然后又从红灯的设置时间最大值往下减,一直减到1。接下来又显示绿灯时间,如此循环。

系统共有4个两位的LED数码管,分别放置在模拟交通灯控制板上的四个路口。各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。这里采用动态显示。LED数码管如图11所示:

图11 LED数码管

7.系统软件设计

7.1延时程序设计

延时方法可以有两种一种是利用MCS-51内部定时器产生溢出中断来确定延时的时间,另一种是采用软延时的方法。下面给出延时1秒的实现方法。 7.1.1计数器硬件延时 ⑴ 计数器初值计算

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:

TC=M-C

式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213 ;在方式1时M的值为2;在方式2和3的M值为2。 ⑵ 计算公式

T=(M-TC)T计数

16

8

或TC=M-T/T计数

T计数是单片机时钟周期TCLK的12倍;TC为定时初值 如单片机的主脉冲频率为TCLK=12MHZ ,经过12分频 方式0 TMAX=2 *1微秒=8.192毫秒 方式1 TMAX=2 *1微秒=65.536毫秒 方式2、3 TMAX= 28 *1微秒=256微秒

显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法和级联的方式解决这么个问题。 ⑶设置1秒延时

我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒

1613

已到,可以返回到输出时间显示程序。 ⑷相应程序代码 ① 主程序

定时器需定时50毫秒,故T0工作于方式1。 初值:TC=M-T/T计数 =216 -50ms/1us=15536=3CBOH ORG 1000H

START: MOV TMOD, #01H ;令T0为定时器方式1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH

MOV IE, #82H ;开T0中断 SEBT TR0 ;启动T0计数器 MOV RO, #14H ;软件计数器赋初值

LOOP: SJMP $ ;等待中断

② 中断服务子程序

ORG 000BH AJMP BRTO ORG 2000H BRTO:DJNZ R0,NEXT

AJMP TIME ;跳转到时间及信号灯显示子程序

MOV R0,#14H ;恢复R0值

MOV TH0,#3CH ;重装入定时器初值 MOV TL0,#BOH MOV IE,#82H RETI

END

7.1.2软件延时

MCS-51的工作频率为2-12MHZ,我们选用的8031单片机的工作频率为6MHZ。机

器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。

具体的延时程序分析:

DELAY: MOV R4,#08H ;延时1秒子程序 DE2: LCALL DELAY1

DJNZ R4,DE2 RET

DELAY1: MOV R6,#0 ; 延时125ms 子程序

MOV R5,#0 DE1: DJNZ R5,$

DJNZ R6,DE1 RET

MOV RN,#DATA ;字节数数为2, 机器周期数为1

DELAY1为一个延时125mS子程序的双重循环,循环次数256*256=65536 所以延时时间为65536*2=131072us 约为125ms。

R4设置的初值为8时,主延时程序循环8次,所以125ms*8= 1秒。 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。

7.2时间及信号灯的显示 7.2.1 8031并行口的扩展

8031虽然有4个8位I/O端口,但真正能提供借用的只有P1口,因为P2和P0口

通常用于传送外部传送地址和数据,P3口也有它的第二功能。因此,8031通常需要扩展。由于我们向外输出时间时,时间的个位、十位、信号灯的显示都要用到一个I/O端口,显然8031的端口是不够,需要扩展。

扩展的方法有两种:(1)借用外部RAM地址来扩展I/O端口;(2)采用I/O接口芯片来扩充。我们也可以用8255并行接口芯片来扩展I/O端口。

7.2.2显示原理

当定时器定时为1秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。

7.2.3 8255输出信号的放大

要使行人能看见信号灯的情况,必须把8255输出的信号进行放大,这里我们用VT双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。

我们用连接7段数码管的方法来连接晶闸管。

7.2.4 8255输出信号与信号灯的连接

LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点

亮而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上7FH所以 SP上为0伏,不亮其余为TTL高电平,全亮则显示为8。

采用共阴级连接: 其中 PA0\PB0-a, PA1\PB1-b, PA2\PB2-c, PA3\PB3-d, PA4\PB4-e, PA5\PB5-f, PA6\PB6-g PA7\PB7 -SP接地

驱动代码表

7.2.5 8255与8031的连接

用8031的P0 口的 P0.7 连接8255的片选信号CS。我们用8031的地址采用全译码方式,当P0.7 =0时片选有效,其他无效,P0.1用于选择8255端口。

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 A7 A6 A5 A4 A3 A2 A1 A0

1 X X X X X 0 0 00H为8255 的PA口 1 X X X X X 0 1 01H 为8255的PB口 1 X X X X X 1 0 02H 为8255的PC口 1 X X X X X 1 1 03H 为8255的控制口

由于8031是分时对8255和储存器进行访问,所以8031的P0口不会发生冲突。

7.3程序设计 7.3.1流程图

按键流程图如图12所示:

图12 按键流程图

程序流程图如图13所示:

图13 程序流程图

7.3.2 源程序代码

R4 存放黄灯时间 3 03H (时间可以动态设定) R5 存放红灯时间 20 14H R6 存放绿灯时间 30 1EH PC0 显示黄灯信号 PC1 显示红灯信号 PC2 显示黄灯信号 工作于方式0

8255 PA、PB、PC口输出控制字为10000000B (80H) 程序代码:

ORG 0000H

LJMP MAIN ORG 0100H

MAIN: MOV R1,#03H ;初始化8255 MOV A,#80H MOVX @R1,A

MOV R4,#03 ; 存放黄灯时间 MOV R5,#20 ;存放红灯时间 MOV R6,#30 ; 存放绿灯时间 START: LCALL KEY_IN

LCALL DISP_Y

LCALL DISP_R LCALL DISP_Y LCALL DISP_G LCALL DISP_Y

MOV A,R5 ;保存R5中的时间 PUSH A MOV R5,#66 LCALL DISP_R

POP A MOV R5,A JMP START 按键子程序:

KEY_IN: MOV P1,0FFH ;按键子程序 MOV C,P3.0 JNB EXIT MOV C,P1.7 JNB TEST_Y

ANL P1,3FH MOV R5,P1 LCALL DISP_R

TEST_Y: MOV C,P1.6 JNB EXIT ANL P1,3FH MOV R6,P1 LCALL DISP_G EXIT: RET

DISP_Y: MOV R1,#O MOV DPTR,#TAB MOV A,R1 MOVC A,@A+DPTR MOV R1,#01H MOVX @R1,A

MOV A,R4 MOV R0,A NEXT1: MOV DPTR,#TAB MOV A,R0 MOVC A,@A+DPTR MOV R1,#00H

;显示红灯 ;显示绿灯 ;显示黄灯十位 ;显示黄灯个位

MOV R1,#02H ;显示黄灯信号 MOV A,#04H MOV @R1,A

ACALL DELAY ;延时1秒 DJNZ R0,NEXT1 RET DISP_R: MOV A,R5 MOV R0,A

NEXT2: MOV DPTR,#TAB MOV A,R0 MOV B,#10 DIV AB MOVC A,@A+DPTR MOV R1,#01H MOV A,R0 MOVX @R1,A

MOV R2,B MOV A,R2 MOVC A,@A+DPTR MOV R1,#00H MOVX @R1,A

MOV R1,#02H MOV A,#01H MOVX @R1,A

ACALL DELAY DJNZ R0,NEXT2 RET DISP_G: MOV A,R6

MOV DPTR,#TAB ;显示红灯十位 ;显示红灯个位

;显示红灯信号 ;延时1秒

NEXT3: MOV DPTR,#TAB ;显示绿灯十位 MOV A,R0 MOV B,#10 DIV AB

MOVC A,@A+DPTR MOV R1,#01H MOV A,R0 MOVX @R1,A

MOV DPTR,#TAB MOV R2,B MOV A,R2 MOVC A,@A+DPTR MOV R1,#00H MOVX @R1,A

MOV R1,#02H MOV A,#02H MOVX @R1,A

ACALL DELAY DJNZ R0,NEXT3 RET

DELAY: MOV R4,#08H DE2: LCALL DELAY1 DJNZ R4,DE2 RET

DELAY1: MOV R6,#0 MOV R5,#0 DE1: DJNZ R5,$ DJNZ R6,DE1

;显示绿灯个位 ;显示绿灯信号 ;延时1秒 ;延时1秒子程序

RET

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;驱动代码表 END

7.4 调试运行

1.接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。即,P1.0接L3,P1.1接L2,P1.2接L1,P1.3接L6,P1.4接L5,P1.5接L3。

2.S/P区DATA插孔接BUS 3区P3。 S/P区CLK插孔接BUS 3区P3。 S/P区 CLR接/SP插孔

3.从0030H单元开始连续运行,观察六个LED灯是否与交通显示情况对应,如果有偏差,则单步运行或断点运行,进行调试,直至满足设计要求。

4.调试完灯的显示后,从0030H开始连续运行,观察数码管显示的是否正常,如果不正常,则运用单步运行或断点运行进行分析和调试,直至满足要求。

5.整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。直至满足要求。

设计总结

通过单片机的设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新,是要我学会将理论很好地联系实际,并不断地去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈,不轻易言弃。

这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结果并不那么重要,我更应该注重的是这一整个过程。于是,我坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何书,程序由自己独立完成,与用8255来制作的交通灯控制系统相比,程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适用性。

参考文献

[1]刘焕成编著.工程背景下的单片机原理及系统设计[M].北京:清华大学出版社.2008.

[2]雎丙东.魏泽鼎等编著.单片机应用技术与实例[M].北京:电子工业出版社.2005. [3]马华玲.左谨平,张涛.基于AT89S51的交通灯控制系统设计与实现[J].交通科技与经济,2010,2,114117.

[4]王冬梅.张建秋,路敬袆.基于单片机的交通灯控制系统设计与实现[J].佳木斯大学学报(自然科学版),2009,27(1):9496。

[5]谢自美. 电子线路设计•实验•测试.武汉:华中科技大学出版社,2006 [6]和卫星 等.电子电路CAD实用技术.合肥:中国科学技术大学出版社,2008 [7]余锡存 等. 单片机原理及接口技术.陕西:西安电子科技大学出版社,2007 [8]龚尚福. 微机原理与接口技术.西安:西安电子科技大学出版社,2008 [9]李全利. 单片机原理及应用技术.北京:高等教育出版社,2003

[10]顾 滨. 单片微计算机原理、开发及应用.北京:高等教育出版社,2000 [11]朱家建. 单片机与可编程控制器.北京:高等教育出版社,2001

[12]张毅坤. 单片微型计算机原理及应用.陕西:西安电子科技大学出版社,2008

致谢

在本论文的工作中,自始自终得到了重庆网络教育学院黄艳玲老师的精心指导和亲切关怀。导师严谨的治学态度、严于律己宽以待人的做人风范是作者终身学习的榜样。另外导师们的课题组活跃的学术风气、学术观点与为人上的坦诚也深深的感染了作者,使作者获得了太多的启发,在此特表深深谢意!

在课题研究的整个过程中黄艳玲老师一直给予了我悉心的指导与帮助。在同她的合作中取得了很大的进步,同时她丰富的理论知识及实际工作经验、对待学术问题的科学态度令作者钦佩。在此表示由衷的感谢!

在进行交通灯控制系统设计过程当中,和我一起研究探讨的同学表示感谢。也对这三年来给予了我各方面极大支持及鼓励的电子电气工程系的老师表示感谢。最后向其他关心我支持我的老师、朋友、同班同学一并表示感谢。

附录1 交通灯的总体设计原理图

附录2交通灯控制线路图

重庆大学网络教育学院

学生毕业设计(论文)开题报告

重庆大学网络教育学院 学生毕业设计(论文)任务书

批次、层次、专业092 专科起点本科 电气工程及其自动化 校外学习中心 四川南充校外学习中心 学生姓名 邓力 学号 W09205801

一、毕业设计(论文)工作自2011年9月 1 日起至2011年 11 月30日止 二、设计(论文)中文题目:

基于单片机的交通信号灯控制系统设计

西

图1 交通信号灯示意图

题目简介:某十字路口东西方向和南北方向各装有直行(包括右拐弯)控制红、黄、绿交通信号灯(如图1所示)。还有倒计时显示器,显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间(即剩余时间)。系统中有两个按钮-启动和

停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭。信号灯的控制规律如表1所示。即系统启动后,东西方向先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,与此同时南北方向红灯亮30s。南北方向红灯亮30s后转为先绿灯亮25s,然后绿灯闪烁3s,最后黄灯亮2s,东西向红灯亮30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。

表1 信号灯控制规律

四、达到的技术指标及要求: 1、达到的技术指标

(1)系统中有两个按钮-启动和停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭;

(2)系统具有倒计时显示功能:可显示相应方向直行控制当前点亮信号灯还要持续的时间(即剩余时间);

(3)实现信号灯的控制规律。 2、要求

(1)完整描述系统的控制功能和控制过程,根据控制功能完成控制方案选择,系统硬件选择,画出系统框图;确定元器件及元件参数,设计和绘制电路原理图;

(2)设计控制系统的程序框图(流程图),根据程序框图进行软件设计,编写完整的控制软件(用汇编语言完成编程),上机调试通过。

五、进度安排:见附录 六、主要参考文献:

[1] 刘焕成编著. 工程背景下的单片机原理及系统设计[M]. 北京:清华大学出版社. 2008.

[2] 雎丙东,魏泽鼎等编著. 单片机应用技术与实例[M]. 北京:电子工业出版社. 2005. [3] 马华玲,左谨平,张涛. 基于AT89S51的交通灯控制系统设计与实现[J]. 交通科技与经济,2010,2,114-117.

[4] 王冬梅,张建秋,路敬袆. 基于单片机的交通灯控制系统设计与实现[J]. 佳木斯大学学报(自然科学版),2009,27(1):94-96.

指 导 教 师 黄艳玲 下 发 日 期 2011-9-12

附录:毕业设计各阶段完成内容明细表


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn