毕业设计(论文)-基于单片机的十字路口交通灯控制系统设计.pdf_第1页
毕业设计(论文)-基于单片机的十字路口交通灯控制系统设计.pdf_第2页
毕业设计(论文)-基于单片机的十字路口交通灯控制系统设计.pdf_第3页
毕业设计(论文)-基于单片机的十字路口交通灯控制系统设计.pdf_第4页
毕业设计(论文)-基于单片机的十字路口交通灯控制系统设计.pdf_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1 本 科 毕 业 设本 科 毕 业 设 计(计(论论 文)文) 题目题目 基于单片机的十字路口基于单片机的十字路口 交通控制系统设计交通控制系统设计 学生姓名学生姓名学学号号 教学院系教学院系 专业年级专业年级 指导教师指导教师职职称称 单单位位 完成日期完成日期年年 6 6 6 6 月月 10101010 日日 I 摘要摘要 交通灯广泛应用在十字路口用来指挥交通。市场上的交通灯有很多种,有模拟电 路或数字电路构成的交通灯, 近年来随着科技的飞速发展,单片机的应用正在不断深 入,模拟电路和数字电路构成的交通灯逐渐被淘汰,本文介绍的是采用单片机构成的 十字路口交通控制系统。 本系统采用利用 AT89S52 单片机及外围接口电路来实现,以单片机 AT89S52 和 数码管驱动芯片 ICM7218A 为中心器件来设计交通灯控制器。利用单片机的定时器/ 计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地计时, 同时使数码管能够正确地显示时间。实现了通过 AT89S52 芯片的 P1 口设置红、绿灯 燃亮时间的功能;红绿灯循环点亮(交通灯信号通过 P2 口输出,显示时间通过 ICM7218A 的输出至一位数码管) 。 利用单片机作为核心部件的交通灯控制器,具有可靠性高、经济成本低、使用方 便、功能性强等优点。 关键词:单片机; 交通灯 II AbstractAbstract Wider use of traffic lights to direct traffic at the crossroads. Market yo are many traffic lights, there are analog circuits or digital circuits consisting of traffic lights, in recent years with the rapid development of science and technology, the application of SCM is the deepening of analog circuits and digital circuits consisting of traffic lights is gradually phased out This paper is posed by the use of single-chip traffic control system at a crossroads. The use of this system AT89S52 Microcontroller and peripheral interface circuits to achieve in order to AT89S52 and digital single chip driver IC control device as the center ICM7218A to design the traffic light controller. The use of single-chip timer / counter timing and number of the principles in mind, the software and hardware combination, making the system able to correctly time, while the digital control to display time correctly. Achieved through the P1 port AT89S52 chip set red, the green light to kindle the function of time; traffic light cycle, (traffic light signal through the output port P2, indicating time through ICM7218Adigital output to a pipe). The use of single-chip microcomputer as the core component of the traffic light controller, high reliability, economy and low cost, ease of use, functionality, etc. KeywordsKeywordsKeywordsKeywords :SCM;Traffic lights I 目录目录 1 1 1 1 绪论绪论1 1 1 1 1.1 课题的理论与实际研究意义. 1 1.2交通灯的发展. 1 1.3 研究方法和研究内容. 2 2 2 2 2 总体方案设计总体方案设计3 3 3 3 2.1 功能要求及分析 3 2.2 方案比较 3 2.3 方案选定 4 2.4 单片机选择 4 2.4.1 采用 8031 芯片.4 2.4.2 采用 AT89S52 芯片4 2.5 数码管驱动选择 4 2.5.1 采用 ICM7219 芯片.4 2.5.2 采用 74LS48 芯片5 2.5.3 采用 ICM7218 芯片.5 2.6 发光二极管的驱动芯片 5 2.6.1 采用 ULN2003 芯片.5 2.7 最终方案. 5 3 3 3 3 硬件电路设计硬件电路设计7 7 7 7 3.1 芯片介绍 7 3.1.1 单片机 AT89S52.7 3.1.2 ICM7218 芯片介绍9 3.1.3 ULN2003 芯片12 3.2 单元电路设计13 3.3 总原理图16 3.4 元件清单.16 4 4 4 4 软件编程软件编程18181818 4.1 RAM 地址分配18 II 4.2 软件设计流程框图19 4.3 系统程序的设计22 4.3.1 每秒钟的设定.22 4.3.2 计数器硬件延时.22 5 5 5 5 系统调试系统调试2 2 2 24 4 4 4 5.1 硬件电路的调试24 5.2 软件的调试.24 5.3 软硬件结合的调试25 6 6 6 6 结论结论2 2 2 26 6 6 6 谢辞谢辞2 2 2 27 7 7 7 参考文献参考文献2 2 2 28 8 8 8 附录一附录一:总电路原理图:总电路原理图29292929 附录二:程序附录二:程序3 3 3 30 0 0 0 附录三:实物图附录三:实物图3 3 3 36 6 6 6 基于单片机的十字路口交通控制系统设计 1 1 1 绪论绪论 1.11.1 课题的理论与实际研究意义课题的理论与实际研究意义 随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关 系的协调, 已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于 城市交通数据监测、 交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城 市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限 度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通 拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 1.21.2 交通灯的发展交通灯的发展 当今, 红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效手段但 这一技术在 19 世纪就已出现了。1858 年,在英国伦敦主要街头安装了以燃煤气为光 源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信 号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上, 安装了世界上最早的煤气红绿灯。 它由红绿两以旋转式方形玻璃提灯组成,红色表 示“停止” ,绿色表示“注意” 。1869 年 1 月 2 日,煤气灯爆炸,使警察受伤,遂被 取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成, 1914 年始安装于纽约市 5 号大街的一座高塔上。 红灯亮表示 “停止” , 绿灯亮表示 “通 行” 。 1918 年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是 把压力探测器安在地下, 车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿 灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力 敏感的路面时, 它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时 间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力, 减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各 种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右 转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行 西南石油大学本科毕业设计(论文) 2 驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交 叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆 已十分接近停车线而不能安全停车时可以进入交叉路口。 1.31.3 研究方法和研究内容研究方法和研究内容 通过收集相关资料, 设计一个基于单片机的, 有时间倒计时和东西南北指示通行、 禁止的十字路口交通控制系统。根据设计好的电路图完成电路板的焊接,制成实物。 本系统的南北通行时间为 20s,东西通行时间为 40s。十字路口交通灯控制图 1.1 如下: 图 1.1 基于单片机的十字路口交通控制系统设计 3 2 2 总体方案设计总体方案设计 2.12.1 功能要求及功能要求及分析分析 (1)功能要求为: 车辆和行人南北向通行。南北向通行时间为 20 秒,东西向等待时间 20 秒; 车辆和行人东西向通行。东西向通行时间为 40 秒,南北向等待时间 40 秒。 设东西方向通行时间比南北方向的车流量大,指示灯的燃亮如表 2.1。 表 2.1 (2)功能分析: 设定南北通行时间为 20s,东西通行时间为 40s。 南北绿灯亮,东西红灯亮,南北通行,东西禁行,各车道倒记显示时间 20s; 20s 之后,南北红灯亮,东西绿灯亮,东西通行,南北禁行,数码管显示倒记 时间为 60s,60s 时间时间结束,本次循环结束,完成本次交通指示功能,进入下一循 环状态。 2.22.2 方案比较方案比较 从常用的交通灯来看,主要由数字电路、PLC 技术控制和单片机控制来实现控制 交通和指挥交通灯功能。 (1)数字电路的制作难度低,实现难度高,电路原理复杂,设计难度高,可靠性低; (2)PLC 实现控制的价格高,设计难度,制作难度,实现难度较高; (3)单片机实现的制作难度,实现难度,设计难度低,电路原理较简单,价格较低。 20s40s20s40s 东西道红灯亮绿灯亮红灯亮绿灯亮 南北道绿灯亮红灯亮绿灯亮红灯亮 西南石油大学本科毕业设计(论文) 4 2.32.3 方案选定方案选定 通过以上比较,选用单片机控制来完成十字路口交通灯的设计。因为数字电路 体积较大、实现功能少,PLC 技术控制只适用于比较精密的装置的制作。交通灯的控 制是一种较为简易的装置,并且单片机成本低、功能灵活,符合交通灯的设计、制作 要求。 2.42.4 单片机选择单片机选择 2.2.4 4.1.1 采用采用 80318031 芯片芯片 采用 8031 作为此次设计的单片机,EPROM2716、RAM6116 分别作为单片机的程序 存储器和单片机的数据存储器。EPROM2716 是 8031 单片机的程序存储器,用于存放 指令,常数及表格。RAM6116 是 8031 单片机的数据存储器用于存放采集的数据及数 据的计算与数据结果等。 2.2.4 4.2.2 采用采用 AT89S52AT89S52 芯片芯片 采用 AT89S52 作为此次设计的单片机,该芯片具有低功耗、高性能的特点,是采 用 CMOS 工艺的 8 位单片机。 选择:由于 8031 单片机没有自带的 RAM,且没有可在线编程(ISP)Flash 存储 器;故需要外接数据存储器和程序存储器,加入存储器后使得成本也较高。这样一来 电路连线较为复杂, 容易在焊接方面出现失误导致系统无法实现其功能,故本次设计 选择自带 RAM 可在线编程的 AT89S52 单片机。 2.52.5 数码管驱动选择数码管驱动选择 2.2.5 5.1.1 采用采用 ICICM M7 721219 9 芯片芯片 采用 ICM7219 芯片作为数码管的驱动芯片。ICM7219 是一个采用 3 串行接口的 8 位共阴极 7 段 LED 显示驱动器,可同时驱动 8 位共阴极 LED 或 64 个独立的 LED。其内 部结构主要包括移位寄存器、控制寄存器、译码器、数位与段驱动器以及亮度调节和 多路扫描电路等。 基于单片机的十字路口交通控制系统设计 5 2.5.22.5.2 采用采用 74LS4874LS48 芯片芯片 采用 74LS48 芯片作为数码管的驱动芯片。74LS48 为有内部上拉电阻的 BCD七 段译码器/驱动器,能把输入的 8421BCD 码译成七段输出 ag,再由七段数码管显示相 应的十进制数。 2.2.5 5. .3 3 采用采用 ICM7218ICM7218 芯片芯片 采用 ICM7218 芯片作为数码管的驱动芯片。ICM7218 能够驱动 8 位数码管,适应 共阴和共阳两种方式,通过管脚可以选择两种七段译码方式:十六进制/BCD 方式和 不译码方式。 选择:ICM7219 为数码管驱动芯片,采用的是串行接口驱动,与单片机的连线较 少,但是编程时指令较多。74LS48 芯片只能驱动一块数码管,要想驱动八个数码管就 必须有 8 个 74LS48 芯片, 连线过多。 而根据本次设计的要求, 故本次设计选择 ICM7218 芯片。 2.62.6 发光二极管的驱动芯片发光二极管的驱动芯片 2.6.12.6.1 采用采用 ULN2003ULN2003 芯片芯片 采用 ULN2003 芯片作为发光二极管的驱动芯片。 其芯片内部做了一个消线圈反电 动势的二极管。 ULN2003 的输出端允许通过 IC 电流 200mA, 饱和压降 VCE 约 1V 左右, 耐压 BVCEO 约为 36V。输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外 接控制器件,也可直接驱动低压灯泡。 2.72.7 最终方案最终方案 综上所述,本次设计采用 AT89S52 ,ULN2003 与 ICM7218A 来进行,由于单片机 AT89S52 其片内具有 256 字节 RAM,8KB 的可在线编程(ISP)FLASH 存储器,所以在 软件设计时占有优势, 可通过在线编程方式随时修改程序,给系统的调试带来很大的 方便。 ICM7218A 芯片不仅价格便宜,而且便于购买。从设计硬件电路角度来说,使硬 件电路的设计变简单,便于手工搭焊,使器件之间连线减少,便于调试。 西南石油大学本科毕业设计(论文) 6 综上所述, 此方案能在满足设计要求的前提下,最大程度地达到性能与成本的统 一。 该方案的硬件设计框图见图 2.1 所示。 A T8 9S5 2 I C M 7218A 交 通 灯 U L N 2003 显 示 时 间 时 间 设 置 图 2.1 基于单片机的十字路口交通控制系统设计 7 3 3 硬件电路设计硬件电路设计 3.13.1 芯片介绍芯片介绍 3.1.13.1.1 单片机单片机 AT89S52AT89S52 AT89S52 是一种低功耗、 高性能 CMOS8 位微控制器, 具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令 和引脚完全兼容。AT89S52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静 态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、 定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器 被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 图 3.1 图 3.1 是 AT89S52 的管脚图,引脚功能如下: 下图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时 钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。现在我们对这些引脚 的功能加以说明: P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据 西南石油大学本科毕业设计(论文) 8 存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电 阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。 程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P1 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL) 。在 flash 编程和校验时,P1 口接收低 8 位地址字节。 P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL) 。在访问外部程序存储器或用 16 位地址读取外部数据存储器时,P2 口送出高 八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用 8 位地址访问外 部数据存储器时,P2 口输出 P2 锁存器的内容。在 flash 编程和校验时,P2 口也接收 高 8 位地址字节和一些控制信号。 P3 口: P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P3 输出缓冲器能驱动 4 个 TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为 输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流 (IIL) 。P3 口亦作为 AT89S52 特殊功能(第二功能)使用,如下表所示。在 flash 编程和校验时,P3 口也接收一些控制信号。 引脚号第二功能: P3.0 RXD(串行输入) P3.1 TXD(串行输出) P3.2 INT0(外部中断 0) P3.3 INT0(外部中断 0) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器写选通) RST: 复位输入。 晶振工作时,RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出96 个晶振周期的高电平。 特殊寄存器 AUXR(地址8EH) 上的 DISRTO 位可以使此功能无效。DISRTO 默认状态下,复位高电平有效。 基于单片机的十字路口交通控制系统设计 9 ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地 址的输出脉冲。在 flash 编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况 下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时,ALE 脉冲将会跳过。如果需要,通 过将地址为 8EH 的 SFR 的第 0 位置“1”,ALE 操作将无效。这一位置“1”,ALE 仅 在执行 MOVX 或 MOVC 指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位 (地 址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。 当 AT89S52 从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次, 而在访问外部数据存储器时,PSEN 将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从 0000H 到 FFFFH 的外部程序存 储器读取指令,EA 必须接 GND。为了执行内部程序指令,EA 应该接 VCC。 在 flash 编程期间,EA 也接收 12 伏 VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 3.1.23.1.2ICM7218ICM7218 芯片介绍芯片介绍 ICM7218 是一种多功能 LED 数码管驱动芯片,可与多种单片机接口使用,ICM 7218 的输出可直接驱动 LED 显示器,不需外接驱动电路,其构成的显示电路结构简 单,使用方便,同样由单片机向 ICM7218 写控制字及数据,编程部分像给外部 RAM 写数据一样简单。 (1)构成 ICM7218 主要由 5 部分硬件构成,控制器;8x8b 静态显示 RAM;BCS 和 B 码显示 字段译码器;扫描振动控制电路;显示驱动电路。 (2)特点: ICM7218 系列是美国 INTEL 公司近年推出的芯片,其主要有以下特点: 1)具有高能位,段驱动器,输出可驱动大型 LED 显示器 2)使用共阴和共阳两种方式 3)单一电源+5V 4)电源为 2V 时,数据不丢失 5)有节电性能,关掉显示后芯片进入低功耗工作方式。 西南石油大学本科毕业设计(论文) 10 6)通过管脚可选择两种七段译码方式:十六进制/BCD 方式和不译码方式。 7)具有与微处理器的兼容性 8)有联系/随机两种存取方式 9)每位均带十进制小数点驱动 (3)ICM7218 系列典型器件见表 3.1 表 3.1ICM7218 系列典型器件 典型器件型号显示方式封装 连续存取ICM7218A ICM7218B 共阳 共阴 28 脚 28 脚 随机存取ICM7218C ICM7218D ICM7218E 共阳 共阴 共阳 28 脚 28 脚 28 脚 (4)管脚排列 ICM7218 系列引脚包括 DIGIT1DIGIT8 八个位驱动,SEGaSEGg 八个段驱动及 ID0ID7 八条数据线引脚,并且有一 MODE 控制位来选择工作方式。ICM7218C, ICM7218D, ICM7218E 还有 DA0DA2 三位地址线,用于十六位显示时的地址选择。 ICM7218 系列引脚排列见表 3.2 表 3.2 7218A7218B7218C7218D 1Seg cDIGIT4Seg cDIGIT4 2Seg eDIGIT6Seg eDIGIT6 3Seg bDIGIT3Seg bDIGIT3 4DPDIGIT1DPDIGIT1 5ID6ID6DA0DA0 6ID5ID5DA1DA1 7ID7ID7ID7ID6 8WRITEWRITEWRITEWRITE 9MODEMODESHUTDOSHUTDO 10ID4ID4DA2DA2 11ID1ID1ID1ID1 12ID0ID0ID0ID0 基于单片机的十字路口交通控制系统设计 11 13ID2ID2ID2ID2 14ID3ID3ID3ID3 15DIGIT1DPDIGIT1DP 16DIGIT2Seg aDIGIT2Seg a 17DIGIT5Seg bDIGIT5Seg b 18DIGIT8Seg dDIGIT8Seg d 19VVVV 20DIGIT4Seg cDIGIT4Seg c 21DIGIT7Seg eDIGIT7Seg e 22DIGIT6Seg fDIGIT6Seg f 23DIGIT3Seg gDIGIT3Seg g 24Seg fDIGIT8Seg fDIGIT8 25Seg dDIGIT2Seg dDIGIT2 26Seg gDIGIT5Seg gDIGIT5 27Seg aDIGIT7Seg aDIGIT7 28GNDGNDGNDGND (5)原理 当单片机写入模式控制字后,ICM 7218 以约定的方式接收显示数据并将数据写 入静态显示 RAM 中。数据接收结束,ICM 7218 在扫描控制电路的控制下,按设定的 译码模式, 以动态扫描显示方式向段显示驱动器和位控驱动器发出控制信号,直到下 一个控制字写入前,不停地进行动态显示工作。 (6)引脚说明 ICM 7218 为双列直插式 2 引脚封装,其中 2 条写入控制线;WRITE 和 MODE;8 条数据线 ID0id7;16 条 LED 显示驱动输出线(8 段:SEGaSEGg 及 D.P;8 位: DIGIT0DIGIT7);两条电源线 VCC 和 GND,WRITE 为写选通信号,低电平有效,MODE 为写入模式控制字和写入显示数据控制线, MODE=1 时, 从 ID4ID7 写入模式控制字, IDOID3 此时无效,可以说任意值;当 MODE=0 时,从 ID0ID7 写入的是显示数据。 西南石油大学本科毕业设计(论文) 12 表 3.3 管脚名称电平功能 8WRITE 写L输入调入内存 9MODE 控制位H L 调控制字 调输入数据 10ID4 关断控制MODE=1H L 正常工作方式 低功耗 6ID5 译码不译 码 H L 不译码 译码 5ID6 十六进制 二进制译码 H L 十六进制译码 二进制译码 7ID7 数据来控 制字来 H L 有数据 无数据 11,12,13, 14 , 5, 6, 10, 7 ID0ID7 输 入 数据 MODE=0H L 输入 1 输入 0 (7)ICM 7218 写入控制字和数据的过程: MODE=1 时,I/O 总线的数据为控制命令,分别从 ID4ID7 写入模式控制字: 译 码/不译码,译码类型,关断/不关断,数据来/数据未来。 控制命令写入后当 MODE=0 时,连续从 ID0ID7 写入 8 位二进制数,数据写入 须跟踪写入命令之后,写入时无地址选择,并约定按写入的先后顺序,第 1 个数是第 1 位 LED 显示数据,第 2 个数是第 2 位显示数据, 第 8 个数是第 8 位显示数 据, 8 个显示数据必须写完, 否则显示器都不亮。 当八位数据写完后再写入时, ICM 7218 将不再接收。 3.1.33.1.3 ULN2003ULN2003 芯片芯片 ULN2003 是高耐压、大电流、内部由七个硅 NPN 达林顿管组成的驱动芯片。 ULN2003 的每一对达林顿都串联一个 2.7K 的基极电阻,在 5V 的工作电压下它 能与 TTL 和 CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。 ULN2003 工作电压高,工作电流大,灌电流可达 500mA,并且能够在关态时承受 50V 的电压,输出还可以在高负载电流并行运行。 基于单片机的十字路口交通控制系统设计 13 ULN2003 的封装采用 DIP16 或 SOP16 。 ULN2003A 在各种控制电路中常用 它作为驱动继电器的芯片,其芯片内部做了一个消线圈反电动势的二极管。ULN2003 的输出端允许通过 IC 电流 200mA,饱和压降 VCE 约 1V 左右,耐压 BVCEO 约为 36V。 输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接 驱动低压灯泡。 内部结构如图 3.2 图 3.2 3.23.2 单元电路设计单元电路设计 十字路口交通灯的设计由单片机,数码管驱动芯片,发光二极管驱动芯片共同完 成。ICM7218A 有 8 路输入数据和 2 路控制信号,输出有 8 段显示驱动线和 8 位显示 驱动器。单片机的 P0.0P0.7 与 ICM7218A 的 ID0ID7 相连,P1.0P1.7 接外部时间 设置按钮,P2.0P2.4 与 ULN2003 的 IN1IN4 相连,P3.0 接 ICM7218A 的 MODE,P3.6 接 ICM7218A 的 WRITE。 ICM7218A 的 SEGaSEGg 与数码管的 ag 相连, DIGIT1 DIGIT2 接数码管的公共端。ULN2003 的输出端 OUT1OUT4 与发光二极管相连。 (1)时钟电路设计 西南石油大学本科毕业设计(论文) 14 片内电路与片外器件共同构成一个时钟产生电路,CPU 的所有操作均在时钟脉冲 同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在 1.2MHz12MHz 之间选取。C1、C2 是反馈电容,其值在 5pF30pF 之间选取,典型值为 30pF。图 3.3 为本设计的时钟电路,选用的电容为 30pF,晶振频率为 12MHz。这样就确定了单片机 的周期分别是: 振荡周期1/12s;机器周期s1;指令周期s41。 图 3.3 时钟产生电路 (2)复位电路设计 图 3.4 为本设计单片机的复位电路。单片机在开机时都需要复位,以便中央处理 器 CPU 以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片 机的复位是靠外部电路实现的, 在时钟电路工作后,只要在单片机的 RST 引脚上出现 24 个时钟振荡脉冲 (2 个机器周期) 以上的高电平, 单片机便可实现初始化状态复位。 MCS-51 单片机的 RST 引脚是复位信号的输入端。 基于单片机的十字路口交通控制系统设计 15 图 3.4 上电复位图 (3)交通灯显示模块 交通灯显示模块由 AT89S52 单片机的 P2 口控制, 以 4 组发光二极管模拟十字路口 的红、绿灯。该电路的工作电路图如图 3.5 所示。 图 3.5 (4)倒计时显示模块 单片机从定时器数据区取得时延时间后,由定时器 T1 控制时延,然后 ICM7218A 送位选码和显示码。在数码管上动态扫描剩余时间。控制电路如图 3.6 所示。 西南石油大学本科毕业设计(论文) 16 图 3.6 3.33.3 总原理图总原理图 系统硬件总图系统硬件总图见附录一见附录一 3.43.4 元件清单元件清单 根据电路图选定元件,具体型号及参数如表 3.4 所示: 基于单片机的十字路口交通控制系统设计 17 表 3.4 元件清单 序号元件名称型号单位数量 1发光二极管红色只4 绿色只4 2单片机AT89S52块1 3电阻金属膜 10K只3 金属膜 5K只1 4瓷片电容30pF只2 5电解电容10 uF只1 6发光二极管驱 动芯片 ULN2003块1 7数码管驱动芯 片 ICM7218A块1 8数码管ARKSM41056K只8 9按键只1 10晶振12MHz只1 11线路板块2 西南石油大学本科毕业设计(论文) 18 4 4 软件编程软件编程 4.14.1 RAMRAM 地址分配地址分配 按照实现功能的分类,软件部分主要完成指示灯控制、数据显示功能。 软件的好坏、 程序的速度及程序的清晰取决于数据存储器 RAM 单元分配。下列是本世 纪的 RAM 地址分配,是编写程序的首要工作。 1. 堆栈指针:SP60H 2.30H南北方向通车时间二进制数(最大设为 14H) 31H东西方向通车时间二进制数(最大设为 28H) 50H南北方向通车时间十进制数(最大设为 20 秒) 51H东西方向通车时间十进制数(最大设为 40 秒) 3. 40H定时器定时一次 50ms 的个数 4.42H 、41H 为显示缓冲单元 50H 42H 0D1 41H 0D0 51H D3D2 42H 0D3 41H 0D2 D1D0 基于单片机的十字路口交通控制系统设计 19 4.24.2 软件设计流程框图软件设计流程框图 主程序流程图 如图 4.1 初 始 化 调南北处理程序模块 调东西处理程序模块 入 口 图 4.1 南北处理程序流程图如图 4.2 3 0H给A 调二进制到十进制转换子程序 A给5 0H 调拆分子程序 入 口 西南石油大学本科毕业设计(论文) 20 点亮相应红绿灯 (3 0H)-1给(3 0H),清F0标 志 是 否 到1秒 调显示子程序 否 是 (3 0H)给A 调二进制到十进制转换子程序 A给5 0H 调拆分子程序 调显示子程序 5 0H是 否 为0 返 回 主 程 序 是 否 图 4.2 基于单片机的十字路口交通控制系统设计 21 东西方向流程图如图 4.3 3 1H 给A 调 二 进 制 到 十 进 制 转 换 子 程 序 A 给5 1H 点 亮 相 应 红 绿 灯 (3 1H ) -1 给(3 1H) ,清F0标志 是 否 到1 秒 5 1H是 否 为0 调 拆 分 子 程 序 调 显 示 子 程 序 3 1H给 A 调 二 进 制 到 十 进 制 转 换 子 程 序 调 拆 分 子 程 序 调 显 示 子 程 序 A 给5 1H 返 回 主 程 序 是 否 是 否 入口 图 4.3 西南石油大学本科毕业设计(论文) 22 4.34.3 系统程序的设计系统程序的设计 4.3.14.3.1 每秒钟的设定每秒钟的设定 延时方法可以有两种一中是利用AT89S52内部定时器才生溢出中断来确定1秒的 时间,另一种是采用软延时的方法。 4.3.24.3.2 计数器硬件延时计数器硬件延时 (1)计数器初值计算 定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL 中的。他是以 加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计数器 记满为零所需的计数值设定为 C 和计数初值设定为 TC 可得到如下计算通式: TC=M-C 式中,M 为计数器摸值,该值和计数器工作方式有关。在方式 0 时 M 为 213 ;在方式 1 时 M 的值为 216;在方式 2 和 3 为 28 (2)计算公式 T=(MTC)T计数 或T计数 T计数是单片机时钟周期的倍;为定时初值 如单片机的主脉冲频率为,经过分频 方式2 13 微秒毫秒 方式2 16 微秒毫秒 显然秒钟已经超过了计数器的最大定时间, 所以我们只有采用定时器和软件相 结合的办法才能解决这个问题 (3)秒的方法 我们采用在主程序中设定一个初值为的软件计数器和使定时毫 秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务 子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。 为零表示秒已到可以返回到输出时间显示程序。 基于单片机的十字路口交通控制系统设计 23 (4) 相应程序代码 主程序 定时器需定时毫秒,故工作于方式。初值: T计数 ms/1us=15536=3CBOH ORG 1000H START: MOVTMOD,#01H; 令0 为定时器方式 MOVTH0,#3CH;装入定时器初值 MOVTL0,#BOH; MOVIE,#82H;开1 中断 SEBTT0;启动计数器 MOVRO,#14H;软件计数器赋初值 LOOP:SJMP$;等待中断 中断服务子程序 :DJNZ , AJMPTIME;跳转到时间及信号灯显示子程序 DJNZ:,;恢复值 MOVTH0,#3CH;重装入定时器初值 MOVTL0,#BOH; MOVIE,#82H 详细程序见附录二详细程序见附录二 西南石油大学本科毕业设计(论文) 24 5 5 系统调试系统调试 5.15.1 硬件电路的调试硬件电路的调试 在对电路进行焊接的时候,用于安放芯片的底座方向要确认清楚,不能接反; 如 果电路中两个芯片间有多个引脚要接到一起,应该用排线将其连接在一起,因为如果 用单根导线,会使电路板上导线过多,这样对后期的调试会造成影响;另外,电路中 接地(或接电源)的管脚最好全接在一起,由一条导线引出,以减少导线数目;在焊 接过程中尽量防止漏焊和虚焊。 在电路焊接完成后,为了检查各连接点是否真正连上,必须用万用表进行检测, 这是十分重要的。 在检测过程中将万用表调到欧姆档,如果所检测线路发出“吱”的 声音,表示电路为通路。否则则需重新焊接。 (1)单片机的外围电路有时钟电路及复位电路,在系统工作之前,我们应该首 先检验单片机外围电路以保证单片机能够正常工作。 用示波器测试单片机 18 脚的输出波形,如有正弦波出现则说明时钟电路正常。 而复位电路较简单,只要选择合适的电容和电阻即可实现上电复位,在此选用 10F 的电容及 10k的电阻,通电后复位正常,单片机能够正常工作。 (2)发光二极管的调试 本次设计中用到红绿两种发光二极管,其中绿色发光二极管导通电压为 1.8V,红 色发光二极管的导通电压为 1.6V。在同等电压下,红色二极管容易烧坏。 假设发光二极管加上+5V 的电压: 绿色发光二极管:1.6+5I=5 红色发光二极管:1.8+R*I=5 R=5.3125K,故红色发光二极管串联一个 5K 的电阻,绿色发光二极管串联一个 5K 的电阻,才能使得二极管正常显示。 5.25.2 软件的调试软件的调试 软件调试采用Vision2 对源程序进行编译。编译时需设定以下参数: (1)为程序选择单片机型号:在 Select Device for Target 选项下选择单片机型 号。本次设计选用的是 ATMEL 公司的 AT89S52 单片机,所以为了生成正确的机器代码 文件必须在选项下选择正确的 CPU 型号。 (2)为单片机选择晶振大小:单片机晶振是为单片机内部工作提供时钟的,本次 基于单片机的十字路口交通控制系统设计 25 设计中用到了定时器/计数器,所以必须选择正确的晶振,这样计算过的定时初值才 能正确编译为机器代码。本次设计选用 12MHz 的晶振。 (3)选择生成 HEX 文件:为了将编写好的程序写入单片机,必须在 Options for Target 选项下的 Output 中选择 Create HEX file。这样在编译通过后软件就会自动 生成所编译程序的机器代码文件.HEX。 设定完参数后就可以对源程序进行编译了。 5.35.3 软硬件结合的调试软硬件结合的调试 本次设计的软硬件调试完成后,就可以进入软硬件综合调试阶段了。将源程序 编译生成 HEX 文件用 T0P852 烧录器写入 AT89S52 单片机中,按照调整好的电路图焊 接好万能板,接上 5V 电压。观察数码管和发光二极管是否达到规定的要求。数码管 的点亮顺序及时间和发光二极管的点亮如表 5.1 表 5.1 020s2060s6080s80120s 南北绿灯亮灭亮灭 南北红灯灭亮灭亮 东西绿灯灭亮灭灭 东西红灯亮灭亮亮 西南石油大学本科毕业设计(论文) 26 6 6 结论结论 本系统充分利用了 AT89S52, ULN2003 和 ICM7218A 芯片的引脚。 系统采用 AT89S52 单片机和数码管驱动芯片 ICM7218A 为中心器件来设计交通灯控制器,实现了通过 AT89S52 芯片的 P0 口设置红、绿灯燃亮时间的功能;再通过 ULN2003 芯片来控制红 绿灯循环点亮。 系统不足之处不能控制车的左、右转、以及根据车流改变红绿灯时间等。这是由 于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原系统来实现。 基于单片机的十字路口交通控制系统设计 27 谢辞谢辞 参考文献参考文献 1丁元杰: 单片微机原理及应用, 第 2 版 机械工业出版社.2002. 2程佩清:数字信号处理教程第二版清华大学出版社.2001. 3李建中:单片机原理及应用,西安电子科技大学出版社,2002. 4朱定华: 单片机原理及接口技术实验 ,北方交通大学出版社,2002. 5房小翠,王金凤: 单片机实用系统设计技术 ,国防工业出版社,1999. 6王松武,于鑫,武思军: 电子创新设计与实践 ,国防工业出版社,2005. 7Phadke A G., Trop J S. A New Computer based Flux Restrained Current Differential Relay for Power Transformer Protection. IEEE Trans.s on Power Apparatus and System, 1983, 西南石油大学本科毕业设计(论文) 28 8Sachdev M S, Sidhu T S, Wood H C. A Digital Relaying Algorithm for Detecting Transformer Winding Faults. IEEE Trans. on Power Delivery, 1989 9Kang Y C, Lee B E, Kang S H, et al. Transformer protection based on the increment of flux linkages. IEE Proceedings Generation, 2004 基于单片机的十字路口交通控制系统设计 29 附录一附录一:总电路原理图:总电路原理图 西南石油大学本科毕业设计(论文) 30 附录二:程序附录二:程序 ORG0000H AJMPSTART ORG001BH AJMPCTC1 主程序 ORG0200H START:MOVA,#00H MOVP2, A;清所有发光二极管 MOVSP, #60H;堆栈地址 MOV40H, #00H;清 50ms 个数 MOV30H,#14H;置南北绿灯显示最大值 20ms MOV31H, #28H;置东西绿灯显示最大值 40ms MOVTMOD,#11H;设定定时器的工作方式 MOVTH1, #3CH;定时器初值,定时 50ms MOVTL1, #0B0H; CLRF0;清秒的标志位 SETBEA;开中断 SETBET1;T1 中断开 SETBTR1;T1 中断启动 LOOPS: JNB P3.1,N0;当 P3.1=1 时 ,设定时间,为 0 时跳转 SD:JB P1.7 ,NBSD;当 P1.7=1 时设定南北方向时间,否则设定东 西方向时间初值 DXSD:MOV A,P1;设定东西方向时间 MOV 31H,A; NBSD:M

温馨提示

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

评论

0/150

提交评论