欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业设计(论文)-基于单片机的交通灯控制系统设计.doc

    • 资源ID:3283756       资源大小:339.02KB        全文页数:30页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)-基于单片机的交通灯控制系统设计.doc

    基于单片机的简单交通灯设计 I 密级: 页数: 信息工程大学 毕 业 设 计(论文) 题目:基于单片机的简单交通灯设计 学员姓名 学 号 所在单位 五系二十四队 指导教师 完成日期 基于单片机的简单交通灯设计 II 摘 要: 近年来随着科技的飞速发展,单片机的应用正在不断深入。同时带动传统 控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机 往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体 硬件结构软硬结合,加以完善。 十字路口人来人往,车水马龙。若没有一个完善的系统来维持秩序,那么 必然会造成极大的混乱:交通瘫痪自不必说,还有可能出现重大事故。那么靠 什么来维持秩序,避免以上情况的发生呢?靠的就是交通信号灯的自动控制指 挥系统。交通信号灯的控制方式很多。本系统采用 MSC-51 系列单片机 ATSC51 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通灯控制器,实现了能 根据实际车流量通过 8051 芯片的 P1 口设置红、绿灯点亮时间的功能;红绿灯 循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示时 间直接通过 8255 的 PC 口输出至双位数码管) ;车辆闯红灯报警;绿灯时间检测 车流量并通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 关键词:单片机 交通灯 闯红灯 检测车流量 基于单片机的简单交通灯设计 III Abstract: In recent years, with the rapid development of the science and technology,the application of SCM is more and more in depth. At the same time, traditional detection techniques to control the growing update. In the application of real-time detection and automatic control system of single-chip, single-chip is often regard as a core component .useing the single-chip need not only knowledge, but also the structure of hardware and software in accordance with the specific combination of hardware, to be improved. Crossroads are crowded with people and vehicles.If hasnt a consummate systerm to regulate the traffic orders,the traffic will be chaos : traffic jams are unavoidable even terrible accidents will happen.So what we can use to regulate the traffic orders and avoid that situation ? The automatic control system of taffic lights will achieve. There are many ways to contol the traffic lights. This system uses MSC-51 series single-chip ATSC51 and programmable parallel I / O interface chip 8255A-centric device designed to control traffic lights.It accomplishs setting the time of red and green light according to the situationg of the trffic survey by P1 port of the 8051chip;keeping the red and green lightting on recurring; yellow light flashing warning when the countdown has five seconds left(the taffic light signal outputs by the PA port and time indicating output to the 2-decimal-digital-tube by PC port of 8255 chip );alarming when someone run the red light;detectting the taffic survey when green light and indicating by the 2-decimal-digital-tube. This systerm is practical, simple and strong extensions. Key words: Single-chip,detection of traffic lights,red light,traffic survey 基于单片机的简单交通灯设计 IV 目录目录 1. 引言5 2 . 单片机概述6 3. 芯片简介7 3.1 MCS-51 芯片简介.7 3.2 8255 芯片简介10 3.3 74LS373 简介11 4系统硬件设计.13 4.1 交通管理的方案论证13 4.2 系统硬件设计13 4.2.1 系统总框图.14 4.2.2 交通灯硬件线路图.14 4.2.3 系统工作原理.16 5控制器的软件设计17 5.1 4*4 键盘输入设定.17 5.2 时间及信号灯的显示18 5.2.1 8051 并行口的扩展.18 5.2.2 显示原理:18 5.2.3 8255PA 口输出信号接信号灯:.18 5.2.4 8255 输出信号与数码管的连接:18 5.2.5 8255 与 8051 的连接:.19 5.3 每秒钟的设定.19 5.4 计数器硬件延时20 5.4.1 计数器初值计算.20 5.4.2 计算公式20 基于单片机的简单交通灯设计 V 5.4.3 秒计算的方法.20 5.4.4 相应程序代码.20 5.5 软件延时21 5.6 程序设计22 5.6.1 流程图.22 5.6.2 程序源代码23 6 . 结论.30 7. 致谢.31 8. 参考文献32 基于单片机的简单交通灯设计 1 第一章 引言 任何技术都要经历从不成熟到成熟的发展阶段,红绿灯也不例外。如今红 绿灯作为最常见的交通标志安放在各个路口,大家早已习以为常,但很少有 人知道红绿灯早在 19 世纪就已出现了。 1858 年,英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械 扳手式信号灯,用以指挥马车通行,这是世界上最早的交通信号灯。1868 年, 英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了 世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表 示“停止” ,绿色表示“注意” 。 不幸的是只面世 23 天的煤气灯突然爆炸自 灭,使警察受伤,遂被取缔。 直到 1914 年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已 是“电气信号灯”。 稍后在纽约和芝加哥等城市,相继重新出现了交通信号灯。 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯 (红、黄、绿三种标志)于 1918 年诞生。它是三色圆形四面投影器,被安装在 纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善 后来又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是 把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来 启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯 当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能 把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 本论文中使用的是红外对管控制,即上文中所说的第二种。红外对管检测 即通过两个红外管之间的红外光束因外界因素(人为控制或遮挡)产生变化, 而造成所接电路电平变化。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行 能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信 号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆 可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车 辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红 灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警 告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能 安全停车时可以进入交叉路口。 基于单片机的简单交通灯设计 2 第二章 单片机概述 单片机属于计算机的一个种类。从应用领域来看,单片机主要用于控制, 所以也称为微型控制器(Microcontroller) 。从单片机状态来看,它仅是一块集 成电路芯片,它的所有功能部件都集成在一块芯片上,所以称之为单片机 (Single-Chip Aicrocomputer) 。 单片机是把微机的三大组成部分(CPU+存储器+I/O 接口)和一些实时控 制所需要的功能器件集成在一块芯片上。实时控制器件包括 A/D 转换器、D/A 转换器、脉冲调制器等。实时控制器件配置的多少也是衡量单片机性能的重要 方面,不同系列或型号的单片机,其实时控制器件的配置可能不同。大多数单 片机芯片上都集成有定时器/计数器。 单片机经过五个阶段发展,单片机目前正朝着 CMOS 化、低功耗化、低电 压化、低噪音与高可靠性化、大容量化、高性能化、小容量化、外围电路内装 化、串行扩展技术化发展。 基于单片机的简单交通灯设计 3 第三章 芯片简介 3.1 MCS-51 芯片简介 MCS-51 单片机内部结构: MCS-51 单片机内部结构按功能可以分为 6 部分:微处理器(CPU) 、存储 器(包括特殊功能寄存器、数据存储器、程序存储器) 、输入/输出接口(包括 并行端口、穿行端口) 、定时器/计数器、中断控制系统和时钟振荡电路。 8051 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系 统的讲解。 8051 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定 时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线 和控制总线等三大总线,现在我们分别加以说明: ·中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器, 能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调 的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们 是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不 能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的 数据,运算的中间结果或用户定义的字型表。 图 1 基于单片机的简单交通灯设计 4 ·程序存储器(ROM): 8051 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于 控制程序转向。 ·并行输入输出(I/O)口: 8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。 ·全双工串行口: 8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该 串行口既可以用作异步通信收发器,也可以当同步移位器使用。 ·中断系统:中断系统: 8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一 个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 ·时钟电路:时钟电路: 8051 内置最高频率达 12MHz 的时钟电路,用于产生整个单片机运行的脉 冲时序,但 8051 单片机需外置振荡电容。 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式, 即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与 数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 MCS- 96 系列单片机则采用普林斯顿结构。 下图是 MCS-51 系列单片机的内部结构示意图 2。 基于单片机的简单交通灯设计 5 图 2 MCS-51 的引脚说明: MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石 英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。 现在我们对这些引脚的功能加以说明: MCS-51 的引脚说明: MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石 英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。 现在我们对这些引脚的功能加以说明:如图 3 基于单片机的简单交通灯设计 6 图 3 Pin9:RESET/Vpd 复位信号复用脚,当 8051 通电,时钟电路开始工作,在 RESET 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后, 程序计数器 PC 指向 0000H,P0-P3 输出口全部为高电平,堆栈指针写入 07H, 其它专用寄存器被清“0”。RESET 由高电平下降为低电平后,系统即从 0000H 地址开始执行程序。然而,初始复位不改变 RAM(包括工作寄存器 R0-R7)的 状态,8051 的初始态。 8051 的复位方式可以是自动复位,也可以是手动复位,见下图 4。此外, RESET/Vpd 还是一复用脚,Vcc 掉电其间,此脚可接上备用电源,以保证单片 机内部 RAM 的数据不丢失。 图 4 ·Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地 址的低位字节。而访问内部程序存储器时,ALE 端将有一个 1/6 时钟频率的正 脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外 输出。更有一个特点,当访问外部程序存储器,ALE 会跳过一个脉冲。 如果单片机是 EPROM,在编程其间,将用于输入编程脉冲。 ·Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC 的 16 位地址数据将出现在 P0 和 P2 口上,外部程序存储器则把指令数据放到 P0 口上,由 CPU 读入并执行。 ·Pin31:EA/Vpp程序存储器的内外部选通线,8051 和 8751 单片机,内置有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存 储器指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管 地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,EA 端必须接地。 在编程时,EA/Vpp脚还需加上 21V 的编程电压。 基于单片机的简单交通灯设计 7 3.2 8255 芯片简介 8255 可编程并行接口芯片简介: 8255 可编程并行接口芯片有三个输入输出端口,即 A 口、B 口和 C 口,对 应于引脚 PA7PA0、PB7PB0 和 PC7PC0。其内部还有一个控制寄存器, 即控制口。通常 A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信 息的端口,它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁存器。它们分别与端口 A配合使用,可以用作控制信号输出或作为状 态信号输入。 8255 可编程并行接口芯片方式控制字格式说明: 8255 有两种控制命令字;一个是方式选择控制字;另一个是 C 口按位置位 复位控制字。其中 C 口按位置位复位控制字方式使用较为繁难,说明也较 冗长,故在此不作叙述,需要时用户可自行查找有关资料。 方式控制字格式说明如表 1: 表 1 D7:设定工作方式标志,1 有 效。 D6、D5:A 口方式选择 0 0 方式 0 0 1 方式 1 1 ×方式 2 D4:A 口功能 (1=输入,0=输出) D3:C 口高 4 位功能 (1=输入,0=输出) D2:B 口方式选择 (0=方式 0,1=方式 1) D1:B 口功能 (1=输入,0=输出) D0:C 口低 4 位功能 (1=输入,0=输出) 8255 可编程并行接口芯片工作方式说明: 方式方式 0 0:基本输入输出方式。适用于三个端口中的任何一个。每一个端 口都可以用作输入或输出。输出可被锁存,输入不能锁存。 方式方式 1 1:选通输入输出方式。这时 A 口或 B 口的 8 位外设线用作输入或 输出,C 口的 4 条线中三条用作数据传输的联络信号和中断请求信号。 D7D6D5D4D3D2D1D0 基于单片机的简单交通灯设计 8 方式方式 2 2 :双向总线方式。只有 A 口具备双向总线方式,8 位外设线用作输 入或输出,此时 C 口的 5 条线用作通讯联络信号和中断请求信号。 3.3 74LS373 简介 74LS373 是一种带三态门的 8D 锁存器,其管脚示意图如下示: 其中:1D-8D 为 8 个输入端。 1Q-8Q 为 8 个输出端。 LE 为数据打入端:当 LE 为“1”时,锁存器输出 状态同输入状态;当 LE 由“1”变“0”时,数据 打入锁存器 OE 为输出允许端:当 OE=0 时,三态门打开; 当 OE=1 时,三态门关闭,输出高阻。 基于单片机的简单交通灯设计 9 第四章 系统硬件设计 4.1 交通管理的方案论证 东西、南北两干道相交于一个十字路口,各干道有一组红、黄、绿三色的 指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯 亮提示人们注意红、绿灯的状态即将切换,且黄灯点亮时间为东西、南北两干 道的公共停车时间。设东西道比南北道的车流量大,指示灯点亮的方案如表 2。 表 2 表 2 说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北 道为绿灯,此道车辆通过,行人禁止通行。时间为 60 秒; (2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯的状态即将切换; (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆 禁止通过,行人通行。时间为 80 秒。 东西方向车流大 通行时间长; (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车 辆就能安全畅通的通行; (5)此表可根据车流量动态设定红绿灯初始值。 4.2 系统硬件设计 选用设备 8051 单片机一片选用设备:8051 单片机一片,8255 并行通 用接口芯片一片,74LS07 两片,MAX692看门狗一片,共阴极的七 段数码管两个双向晶闸管若干,7805 三端稳压电源一个,红、黄、绿交 通灯各两个,开关键盘、连线若干。 60S5S80S5S 东西 道 红灯亮黄灯亮绿灯亮黄灯亮 南北 道 绿灯亮黄灯亮红灯亮黄灯亮 基于单片机的简单交通灯设计 10 4.2.1 系统总框图 图 6 4.2.2 交通灯硬件线路图 基于单片机的简单交通灯设计 12 基于单片机的简单交通灯设计 13 4.2.3 系统工作原理 1. 开关键盘输入交通灯初始时间,通过 8051 单片机 P1 输入到系统; 2. 由 8051 单片机的定时器每秒钟通过 P0 口向 8255 的数据口送信息,由 8255 的 PA 口显示红、绿、黄灯的燃亮情况;由 8255 的 PC 口显示每个灯的明 亮时间; 3. 通过 8051 设置各个信号灯的时间、通过 8051 设置,绿、红时间分别为 60 秒、80 秒循环由 8051 的 P0 口向 8255 的数据口输出; 4. 通过 8051 单片机的 P3.0 位来控制系统是工作或设置初值,当排位 0 就对 系统进行初始化,为 1 系统就开始工作; 5. 红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S 后恢复正 常; 6. 增加每次绿灯时间车流量检测的功能,并且通过查询 P2.0 端口的电平是否 为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新 记入; 7. 绿灯时间倒计时完毕,重新循环。 基于单片机的简单交通灯设计 14 第五章 信号灯显示原理 5.1 时间及信号灯的显示 5.1.1 8051 并行口的扩展 8051 虽然有 4 个 8 位 I/O 端口,但真正能提供借用的只有 P1 口,因为 P2 和 P0 口通常用于传送外部传送地址和数据,P3 口也有它的第二功能。因此,8051 通 常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、 红绿黄信号灯的显示都要用到一个 I/O 端口,显然 8051 的端口是不够,需要扩 展。 扩展的方法有两种:(1)借用外部 RAM 地址来扩展 I/O 端口;(2)采用 I/O 接口新片来扩充。我们用 8255 并行接口信片来扩展 I/O 端口。 5.1.2 显示原理: 当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序,它将 依次显示信号灯时间 ,同时一直显示信号灯的颜色,这时在返回定时子程序 定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色时间显示完后在 重新给时间计数器赋初值 ,重新进入循环。 5.1.3 8255PA 口输出信号接信号灯: 由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光, 所以可以用置位方法点亮红,绿,黄发光二极管。 5.1.4 8255 输出信号与数码管的连接: LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是 否点亮而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上 7FH 所以 SP 上为 0 伏,不亮其余为 TTL 高电平,全亮则显示为 8 采用共阴级连接: 其中 PC0PB0-a, PC1PB1-b, PC2PB2-c, PC3PB3-d, PC4PB4-e, 基于单片机的简单交通灯设计 15 PC5PB5-f, PC6PB6-g PC7PB7 -SP 接地 表 3 驱动代码表 显示数值dop g f e d c b a 驱动代码(16 进制) 00 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 006H 2 0 1 0 1 1 0 1 15BH 3 0 1 0 0 1 1 1 14FH 4 0 1 1 0 0 1 1 066H 5 0 1 1 0 1 1 0 06DH 6 0 1 1 1 1 1 0 07DH 7 0 0 0 0 0 1 1 107H 8 0 1 1 1 1 1 1 17FH 5.1.5 8255 与 8051 的连接: 用 8051 的 P0 口的 P0.7 连接 8255 的片选信号 cs 我们用 8051 的地址采 用全译码方式,当 P7 =0 时片选有效,其他无效,P0.1 用于选择 8255 端口 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1P0.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 的控制 口 由于 8051 是分时对 8255 和储存器进行访问所以 8051 的 P0 口不会发生冲突。 基于单片机的简单交通灯设计 16 第六章 结论 本系统就是充分利用了 8051 和 8255 芯片的 I/O 引脚。系统统采用 MSC-51 系列单片机 Intel8051 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通 灯控制器,实现了能根据实际车流量通过 8051 芯片的 P1 口设置红、绿灯燃亮 时间的功能;红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通 过 PA 口输出,显示时间直接通过 8255 的 PC 口输出至双位数码管) ;车辆闯红 灯报警;绿灯时间可检测车流量并可通过双位数码管显示。系统不足之处不能 控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是根据所处环境 和车流量的实际情况所决定的,如果需要可设计补充原系统来实现。 “实践是检验真理的唯一标准” ,学习单片机若是只靠书本上的知识无疑是 管中窥豹,只有经过实际的锻炼才能加深理解。通过这次毕业设计让我无论是 从专业知识还是分析和解决问题的能力上都有了较大的提高。让我对单片机的 设计流程以及对于汇编语言的应用都有了进一步的认识,为以后的工作和学习 打下了良好的基础。 基于单片机的简单交通灯设计 17 致谢 经过两个月的收集整理,我们小组完成了这个毕业设计的论文,在此,我 们首先向我们的指导教员王志新教员表示感谢,感谢他在论文整理的过程中给 予我们的帮助;然后我们要感谢大学领导和教员在这四年的关心、帮助、和教 育指导;最后要感谢我们二十四队的队长和政委在我们在校期间在生活上给予 我们的帮助和鼓励。 基于单片机的简单交通灯设计 18 参考文献 1 张毅坤. 单片微型计算机原理及应用,西安电子科技大学出版社 1998 2 余锡存 曹国华.单片机原理及接口技术M.陕西:西安电子科技大学出版社, 2000.7 3 雷丽文 等.微机原理与接口技术M.北京:电子工业出版社,1997.2 4 秦实宏 等.单片机原理及应用技术,北京:中国水利水电出版社,2005 5 韦大伟. 计算机硬件技术基础,北京:机械工业出版社,2006.5 WWW.docin.com部分资料。 基于单片机的简单交通灯设计 19 附录 4*44*4 键盘输入设定键盘输入设定 KEY SCAN: 识别键盘有无键按下子程序 MOV P1,#0F0H 置列线为 0,行线为 1 MOV A,P1 读 P1 口 ANL A,#0F0H 取出高四位 MOV B,A 暂存到 B MOV P1,#0FH 置列线为 1,行线为 0 MOV A,P1 读 P1 口 ANL A,#0FH 取出低四位 ORL A,B 高四位与低四位逻辑或运算重新组 合 CJNE A,#0FFG,KEY IN1 0FFH 为无按键按下 RET KEY IN1: 识别具体按键值子程序 MOV B,A 将按键的特征编码暂存于 B MOV DPTR,#KEYTABLE MOV R3,#0FFH KEY IN2: INC R3 顺序码加 1 MOV A,R3 MOVC A,A+DPTR 查表 CJNE A,B,KEY IN3 比较,若相同则找到按键的特征编 码 MOV A,R3 找到特征编码后,取顺序码 MOV 30H,A 存入 30H 单元 RET KEY IN3: 基于单片机的简单交通灯设计 20 CJNE A,#00H,KEY IN2 未完则继续查,00H 为结束码 RET KEY TABLE: 特征编码与顺序码对应表 DB 0EEH,0EDH,0EBH,0E7H,0DEH 0,1,2,3,4 顺序码 DB 0DDH,0DBH,0D7H,0BEH,0BDH 5,6,7,8,9 顺序码 DB 0BBH,0B7H,07EH,07DH,07BH,077H A,B,C,D,E,F 顺序码 DB 00H 结束码 相应程序代码 主程序 定时器需定时毫秒,故工作于方式。 初值: TC=M-T/T 计数=216-50ms/1us=15536=3CB0H ORG 1000H START: MOV TMOD, #01H ; 令为定时器方式 MOV TH0, #3CH ; 装入定时器初值 MOV TL0, #BOH ; MOV IE, #82H ; 开中断 SEB TRO ;启动计数器 MOV RO, #14H ; 软件计数器赋初值 LOOP: SJMP $ ;等待中断 中断服务子程序 ORG 000BH AJMP BRT0 ORG 00BH BRTO: DJNZ R0, NEXT AJMP TIME; 跳转到时间及信号灯显示子程序 DJNZ:MOV RO,#14H; 恢复值 MOV TH0, #3CH ; 重装入定时器初值 MOV TL0, #BOH ; MOV IE, #82H 基于单片机的简单交通灯设计 21 RET1 END 程序源代码程序源代码 ORG 0000H ;主程序的入口地址 LJMP MAIN ;跳转到主程序的开始处 ORG 0003H ;外部中断 0 的中断程序入口地址 ORG 000BH ;定时器 0 的中断程序入口地址 LJMP T0_INT ;跳转到中断服务程序处 ORG 0013H ;外部中断 1 的中断程序入口地址 MAIN : MOV SP,#50H MOV IE,#8EH ;CPU 开中断,允许 T0 中断,T1 中断和外部中断 1 中断 MOV TMOD,#51H ;设置 T1 为计数方式,T0 为定时方式,且都工作 于模式 1 MOV TH1,#00H ;T1 计数器清零 MOV TL1,#00H SETB TR1 ;启动 T1 计时器 SETB EX1 ;允许 INT1 中断 SETB IT1 ;选择边沿触发方式 MOV DPTR ,#0003H MOV A, #80H ;给 8255 赋初值,8255 工作于方式 0 MOVX DPTR, A AGAIN: JB P3.1,N0 ;判断是否要设定东西方向红绿灯时间的初值, 若 P3.1 为 1 则跳转 MOV A,P1 JB P1.7,RED ;判断 P1.7 是否为 1,若为 1 则设定红灯时间, 否则设定绿灯时间 MOV R0,#00H ;R0 清零 MOV R0,A ;存入东西方向绿灯初始时间 MOV R3,A LCALL DISP1 基于单片机的简单交通灯设计 22 LCALL DELAY AJMP AGAIN RED: MOV A,P1 ANL A,#7FH ;P1.7 置 0 MOV R7,#00H ;R7 清零 MOV R7,A ;存入东西方向红灯初始时间 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN ;- N0: SETB TR0 ;启动 T0 计时器 MOV 76H,R7 ;红灯时间存入 76H N00: MOV A,76H ;东西方向禁止,南北方向通行 MOV R3,A MOV DPTR,#0000H ;置 8255A 口,东西方向红灯亮,南北方向绿灯 亮 MOV A,#0DDH MOVX DPTR, A N01: JB P2.0,B0 N02: SETB P3.0 CJNE R3,#00H,N01 ;比较 R3 中的值是否为 0,不为 0 转到当前指令处 执行 ;-黄灯闪烁 5 秒程序- N1: SETB P3.0 MOV R3,#05H MOV DPTR,#0000H ;置 8255A 口,东西,南北方向黄灯亮 MOV A,#0D4H MOVX DPTR,A N11: MOV R4,#00H N12: CJNE R4,#7DH,$ ;黄灯持续亮 0.5 秒 N13: MOV DPTR,#0000H ;置 8255A 口,南北方向黄灯灭 MOV A,#0DDH 基于单片机的简单交通灯设计 23 MOVX DPTR,A N14: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续灭 0.5 秒 CJNE R3,#00H,N1 ;闪烁时间达 5 秒则退出 ;- N2: MOV R7,#00H MOV A,R0 ;东西通行,南北禁止 MOV R3,A MOV DPTR,#0000H ;置 8255A 口,东西方向绿灯亮,南北方向红灯 亮 MOV A,#0EBH MOVX DPTR,A N21: JB P2.0,T03 N22: CJNE R3,#00H,N21 ;-黄灯闪烁 5 秒程序- N3: MOV R3,#05H MOV DPTR,#0000H ;置 8255A 口,东西,南北方向黄灯亮 MOV A,#0E2H MOVX DPTR,A N31: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续亮 0.5 秒 N32: MOV DPTR,#0000H ;置 8255A 口,南北方向黄灯灭 MOV A,#0EBH MOVX DPTR,A N33: MOV R4,#00H CJNE R4,#7DH,$ ;黄灯持续灭 0.5 秒 CJNE R3,#00H,N3 ;闪烁时间达 5 秒则退出 SJMP N00 ;-闯红灯报警程序- B0: MOV R2,#03H ;报警持续时间 3 秒 B01: MOV A,R3 JZ N1 ;若倒计时完毕,不再报警 CLR P3.0 ;报警 基于单片机的简单交通灯设计 24 CJNE R2,#00H,B01 ;判断 3 秒是否结束 SJMP N02 ;-1 秒延时子程序- N7: RETI T0_INT:MOV TL0,#9AH ;给定时器 T0 送定时 10ms 的初值 MOV TH0,#0F1H INC R4 INC R5 CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序 MOV R5,#00H ;R5 清零 DEC R3 ;倒计时初值减一 DEC R2 ;报警初值减一 T01: ACALL DISP ;调用显示子

    注意事项

    本文(毕业设计(论文)-基于单片机的交通灯控制系统设计.doc)为本站会员(哈尼dd)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开