基于单片机的交通信号灯控制系统设计终 - 副本.doc_第1页
基于单片机的交通信号灯控制系统设计终 - 副本.doc_第2页
基于单片机的交通信号灯控制系统设计终 - 副本.doc_第3页
基于单片机的交通信号灯控制系统设计终 - 副本.doc_第4页
基于单片机的交通信号灯控制系统设计终 - 副本.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

建东职业技术学院建东职业技术学院 毕业设计说明书毕业设计说明书 课题名题课题名题 基于单片机的交通信号灯基于单片机的交通信号灯 控制系统设计控制系统设计 系部名称系部名称 电子与电气工程电子与电气工程 专业班级专业班级 电气自动化技术(电气自动化技术(12190111219011) 学学 号号 121901111121901111 学生姓名学生姓名 何杰何杰 指导老师指导老师 吴国经吴国经 职称职称 副教授副教授 指导教师指导教师 周园周园 职称职称 讲师讲师 完成日期完成日期 20142014 年年 1010 月月 2525 日日 II 交通灯信号控制系统的设计(硬件部分) 摘 要 随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系 的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市 交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通 监控指挥系统中最重要的组成部分。 随着当今社会的迅速发展,汽车的销售量有了很大的提高。大量汽车的出售,给我 们的生活带了很大的便利。但是,它也给城市的交通提出了更加严峻的考验。在这种情 况下,我们除了要修建更加好的道路外,还需要设计出更多更好的交通信号灯控制系统。 在现代,利用单片机来实现交通信号灯的控制成了我们调控交通的主流。运用单片 机控制交通信号灯方便,性能高,易于控制。所以,我们很必要对这一课题进行一次系 统的研究学习。在本次毕业设计中,我的主要设计任务是在一个十字路口设计一个交通 信号灯,并用单片机进行合理的控制。本系统由 AT89C51 单片机、键盘、LED 显示、交通 灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通信号灯的功能。系统 除基本交通信号灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号 灯的点亮时间以及根据具体情况手动控制等功能。 关键词:单片机;交通信号灯 III 目 录 前 言.1 第 1 章 设计任务及思路.2 第 2 章 单片机介绍及芯片选择.4 2.1 单片机简介 4 2.2 单片机基本结构 4 2.3 单片机硬件特性 5 2.4 74LS373 以及 74LS07 简介5 2.5 8255 芯片6 2.5.1 8255 可编程并行接口芯片简介6 2.5.2 8255 可编程并行接口芯片方式控制字格式说明.6 2.6 晶闸管 7 第 3 章 交通灯控制原理分析与方案论证.9 第 4 章 系统硬件设计11 4.1 总体设计 .11 4.2 单片机最小系统 .11 4.2.1 振荡电路 .11 4.2.2 复位电路 .11 4.3 显示及其驱动模块 .12 4.3.1 键盘与状态显示功能 .12 4.3.2 倒计时计数功能 .13 第 5 章 系统软件设计14 5.1 延时程序设计 .14 5.1.1 计数器硬件延时14 5.1.2 软件延时15 5.2 时间及信号灯的显示 .16 5.2.1 8031 并行口的扩展.16 5.2.2 显示原理16 5.2.3 8255 输出信号的放大.16 5.2.4 8255 输出信号与信号灯的连接.16 IV 5.2.5 8255 与 8031 的连接17 5.3 程序设计 .17 5.3.1 源程序代码 .17 5.4 调试运行 .21 结 论22 致 谢23 参考文献.24 附录 A 交通灯的总体设计原理图 .25 附录 B 交通灯控制线路图 .26 建东职业技术学院毕业设计(论文) 1 前 言 当今,交通信号灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效 的手段,这一技术在 19 世纪就已出现了。 1858 年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手 式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械 工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤 气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示 “注意”。1869 年 1 月 2 日,煤气灯爆炸,造成人员伤亡,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成, 1914 年开始安装于纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表 示“通行”。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是 把压力探测器安在地下,另一种是用扩音器来启动红绿灯。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力, 减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各 种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和 右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口 内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必 须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线, 但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。 基于单片机构成的城市交通信号灯控制系统,可以节约人力资源和降低系统成 本,从而有效的提高工作效率。但利用单片机控制交通信号灯涉及到一些现实问题, 诸如信号的驱动、车辆到达的感知等。为此,我们采用模拟方式进行说明。所谓模 拟,就是用绿、黄、红色三只共四组发光二极管代替交通信号灯。目前,城市交通 信号灯控制系统应用广泛,因此,开发这种系统非常实用。 、 建东职业技术学院毕业设计(论文) 2 第 1 章 设计任务及思路 设计一个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的 设计 系统工作受开关控制,起动开关 ON 则系统工作;起动开关 OFF 则系统停止工 作。控制对象如下: 东西方向红灯两个 , 南北方向红灯两个, 东西方向黄灯两个 , 南北方向黄灯两个, 东西方向绿灯两个 , 南北方向绿灯两个, 图 1.1 交通信号示意 十字路口东西方向和南北方向各装有直行(包括右拐弯)控制红、黄、绿交通 信号灯(如图 1.1 所示) 。还有倒计时显示器,显示器用于显示相应方向直行控制当 前点亮信号灯还要持续的时间(即剩余时间) 。系统中有两个按钮启动和停止,启 动按钮按下后信号灯系统开始工作,并周而复始地循环;停止按钮按下,所有信号 灯都熄灭。信号灯的控制规律如表 1 所示。即系统启动后,东西方向先绿灯亮 25s,然后绿灯闪烁 3s,最后黄灯亮 2s,与此同时南北方向红灯亮 30s。南北方向 红灯亮 30s 后转为先绿灯亮 25s,然后绿灯闪烁 3s,最后黄灯亮 2s,东西向红灯亮 30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。 表 1.1 信号灯控制规律 信号绿灯亮绿灯闪烁黄灯亮红灯亮东西方向 时间25s3s2s30s 信号红灯亮绿灯亮绿灯闪烁黄灯亮南北方向 时间30s25s3s2s 东 南 北 西 建东职业技术学院毕业设计(论文) 3 设计电路中使用到的主要元器件,单片机芯片、8255 芯片和晶闸管。十字路口 分四条道,每条道有三个红绿灯,共十二个。每个红绿灯由一块 8031 芯片单独控制, 我们只设计一个红绿灯的燃亮情况,同理根据燃亮顺序设计其它红绿灯。然后再组 合起来,达到设计要求。 建东职业技术学院毕业设计(论文) 4 第 2 章 单片机介绍及芯片选择 2.1 单片机简介 单片机是一种集成电路芯片,简称为单片微型计算机。是采用超大规模集成电 路技术把具有数据处理能力的中央处理器 CPU,随机存储器 RAM,只读存储器 ROM, 多种 I0 口和中断系统,定时器,计时器等功能,集成在一块硅片上构成的一个小 而完善的计算机系统。 2.2 单片机基本结构 单片机由运算器,控制器,存储器,输入输出设备组成。 2.3 单片机硬件特性 (1)单片机集成度很高,单片机包括CPU、4KB 容量的 ROM(8031 无)、 128B 容量的 RAM、2 个 16 定时计时器、 4 个 8 位并行口、全双工串口行口。 (2)单片机系统结构简单,使用方便,实现了模块化。 (3)单片机可靠性能好,可工作很长时间。 (4)处理功能强,速度快 2.4 74LS373 以及 74LS07 简介 74LS373 是一种带三态门的 8D 锁存器,其管脚示意图 2.4 如下所示: 图 2.1 74LS373 管脚示意图 其中:1D-8D 为 8 个输入端。 1Q-8Q 为 8 个输出端。 LE 为数据打入端:当 LE 为“1”时,锁存器输出 状态同输入状态;当 LE 由“1”变“0”时,数据 打入锁存器 OE 为输出允许端;当 OE=0 时,三态门打开; 当 OE=1 时,三态门关闭,输出高阻。 六驱动器(OC 高压输出) 74LS07 建东职业技术学院毕业设计(论文) 5 7805 实现正电压输出,负电压截止。 2.5 8255 芯片 2.5.1 8255 可编程并行接口芯片简介 8255 可编程并行接口芯片有三个输入输出端口,即 A 口、B 口和 C 口,对应于 引脚 PA7PA0、PB7PB0 和 PC7PC0。其内部还有一个控制寄存器,即控制口。 通常 A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的端口,它在方 式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁存器。它们分别与 端口 AB 配合使用,可以用作控制信号输出或作为状态信号输入。8255 的内部组 成框图如 图 2.5.1 所示: 建东职业技术学院毕业设计(论文) 6 图 2.5.1 8255 内部组成框图 2.5.2 8255 可编程并行接口芯片方式控制字格式说明 8255 有两种控制命令字:一个是方式选择控制字;另一个是 C 口按位置位复 位控制字。其中 C 口按位置位复位控制字方式使用较为繁难,说明也较冗长,故 在 此不作叙述。方式控制字格式说明如图 2.5.2 所示: 图 2.5.2 8255 方式控制字 方式 0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都 可以用作输入或输出。输出可被锁存,输入不能锁存。方式 0 适合于两种情况:一 种是无条件传送,另一种是查询方式传送。 方式 1:选通输入输出方式。这时 A 口或 B 口的 8 位外设线用作输入或输出, C 口的 4 条线中三条用作数据传输的联络信号和中断请求信号。 方式 2 :双向选通输入/输出方式。只有 A 口具备双向选通输入/输出方式,8 位外设线用作输入或输出。 2.6 晶闸管 晶闸管(Thyristor)是晶体闸流管的简称,又可称做可控硅整流器,以前被简 建东职业技术学院毕业设计(论文) 7 称为可控硅;晶闸管是 PNPN 四层半导体结构,它有三个极:阳极,阴极和门极;晶 闸管工作条件为:加正向电压且门极有触发电流;其派生器件有:快速晶闸管,双 向晶闸管,逆导晶闸管,光控晶闸管等。它是一种大功率开关型半导体器件,在电 路中用文字符号“VT”表示;图 3.3.1 为晶闸管的结构图;图 3.3.2 为晶闸管的电 路图; 图 2.6.1 晶闸管的结构图 图 2.6.2 为晶闸管的电路图 晶闸管 VT 在工作过程中,它的阳极 A 和阴极 K 与电源和负载连接,组成晶闸管 的主电路,晶闸管的门极 G 和阴极 K 与控制晶闸管的装置连接,组成晶闸管的控制 电路。晶闸管的工作条件: 1. 晶闸管承受反向阳极电压时,不管门极承受何种电 压,晶闸管都处于关断状态。2. 晶闸管承受正向阳极电压时,仅在门极承受正向电 压的情况下晶闸管才导通。3. 晶闸管在导通情况下,只要有一定的正向阳极电压, 不论门极电压如何,晶闸管保持导通,即晶闸管导通后,门极失去作用。在电路中 我们使用的晶闸管来控制红绿灯的亮灭。如图 2.6.3 所示: 图 2.6.3 晶闸管控制电路 建东职业技术学院毕业设计(论文) 8 第 3 章 交通灯控制原理分析与方案论证 本设计以单片机为核心,以 LED 数码管作为倒计时指示,根据设计的要求我们 考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态, 系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效 率,缓减交通拥挤。系统总体设计框图如图 3.1 所示: 图 3.1 系统总体设计 1电源提供方案 为使模块稳定工作,须有可靠电源。本次设计考虑了两种电源方案: 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路 可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。该方案的优点是系统简明扼要,节约 成本;缺点是输出功率不高。 综上所述,选择第二种方案。 2显示界面方案 该系统要求完成倒计时功能。基于上述原因,本次设计考虑了两种方案: 方案一:完全采用点阵式 LED 显示。这种方案功能强大,可方便的显示各种英 文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。 方案二:完全采用数码管显示。这种方案优点是实现简单,可以完成倒计时功 能。缺点是功能较少,只能显示有限的符号和数码字符。根据本设计的要求,方案 二已经满足了要求,所以本次设计采用方案二以实现系统的显示功能。 3输入方案 这里同样讨论了两种方案: 单 片 机 最 小 系 统 倒 计 时 交 通 灯 键盘 与状 态显 示 建东职业技术学院毕业设计(论文) 9 方案一:采用 8155 扩展 I/O 口、键盘及显示等。该方案的优点是使用灵活可编 程,并且有 RAM 及计数器。若用该方案,可提供较多 I/O 口,但操作起来稍显复杂。 方案二:直接在 I/O 口线上接上按键开关。因为设计时精简和优化了电路,所 以剩余的端口资源还比较多,我们使用六个按键,分别是 P16、P17、P27、P30、P32、P33,依次完成倒计时加 1、倒计时减 1、调完确认、调 时方向切换、南北强行和东西强行等功能。 由于该系统是对交通灯及数码管的控制,只需用单片机本身的 I/O 口就可实现, 且本身的计数器及 RAM 已经够用,故选择方案二。 建东职业技术学院毕业设计(论文) 10 第 4 章 系统硬件设计 硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功 能以外,主要还要考虑如下几个因素:系统稳定度;器件的通用性或易选购性; 软件编程的易实现性;系统其它功能及性能指标;因此硬件设计至关重要。现 从各功能模块的实现逐个进行分析探讨。 4.1 总体设计 本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:单片 机控制系统、键盘及状态显示、倒计时模块等。 单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处 理器。它由单片机振荡电路、复位电路等组成。 键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机 P1 输入到系统。 系统采用双数码管倒计时计数功能,最大显示数字 99。 友好的人机界面、灵活的控制方式、优化的物理结构是本设计的亮点。 4.2 单片机最小系统 4.2.1 振荡电路 AT89C51 是内部具有振荡电路的单片机,只需在 18 脚和 19 脚之间接上石英晶 体,给单片机加工作所需直流电源,振荡器就开始振荡起来。振荡电路就为单片机 工作提供了所需要的时钟脉冲信号,是单片机的内部电路、单片机的内部程序(若 有)开始工作。振荡电路不工作,整个单片机电路都不能正常工作。AT89C51 常外 接 6MHz、12MHz 的石英晶体,18 脚和 19 脚分别对地接了一个 20pF 的电容,目的是 防止单片机自激。若从 18 脚输入外部时钟脉冲,则 19 脚接地。 4.2.2 复位电路 复位电路就是在 RST 端(9 脚)外接的一个电路,目的是使单片机上的电开始 工作时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状 态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上 的时间,AT89C51 便能完成系统重置的各项工作,使得内部特殊功能寄存器的内容 均被设置成已知状态,并且从地址 0000H 处读入程序代码而执行程序。单片机最小 系统电路如图 4.2.2 所示: 建东职业技术学院毕业设计(论文) 11 4.2.2 单片机最小系统电路 4.3 显示及其驱动模块 4.3.1 键盘与状态显示功能 键盘在本设计中用于紧急情况的手动控制装置,以及定时时间的设置等功能, 起到了不可缺少的重要作用。当定时器定时为 1 秒时程序跳转到时间显示及信号灯 显示子程序,它将依次显示信号灯时间,同时一直显示信号灯的颜色,这时在返回 定时子程序定时 1 秒,在显示黄灯的下一个时间,这样依次把所有的时间显示完后 在重新给时间计数器赋初值,重新进入循环。键盘电路如图 4.3.1 所示: 图 4.3.1 键盘电路 建东职业技术学院毕业设计(论文) 12 4.3.2 倒计时计数功能 本系统使用数码管完成倒计时显示功能。以南北方向为例,数码管显示的数值 从绿灯的设置时间最大值往下减,每秒钟减 1,一直减到 1。然后又从红灯的设置时 间最大值往下减,一直减到 1。接下来又显示绿灯时间,如此循环。 系统共有 4 个两位的 LED 数码管,分别放置在模拟交通灯控制板上的四个路口。 各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根 信号线控制,十位用另一根信号线控制。这里采用动态显示。LED 数码管如图 4.3.2 所示: 图 5.3.2 LED 数码管 建东职业技术学院毕业设计(论文) 13 第 5 章 系统软件设计 5.1 延时程序设计 延时方法可以有两种一种是利用 MCS-51 内部定时器产生溢出中断来确定延时的 时间,另一种是采用软延时的方法。下面给出延时 1 秒的实现方法。 5.1.1 计数器硬件延时 计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL 中的。它是 以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计 数器记满为零所需的计数值设定为 C 和计数初值设定为 TC 可得到如下计算通式: TC=M-C (式 5-1) 式中,M 为计数器模值,该值和计数器工作方式有关。在方式 0 时 M 为 213 ;在方 式 1 时 M 的值为 216;在方式 2 和 3 的 M 值为 28。 (2)计算公式 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 秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件 相结合的办法和级联的方式解决这么个问题。 (3)设置 1 秒延时 我们采用在主程序中设定一个初值为 20 的软件计数器和使 T0 定时 50 毫秒。这 样每当 T0 到 50 毫秒时 CPU 就响应它的溢出中断请求,进入他的中断服务子程序。 在中断服务子程序中,CPU 先使软件计数器减 1,然后判断它是否为零。为零表示 1 秒已到,可以返回到输出时间显示程序。 (4)相应程序代码 主程序 定时器需定时 50 毫秒,故 T0 工作于方式 1。 初值:TCMTT 计数 216 50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ;令 T0 为定时器方式 1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH 建东职业技术学院毕业设计(论文) 14 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 5.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 秒。 建东职业技术学院毕业设计(论文) 15 由于单片机的运行速度很快其他的指令执行时间可以忽略不计。 5.2 时间及信号灯的显示 5.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 端口。 5.2.2 显示原理 当定时器定时为 1 秒时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时 间 ,同时一直显示信号灯的颜色,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间, 这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 5.2.3 8255 输出信号的放大 要使行人能看见信号灯的情况,必须把 8255 输出的信号进行放大,这里我们用 VT 双向晶闸管,当门极为高电平时晶闸管导通,该支路指示灯亮;当门极为低电平 时关断,该支路指示灯灭。 我们用连接 7 段数码管的方法来连接晶闸管。 5.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 接地 建东职业技术学院毕业设计(论文) 16 表 5.2.4 驱动代码表 显示数值dp g f e d c b a驱动代码(16 进制) 00 0 1 1 1 1 1 13FH 10 0 0 0 0 1 1 006H 20 1 0 1 1 0 1 15BH 30 1 0 0 1 1 1 14FH 40 1 1 0 0 1 1 066H 50 1 1 0 1 1 0 06DH 60 1 1 1 1 1 0 07DH 70 0 0 0 0 1 1 107H 80 1 1 1 1 1 1 17FH 5.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 口不会发生冲突。 5.3 程序设计 5.3.1 源程序代码 R4 存放黄灯时间 3 03H (时间可以动态设定) R5 存放红灯时间 20 14H R6 存放绿灯时间 30 1EH PC0 显示黄灯信号 PC1 显示红灯信号 PC2 显示黄灯信号 工作于方式 0 8255 PA、PB、PC 口输出控制字为 10000000B (80H) 程序代码: ORG 0000H LJMP MAIN 建东职业技术学院毕业设计(论文) 17 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 建东职业技术学院毕业设计(论文) 18 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 建东职业技术学院毕业设计(论文) 19 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 建东职业技术学院毕业设计(论文) 20 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 5.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.整体运行,观察灯显示和时间显示是否都符合要求,如果不符合,则再调试。 直至满足要求。 建东职业技术学院毕业设计(论文) 21 结 论 通过单片机的设计,我不仅加深了对单片机理论的理解,将理论很好地应用到 实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己, 超越自己。创新,是要我学会将理论很好地联系实际,并不断地去开动自己的大脑, 从为人类造福的意愿出发,做自己力所能及的,别人却没想到的事。使之不断地战 胜别人,超越前人。同时,更重要的是,我在这一设计过程中,学会了坚持不懈, 不轻易言弃。 这个设计过程中,我遇到过许多次失败的考验,就比如,自己对实际生活中的 交通秩序的不了解给整个设计带来的困扰,真想要就此罢休,然而,就在想要放弃 的那一刻,我明白了,原来结果并不那么重要,我更应该注重的是这一整个过程。 于是,我坚持了下来。当然最终,这个设计很成功,主要体现在,这一整个系统, 几乎没有参考任何书,程序由自己独立完成,与用 8255 来制作的交通灯控制系统相 比,程序简单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所 要求的性能指标以外,成本也是很重要的一个指标。成本的高低也决定了产品的适 用性。 建东职业技术学院毕业设计(论文) 22 致 谢 在本论文的工作中,自始自终得到了重庆网络教育学院黄艳玲老师的精心指导 和亲切关怀。导师严谨的治学态度、严于律己宽以待人的做人风范是作者终身学习 的榜样。另外导师们的课题组活跃的学术风气、学术观点与为人上的坦诚也深深的 感染了作者,使作者获得了太多的启发,在此特表深深谢意! 在课题研究的整个过程中黄艳玲老师一直给予了我悉心的指导与帮助。在同她 的合作中取得了很大的进步,同时她丰富的理论知识及实际工作经验、对待学术问 题的科学态度令作者钦佩。在此表示由衷的感谢! 在进行交通灯控制系统设计过程当中,和我一起研究探讨的同学表示感谢。也 对这三年来给予了我各方面极大支持及鼓励的电子电气工程系的老师表示感谢。最 后向其他关心我支持我的老师、朋友、同班同学一并表示感谢。 建东职业技术学院毕业设计(论文) 23 参考文献 1刘焕成编著.工程背景下的单片机原理及系统设计M.北京:清华

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论