基于STC89C52单片机的数显交通灯设计.doc

上传人:西安人 文档编号:5020758 上传时间:2020-01-29 格式:DOC 页数:28 大小:677.50KB
返回 下载 相关 举报
基于STC89C52单片机的数显交通灯设计.doc_第1页
第1页 / 共28页
基于STC89C52单片机的数显交通灯设计.doc_第2页
第2页 / 共28页
基于STC89C52单片机的数显交通灯设计.doc_第3页
第3页 / 共28页
基于STC89C52单片机的数显交通灯设计.doc_第4页
第4页 / 共28页
基于STC89C52单片机的数显交通灯设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《基于STC89C52单片机的数显交通灯设计.doc》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的数显交通灯设计.doc(28页珍藏版)》请在三一文库上搜索。

1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告 选题名称选题名称:基于 STC89C52 单片机的数显交通灯设计 系(院)系(院): 计算机工程学院 专专 业业: 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期 2010年 5 月 30 日 摘要: 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制 检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一 个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合, 加以完善。交通灯的出现,使交通得以

2、有效管制,对于疏导交通流量、提高道路通行 能力,减少交通事故有明显效果。本项目主要从单片机应用上来实现十字路口交通灯 智能化的管理,用来控制过往车辆的正常运行。我们采用 MSC-51 系列单片机 STC89C52 和驱动芯片 74LS245 为中心器件,两位共阴数码管和红、黄、绿 LED 灯为 显示器件来设计交通灯控制器,实现了东西南北路口直行,转弯交替通行;人行道通 行;数码管显示直行通行时间倒计时;红、绿灯循环点亮,倒计时剩 4 秒时黄灯闪烁 警示;某一方向拥挤时,可通过 p3.0,p3.1 处的两个按键,实现人工调节通行时间; 紧急情况时,可通过 p3.2 处的中断按键,实现各路口显示红

3、灯,数码管数据保持不变 等功能。本系统实用性强、操作简单、扩展功能强。 关键词:关键词:单片机;交通灯;数码管;STC89C52;74LS245;中断 目目录录 1 绪言 .1 1.11.1 课题背景课题背景 .1 1.21.2 单片机概述单片机概述 .1 2 项目概述 .2 2.1 项目要求 2 2.2 系统设计 2 3 硬件设计 .3 3.1 方案比较、设计与论证 3 3.1.1 电源提供方案 .3 3.1.2 显示界面方案 .3 3.2 芯片简介 4 3.2.1 MSC-51 芯片简介 .4 3.2.2 74LS245 引脚,参数及 功能说明 .7 3.2.32 位共阴数码管 .7 3.

4、3 交通管理的方案论证 8 3.4 系统硬件设计 9 4 软件设计 10 4.1 程序流程图 .10 4.2 延时的设定 .12 4.2.1 硬件延时 .12 4.2.2 软件延时 13 4 43 3 程序代码分析程序代码分析 13 4.3.1 程序实现功能 .13 4.3.2 工作寄存器及存储单元分配 14 4.3.3 初始化程序 14 4.3.4 显示子程序 15 4.3.5 定时中断处理程序 .16 4.3.6 南北通行到达最后 4 秒时黄灯闪烁 17 4.3.7 东西方向通行时间剩余 4 秒钟黄灯闪烁 18 4.3.8 紧急中断处理程序 19 439 查表指令 0,1,2,3,4,5,

5、6,7,8,9 20 4.3.10 延时 5ms 与 1ms 20 5 测试及结果 20 总 结 .22 参考文献 23 单片机系统开发与应用工程实习报告 1 1 1 绪言绪言 1.11.1 课题背景课题背景 随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大 压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口, 又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都 存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方 法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络, 交通状况十

6、分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的 多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交 通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交 叉口)是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通 事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关 注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要 的交通检测器、信号控制机和交通信号灯。 交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在 醒目位置用红、绿、黄三种颜色的指示灯,加

7、上一个倒计时的显示计时器来控制行车, 对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是 设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和 绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难, 需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。 控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这 一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进 行动态调节,大大加强了其灵活性和实时性,本系统本着“先到先服务”的原则,在 保证交通安全性不降低的条件下

8、提高了交通效率。与传统的交通控制系统相比,该控 制系统有一定的智能水平和很强的控制能力。 1.21.2 单片机概述单片机概述 随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用比定 导致传统的控制技术从根本上发生变革。也就是说单片机应用的出现是对传统控制技 术的革命。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得 单片机系统开发与应用工程实习报告 2 到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。因此单片机的开发 应用已成为高技术工程领域的一项重大课题。因此了解单片机知识,掌握单片机的应 用技术具有重大的意义。本文主要从计算机的应用上来实现十字路口

9、交通灯智能化的 管理,用以控制过往车辆的正常运作。 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片 机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中 央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备 相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它 们的 CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 2 2 项目概述项目概述 随着微控技术的日益完善和发展,单片机的

10、应用在不断走向深入。它的应用必定 导致传统的控制技术从根本上发生变革。它在工业控制,数据采集,智能化仪表,机 电一体化,家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自 动化控制。 本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往 车辆的正常运作。 2.12.1 项目要求项目要求 基于 STC89C52 单片机的数显交通灯的设计,主要功能有: (1)东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时。 (2)红黄绿灯显示包括人行道在内的道路交通状态。 (3)某一方向道路拥挤时,可以人工控制调节东西南北通行时间。 (4)紧急情况时,各路口交通灯显示红灯

11、,数码管保持数据不变。 2.22.2 系统设计系统设计 按照系统设计的要求和功能,将系统分为主控模块、LED 显示模块、电源电路、 复位电路、按键电路、晶振电路、驱动电路等几个模块,系统组成框图如图 2-1 所示。 单片机系统开发与应用工程实习报告 3 时间显示 晶振电路 STC89C52 单片机 驱动 74ls245 红灯状态 黄灯状态 绿灯状态 按键电路 电源电路 图 2-1 基于 STC89C52 单片机的数显交通灯系统组成框图 3 3 硬件设计硬件设计 3.13.1 方案比较、设计与论证方案比较、设计与论证 3.1.1 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方

12、案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可 供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成 本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 3.1.2 显示界面方案 该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案: 方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜 任题目要求。 方案二:完全采用点阵式 LED 显示。这种方案实现复杂,且须完成大量的软件工 作;但功能强大,可方便的显示各种英文字符,汉字,图形等。 方

13、案三:采用数码管与点阵 LED 相结合的方法因为设计既要求倒计时数字输出, 又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与 LED 灯分别显示 时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡 利弊第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。 单片机系统开发与应用工程实习报告 4 3.23.2 芯片简介芯片简介 3.2.1 MSC-51 芯片简介 MCS-51 单片机内部结构:8051 是 MCS-51 系列单片机的典型产品,我们以这一 代表性的机型进行系统的讲解。 8051 单片机包含中央处理器、程序存储器(ROM)、 数据

14、存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数 据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器:中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处 理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调 的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM):8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存 器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问, 而不能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读

15、写的数据, 运算的中间结果或用户定义的字型表。 图 3-1 8051 内部结构 程序存储器(ROM):8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始 数据或表格。 定时/计数器(ROM):8051 有两个 16 位的可编程定时/计数器,以实现定时或计 数产生中断用于控制程序转向。 并行输入输出(I/O)口:8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对 外部数据的传输。 全双工串行口:8051 内置一个全双工串行通信口,用于与其它设备间的串行数据 传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 单片机系统开发与应用

16、工程实习报告 5 中断系统:8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断 和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 时钟电路:8051 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行 的脉冲时序,但 8051 单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛 (Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为 一的结构,即普林斯顿(Princeton)结构。INTEL 的 MCS-51 系列单片机采用的是哈佛 结构的形式,而后续产品 16 位的 MC

17、S-96 系列单片机则采用普林斯顿结构。 图 3-2 MCS-51 结构图 MCS-51 的引脚说明:MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根, 外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。 现在我们对这些引脚的功能加以说明:如图 3-3 所示: 单片机系统开发与应用工程实习报告 6 图 3-3 MCS-51 的引脚说明 Pin9:RESET/Vpd复位信号复用脚,当 8051 通电,时钟电路开始工作,在 RESET

18、 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器 PC 指向 0000H,P0-P3 输出口全部为高电平,堆栈指针写入 07H,其它专用寄存器被 清“0”。RESET 由高电平下降为低电平后,系统即从 0000H 地址开始执行程序。然而, 初始复位不改变 RAM(包括工作寄存器 R0-R7)的状态,8051 的初始态。 8051 的复位方式可以是自动复位,也可以是手动复位,见下图 3-4。此外, RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部 RAM 的数据不丢失。 图 3-4 复位和时钟方式 Pin30:ALE/当访问外部

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

20、 和 8751 单片机,内置有 4kB 的程序EA 存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器指令数据, 而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地址大小,一律读取 外部程序存储器指令。显然,对内部无程序存储器的 8031,端必须接地。EA 在编程时,脚还需加上 5V 的编程电压。EA 3.2.2 74LS245 引脚,参数及 功能说明 74LS245 是 8 路 3 态 双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使用 在数据的双向缓冲,原来常见于 51 的数据接口电路,比如,早期电路中,扩展了很 多的 8255/8155/825

21、1/8253/573 等芯片的时候,担心 8031 的数据驱动能力不足,就使 用一片 245 作为数据缓冲电路,增强驱动能力;也常见与 ISA 卡的接口电路,图 3-5 为 245 驱动芯片的管脚排列 图 3-5 245 驱动芯片的引脚图 0,DIR0,B-A;=0, DIR=1, A-B;=1, DIR=X, X=0 或者 1,输入和EEE 输出均为高阻态;高阻态的含意就是相当于没有这个芯片。 3.2.32 位共阴数码管 LED 显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便 等优点。LED 数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。 以八段 2 位共

22、阴管为例,它有 8 个发光二极管(比七段多一个发光二极管,用来显示 SP,即点),每个发光二极管的阴极连在一起接地。这样,一个 LED 数码管就有 2 根位 选线和 8 根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。 单片机系统开发与应用工程实习报告 8 相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的 个位和十位,然后有 DPTR 调取 table 的代码。 LED 8 段数码管的设置为每个方位上的一个 2 位显示器。四个方位上总共用 4 个 2 位共阴 LED 接在单片机的 p1 口上。如图 3-7 所示: 图 3-7 2 位共阴数码管 3.3 交通

23、管理的方案论证交通管理的方案论证 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯, 指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意 红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设 东西道比南北道的车流量大,指示灯燃亮的方案 (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯, 此道车辆通过,行人禁止通行。时间为 10 秒。 (2)南北黄灯闪烁 4 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)南北左拐,东西左右拐 10 秒。 (4)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁

24、止通过, 行人通行。时间为 20 秒。 东西方向车流大 通行时间长。 (5)东西黄灯闪烁 4 秒,警示车辆和行人红、绿灯的状态即将切换。 (6)南北左右拐,东西左拐 10 秒。 单片机系统开发与应用工程实习报告 9 (7)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全 畅通的通行。 (8)此表可根据车流量动态设定红绿灯初始值。 3.4 系统硬件设计系统硬件设计 核心器件:单片机系统采用 STC89C52 芯片,晶振选用 12MHz,电源电压采用 5V。 信号输出设计:用驱动芯片 74ls245 与单片机的 p0,p2 口相连,由 74ls245 将信号输 送到红黄绿灯上。

25、 信号灯采用发光二极管,选用红黄绿三种颜色。红灯停,绿灯行,黄灯等待。低 电平时,灯亮;高电平时,灯熄灭。 时间显示设计:采用 LED 八段 2 位共阴显示,采用动态显示方式。 电路图如图 3-8: 单片机系统开发与应用工程实习报告 10 图 3-8 交通灯总电路图 4 软件设计软件设计 4.1 程序流程图程序流程图 本系统的软件包括主程序,显示程序和中断程序三部分。主程序:初始化子程序, 循环执行显示子程序,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切 换。具体流程如下: 单片机系统开发与应用工程实习报告 11 关中断 保护现场 开中断 中断服务 关中断 恢复现场 开中断 中断返回

26、 断点地址由堆栈弹入pc 图 4-1 中断服务程序图 单片机系统开发与应用工程实习报告 12 开始 南北左拐,东西左右拐 东西直行,南北红灯 延时 10S 延时 4 秒 南北左右拐,东西左拐 延时 10S 延时 10S 主程序初始化 南北直通状态,东西红 灯 延时 10S 南北黄灯 中断入口设置 中断初始 化 开中断 延时 4 秒 图 4-2 主程序 单片机系统开发与应用工程实习报告 13 复位按钮 P3.0 处的按扭 P3.1 处的按钮 P3.2 处的按钮 复位 延长东西通行时间 延长南北通行时间 紧急中断,各路口全红灯,数码管时间静止 图 4-3 按键功能 4.2 延时的设定延时的设定 延

27、时方法可以有两种一中是利用 MCS-51 内部定时器才生溢出中断来确定 1 秒的 时间,另一种是采用软延时的方法。 4.2.1 硬件延时 计数器初值计算:定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL 中的。他是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此, 我们可以把计数器记满为零所需的计数值设定为 C 和计数初值设定为 TC 可得到如下 计算通式: TC=M-C (4-1) 公式中,M 为计数器摸值,该值和计数器工作方式有关。在方式 0 时 M 为; 13 2 在方式 1 时 M 的值为;在方式 2 和 3 为 16 2 8 2 计算公式:T=(M

28、TC)/T计数或 TC(M-T)/T计数 (4-2) T计数是单片机时钟周期 TCLK2 倍;TC 为定时初值 如单片机的主脉冲频率为 T12MHZ ,经过 12 分频 方式 0 TMAX213 *1 微秒8.192 毫秒 方式 1 TMAX216 *1 微秒65.536 毫秒 显然 1 秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相 结合的办法才能解决这个问题。 1 秒的方法:我们采用在主程序中设定一个初值为 20 的软件计数器和使 T0 定时 50 毫秒。这样每当 T0 到 50 毫秒时 CPU 就响应它的溢出中断请求,进入他的中断服务 子程序。在中断服务子程序中,CPU

29、 先使软件计数器减 1,然后判断它是否为零。为 单片机系统开发与应用工程实习报告 14 零表示 1 秒已到可以返回到输出时间显示程序。 相应程序代码: 定时器需定时 50 毫秒,故 T0 工作于方式 1。 初值: 3CBOH1553620ms/1us-2T)/T-(MTC 16 计数 MOV TMOD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;开定时中断与紧急中断 SETB ET0 SETB TR0 SETB EX0 SETB IT0 ;设置中断程控方式 4.2.2 软件延时 MCS-51 的工作频率为 2-12MHZ,我们选用的 805

30、1 单片机的工作频率为 12MHZ。机器周期与主频有关,机器周期是主频的 12 倍,所以一个机器周期的时间 为 1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数 来确定时间。 具体的延时程序分析:去抖延时子程序 D5MS: MOV R7,#50 ;延时 5ms MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RET D1MS: MOV R7,#10 ;延时 1ms MOV R6,#50 L2: DJNZ R6,$ DJNZ R7,L2 RET 单片机系统开发与应用工程实习报告 15 43 程序代码分析程序代码分析 4.3.1 程序实现功能 1、

31、东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯 显示包括人行道在内的道路交通状态。 2、某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。 3、紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。 4.3.2 工作寄存器及存储单元分配 1、工作寄存器:R2 设置为定时器定时中断次数,R6、R7 用于延时程序中的寄存 器 2、片内存储单元:30H、31H 作为两组数码管显示数据存储单元;32H、33H 作 为交通灯初始状态存储单元;40H、41H 作为交通灯显示数据存储单元。 3、标志位:00H:南北通行标志位;01H:东西通行标志位;02H:紧急事件标 志位 。

32、SNF EQU 00H ;南北通行标志位 EWF EQU 01H ;东西通行标志位 URF EQU 02H ;紧急事件标志位 ORG 0000H LJMP MAIN ;上电转主程序 ORG 000BH ;定时中断入口 LJMP DSZD ORG 0003H ;紧急中断入口 LJMP URZD ORG 0030H MAIN: LCALL INIT ;调用初始化子程序 LOOP: LCALL DIS ;循环执行显示子程序 AJMP LOOP 4.3.3 初始化程序 INIT: SETB SNF SETB EWF SETB URF 单片机系统开发与应用工程实习报告 16 MOV R2,#20 ;定时

33、器中断 20 次为 1s MOV TMOD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;开定时中断与紧急中断 SETB ET0 SETB TR0 SETB EX0 SETB IT0 ;设置中断程控方式 MOV DPTR,#TAB ;数值首地址放入 DPTR 中 MOV 40H,#10 ;东南西北通行时间设置 MOV 41H,#10 MOV 30H,#10 ;通行时间初始化 MOV 31H,#20 MOV P0,#0B3H ;初始化时南北通行并把交通灯状态分别放在 32H 和 33H 中 MOV 32H,#0B3H MOV P2,#0ABH

34、MOV 33H,#0ABH RET 4.3.4 显示子程序 DIS: MOV P3,#0DFH ;选中南北方向的十位数码管 MOV A,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#0EFH ;选中南北方向的个位数码管 MOV A,B ;送入数码管显示 MOVC A,A+DPTR 单片机系统开发与应用工程实习报告 17 MOV P1,A LCALL D1MS MOV P3,#7FH ;选中第东西方向的十位数码管 MOV A,31H ;送入数码管显示 MOV B,#10 DIV AB MO

35、VC A,A+DPTR MOV P1,A LCALL D1MS MOV P3,#0BFH ;选中第东西方向的个位数码管 MOV A,B MOVC A,A+DPTR MOV P1,A LCALL D1MS SETB P3.0 SETB P3.1 JNB P3.0,DIS_S ;查询是否第一个按键按下 JNB P3.1,DIS_E ;查询是否第二个按键按下 AJMP DIS_R ;没有键按下则返回 DIS_S:LCALL D5MS ;按键去抖 JNB P3.0,DIS_SN AJMP DIS_R DIS_SN:MOV 40H,#50 ;对通行时间从新分配,南北通行时间加长 MOV 41H,#30

36、AJMP DIS_R DIS_E:LCALL D5MS ;按键去抖 JNB P3.1,DIS_EW AJMP DIS_R DIS_EW:MOV 40H,#30 ;东西通行时间加长 MOV 41H,#50 DIS_R:RET 单片机系统开发与应用工程实习报告 18 4.3.5 定时中断处理程序 DS_C: LJMP DS_R ;接力跳转 DSZD: PUSH ACC ;保护现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,DS_C ;判断 1s 时间是否到达 MOV R2,#20 ;到达

37、重新赋值 DEC 30H ;南北方向通行时间减一 MOV A,30H ;把减一后的时间送入显示存储单元 4.3.6 南北通行到达最后 4 秒时黄灯闪烁 DS_10:CJNE A,#4,DS_11 ;如果通行时间剩余 4 秒 JNB SNF,DS_11 ;判断是否是南北通行 MOV P0,#0B5H MOV 32H, #0B5H ;把交通灯状态存入存储单元(后面类似) DS_11:CJNE A,#3,DS_12 ;不是剩余 3 秒,返回 JNB SNF,DS_12 ;不是南北通行时间,返回 MOV P0,#0B7H MOV 32H, #0B7H DS_12:CJNE A,#2,DS_13 JNB

38、 SNF,DS_13 MOV P0,#0B5H MOV 32H, #0B5H DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#0B7H MOV 32H, #0B7H DS_14:JNZ DS_NE ;通行时间没有结束转向改变东西方向的数码管 CPL SNF ;如果 通行时间结束则对标志位取反 单片机系统开发与应用工程实习报告 19 JNB SNF,DS_1 ;判断是否南北通行 MOV 30H,40H ;是,点亮相应的交通灯 MOV P0,#0B3H MOV 32H,#0B3H ;存储交通灯状态 MOV P2,#0ABH MOV 33H, #0ABH ;存

39、储交通灯状态 DS_NE:DEC 31H ;东西方向通行时间减一 MOV A,31H ;把通行剩余时间送入显示存储单元 4.3.7 东西方向通行时间剩余 4 秒钟黄灯闪烁 DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#0AEH MOV 32H, #0AEH DS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#0BEH MOV 32H, #0BEH DS_22:CJNE A,#2,DS_23 JB EWF,DS_23 MOV P0,#0AEH MOV 32H, #0AEH DS_23:CJNE A,#1,DS_24 JB

40、EWF,DS_24 MOV P0,#0BEH MOV 32H, #0BEH DS_24:JNZ DS_R ;东西方向时间没有结束,返回 CPL EWF ;对通行状态取反 JNB EWF,DS_2 ;东西方向通行时间到来,跳转 MOV 31H,#30 ;东西方向通行结束,重新显示时间 MOV P0,#76H ;点亮相应的交通灯 MOV 32H, #76H 单片机系统开发与应用工程实习报告 20 MOV P2,#0B5H MOV 33H, #0B5H AJMP DS_R DS_1: MOV 30H,#30 ;南北通行时间结束,重新对显示存储单元赋值 MOV P0,#76H ;执行转弯状态 1 MO

41、V 32H, #76H MOV P2,#0CDH MOV 33H, #0CDH AJMP DS_NE DS_2: MOV 31H,41H ;东西方向开始通行,赋值予显示存储单元 MOV P0,#9EH ;点亮相应的交通灯 MOV 32H, #9EH MOV P2,#0ABH MOV 33H, #0ABH DS_R: SETB TR0 POP PSW ;恢复现场 POP ACC RETI 4.3.8 紧急中断处理程序 URZD: PUSH ACC ;保护现场 PUSH PSW CLR IE0 ;清除中断标志位 CLR TR0 ;关定时器 CPL URF ;紧急事件标志位 JB URF,UR_CO

42、N ;紧急结束;跳转 MOV P0,#0B6H ;各路口灯全显示红灯亮 MOV P2,#0ABH AJMP UR_R UR_CON:SETB TR0 ;恢复正常交通 MOV A,32H MOV P0,A 单片机系统开发与应用工程实习报告 21 MOV A,33H MOV P2,A UR_R: POP PSW ;恢复现场 POP ACC RETI 439 查表指令 0,1,2,3,4,5,6,7,8,9 TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH 4.3.10 延时 5ms 与 1ms D5MS: MOV R7,#50 M

43、OV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RET D1MS: MOV R7,#10 MOV R6,#50 L2: DJNZ R6,$ DJNZ R7,L2 RET END 5 测试及结果测试及结果 状态灯显示测试:当电路板连接完毕后,将写好的测试程序刷写到芯片内,分别 给p0和p1端口送高电平和低电平,红黄绿灯循环亮灭。 数码管的测试:将电路板的接口连接,将写好的测试程序刷写到芯片内,p1口控 制8段,p3.4-P3.7控制位选,开电源即可测试数码管。 整体电路测试:系统上电,刷写好程序即可开始测试,观测一个周期二极管显示 状态是否正常,同时观察倒计的计数是否正常。

44、 单片机系统开发与应用工程实习报告 22 结果:此交通灯实现了东西南北路口直行,转弯交替通行;人行道通行;数码管 显示直行通行时间倒计时;红、绿灯循环点亮,倒计时剩4秒时黄灯闪烁警示;某一 方向拥挤时,可通过p3.0,p3.1处的两个按键,实现人工调节通行时间;紧急情况时, 可通过p3.2处的中断按键,实现各路口显示红灯,数码管数据保持不变所以功能。实 物见图5-1: 图 5-1 交通灯实物图 单片机系统开发与应用工程实习报告 23 总总 结结 此交通灯的设计使用新颖,首先它充分的考虑到了元器件的选择问题,没有一味 的追求高质量的芯片,而是紧紧从实际应用的角度出发,选择够用的芯片来完成这样 一

45、个设计,其次就是再设计的过程中充分的考虑到了现实中的交通灯的问题,可以说 对该产品做简单的修改,在提高一下他的抗干扰性就能够直接应用到实际的生活之中。 这也是该款设计的另一大亮点。 通过这次实习,使我得到了一次用专业知识、专业技能分析和解决问题全面系统 的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计 思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应 用型人才打下良好的基础。 总的感受有以下几方面: (1)巩固了课本上的知识。通过本次设计,我不但对单片机有了更为深入的了 解,对一个课题如何画流程图,编程序等,有了一定的认识。 (2)在本次设计

46、中,我进一步加强了自己的动手能力和运用专业知识的能力, 从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别 是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。 (3)通过本次设计,让我了解到交通灯控制技术对当今人们生活的重要性。同 时这次做设计的经历也使我受益匪浅。让我知道做任何事情都应脚踏实地,刻苦努力 地去做。 本次设计中我用自己学到的知识完成代码,对单片机设计也有了新的认识,又学 到了在设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。促进我 以后更好的学习,锻炼自身的能力。我还要感谢我们的老师的悉心指导,他的我这次 实训成功的强大后盾。 单片机系统开发与应用工程实习报告 24 参考文献参考文献 1 杨居义主编单片机课程设计指导.北京:清华大学出版社.20099 2 李广弟 朱月秀冷祖祁.单片机基础(第 3 版).北京航空航天大学出版社.2007.6 3 张迎新等单片机初级教程(第二版)北京:北京航空航天大学出版社.20068 4 张克农.数字电子技术基础.高等教育出版社.2003.4 5 何立民.单片机应用技术大全.北京:北京航空航天大学出版社. 1994. 6 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社.1990. 1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 商业贸易


经营许可证编号:宁ICP备18001539号-1