收藏 分销(赏)

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

上传人:鼓*** 文档编号:9772940 上传时间:2025-04-07 格式:DOC 页数:37 大小:944.50KB
下载 相关 举报
基于单片机的交通信号灯控制系统设计.doc_第1页
第1页 / 共37页
基于单片机的交通信号灯控制系统设计.doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述
重庆大学网络教育学院 毕 业 设 计(论 文)题目 基于单片机的交通信号灯 控制系统设计 学生所在校外学习中心 四川达州校外学习中心 批次 层次 专业 092 专科起点本科 电气工程及其自动化 学 号 W09205801 学 生 邓军 指 导 教 师 黄艳 起 止 日 期 2011 年 9 月 1 日起至 2011 年 11 月 30 日止 摘摘 要要 随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。随着当今社会的迅速发展,汽车的销售量有了很大的提高。大量汽车的出售,给我们的生活带了很大的便利。但是,它也给城市的交通提出了更加严峻的考验。在这种情况下,我们除了要修建更加好的道路外,还需要设计出更多更好的交通信号灯控制系统。在现代,利用单片机来实现交通信号灯的控制成了我们调控交通的主流。运用单片机控制交通信号灯方便,性能高,易于控制。所以,我们很必要对这一课题进行一次系统的研究学习。在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通信号灯,并用单片机进行合理的控制。本系统由 AT89C51 单片机、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通信号灯的功能。系统除基本交通信号灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。关键词:单片机,交通信号灯关键词:单片机,交通信号灯 目 录 中文摘要 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 1引言引言 当今,交通信号灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段,这一技术在 19 世纪就已出现了。1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869 年 1 月 2 日,煤气灯爆炸,造成人员伤亡,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年开始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,另一种是用扩音器来启动红绿灯。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。基于单片机构成的城市交通信号灯控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。但利用单片机控制交通信号灯涉及到一些现实问题,诸如信号的驱动、车辆到达的感知等。为此,我们采用模拟方式进行说明。所谓模拟,就是用绿、黄、红色三只共四组发光二极管代替交通信号灯。目前,城市交通信号灯控制系统应用广泛,因此,开发这种系统非常实用。2 2设计任务设计任务及思路及思路 设计一个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的设计。系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工作。控制对象如下:东西方向红灯两个,南北方向红灯两个,东西方向黄灯两个,南北方向黄灯两个,东西方向绿灯两个,南北方向绿灯两个,图 1 交通信号示意 十字路口东西方向和南北方向各装有直行(包括右拐弯)控制红、黄、绿交通信号灯(如图 1 所示)。还有倒计时显示器,显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间(即剩余时间)。系统中有两个按钮启动和停止,启动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号灯都熄灭。信号灯的控制规律如表 1 所示。即系统启动后,东西方向先绿灯亮 25s,然后绿灯闪烁 3s,最后黄灯亮 2s,与此同时南北方向红灯亮 30s。南北方向红灯亮 30s 后转为先绿灯亮 25s,然后绿灯闪烁 3s,最后黄灯亮 2s,东西向红灯亮 30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。东南北西 表 1 信号灯控制规律 东西方向 信号 绿灯亮 绿灯闪烁 黄灯亮 红灯亮 时间 25s 3s 2s 30s 南北方向 信号 红灯亮 绿灯亮 绿灯闪烁 黄灯亮 时间 30s 25s 3s 2s 设计电路中使用到的主要元器件,单片机芯片、8255 芯片和晶闸管。十字路口分四条道,每条道有三个红绿灯,共十二个。每个红绿灯由一块 8031 芯片单独控制,我们只设计一个红绿灯的燃亮情况,同理根据燃亮顺序设计其它红绿灯。然后再组合起来,达到设计要求。3 3单片机单片机 3.13.1 单片机简介单片机简介 单片机是一种集成电路芯片,简称为单片微型计算机。是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU,随机存储器 RAM,只读存储器 ROM,多种 I0 口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小而完善 的计算机系统。3.3.2 2 单片机基本结构单片机基本结构 单片机由运算器,控制器,存储器,输入输出设备组成。3.3.3 3 单片机单片机硬件特性硬件特性 (1)单片机集成度很高,单片机包括 CPU、4KB 容量的 ROM(8031 无)、128B 容量的 RAM、2 个 16 定时计时器、4 个 8 位并行口、全双工串口行口。(2)单片机系统结构简单,使用方便,实现了模块化。(3)单片机可靠性能好,可工作很长时间。(4)处理功能强,速度快 4 4芯片的选择芯片的选择 4.1 74LS3734.1 74LS373 以及以及 74LS0774LS07 简介简介 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.2 82554.2 8255 芯片芯片 4.2.1 4.2.1 82558255 可编程并行接口芯片简介可编程并行接口芯片简介 8255 可编程并行接口芯片有三个输入输出端口,即 A 口、B 口和 C 口,对应于引脚 PA7PA0、PB7PB0 和 PC7PC0。其内部还有一个控制寄存器,即控制口。通常A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的端口,它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁存器。它们分别与端口 AB 配合使用,可以用作控制信号输出或作为状态信号输入。8255 的内部组成框图如 图 3 所示:图 3 8255 内部组成框图 4.2.2 4.2.2 82558255 可编程并行接口芯片方式控制字格式说明可编程并行接口芯片方式控制字格式说明 8255 有两种控制命令字:一个是方式选择控制字;另一个是 C 口按位置位复位控制字。其中 C 口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在 此不作叙述。方式控制字格式说明如图 4 所示:图 4 8255 方式控制字 方式 0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式 0 适合于两种情况:一种是无条件传送,另一种是查询方式传送。方式 1:选通输入输出方式。这时 A 口或 B 口的 8 位外设线用作输入或输出,C 口的 4 条线中三条用作数据传输的联络信号和中断请求信号。方式 2:双向选通输入/输出方式。只有 A 口具备双向选通输入/输出方式,8位外设线用作输入或输出。4.3 4.3 晶闸管晶闸管 晶闸管(Thyristor)是晶体闸流管的简称,又可称做可控硅整流器,以前被简称为可控硅;晶闸管是 PNPN 四层半导体结构,它有三个极:阳极,阴极和门极;晶闸管工作条件为:加正向电压且门极有触发电流;其派生器件有:快速晶闸管,双向晶闸管,逆导晶闸管,光控晶闸管等。它是一种大功率开关型半导体器件,在电路 中用文字符号“VT”表示;图 5 为晶闸管的结构图;图 6 为晶闸管的电路图;图 5 晶闸管的结构图 图 6 为晶闸管的电路图 晶闸管 VT 在工作过程中,它的阳极 A 和阴极 K 与电源和负载连接,组成晶闸管的主电路,晶闸管的门极 G 和阴极 K 与控制晶闸管的装置连接,组成晶闸管的控制电路。晶闸管的工作条件:1.晶闸管承受反向阳极电压时,不管门极承受何种电压,晶闸管都处于关断状态。2.晶闸管承受正向阳极电压时,仅在门极承受正向电压的情况下晶闸管才导通。3.晶闸管在导通情况下,只要有一定的正向阳极电压,不论门极电压如何,晶闸管保持导通,即晶闸管导通后,门极失去作用。在电路中我们使用的晶闸管来控制红绿灯的亮灭。如图 7 所示:图 7 晶闸管控制电路 A G Ic0 PNP R E K NPN Ia Ic1 Ig Ic2 Ik P1 N1 P2 N2 G K A 5 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.系统硬件设计系统硬件设计 硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性;软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。6.16.1 总体设计总体设计 本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片机控制系统、键盘及状态显示、倒计时模块等。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。它由单片机振荡电路、复位电路等组成。键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机 P1 输入到系统。系统采用双数码管倒计时计数功能,最大显示数字 99。友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。6.26.2 单片机最小系统单片机最小系统 6.2.16.2.1 振荡电路振荡电路 AT89C51 是内部具有振荡电路的单片机,只需在 18 脚和 19 脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(若有)开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51 常外接 6MHz、12MHz的石英晶体,18 脚和 19 脚分别对地接了一个 20pF 的电容,目的是防止单片机自激。若从 18 脚输入外部时钟脉冲,则 19 脚接地。6.2.2 6.2.2 复位电路复位电路 复位电路就是在 RST 端(9 脚)外接的一个电路,目的是使单片机上的电开始工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,AT89C51 便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址 0000H 处读入程序代码而执行程序。单片机最小系统电路如图9 所示:图 9 单片机最小系统电路 6.36.3 显示及其驱动模块显示及其驱动模块 6.3.16.3.1 键盘与状态显示功能键盘与状态显示功能 键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能,起到了不可缺少的重要作用。当定时器定时为 1 秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时 1 秒,在显示黄灯的下一个时间,这样依次把所有的时间显示完后在重新给时间计数器赋初值,重新进入循环。键盘电路如图 10 所示:图 10 键盘电路 6.3.2 6.3.2 倒计时计数功能倒计时计数功能 本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减 1,一直减到 1。然后又从红灯的设置时间最大值往下减,一直减到 1。接下来又显示绿灯时间,如此循环。系统共有 4 个两位的 LED 数码管,分别放置在模拟交通灯控制板上的四个路口。各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。这里采用动态显示。LED 数码管如图 11 所示:图 11 LED 数码管 7 7系统系统软件软件设计设计 7.17.1 延时程序设计延时程序设计 延时方法可以有两种一种是利用 MCS-51 内部定时器产生溢出中断来确定延时的时间,另一种是采用软延时的方法。下面给出延时 1 秒的实现方法。7.1.17.1.1 计数器硬件延时计数器硬件延时 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL 中的。它是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为 C 和计数初值设定为 TC 可得到如下计算通式:TC=M-C 式中,M 为计数器模值,该值和计数器工作方式有关。在方式 0 时 M 为 213;在方式1 时 M 的值为 216;在方式 2 和 3 的 M 值为 28。计算公式 T=(MTC)T 计数 或 TCMTT 计数 T 计数是单片机时钟周期 TCLK 的 12 倍;TC 为定时初值 如单片机的主脉冲频率为 TCLK=12MHZ,经过 12 分频 方式 0 TMAX213*1 微秒8.192 毫秒 方式 1 TMAX216*1 微秒65.536 毫秒 方式 2、3 TMAX=28 *1 微秒=256 微秒 显然 1 秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法和级联的方式解决这么个问题。设置秒延时 我们采用在主程序中设定一个初值为 20 的软件计数器和使 T0 定时 50 毫秒。这样每当 T0 到 50 毫秒时 CPU 就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU 先使软件计数器减 1,然后判断它是否为零。为零表示 1 秒已到,可以返回到输出时间显示程序。相应程序代码 主程序 定时器需定时 50 毫秒,故 T0 工作于方式 1。初值:TCMTT 计数 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.27.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.27.2 时间及信号灯的显示时间及信号灯的显示 7.2.1 80317.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.27.2.2 显示原理显示原理 当定时器定时为 1 秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值,重新进入循环。7.2.3 82557.2.3 8255 输出信号的放大输出信号的放大 要使行人能看见信号灯的情况,必须把 8255 输出的信号进行放大,这里我们用VT 双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平时关断,该支路指示灯灭。我们用连接 7 段数码管的方法来连接晶闸管。7.2.4 82557.2.4 8255 输出信号与信号灯的连接输出信号与信号灯的连接 LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上 7FH 所以 SP 上为 0 伏,不亮其余为 TTL 高电平,全亮则显示为 8。采用共阴级连接:其中 PA0PB0-a,PA1PB1-b,PA2PB2-c,PA3PB3-d,PA4PB4-e,PA5PB5-f,PA6PB6-g PA7PB7-SP 接地 驱动代码表 显示数值 dp g f e d c b a 驱动代码(16 进制)0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 0 6DH 6 0 1 1 1 1 1 0 0 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 7.2.5 82557.2.5 8255 与与 80318031 的连接的连接 用 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.37.3 程序设计程序设计 7.3.17.3.1 流流程图程图 按键流程图如图 12 所示:图 12 按键流程图 程序流程图如图 13 所示:图 13 程序流程图 初始化 开始 黄灯燃亮状态 红灯燃亮状态 R5=0?绿灯燃亮状态 R6=0?N N N Y Y Y 有键盘事件?处理键盘事件 Y N R4=0?7.3.2 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,A 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 DPTR,#TAB ;显示红灯个位 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 ;延时 1 秒 DJNZ R0,NEXT2 RET DISP_G:MOV A,R6 MOV R0,A 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 ;延时 1 秒 DJNZ R0,NEXT3 RET DELAY:MOV R4,#08H ;延时 1 秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RET DELAY1:MOV R6,#0 MOV R5,#0 DE1:DJNZ R5,$DJNZ R6,DE1 RET TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H ;驱动代码表 END 7.4 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 1 交通灯的总体设计原理图交通灯的总体设计原理图 DPAADPADPABCDEFGABCDEFGBCDEFGBCDEFGBCDEFGP20P21P20P21P22P23P22P23P13P14P15P13P14P15P10P11P12P10P12P11P10P17P11P12P13P14P15P16P20P24P21P22P23DPP32P33P30P32P35P33P34P16P17P27P27P26P30XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51D1LED-REDD2LED-REDD3LED-YELLOWD4LED-YELLOWD5LED-GREEND6LED-GREEN234567891RP1RESPACK-8D7LED-REDD8LED-YELLOWD9LED-GREEND10LED-GREEND11LED-YELLOWD12LED-RED调完确认键调完确认键倒计时加倒计时加1键键倒计时减倒计时减1键键东西强行东西强行南北强行南北强行调时方向切换键调时方向切换键C11nFC21nFC31uFX1CRYSTALR110k 附录 2 交通灯控制线路图 重庆大学网络教育学院重庆大学网络教育学院 学生毕业设计(论文)开题报告学生毕业设计(论文)开题报告 一、课题的目的及意义(含国内外的研究现状分析):当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在 19 世纪就已出现了。1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869 年 1 月 2 日,煤气灯爆炸,造成人员伤亡,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914 年开始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,另一种是用扩音器来启动红绿灯。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国 道路交通和道路标志信号协定 对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服