写了一个交通灯的程序,想定时器每10ms中断一次,100次中断就是1s,79秒小米1s红灯一直闪,76秒绿灯,但程序不对

8051单片机自动控制交通灯及时间显示的方_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
8051单片机自动控制交通灯及时间显示的方
单​片​机​;​毕​业​设​计​;​交​通​灯​;​控​制​器
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢湖南文理学院课程设计报告课程名称: 《单片机原理及应用课程设计》 课题名称: 系 部: 专业班级: 学生姓名: 指导教师: 完成时间: 报告成绩: 2012 年 6 月 18 日 交通灯控制器 电气与信息工程学院 自动化 09102评阅意见:评阅教师日期 摘要<
br />随着社会的发展与进步,城市交通灯逐渐成为人们安全出行中很重要的一部分,因 此提供一个可靠、安全、便捷的交通灯控制装置有着现实的必要性。综合应用数字电子 技术、单片机原理、protel 制图等课程方面的知识,设计一个采用 STC89C51 单片机控制 的交通灯控制电路,硬件组成包含了微处理基本应用单元、倒计时电路、指示灯电路。 其中微处理基本应用单元包括有 STC89C51 单片机、复位电路、时钟电路,复位电路可 以将单片机状态置于初始状态、时钟电路产生 12MHz 时钟信号、单片机实现对外来信息 的处理;倒计时电路对指示灯的点亮情况进行倒计时;指示灯电路显示各交通灯信号。 由 KeilC51 编写的程序源代码包括主程序、交通灯系统控制子程序、时间中断子程序、数 码管显示子程序、指示灯显示子程序等部分。通过单片机实验板的具体实验,达到了预 期设计要求。关键词:交通灯;微处理器;倒计时;LEDII AbstractAlong with the development of society progress, the traffic lights gradually become us to live in very important part of it, therefore to provide a reliable, safe, convenient traffic control system is of the practical necessity. This course design comprehensive application of digital electronic technology and single-chip microcomputer principle, such as protel software courses the knowledge of the respect, design a STC89C51 using single-chip microcomputer control of traffic light control circuit. This circuit include micro basic application unit and reset circuit of the clock circuit of the countdown circuit of the indicator light display section. Micro basic unit can be used to realize the foreign information processing and reset circuit of the single chip microcomputer can be all state in the initial state, clock circuit of the 12 MHz clock signal, provide circuit of the countdown to brighten indicator on countdown, indicator light display section shows every traffic light signals. By KeilC51 program source code, including the main program, traffic light system control procedure, time interrupt subroutines, digital pipe display subroutines, indicator shows the son of procedures, etc. Through the simulation experiment and Proteus software SCM experiment board experiment, all can appear the expected phenomenon, meet the design requirements.keywords: Traffic lights, Microprocessor,Count down, LEDIII 目摘录要 ............................................................................................................................................ IIABSTRACT .................................................................................................................................. III 第一章 概述(综述) ................................................................................................................. 5 1.1 交通灯控制设计的意义 ..................................................................................................... 5 1.2 交通灯功能(与性能) ..................................................................................................... 5 1.3 交通灯设计方案 ................................................................................................................. 6 第二章 交通灯控制系统硬件设计 ............................................................................................. 8 2.1 微处理器基本应用单元 ..................................................................................................... 8 2.1.1 时钟电路 ........................................................................................................................ 8 2.1.2 复位电路 ........................................................................................................................ 8 2.2 复位部分 ................................................................................................. 错误!未定义书签。 2.3 时钟电路部分 ......................................................................................... 错误!未定义书签。 2.4 显示部分 ............................................................................................................................. 8 2.5 路口指示灯部分 ................................................................................................................. 9 第三章 交通灯软件设计 ............................................................................................................10 3.1 3.2 3.3 3.4 3.5 3.6 接口定义(接口描述) ..................................................................................................10 主程序 ................................................................................................................................10 交通灯系统控制子程序 ....................................................................................................10 时间中断子程序 ................................................................................................................11 数码管显示子程序 ............................................................................................................12 指示灯显示程序 ..................................................................................................................12第四章 硬件仿真分析 ................................................................................................................14 4.1 单片机实验开发板仿真平台 ............................................................................................14 4.2 仿真步骤 ............................................................................................................................14 4.3 交通灯控制器仿真现象分析 ............................................................................................14 总 结 ............................................................................................................................................17参考文献 ........................................................................................................................................18 致 谢 ............................................................................................................................................19附录 1 交通灯控制硬件电路图 .................................................................................................20 附录 2 交通灯控制程序源代码 .................................................................................................21 附录 3 单片机开发试验板原理图 .............................................................................................25 中央控制器(CPU.....................................................................................................................25 74HC73 动态 LED 共阴极数码管 ..........................................................................................25 8 路 LED.....................................................................................................................................25IV 交通灯设计第一章概述该设计在熟练掌握单片机原理及其应用技术的使用方法基础上,综合应用数字电子 技术、单片机原理、protel 软件等课程方面的知识,设计一个采用 STC89C51 单片机控制 的交通灯控制电路。1.1交通灯控制设计的意义在社会经济快速发展,人们生活水平的日益提高的今天,对交通管制也提出了更高的要求,繁忙的道路交通受到越来越广泛的重视,因此提供一个可靠、安全、便捷的交 通灯控制系统有着现实的必要性,与我们的生活息息相关。十字路口车辆穿梭,行人熙 攘,车行车道,人行人道,有条不紊。靠的就是交通信号灯的自动指挥系统来实现这井 然秩序。交通信号灯是城市交通有序、安全、快速运行的重要保障,而保障交通信号灯 正常工作就成了保障交通有序、安全、快速运行的关键。为此,本设计采用 STC89C51 为中心器件来设计交通灯控制电路,其中包含了交通灯显示模块,调时模块,晶振电 路,复位电路以及控制电路等,在源程序中直接设置红、绿、黄灯燃亮时间,三种颜色 灯交替点亮,以达到交通通畅,人流车流和谐有序的目的。1.2交通灯性能单片机自动控制十字路口交通信号灯控制器,东西、南北两干道交于一个十字路口,在十字路中心有四个方向的交通指示灯,各干道有一组红、黄、绿三色的指示灯, 指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意 红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东 西道比南北道的车流量大,要求采用东西向通行 80s 南北向通行 60s,黄灯闪烁时间为 5s (不计入通行时间内)通行方式,。指示灯燃亮的方案如下表 1.1 所示:60S 红灯亮 绿灯亮 表 1.1 5S 黄灯亮 黄灯亮 交通灯指示情况 80S 绿灯亮 红灯亮 5S 黄灯亮 黄灯亮 …… …… ……东西道 南北道说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯, 此道车辆通过,行人禁止通行。时间为 60 秒。 (2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过, 行人通行。时间为 80 秒。 东西方向车流大 通行时间长。5 交通灯设计(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全 畅通的通行。 (5)此表可根据车流量动态设定红绿灯初始值。1.3交通灯设计方案交通灯控制器系统的设计较易实现,多种方案均可实施,但根据实际情况综合考虑需要选择一种最实用、最简洁、最经济的方案,此次设计主要根据单元电路来选择具体 实施方案:1、工作电源的选择为使系统稳定工作,需要设计可靠的电源。以下两种电源方案可以予以考虑: 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟的电路可 供选用;缺点是各模块都采用独立电源,会使系统变得复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,成本低 廉;缺点是输出功率不高。 综合考虑,此次设计采用第二种方案。2、记时显示模块的选择系统设计要求完成倒计时显示功能,有以下两种方案可供选择: 方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,设计简单,实现 起来较方便。 方案二:采用点阵式 LED 显示。这种方案虽然功能强大,并可方便的显示各种英文 字符,汉字,图形等,但要实现比较复杂,且须完成大量的软件工作。 由于所学知识和所掌握的资料有限,故此次设计选择第一种方案。3、按键模块的选择方案一:采用 8255 扩展 I/O 口及键盘、显示等。该方案的优点是:使用灵活可编 程,并且有 RAM 及计数器。若用该方案,可提供较多 I/O 口,但操作起来稍显复杂。 方案二:直接在 I/O 口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的 I/O 口就可实现,且本 身的计数器及 RAM 已经够用,故选择方案二。 系统的整体方案设计如图 1.1 所示。以 AT89C51 单片机作为智能交通灯系统的控制 核心。从设计所完成的任务和要求来看,单一路口显示倒计时时间的数码管必须用两 位,对于七段数码管,考虑到 AT89C51 单片机所能提供 I/O 接口的数量并结合自身编程6 交通灯设计的实际能力,倒计时显示装置中的数码管在本系统中采用静态显示;设置了 3 个按键来 处理交通灯在实际应用中可能出现的特殊情况,共使用 3 个 I/O 端口,其中 P3.0 接 K1 键,P3.1 接 K2 键,P3.6 接 K3 键;十字路口共需 4 组红 绿灯,加上转换黄灯,一共是 12 只灯,须用 6 个端口进行 控制,具体 I/O 接口分配: P1.0~P1.2 分别接东西方向的图 1.1 系统设计方案交通灯电路 时钟电路 单片机 AT89C51 计时显示电路 紧急通行电路复位电路红、绿、黄共 6 盏信号灯,P1.3~P1.5 分别接南北方向的红、绿、黄共 6 盏信号灯; AT89C51 单片机的 I/O 口作为输出时,具有较大的吸收电流能力,因此可以选用共阳极数 码管,这样从单片机的 I/O 口就可以直接驱动,从而简化硬件电路的设计。7 交通灯控制课程设计第二章交通灯控制系统硬件设计交通灯控制器的硬件组成主要包括:微处理基本应用单元、复位电路部分、时钟电 路部分、倒计时电路部分、指示灯显示部分。2.1微处理器基本应用单元STC89C51 单片机包含中央处理器、数据存储器(RAM)、程序存储器(ROM)、定时/计数器、并行接口、串行接口和中断系统、时钟电路等几大单元以及数据总线、地 址总线和控制总线等三大总线,现在就选取本次设计所需的重要部分分别加以说明。2.1.1 时钟电路时钟电路产生 AT89S51 工作时所必需的控制信 号,在时钟信号的控制下,严格按时序执行指令。时 钟频率直接影响单片机的速度,时钟电路的质量也直 接影响单片机系统的稳定性。常用的时钟电路如图 2.1 所示。2.1.2 复位电路图 2.1 时钟振荡电路图 2.2 上电复位图 2.3 手动复位复位是使单片机的片内电路初始化的操作,给复位脚 RST 加上大于 2 个机器周期(即 24 个时钟振荡周期)的高电平就使 AT89S51 复位。在单片机的实际应用系统中,一般有两种复位操作形式:1.上电复位;2.手动复 位。两种复位操作电路形式不同,其如图 2.2 和 2.3 所示。2.2显示部分这里列出了共阴和共阳数码管的管脚平排列 和内部结构。数码管 3、8 管脚内部连在一起。 如果是共阴极则将其接到低电平。如果是共阳极则图 2.4 显示电路 8 交通灯控制课程设计将其接高电平。为了数码显示管的安全这里用电阻串联限流分压。本次课程设计用的是 共阴极静态显示数码管。如图 2.4 所示。2.3 路口指示灯部分采用红黄绿三种颜色的发光二极管共 12 个分为 4 组代表路口的交通灯。东西、南北 两干道交于一个十字路口,各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人的 安丘按通行。红灯禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即 将切换,且黄灯燃亮时间为东西,南北两干道的公共停车时间。情况如表 2.1 所示。60S 红灯亮 绿灯亮 表 2.1 5S 黄灯亮 黄灯亮 交通灯指示情况 80S 绿灯亮 红灯亮 5S 黄灯亮 黄灯亮 …… …… ……东西道 南北道上表说明东西路口红灯亮,南北路口绿灯亮,同时开始 60s 倒计时。60s 倒计时结束 后开始 5s 倒计时,黄灯灯闪烁。完成一次这样的转换要 65s。65s 结束,南北路口红灯 亮,东西路口绿灯亮,并重新 80s 倒计时,依次循环。9 交通灯控制课程设计第三章交通灯软件设计硬件设计完成后需要有与之相对应的软件设计才能发挥整个设计系统的功能与作 用,本设计由 KeilC51 编写的程序源代码,包括主程序、交通灯系统控制子程序、时间中 断子程序、数码管显示子程序、指示灯显示子程序等部分。接口定义交通灯控制器的核心部件是 STC89C51 单片机芯片,此次设计只使用到了其一部分 引脚的功能,表 3.1 所示为此次设计当中使用到了的 STC89C51 芯片的引脚名及其功能与 作用。表 3.1 接口定义 端口 P0 P1.0 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2 定义 数码管显示数据 锁存器段控制 南北方向红灯 南北方向绿灯 南北方向黄灯 东西方向红灯 东西方向绿灯 东西方向黄灯 数码管选择端3.2主程序交通灯系统共 150 秒,分为 150 个状态点,又将之分为 4 个状态。通过时间中断,每一秒中断一次,然后重新装数,以达到系统控制的目地。流程图如图 3.1 所示。开 始 系统初始化 中断 状态判断 计算时间 调用显示子程 序图 3.1 主程序流程图3.3交通灯系统控制子程序根据时间点计算所处状态,并计算数码管应当显示的时间。流程图如图 3.2 所示。10 交通灯控制课程设计 开 始I&60? NY状态 1Y i&60&&i&=65? N Y i&65&&i&=145? N Y i&145&&i&=150? 状态 4 状态 3 状态 2图 3.2系统控制流程图3.4时间中断子程序设定该系统的定时器工作在方式 1,由于方式 1 的最大定时时间为 65.536s,所以要产生 1s 的定时时间必须采用累加定时的方法,即将定时器的定时时间设定为 10ms,中断 的循环次数设定为 100。当 100 次循环中断完成以后,说明 1s 时间已经累计到,这时候 通过调用控制函数完成对系统控制,从而完成倒计时时间的“减 1”操作并进行显示。另 外,每完成一次定时中断操作后都要重新对定时器赋初值。定时中断子程序流程图如图 3.3 所示。 STC89C51 的工作频率为 2~12Hz,假定该控制系统单片机的工作频率为 12Hz,因为 机 器 周 期 和 主 频 有 关 , 机 器 周 期 是 主 频 的 12 倍 , 所 以 一 个 机 器 周 期 的 时 间 为112×12 M=1μs。可以知道每条指令的周期数,这样就可以通过指令的执行条数来确定 1s 的 时 间 。 通 过 51 单 片 机 定 时 器 计 算 小 程 序 工 具 , 算 得 设 置 应 为 D8F0H , 所 以 将 TH0=0xd8,L0=0xf0。流程图如图 3.3 所示。11 交通灯控制课程设计 开始定时器初始化设定中断的循环次数定时开始定时时间到?N 返回产生中断给定时器赋初值循环次数加 1调控制子程序 N循环次数=100? Y图 3.3重新给循环次数赋初值定时中断程序流程图3.5数码管显示子程序数码管显示才用动态扫描显示的方式,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管 配一个锁存器,从而大大地简化了硬件电路。选亮数码管采用动态扫描显示。所谓动态 扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉 暂留作用,使人的感觉好像各位数码管同时都在显示。3.6 指示灯显示程序此程序先对系统状态进行判断,得出状态后,将各个路口红绿黄灯的状态送到对应的 IO 口,完成对红绿黄灯的控制。流程图如图 3.4 所示。12 交通灯控制课程设计 开 始 Y 状态 1 N Y 状态 2 N Y 状态 3 N 状态 4图 3.4东西红灯,南北绿灯东西黄灯,南北黄灯东西绿灯,南北红灯Y东西黄灯,南北黄灯指示灯显示程序13 交通灯控制课程设计第四章设计完全符合要求。硬件仿真分析为了验证次设计是否达到了预期的效果,对本设计进行了硬件仿真,结果显示此次4.1单片机实验开发板仿真平台此设计是利用普中科技的单片机开发板进行仿真,该开发板的原理图见附件 34.2仿真步骤1. 打开 keil 软件,新建一个工程,并在该工程下新建文本文件,保存为后缀为 .c进行软件设置,选择硬件仿真,选择串行口,设置波特率为 38400。格式,在该文件中编写程序。 2. 点 Options for target → Output → 勾选 creat hex file 3. 编译完成后,点击 Rebuild 按钮进行编译,如果显示有错误,则检查并改正,直 至编译成功。 4. 用 USB 线将开发板与电脑相连,打开程序烧录软件,用程序烧录软件将程序写入 单片机。 5. 观察实验现象。4.3交通灯控制器仿真现象分析1、东西道路红灯亮 60s,南北道路绿灯亮 60s,由于只有一个倒计时显示装置,故倒 计时显示从 65s 开始到 5s 止,共 60s。图 4.1 表示各车道的等候或通行剩余时间还有 46s。东西红灯 南北绿灯图 4.1 东西等候南北通行 14 交通灯控制课程设计2、东西道、南北 5s 黄灯转换,图 4.2 所示黄灯转换剩余时间为 3s。东西黄灯 南北黄灯图 4.2东西南北均为黄灯3、东西道路绿灯亮 80s,南北道路红灯亮 80s,故倒计时显示从 85s 开始到 5s 止,共 80s。图 4.1 表示各车道的等候或通行剩余时间还有 77s。东西绿灯 南北红灯图 4.3 东西通行南北等候15 交通灯控制课程设计4、东西道、南北道进入 5s 黄灯转换,图 4.4 所示黄灯转换剩余时间为 3s。东西黄灯 南北黄灯图 4.2东西南北均为黄灯16 交通灯控制课程设计总结单片机是微型计算机的一个重要分支,是 20 世纪 70 年代中期发展起来的一种面向 控制的大规模集成电路块,具有功能强、体积小、可靠性高、价格低廉等特点,在控制 领域也得到广泛应用。本设计中系统结构简单,操作方便;可实现自动控制,具有一定 的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务 保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和 可移植性都得到进一步的提高。 但此次设计中仍然存在着一些不足:两条干道的红绿时间不能随实际路况的不同而 让紧急车辆先通行。有紧急车辆通过时,采用外部中断 0 执行中断服务程序,并设置该 中断为高优先级中断。当紧急信号出现时,又能自动中断原有的工作来应急处理,返回 后,又能重新投入工作,完全实现自动控制,提高系统可操作性。这是一个需要改进的 地方。 国内外很多研究机构都致力于潜心研究交通信号灯的控制的更新换代。比如太阳能 交通信号灯,太阳能交通信号灯是靠阳光的能量保证信号灯的正常使用。它利用的能源 是太阳能,既省电又环保,安装时还不需要铺设电缆。信号灯具有蓄电池功能,可保证 10―30 天正常工作。主要适用于新建成的路口和车流量大、急需新增交通信号指挥的路 口,可满足交警应对紧急停电、限电以及其他突发情况的需要。并配有多种控制系统, 如可编程控制器(PLC)控制系统,基于 DEA 技术的交通信号灯定时控制系统,微机原 理控制系统和单片机控制系统等。希望将来人们能在这些方面有重大的突破!我也将为 此而努力!17 交通灯控制课程设计参考文献[1] 康华光 电子技术基础(第五版)[M] . 高等教育出版社. 2006. [2] 曾屹 单片机原理与应用[M]. 中南大学出版社.2009. [3] 张一斌、余建坤 单片机原理课程设计[M]. 中南大学出版社.2009. [4]甘登岱 Protel 电路板设计教程[M]. [3] 郑阿奇 Protel 实用教程[M]. 航空工业出版社. 2011.电子工业出版社. 2010.18 交通灯控制课程设计致谢完成此次课程设计,让我收获颇多,能够完成此次课程设计也得到了很多人的支持 与帮助。在此,我表示最诚挚的谢意!首先,要感谢我父母这些年含辛茹苦地将我养 大,育我做人,供我读书,无论我做什么总在背后默默的支持我、鼓励我,如果没有她 们,我都不知道我现在处于何种境地;列夫? 托尔斯泰说:“如果学生在学校学习是使自己 什么也不会创造,那他的一生将永远是模仿与抄袭。”此次课程设计就让我深刻的感受到 了这点所以我得感谢湖南文理学院电气与信息工程学院为培养我们独立思考、勇于创新 的能力所创造的条件与氛围;其次,经过此次设计方觉得以前学习过的基础知识的重要 性,所以感谢曾经那些教过我的园丁们,你们辛苦了!特别值得一提的是,此次课程设 计的指导老师――王,老师渊博的学术知识,严谨的治学之风,勤恳的敬业精神,勇于 开拓的科学态度,给了我深刻的启迪和影响。老师一向以对学生严格要求而著称,这也 让我感到很大的压力,断不敢在网上随意下载一篇设计敷衍了事,于是上周我主动去请 教了王老师,王老师还特意为我们此次课程设计的同学上了课,提出了一系列的要求并 做出了重要的指导,让我们茅塞顿开,为我们此次设计甚至是今后的毕业设计指明了方 向;此外,从调研、制图、仿真、撰写报告、内容修改、格式调整等各方面都遇到了一 些自己难以解决的困难,但庆幸的是我得到了很多同学的帮助,在此,我对学的鼎力相 助表示万分感谢!19 交通灯控制课程设计附录 1交通灯控制硬件电路图1 a 2 b 3 c 4 f d 5 e 6 f 7 e g 8 dp 1 a 2 b 3 c 4 f d 5 e 6 f 7 e g 8 dp 1 a 2 b 3 c 4 f d 5 e 6 f 7 e g 8 dp U? 1 a 2 b 3 c 4 f d 5 e 6 f 7 e g 8 dpa b g co m c d 9a b g co m c d 9a b g co m c d 9a b g co m c d 9DPY_7-SEG_DPDPY_7-SEG_DPDPY_7-SEG_DPDPY_7-SEG_DP5VR1R2R3 5V 11 OC C 1D1D2D3D4 C1 D5D6 R4 R5 R6 C2 5VXTALGND1 P1.0 2 P1.1 3 P1.2 4 P13 5 P1.4 6 P1.5 7 P1.6 8 P17 30 ALE 10 P3.0/RXD 15 P3.5/T1 12 P3.2/INTO 13 P3.3/INT 14 P3.4/T0 11 P3.1/TXD 16 P3.6/WR 17 P3.7/RD 18 19 20 GND40 VCC 39 P0.0 38 P0.1 37 P0.2 36 P0.3 35 P0.4 34 P0.5 33 P0.4 32 P0.3 31 EA/Vp p 27 P2.6 29 PESN 28 P2.7 9 RST 26 P2.5 25 P2.4 24 P2.3 23 P2.2 22 P2.1 21 P2.02 1D 3 2D 4 3D 5 4D 6 5D 7 6D 8 7D 9 8D 5V74ALS5 73GND 19 1Q 18 2Q 17 3Q 16 4Q 15 5Q 14 6Q 13 7Q 12 8QR7 R8 R8 R9 R10 R11 R12 R13+C3SW-PBR14 R15SCT8 9C51GND20 交通灯控制课程设计附录 2交通灯控制程序源代码#include &reg51.h& #define uint unsigned int #define uchar unsigned char sbit duan=P1^0; //锁存器段控制 sbit P11=P1^1; //由于单片机实验板的需要(需接 0 七段数码管才会亮) sbit nb1=P1^2; //南北方向红灯 sbit nb2=P1^3; //南北方向绿灯 sbit nb3=P1^4; //南北方向黄灯 sbit dx1=P1^5; //东西方向红灯 sbit dx2=P1^6; //东西方向绿灯 sbit dx3=P1^7; //东西方向黄灯 uchar zhuangtai=1; //表示四个状态 //用于统计中断次数 uint i=1; //一个周期四个状态共 150 秒 i 表示第几秒 uint sj,shi,//数码管时间 时间十位 时间个位 / int code lednum[]={ 0x3f,0x06,0x5b, 0x4f,0x66,0x6d, 0x7d,0x07,0x7f, 0x6f }; //数码管显示编码 0-9 /****************************************************************** /*函数名:delay /*函数功能:时间的延迟 /*参数:unit z /*作者:钟秋 /* /****************************************************************** void delay(uint z) { uint x,y; for(x=z;x&0;x--) for(y=110;y&0;y--); } /****************************************************************** /*函数名:show /*函数功能:红绿黄灯显示 /*参数:无 /*作者:钟秋 /* /****************************************************************** / void show() { switch(zhuangtai)21 交通灯控制课程设计{ case 1: dx1=0; dx2=1; dx3=1; nb1=1; nb2=0; nb3=1; case 2: dx1=1; dx2=1; dx3=0; nb1=1; nb2=1; nb3=0; case 3: dx1=1; dx2=0; dx3=1; nb1=0; nb2=1; nb3=1; case 4: dx1=1; dx2=0; dx3=1; nb1=1; nb2=0; nb3=1; } } /****************************************************************** /*函数名:display /*函数功能:数码管显示 /*参数:无 /*作者:钟秋 /* /******************************************************************/ void display() { P2=0 duan=1; P0=lednum[shi];//显示东西方向十位 duan=0;//东西红灯,南北绿灯//东西黄灯,南北黄灯//东西绿灯,南北红灯//东西黄灯,南北黄灯22 交通灯控制课程设计delay(5); duan=1; P2=0 P0=lednum[ge];//显示东西方向个位 duan=0; delay(5); duan=1; P2=0 P0=lednum[shi];//显示南北方向十位 duan=0; delay(5); duan=1; P2=0 P0=lednum[ge];//显示南北方向个位 duan=0; delay(5); } /****************************************************************** /*函数名:control /*函数功能:交通灯系统控制 /*参数:无 /*作者:钟秋 /* /******************************************************************/ void control() { if(i&=60) //状态 1 { zhuangtai=1; sj=60-i+1; //计算对应的显示时间 } if(i&60&&i&=65)//状态 2 { zhuangtai=2; sj=65-i+1; //计算对应的显示时间 } if(i&65&&i&=145) //状态 3 { zhuangtai=3; sj=145-i+1; //计算对应的显示时间 } if(i&145&& i&=150)//状态 4 { zhuangtai=4;23 交通灯控制课程设计sj=150-i+1; //计算对应的显示时间 } shi=sj/10; ge=sj%10; } /****************************************************************** /*函数名:main /*函数功能:主函数 /*参数:无 /*作者:钟秋 /* /******************************************************************/ void main() { P11=0; EA=1; //开总中断 ET0=1; //开计时器中断 TMOD=0x01; //设置工作方式 ,定时器工作方式 1 TH0=0xd8; //10 毫秒 TL0=0xf0; TR0=1; while(1) { show(); //显示红绿灯 display(); //显示 数码管 } } ////////////////////// ////时间中断函数///// //////////////////// void timer() interrupt 1 { TH0=0xd8; //重新为计时器赋值 TL0=0xf0; t++; if(t==100) //1 次大约 1s { t=0; i++; if(i&150) i=1; control();24 交通灯控制课程设计附录 3单片机开发试验板原理图:中央控制器(CPU):74HC73动态 LED 共阴极数码管:8 路 LED:25
STC 89 51单片机交通灯课程设计报告―汇集和整理大量word文档,专业文献,应用文书,考试资料,教学教材,办公文档,教程攻略,文档搜索下载下载,拥有海量中文文档库,关注高价值的实用信息,我们一直在努力,争取提供更多下载资源。}

我要回帖

更多关于 js 定时器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信