交通灯设计_毕业设计_第1页
交通灯设计_毕业设计_第2页
交通灯设计_毕业设计_第3页
交通灯设计_毕业设计_第4页
交通灯设计_毕业设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、交通灯设计_毕业设计.txt明骚易躲,暗贱难防。佛祖曰:你俩就是大傻B!当白天又一次把黑夜按翻在床上的时候,太阳就出生了 本文由王彦莉贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 - 交通灯的单片机控制设计 摘 要:交通灯安装在各个路口上,成为疏导交通工具有效的手段,单片机是微型 计算机的一个重要分支,特别适用于控制领域,故又称为微控制器,对基于单片机 的交通灯控制系统进行了设计。 本系统采用美国 ATMEL 公司生产的单片机 AT89S52, 以及其它芯片来设计交通灯控制。实现了通过 AT89S52 芯片的 P1 口设置红、绿灯 点亮的功能,通过

2、 AT89S51 芯片的 RXD、TXD 输入、输出设置北示时间。单片机系 统采用的直流供电。系统功能为:以 MCS-51 系列单片机作为控制核心,设计并制 作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人 4 种通行指示 灯,用计时器北示路口通行转换剩余时间,在特种车辆如 119、120 通过路口时, 系统可自动转为特种车辆放行,其他车辆禁止通行状态。 在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的 LED 动态循环北示方案进行了设计。设计包括硬件和软件两大部分。硬件部分包括 单片机最小系统、时间北示、交通灯北示三部分。选用 Atmel 公司的 AT89S5

3、2 单片 机作为控制核心,东西南北四个方向设置了 LED 时间北示和交通灯北示,时间北示 采用三位 LED 北示器,交通灯北示则采用红绿双色高亮发光二极管来模拟。软件采 用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时北示子 程序、交通灯模拟北示子程序四部分。 在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别 进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完 成毕业设计任务书所要求的功能。 关键词: 交通灯;单片机;AT89S52 Design of traffic light control system based on SCM

4、 Abstract: Traffic light control system based on SCM (Single Chip Microcomputer) is designed in this paper. System requires that MCS-51 series SCM is used as CPU. Traffic light control system should be designed and made .There are four groups light which indicate to turn left, turn right, and go str

5、aight ahead and pedestrian access in east, west, north and south four directions. Timer shows traffic conversion remainder time. When special vehicles, such as 119,120 go through, the system can automatically allow special vehicles running and other vehicles is prohibited. Based on analysis of the s

6、ystem functions, three schemes are put forward .By comparison, LED dynamic cycle display scheme has better functions and it is selected to be designed. The design includes hardware part and software part. Hardware has three parts .They are SCM system, LED time display, traffic lights. AT89S52 SCM is

7、 selected as control CPU. LED display and traffic lights are set in east, west, north and south four directions. Three LED monitors are used to show time. Highlight and red-green two color traffic lights are used as traffic lights. Software is designed by module. It is divided into main program, tim

8、er interrupting service subroutine, LED display subroutine, traffic display subroutine. The model of traffic lights control system is made in experiment board. Hardware and software is debugged respectively, then hardware and software are combined and debugged .The model of traffic lights control sy

9、stem can meet the requirement of design task book perfectly. Key words: Traffic light; SCM; AT89S52 目 录 交通灯的单片机控制设计 错误!未定义书签。 错误!未定义书签。 1概 述 错误!未定义书签。 错误!未定义书签。 1.1 课题研究背景与意义 错误!未定义书签。 错误!未定义书签。 1.2 课题设计内容 1 2 系统设计 2 2.1 设计方案论证 2 2. 系统硬件设计 3 2.2.1 控制模块 5 2.2.2 通行灯显示模块 6 2.2.3 时间显示模块 7 2.2.4 电源电路 7 2

10、.2.5 单片机概述 8 2.2.6 硬件电路中器件选择 9 2.3 系统软件的设计 15 2.3.1 主程序 15 2.3.2 定时中断服务程序 15 2.3.3 特种车中断服务程序 17 2.3.4 算法分析 18 3 系统调试 19 3.1 硬件调试 19 3.1.1 静态检查 19 3.1.2 通电检查 20 3.2 软件调试及软硬件联调 20 3.2.1 仿真器选择 20 3.2.2 仿真过程 20 3.2.3 通行灯输出调试 22 3.2.4 时间显示模块调试 23 3.2.5 特种车中断程序调试 24 3.2.6 脱机调试 24 3.2.7 实验结果 24 4 结 束 语 错误!

11、未定义书签。 错误! 未定义书签。 附 录 28 附录 1 基于单片机的交通灯控制系统电路原理图 28 附录 2 基于单片机的交通灯控制系统 PCB 图 错误!未定义书签。 错误!未定义书签。 附录 3 基于单片机的交通灯控制系统程序清单 28 附录 3 基于单片机的交通灯控制系统程序清单 错误!未定义书签。 错误!未定义书签。 交通灯的单片机控制设计 1. 概述 1.1课题的研究背景与意义 随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不 断增加。城市中交通拥挤、堵塞现象日趋严重,由此造成巨大的经济与时间损失。 资料显示,对日本东京268个主要交叉路口的调查估计表明:每年

12、在交叉路口的时 间延误,折成经济报失为20亿美元;而在我国北京市,当早晚交通高峰时,交叉路 口处的排队长度竟达1000多米,有的阻车车队从一个交叉路口延伸到另一个交叉路 口,这时一辆车为通过一交叉路口,往往需要半个小时以上,时间损失相当可观。 我国是一个历史悠久、人口众多的国家,城市数量随着社会的发展不断增多。 随着城市化进程的大大加快,诱发的交通需求急剧增长,供需矛盾不断激化,严重 的交通问题也随之而来。人、车、路三者关系的协调,已成为交通管理部门需要解 决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制 与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最

13、重要的组 成部分。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,这一切要归 功于城市交通控制系统中的交通灯控制系统。交通灯控制系统对于疏导交通流量、 提高道路通行能力,减少交通事故有明显效果,使城市交通得以有效管理。 交通灯可以采用 PLC、单片机等控制方法。利用单片机实现对交通信号灯的实 时控制,只要采用一块单片机,加上简单的接口与驱动放大电路,即可实现,具有 成本低,可靠性高的特点。 1.2 课题设计内容 本课题对基于单片机的交通灯控制系统进行设计。以 MCS-51 系列单片机为控 制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。东 西南北四个路口具有左

14、拐、右拐、直行及行人 4 种通行指示灯,并分别用计时器显 示路口通行转换剩余时间,在特种车辆如 119、120 通过路口时,系统可自动转为 特种车辆放行,其他车辆禁止通行状态。 设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进 行调试,并进行软硬件联调,要求获得调试成功的实物。 2 系统设计 2.1 设计方案论证 根据设计内容要求,提出了如下三种方案: 方案一:采用 AT89S52 单片机作为控制核心,采用四组高亮红绿双色二极管作 为东西南北四个路口的通行指示灯;采用四组 3 位 LED 数码管作为四个路口的通 行倒计时显示器,LED 显示采用动态扫描方式,以节省端口数。按

15、以上系统构架设 计,单片机端口资源刚好满足要求。方案一设计框图如图-1 所示。 图 2-1 方案一:采用 LED 动态扫描的交通灯控制系统 方案二:采用 AT89C2051 单片机作为控制器,通行倒计时显示采用 1616 点 阵 LED 发光管, 左拐、 右拐、 直行及行人 4 种通行指示也采用 1616 点阵双色 LED 发光管。方案二设计框图如图 2-2 所示,LED 点阵的列驱动采用 74LS595,用串行 端口扩展实现,行驱动采用 1/16 译码器 74LS154 动态扫描,译码器 74LS154 生成 16 条行选通信号线,再经过驱动器驱动对应的行线。每条行线上需要较大的驱动电 流,

16、应选用大功率三极管作为驱动管。 图 2-2 方案二:采用 1616 点阵 LED 发光管设计的交通灯控制系统 方案三: 采用 AT89C2051 单片机作为控制器, 通行倒计时及左拐、 右拐、 直行、 行人通行指示采用单块 LCD 液晶点阵显示器。 三种方案的特点比较如下:方案一具有电路简单,设计方便,显示亮度高,耗 电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点 是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用 单片机的端口最少,硬件也少,耗电也最少;虽然显示图案也很精美,但由于亮度 太暗,晚上还得开背光灯,不够实用。可见方案一优于其他两种方

17、案,因此本设计 选用方案一:采用 LED 动态扫描的方案进行设计。 2. 系统硬件设计 系统由控制模块、通行灯显示模块、时间显示模块、电源模块四部分组成。 51 单片机引脚图如下: p0 口:双向 8 位三态态 I/O 口,访问外存时,作为低 8 位地址线,8 位双向数据 线。可分时复用,工作最繁忙。 P1 口:8 位双向 I/O 口。 P2 口:8 位双向 I/O 口,扩展电路高 8 位地址总线。 P3 口:8 位双向 I/O 口,及第二功能。 (二)、80C51 的复位 80C51 的复位方式可以是上电复位,也可以是上电与按键均有效的复位,见 下图 4。 (1)Pin30:ALE/ 当访问

18、外部程序器时,ALE(地址锁存)的输出用于锁存地 址的低位字节。而访问内部程序存储器时,ALE 端将有一个 1/6 时钟频率的正脉冲 信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更 有一个特点,当访问外部程序存储器,ALE 会跳过一个脉冲。 如果单片机是 EPROM,在编程其间, (2)Pin29: 将用于输入编程脉冲。 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC 的 16 位地址数据将出现在 P0 和 P2 口上, 外部程序存储器则把指令数据放到 P0 口上, 由 CPU 读入并执行。 (3)Pin31:EA/Vpp 程序存储器的内外部选通线,80C51

19、和 8751 单片机,内置 有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存 储器指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地 址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,EA 端 必须接地。 在编程时,EA/Vpp 脚还需加上 21V 的编程电压。 2.2.1 控制模块 控制模块电路如图 2-4 所示。主控制器采用 AT89S52。AT89S52 是 ATMEL 公 司生产的一款性能稳定的 8 位单片机, 具有 1 个 8KB 的 Flash 程序存储器, 个 512 1 字节的 RAM,

20、3 个 16 的定时/计数器,4 个 8 位的双向可位寻址 I/O 端口, 1 个串 行口,6 个中断源,两个中断优先级。 1 2 3 4 5 6 7 8 S3 13 P3.2 12 +5V C4 30PF C1 20uF C5 30PF S2 9 17 16 S1 R29 10K R3 2 510 R3 1 510 Y2 12M HZ 15 14 +5V 31 19 18 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR AT 8 9 S52 P00 P01 P02 P03 P04 P05 P06

21、P07 P20 P21 P22 P23 P24 P25 P26 P27 VC C GND 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 40 +5V 20 AT 8 9 S52 P3.0 10 RXD P3.1 11 TXD 30 ALE/P 29 PS EN +5V 图 2-4 控制模块原理图 AT89S52 的 P1 口用于控制南北通行灯,P2 口用于控制东西通行灯,P0 口用于 3 位 LED 显示器的段码控制,P3.0P3.2 口用于 3 位 LED 显示器的位码控制,手 动/自动转换采用 P3.7 扳键。 EA /VPP 接5V 电源

22、端。晶振及复位按典型电路设计, 元器件参数如图 2-4 中所示。晶振频率为 12MHz。 2.2.2 通行灯显示模块 通行灯显示模块如图 2-5 所示。通行灯指示采用高亮度共阴红绿双色发光二极 管,左拐、直行、右拐及行人各一个。双色发光二极管的共阴极通过电阻接地,阳 极接 P1 口或 P2 口(南北为 P1 口,东西为 P2 口) ,经 74HC244 控制。当发光电流 为 6mA 时,限流电阻按公式 R=(5-1.8)/0.006 计算,应为 510 。由于通行时南北 双向指示牌相同,东西双向指示牌相同,因此每个端口应具有 12mA 的吸收电流能 力,在单片机的输出口接驱动电路 74HC24

23、4,以保护单片机的输出端口。 P20 P21 P22 P23 P24 P25 P26 P27 2 4 6 8 11 13 15 17 1 19 1A1 1A2 1A3 1A4 2A1 U3 2A2 2A3 2A4 1G 2G 74HC244 2Y1 U2 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 2 4 6 8 11 13 15 17 1 19 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 1G 2G 74HC244 U2 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 VCC GND 18 16 14 12 9 7 5 3 P10 P1

24、1 P12 P13 P14 P15 P16 P17 +5V 2Y2 2Y3 2Y4 D9 D10 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 VCC GND 18 16 14 12 9 7 5 3 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 +5V 1Y4 1Y1 1Y2 1Y3 D11 D12 R12 510 行人灯 P10 D4 P11 P12 D3 P13 P14 D2 P15 P16 P17 D1 R4 510 行人灯 R11 510 右拐灯 西路口 R3 510 右拐灯 北路口 R10 510 直行灯 R2 510 直行灯 R9 510 左拐灯

25、 R1 510 左拐灯 图 2-5 通行灯输出显示模块 2.2.3 时间显示模块 通行剩余时间显示模块如图 2-6 所示(以北路口为例) 。 路口通行剩余时间采用高亮红色 7 段共阳 LED 发光数码管显示,采用共阳数 码管,如用单片机吸收电流驱动,列扫描驱动使用三级管,按每段 6mA 电流算, 全显示字型“8”时,每个数码管需 6mA8=48mA。由于时间显示每个路口相同,4 组需 192mA,因此设计中采用功率三极管 S9012 驱动。由于单片机每个段码输出口 需吸收 48mA 电流,因此在电路设计中也使用了驱动集成块 74HC244。 2.2.4 电源电路 电源电路如图 2-7 所示。整

26、个系统采用的电源电压只需+5V 电压,将交流电经 变压器变换为 15V 交流电,再用整流桥得到 13.5V 左右的直流电,采用不可调的 3 端稳压器件 LM7805 将电源稳定在 5V 直流输出。 1 2 3 4 5 6 7 U1 P0.0 P0.1 P0.2 P0.3 2 4 6 8 1A1 1A2 1A3 1A4 2A1 2A2 2A3 2A4 1G 2G 74HC244 1Y1 1Y2 1Y3 1Y4 2Y1 2Y2 2Y3 2Y4 VCC GND 18 16 14 12 1 2 3 4 1 2 3 4 5 6 7 8 DPY a a b c f b g d e e c d f dp g

27、 dp C OM DS1 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 DPY a a b c f b g d e e c d f dp g dp C OM DS2 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 DPY a a b c f b g d e e c d f dp g dp DS3 C OM C OM Q3A S9012 R19 10K C OM Q1A R17 10K C OM Q2A S9012 R18 10K P0.4 11 P0.5 13 P0.6 15 P0.7 17 1 19 9 5 7 6 5 7 3 +5V +5V S9012 P3.2

28、北路口北示器 P3.1 P3.0 图 2-6 1 D17 时间显示模块电路 U4 7805 4 15VAC 2 3 IN ADJ OUT 2 D18 C3 +5V BRIDGE 3 C2 220uF C6 0.1uF 1 C7 220uF 0.1uF R30 1K 图 2-7 电源电路 2.2.5 单片机概述 单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分 组成的。单片机是把包括运算器、控制器、少量的存储器、最基本的输入输出口电 路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。 通常,单片机由单个集成电路芯片构成,内部包含有计算机的基本功能部件: 中央处理器

29、、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部 设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展, 它们的 CPU 功能在增强,内部资源在增多,引脚的多功能化,以及低电压、低功耗。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进 入的电脑时代。不过,这种电脑,通常是指个人计算机,简称 PC 机。它由主机、 键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是 把智能赋予各种机械的单片机。顾名思义,这种计算机的最小系统只用了一片集成 电路,即可进行简单运算和控制。

30、因为它体积小,通常都藏在被控机械的“肚子” 里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。 现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导 航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功 效,常在产品名称前冠以形容词“智能型” ,如智能型洗衣机等。现在有些工 厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功 能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻 辑器件上。 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的 踪迹。导弹的导航装置,飞机上各

31、种仪表的控制,计算机的网络通讯与数据传输, 工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿 车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子 宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医 疗器械了。它主要是作为控制部分的核心部件。 2.2.6 硬件电路中器件选择 硬件电路中器件选择 A. AT89S52 单片机 AT89 系列单片机是 ATMEL 公司的 8 位 FLASH 单片机。这个系列单片机最吸 引人的特点就是在片内含有 FLASH 存储器,不需要再外扩存储器,与 80C51 插座 兼容,由于这些优点,使它

32、有着十分广泛的用途,特别是在便携式和需要特殊信息 保 存 的 仪 器 和 系 统 中 显 得 更 为 有 用 。 89 系 列 单 片 机 典 型 型 号 有 AT89C51 , AT89LV51,AT89C52,AT89LV52,AT89C2051, AT89S52,AT89C1051, AT89S51 和 AT89S8252。 本设计选用 AT89S52。它内部具有 1 个 8KB 的 Flash 的程序存储器,1 个 512 字节的 RAM,4 个 8 位的双向可位寻址 I/O 端口,3 个 16 的定时/计数器、1 个串行 口、6 个二级中断源和两个中断优先级。引脚如图 2-8 所示。

33、 1 2 3 4 5 6 7 8 13 12 15 14 31 19 18 9 17 16 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR AT8 9 S52 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 +5V AT 8 9 S52 20 VCC 40 GND 10 RXD 11 TXD P3.0 30 ALE/P P3.

34、1 29 PSEN 图 2-8 AT89S52 引脚 按功能,引脚大致分为 4 部分: a)I/O 口线 P0 口:8 位、漏级开路的双向 I/O 口。当使用片外存储器及外扩 I/O 口时,P0 口作为低字节地址/数据复用线。在编程时,P0 口用于接受指令代码字节;在程序 校验时,P0 口可输出指令字节(这时需要加外部上拉电阻) 。 P1 口:8 位、准双向 I/O 口,具有内部上拉电阻。P1 口是为用户准备的 I/O 双 向口。在编程和校验时,可用做输入低 8 位地址。用做输入时,应先将输出锁存器 置 1。P1 口可驱动 4 个 TTL 负载。 P2 口:8 位、准双向 I/O 口,具有内部

35、上拉电阻。P2 口也可做普通 I/O 口使用。 用做输入时,应先将输出锁存器置 1。P2 口可驱动 4 个 TTL 负载。 P3 口:8 位、准双向 I/O 口,具有内部上拉电阻。P3 口可作为普通 I/O 口,用 做输入时,将输出锁存器置 1。在编程/校验时,P3 口接受某些控制信号。 b)控制信号线 RST:复位输入信号,高电平有效。在振荡器稳定工作时,在 RST 脚施加两个 机器周期(即 24 个晶振周期)以上的高电平,将器件复位。 EA /VPP:外部程序存储器访问允许信号。当 EA 引脚接地时,仅使用 64KB 的 片外程序存储器,CPU 从外部 0000HFFFFH 的地址空间取指

36、令;当 EA 引脚接 VCC 时,CPU 从片内 0000H 地址开始取指令,当 PC 值超过 1FFFH 时,自动转到外 存储器 2000HFFFFH 地址空间执行程序。 PSEN :片外程序存储器读选通信号,低电平有效。 ALE/ PROG :低字节地址锁存信号。 c)电源线: VCC 为电源电压输入引脚,GND 为地线。 d)外部晶振引线: XTAL1:片内振荡器反相放大器和时钟发生线路的输入端。使用片内振荡器时, 连接外部石英晶体和微调电容。 XTAL2:片内振荡器反相放大器的输出端。当使用片内振荡器时,外接石英晶 体和微调电容。 B.74HC244 简单输出接口扩展通常使用的典型芯片

37、为74HC244, 由该芯片可构成三态数据 缓冲器。74HC244芯片的引脚排列与内部结构分别如图2-9(a)(b)。 20 18 16 14 12 3 5 7 9 VCC 1O E 1A 0 2Y 0 1A 1 2Y 1 1A 2 2Y 2 1A 3 2Y 3 1 2 3 4 5 6 7 8 9 20 V cc 19 2O E 0 18 1Y 17 2A 0 16 1Y 1 2 4 6 8 1 17 15 1A0 1A1 1A2 1A3 1O E 2A0 2A1 2A2 2A3 20E . 1Y0 1Y1 1Y2 1Y3 2Y0 2Y1 2Y2 2Y3 74HC244 15 2A 1 14

38、1Y 2 13 13 2A 2 11 12 1Y 3 11 2A 3 19 10 G D 10 N GND (a)引脚排列 图2-9 74HC244 (b)内部结构 74HC244芯片内部共有两组四位三态缓冲器, 使用时可分别以1 OE 和2 OE 作 为它们的选通工作信号。1脚为低电平时只有4个缓冲器工作,输入2,4,6,8对应 输出18,16,14,12;1为高电平时这4个缓冲器为高阻。19引脚为低电平另外四个 缓冲器工作,同样,输入11,13,15,17,对应输出9,7,5,3;19为高电平时这 四个缓冲器为高阻。 C. LM 7805 LM7805 的外形如图 2-10 所示。LM78

39、05 三端集成稳压电源内部由基准电压回 路、恒流源、过流保护、过压保护和短路保护回路等 8 部分组成,具有低功耗,高 效率,纹波系数小,输出电压稳定等优点。 图 2-10 LM7805 的外形图 D.七段 LED 数码管 7 段数码管是一种常用的显示器件,其外观与内部电路连接见图 2-11。它使用 7 个笔画显示 09 共 10 个数字,加上一个小数点共 8 个显示段,每一个笔画都是由 发光二级管组成的。 LED 数码管根据 LED 的接法不同分为共阴和共阳两类, 2-11 图 (b)是共阳极数码管的内部电路,将八只 LED 的阳极连在一起,其中 ag 为 7 个笔 画的驱动端;dp 为小数点

40、驱动端;COM 为公共引脚。 (a)外观 图 2-11 LED 数码管 (b)内部电路连接 09 共 10 个字符的字形码如表 2-1 所示。 E.双色发光二极管 双色发光二极管是在一个封装结构内设置两只不同单色的发光二极管。共阴红 绿双色发光电气符号图与内部电路连接如图 2-12 所示。 3 根引出线, 有 圆形和长方 形两种封装。其中第一只发光二极管的负(或正极)与第二只发光二极管的负(或 正极)极相互连接后再向外引出。 表 2-1 LED 数码管显示字符的字形码 字形 P0.7 dp 0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 P0.6 g 1 1 0

41、 0 0 0 0 1 0 0 P0.5 f 0 1 1 1 0 0 0 1 0 0 P0.4 e 0 1 0 1 1 1 0 1 0 1 P0.3 d 0 1 0 0 10 0 1 0 0 P0.2 c 0 0 1 0 0 0 0 0 0 0 P0.1 b 0 0 0 0 0 1 1 0 0 0 P0.0 a 0 1 0 0 1 0 0 0 0 0 字形编码 共阳 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 共阴 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH (a)外形 (b)共阴双色发光二极管内部电路连接 图 2-12 双

42、色发光二极管 发光双色二极管的判别与检测方法:将万用表打在电阻档,用万用表黑表笔接 在双色发光二极管中间的负极上, 红表笔接在双色发光二极管的正极上, 每次都亮, 该双色发光二极管是共阴极的,并且是好的。 F.三极管 9012 9012 为一 PNP 型的三极管,外形与引脚图如图 2-13 所示。 其中 1 脚为发射极,2 脚为基极,3 脚为集电极。 G.整流桥 整流桥的外形如图 2-14 所示。 整流桥的是作用将交流电转换成直流电, 本次设 计电源电路中选用 1A,220V 的整流桥。 图 2-13 9012 外形图及引脚图 图 2-14 整流桥的外形如图 2.3 系统软件的设计 交通灯控制

43、系统软件分为主程序、定时中断程序与特种车实时响应程序三部分。 2.3.1 主程序 主程序主要负责总体程序管理功能,包括初始化部分与人机交互设定部分。由 于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程 序流程图如图 2-15 所示。 图 2-15 主程序流程图 初始化部分主要完成内存规划,定时器的工作模式、中断方式等的设定。由于 子程序调用较多,因此初始化时堆栈指针设于 80H 处。定时器 T0、T1 设为 16 位定 时器模式,定时时间为 50mS,T0 为秒计时用,T1 为通行结束闪烁用。 2.3.2 定时中断服务程序 定时中断服务程序主要用于车辆与行人的通行指示,

44、按照通行规则,红绿灯控 制转换逻辑表如表 2-2 所示。 通行规则如下: A.车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为 1min(60S), 各路右拐比直行滞后 10S 开放。 B.车辆南北向左拐、各路右拐,行人禁行。通行时间为 1min(60S) 。 C.车辆东西直行、各路右拐,东西向行人通行。东西向通行时间为 1min(60S), 各路右拐比直行滞后 10S 开放。 D.车辆东西向左拐、各路右拐,行人禁行。通行时间为 1min(60S) 。 表 2-2 路口通行方式控制码数据表 端口 P1.7 南 P1.6 P1.5 北 P1.4 P1.3 P1.2 向 P1.1 P1.0

45、 控制功能 左拐红 左拐绿 直行红 直行绿 右拐红 右拐绿 行人红 行人绿 120-110S 1(亮) 0(暗) 0(暗) 1(亮) 1(亮) 0(暗) 0(暗) 1(亮) 99H 1(亮) 0(暗) 1(亮) 0(暗) 1(亮) 0(暗) 1(亮) 0(暗) AAH 110-70S 1(亮) 0(暗) 0(暗) 1(亮) 0(暗) 1(亮) 0(暗) 1(亮) 95H 1(亮) 0(暗) 1(亮) 0(暗) 0(暗) 1(亮) 1(亮) 0(暗) A6H 70-60S 1(亮) 0(暗) 0(暗) 1/0(提示) 0(暗) 1(亮) 0(暗) 1/0(提示) 95H/84H 1(亮) 0(暗

46、) 1(亮) 0(暗) 0(暗) 1(亮) 1(亮) 0(暗) A6H 60-10S 0(暗) 1(亮) 1(亮) 0(暗) 0(暗) 1(亮) 1(亮) 0(暗) 66H 1(亮) 0(暗) 1(亮) 0(暗) 0(暗) 1(亮) 1(亮) 0(暗) A6H 10-0S 0(暗) 1/0(提示) 1(亮) 0(暗) 0(暗) 1/0(提示) 1(亮) 0(暗) 66H/22H 1(亮) 0(暗) 1(亮) 0(暗) 0(暗) 1/0(提示) 1(亮) 0(暗) A6H/ A2H 方 路口控制字 P2.7 东 P2.6 P2.5 西 P2.4 P2.3 方 P2.2 向 P2.1 P2.0 左

47、拐红 左拐绿 直行红 直行绿 右拐红 右拐绿 行人红 行人绿 路口控制字 交通灯的 4 种通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的 原理是,将按不同规则通行时的各路口的红绿灯亮灭情况转换为单片机端口控制 码。红绿灯指示功能通过 T0 定时中断服务程序实现。 定时器 T0 定时溢出中断周期设为 50ms,中断累计 20 次(即 1S)时对 120S 倒计时单元减一操作。设计中将 4 种通行规则分成几种不同的亮灯方式,通过查询 秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制 码分为 5 个时间段:120110S、11070S、7060S、6010S、100

48、S。交通管 理定时功能程序流程图如图 2-16 所示。 图 2-16 交通管理定时功能程序 2.3.3 特种车中断服务程序 特种车中断服务程序 将按钮 S3 按下,给 INT1 引脚输入低电平信号来模拟特种车通过信号,此时外 部中断 1 被触发,中断处理流程如图 2-17 所示。 图 2-17 特种车中断服务程序流程图 总的程序清单见附录三 2.3.4 算法分析 A.定时器/计数器 本设计涉及到 120110S、11070S、7060S、6010S、100S 五段计时, 首先须将它们转为 16 进制代码。 120=716+8=78H 110=616+14=6EH 70=416+6=46H 60

49、=316+12=3CH 10=016+10=0AH B.定时时间初值与 TMOD 的设置 T0、T1 为 16 位定时器,由于定时时间大于 8192S,应选用工作方式一。 由于晶振频率为 12MHz,TCY=1S,故有 T=(65536-X)TCY=(65536-X)1s =50ms 计算初值 X=15536=3CB0H 即 TH0=3CH ,TL0=0B0H。 TMOD 的格式如图 2-18 所示。 D7 D6 D5 D4 D3 D2 D1 M1 D0 M0 GATE C/ T M1 M0 GATE C/ T 图 2-18 TMOD 的格式 TMOD 各位的内容确定如下:由于定时器/计数器

50、0 设为定时器,选用工作方 式一, 所以 C/ T (TMOD.2)=0, M1(TMOD.1)=0, (TMOD.0)=1, M0 GATE(TMOD.3)=0; 定时器/计数器 1 没有使用,相应的 D7D4 为随意状态“X”。 若取“X”为 0,则(TMOD)=B=01H C.中断系统 IE 的取值 IE 的格式如图 2-19 所示。 D7 EA D6 -D5 D4 D3 ET1 D2 EX1 D1 ET0 D0 EX0 ET2 ES 图 2-19 IE 的格式 IE 每一位都由软件置 1 或清零。本设计中 CPU 允许中断即 EA=1,定时器/计 数器 0 中断允许位 ET0 及外部中

51、断 0 中断允许位 EX0 可申请中断, ET0=1, 即 EX0=1, 其余不允许中断,均设为 0,所以 IE=H=83H 3 系统调试 根据前述第 2 大节中硬件和软件设计,制作了基于单片机的交通灯控制系统样 机实物。对样机的硬件和软件分别进行了调试,最后进行了软件、硬件联调。 调试成功的实物照片如图 3-1 所示。 图 3-1 调试成功的单片机控制交通灯系统实物照片 调试过程中遇到了不少问题,并已将其逐一解决。最终得到了调试 成功的交通灯系统,可以完成本设计 1.2 节中设计内容的要求。 3.1 硬件调试 3.1.1 静态检查 根据硬件电路图核对了元器件的型号、极性,安装是否正确,检查

52、硬件电路连线是否与电路原理图一致, 检查电路元器件是否都已经连接 好,用万用表一一测试。 3.1.2 通电检查 首先调试电源部分。 整个电路只需要+5V 的电压, 接上电源, 220V 将 交流电通入,测试变压器的输出端,整流桥输出,LM7805 的输出电压是 否和理论计算值一致, 再用示波器检测单片机的复位和晶振电路是否有 复位信号和振荡信号。 3.2 软件调试及软硬件联调 对软件先用仿真器进行了调试。用仿真器运行正常后,再用烧写器将程序烧到 AT89S52 单片机中,进行了脱机调试。 3.2.1 仿真器选择 单片机仿真器有很多型号,本次设计采用南京电子有限公司生产的伟福系列仿 真器 H51

53、/S。仿真头类型采用 POD-H8X5X。 3.2.2 仿真过程 A建立程序 选择菜单文件| 新建文件出现一个文件名为NONAME1 的源程序窗口,如图 3-2所示,输入程序段(此处以P18页时间显示程序段为例)。 图3-2 建立程序窗口 将文件存为扩展名为.ASM的文件进行保存。 B建立项目 建立项目分如下三步: a) 加入模块文件。(将上述A中建立的ASM文件加入) b) 加入包含文件。(若无包含文件,此步加以取消) c) 保存项目。 C仿真器的设置 选择菜单设置| 仿真器设置功能或按“仿真器设置”快捷图标打开“仿真器设置” 对话框,如图3-3所示。 在“仿真器”栏中,选择仿真器类型和配置

54、的仿真头以及所要仿真的单片机。在 “语言”栏中,“编译器选择”选择为“伟福汇编器”。 编译项目。选择菜单项目| 编译功能或按编译快捷图标,编译项目。 在编译过程中,如果有错可以在信息窗口中显示出来,双击错误信息,可以在 源程序中定位所在行。纠正错误后,再次编译直到没有错误。在编译之前,软件会 自动将项目和程序存盘。在编译没有错误后,就可调试程序了。 图 3-3 “仿真器设置”对话框 3.2.3 通行灯输出调试 对于通行灯输出程序的调试,首先看左拐灯、直行灯、右拐灯、行人灯是否能 正常工作。编制了以下测试灯亮灭的程序: ORG 0000H START: MOV A,#0AAH MOV P1,A

55、MOV P2,A ACALL DELAY MOV A,#55H MOV P1,A MOV P2,A ACALL DELAY SJMP START DELAY: MOV R7,#01H MOV R6,#81H DL1: NOP NOP NOP DJNZ R6,DL1 ;延时一段时间 ; 到 START 处循环以上操作 ;延时子程序 ;延时一段时间 ;让东西南北四个路口的绿灯全亮 ;让东西南北四个路口的四个红灯全亮 DJNZ R7,DL1 RET 将上述程序输入电脑,经仿真器传输到系统运行后,发现有一红灯不亮,而其 他指示灯都按指令运行出现正确的结果。用万用表仔细检测,发现该灯的阳极被误 接地了,

56、没有接到单片机的并行口上。经修改,每个指示灯均能正确的显示了,至 此,说明通行灯的接线完全正确。 判断出通行灯接线正确后,对于整个电路的通行控制,根据逻辑状态表 2-2 编 制了相应的程序(程序段见附录 2 中的 T0 中断服务程序)多次、反复调试,直到 逻辑关系正确。调试时南北方向、东西方向指示灯同时进行。 3.2.4 时间显示模块调试 对于时间模块, 首先看显示的数字是否正常, 显示的亮度是否合适。 对于图 2-3 所示的电路, 尽管 LED 数码管为共阳极, 但是各位的位选为 P3.0, P3.1 ,P3.2 经 PNP 型晶体管 9012 后提供,P3.i(i=0,1,2)必须提供低电平才能点亮相应的显示器,须输 出 CLR P3.i 指令(i=0,1,2)。先编制了 LED 静态显示的程序,测试 P3.i 引脚上的 LED 是否可以正常显示,相应程序如下: ORG

温馨提示

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

评论

0/150

提交评论