收藏 分享(赏)

机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc

上传人:微传9988 文档编号:2160269 上传时间:2018-09-02 格式:DOC 页数:30 大小:295.50KB
下载 相关 举报
机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc_第1页
第1页 / 共30页
机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc_第2页
第2页 / 共30页
机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc_第3页
第3页 / 共30页
机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc_第4页
第4页 / 共30页
机电一体化专业精品毕业论文单片机控制交通灯课程设计课件.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

1、、1摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用 MSC-51 系列单片机 ATSC51 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 8051 芯片的 P1 口设置红、绿灯燃亮时间的功能;红绿灯循

2、环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示时间直接通过 8255 的 PC 口输出至双位数码管) ;车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。关键词:单片机 交通灯 闯红灯 检测车流量、2AbstractIn recent years, with the rapid development of science and technology, the application of SCM is unceasingly thorough, it causes the traditional control t

3、est technology increasingly updates. In real-time detection and automatic control of microcomputer application system, often as a core component single-chip microcontroller, only to use knowledge is not enough, should according to specific hardware structure, software and hardware combined with impr

4、oved. Crossroads transports, pedestrian roar, driveways, garage, orderly pedestrian humanitarian. So what to achieve this by an orderly order? Lean is the traffic lights automatic command system. The traffic lights control many ways. The system USES the MSC - 51 series microcontroller ATSC51 and pro

5、grammable parallel I/O interface chip 8255A as the center device to designing traffic light controller, realized by the 8051 according to actual traffic can chip set red, green P1 mouth burning time function; Traffic light cycle lighted, countdown with 5 seconds (yellow lights flashing warning light

6、s signal output by PA mouth, display time directly through 8255 PC mouth output to double a digital tube); Vehicles; red light alarm Green time can be detected by two-seat cars and digital tube display. This system practical, simple operation, function expansion is strong. keywordmicrocontroller aff

7、ic lights jaywalk traffic volume、3目 录第一章 引言 6第二章 芯片简介 82.1 MSC-51 芯片简介 .82.2 8255 芯片简介 .112.3 74LS373 简介 .12第三章 系统硬件设计 143.1 交通管理的方案论证 143.2 系统硬件设计 14第四章 控制器的软件设计 174.1 每秒钟的设定及硬件延时 .174.1.1 计数器初值计算 174.1.2 计算公式 174.1.3 秒的方法 174.1.4 相应程序代码 .184.2 软件延时 .184.3 时间及信号灯的显示 .194.3.1 8051 并行口的扩展 .194.3.2 显示

8、原理 .204.3.3 8255PA 口输出信号接信号灯 20、44.3.4 8255 输出信号与数码管的连接 204.3.5 8255 与 8051 的连接 214.4 程序设计 .214.4.1 流程图如图所示 .214.4.2 程序源代码 22结论 29参考文献 30、5第一章 引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19 世纪就已出现了。19 世纪初,在英国中部的约克城,红绿装分别代表女性的不同身份。其中着红妆的女人代表我已经结婚了,而着绿装的女人则是未婚者。后来,英国伦敦议会大厦前经常发生马车扎人的事故,于是人们受到红绿装的启发,186

9、8 年 12 月 10 日,信号灯家族的第一个成员就在英国伦敦议会大厦的广场上诞生了,由当时英国机械师师德.哈特设计,制造的灯柱高 7 米,身上挂着一盏红绿两色的提灯煤气交通信号灯,这是城市街道的第一盏信号灯。在灯的脚下,一名手持长杆的警察随心所欲的牵动皮带转换提灯的颜色。后来在信号灯的中心装上煤气灯罩,它的前面有两块红、绿玻璃交替遮挡。不幸的是只面试 23 天的煤气灯突然爆炸自灭,使一位正在值勤的警察也因此断送了性命。从此,城市的交通灯被取缔了。知道 1914 年,在美国的克利夫兰市才率先恢复了红绿灯,不过这时已是“电气信号灯” 。稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。随着各

10、种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红黄绿三种标志)于 1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生使城市交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电气公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一声冷汗。回到宿舍,他反复琢磨,终于想到了在红绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红黄绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空

11、交通领域了。中国最早的马路红绿灯,是于 1928 年出现在上海英租界。从最早的手牵皮带到 20 世纪 50 年代的电气控制,从采用计算控制到现代化的电子定时监控,交通信号灯在科学化,自动化上不断地更新,发展和完善。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968 年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车

12、。黄灯是警告信号,面对黄灯的车辆不能越过停车线,、6但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、

13、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过 1、2、3、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它们的 CPU 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。、7第二章 芯片简介2.1 MSC-51 芯片简介MCS-51 单片机内部结构8051 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现

14、在我们分别加以说明中央处理器:中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM)8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 RAM只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字图 2.1:内部结构、8程序存储器(ROM):8051 共有 4096 个 8 位掩膜 ROM,

15、用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051 共有 4 组 8 位 I/O 口(P0、 P1、P2 或 P3),用于对外部数据的传输。全双工串行口:8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。时钟电路:8051 内置最高频率达 12MH

16、z 的时钟电路,用于产生整个单片机运行的脉冲时序,但 8051 单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL 的 MCS-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 MCS-96 系列单片机则采用普林斯顿结构。、9图 2图 2.2:MCS-51 结构框图MCS-51 的引脚说明:MCS-51 系列单片机中的 8031、8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结

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

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

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

20、,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,EA 端必须接地。在编程时,EA/V pp脚还需加上 21V 的编程电压。2.2 8255 芯片简介8255 可编程并行接口芯片简介:8255 可编程并行接口芯片有三个输入输出端口,即 A 口、B 口和 C 口,对应于引脚PA7PA0、PB7PB0 和 PC7PC0。其内部还有一个控制寄存器,即控制口。通常 A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的端口,

21、它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁存器。它们分别与端口 A配合使用,可以用作控制信号输出或作为状态信号输入。8255 可编程并行接口芯片方式控制字格式说明:8255 有两种控制命令字;一个是方式选择控制字;另一个是 C 口按位置位复位控制字。其中 C、11口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。表 2.1:方式控制表D7:设定工作方式标志,1 有效。D6、D5:A 口方式选择0 0 方式 00 1 方式 11 方式 2D4:A 口功能 (1=输入,0=输出)D3:C 口高 4 位功能 (1=输入,0=

22、输出)D2:B 口方式选择 (0=方式 0,1=方式 1)D1:B 口功能 (1=输入,0=输出)D0:C 口低 4 位功能 (1=输入,0=输出)8255 可编程并行接口芯片工作方式说明:方式 0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式 1:选通输入输出方式。这时 A 口或 B 口的 8 位外设线用作输入或输出,C 口的 4 条线中三条用作数据传输的联络信号和中断请求信号。方式 2 :双向总线方式。只有 A 口具备双向总线方式,8 位外设线用作输入或输出,此时 C 口的5 条线用作通讯联络信号和中断请求信号。2.3 74

23、LS373 简介74LS373 是一种带三态门的 8D 锁存器,其管脚示意图如下示:其中:1D-8D 为 8 个输入端。D7 D6 D5 D4 D3 D2 D1 D0、121Q-8Q 为 8 个输出端。LE 为数据打入端:当 LE 为“1”时,锁存器输出状态同输入状态;当 LE 由“1”变“0”时,数据打入锁存器OE 为输出允许端:当 OE=0 时,三态门打开;当 OE=1 时,三态门关闭,输出高阻。、13第三章 系统硬件设计3.1 交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意

24、红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯亮的方案如表 3.1。表 3.1:指示灯亮方案表表 3.1 说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为 60 秒。(2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为 80 秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动

25、态设定红绿灯初始值。60S 5S 80S 5S 东西道 红灯亮 黄灯亮 绿灯亮 黄灯亮 南北道 绿灯亮 黄灯亮 红灯亮 黄灯亮 、143.2 系统硬件设计选用设备 8031 单片机一片选用设备:8031 弹片机一片,8255 并行通用接口芯片一片,74LS07 两片,MAX692看门狗一片,共阴极的七段数码管两个双向晶闸管若干,7805 三端稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。图 3.1 系统框图 、15P1_0 (TIM2)EX3456OS78CK9RDNWUGAL/V-J.whiteblackHzpFuYfgdB图 3.2 接线图33 系统工作原理(1)开关键盘输入交

26、通灯初始时间,通过 8051 单片机 P1 输入到系统(2) 由 8051 单片机的定时器每秒钟通过 P0 口向 8255 的数据口送信息,由 8255 的 PA 口显示红、绿、黄灯的燃亮情况;由 8255 的 PC 口显示每个灯的燃亮时间。(3)8051 通过 设置 各个信号等的燃亮时间、通过 8031 设置,绿、红时间分别为 60 秒、80 秒循环由 8051 的 P0 口向 8255 的数据口输出。(4) 通过 8051 单片机的 P3.0 位来控制系统是工作或设置初值,当.牌位 0 就对系统进行初始化,为 1 系统就开始工作。(5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,

27、3S 后然后恢复正常。(6)增加每次绿灯时间车流量检测的功能,并且通过查询 P2.0 端口的电平是否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新记入。(7)绿灯时间倒计时完毕,重新循环。、16第四章 控制器的软件设计4.1 每秒钟的设定及硬件延时延时方法可以有两种一中是利用 MCS-51 内部定时器才生溢出中断来确定 1 秒的时间,另一种是采用软延时的方法。4.1.1 计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到 TH 和 TL 中的。他是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C

28、 和计数初值设定为 TC 可得到如下计算通式:TC=M-C式中,M 为计数器摸值,该值和计数器工作方式有关。在方式 0 时 M 为 213 ;在方式 1 时 M 的值为216;在方式 2 和 3 为 28、174.1.2 计算公式T=(MTC)T 计数或T 计数T 计数 是单片机时钟周期 的倍;为定时初值如单片机的主脉冲频率为 ,经过分频方式 2 13 微秒毫秒方式 2 16 微秒毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题4.1.3 秒的方法我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进

29、入他的中断服务子程序。在中断服务子程序中,先使软件计数器减,然后判断它是否为零。为零表示秒已到可以返回到输出时间显示程序。4.1.4 相应程序代码()主程序 定时器需定时毫秒,故工作于方式。 初值: T 计数 ms/1us=15536=3CBOHORG 1000HSTART: MOV TMOD, #01H ; 令为定时器方式MOV TH0, #3CH ;装入定时器初值MOV TL0, #BOH ;MOV IE, #82H ;开中断SEBT TO ;启动计数器MOV RO, #14H ;软件计数器赋初值LOOP: SJMP $ ;等待中断()中断服务子程序 、18 :DJNZ ,AJMP TIM

30、E ; 跳转到时间及信号灯显示子程序 DJNZ: , ;恢复值MOV TH0, #3CH ;重装入定时器初值MOV TL0, #BOH ;MOV IE, #82H 4.2 软件延时MCS-51 的工作频率为 2-12MHZ,我们选用的 8031 单片机的工作频率为 6MHZ。机器周期与主频有关,机器周期是主频的 12 倍,所以一个机器周期的时间为 12*(1/6M)=2us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定 1 秒的时间。具体的延时程序分析:DELAY:MOV R4,#08H 延时 1 秒子程序DE2:LCALL DELAY1 DJNZ R4,DE2RE

31、TDELAY1:MOV R6,#0 延时 125ms 子程序MOV R5,#0DE1: DJNZ R5,$DJNZ R6,DE1RETMOV RN,#DATA 字节数数为 2 机器周期数为 1所以此指令的执行时间为 2ms 、19DELAY1 为一个双重循坏 循环次数为 256*256=65536 所以延时时间=65536*2=131072us 约为 125us DELAY R4 设置的初值为 8 主延时程序循环 8 次,所以 125us*8= 1 秒由于单片机的运行速度很快其他的指令执行时间可以忽略不计。4.3 时间及信号灯的显示4.3.1 8051 并行口的扩展8051 虽然有 4 个 8

32、 位 I/O 端口,但真正能提供借用的只有 P1 口,因为 P2 和 P0 口通常用于传送外部传送地址和数据,P3 口也有它的第二功能。因此,8031 通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的输出显示、红绿黄信号灯的显示都要用到一个 I/O 端口,显然 8031 的端口是不够,需要扩展。扩展的方法有两种:(1)借用外部 RAM 地址来扩展 I/O 端口;(2)采用 I/O 接口新片来扩充。我们用 8255 并行接口信片来扩展 I/O 端口。4.3.2 显示原理当定时器定时为 1 秒,时程序跳转到时间显示及信号灯显示子程序,它将依次显示信号灯时间 ,同时一直显示信号灯的颜色

33、,这时在返回定时子程序定时一秒,在显示黄灯的下一个时间,这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 ,重新进入循环。 4.3.3 8255PA 口输出信号接信号灯由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所以可以用置位方法点亮红,绿,黄发光二极管。4.3.4 8255 输出信号与数码管的连接LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点量而显示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上所以 上为伏,不亮其余为高电平,全亮则显示为采用共阴级连接:其中 PC0PB0-a,PC1PB1-b, 、20PC2PB2-c,PC

34、3PB3-d,PC4PB4-e, PC5PB5-f,PC6PB6-gPC7PB7 -SP 接地显示数值 dop g f e d c b a 驱动代码(16 进制)0 0 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 0 06H2 0 1 0 1 1 0 1 1 5BH3 0 1 0 0 1 1 1 1 4FH4 0 1 1 0 0 1 1 0 66H5 0 1 1 0 1 1 0 0 6DH6 0 1 1 1 1 1 0 0 7DH7 0 0 0 0 0 1 1 1 07H8 0 1 1 1 1 1 1 1 7FH表 4.1 驱动代码表4.3.5 8255 与 8051 的

35、连接用 8051 的 P0 口的 p0.7 连接 8255 的片选信号 cs 我们用 8031 的地址采用全译码方式,当p0.7 =0 时片选有效, 其他无效, p0.1 p0.1 用于选择 8255 端口P0.7 p0.6 p0.5 p0.4 p0.3 p0.2 P0.1 P0.0A7 A6 A5 A4 A3 A2 A1 A01 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 的控制口由于 80

36、51 是分时对 8255 和储存器进行访问所以 8051 的 P0 口不会发生冲突、214.4 程序设计4.4.1 流程图如图所示图 8开始初始化等待键盘事件键盘事件处理显示程序处理、22图 4.1 程序流程图4.4.2 程序源代码ORG 0000H ;主程序的入口地址LJMP MAIN ;跳转到主程序的开始处ORG 0003H ;外部中断 0 的中断程序入口地址 、23ORG 000BH ;定时器 0 的中断程序入口地址LJMP T0_INT ;跳转到中断服务程序处ORG 0013H ;外部中断 1 的中断程序入口地址 MAIN : MOV SP,#50HMOV IE,#8EH ;CPU 开

37、中断,允许 T0 中断,T1 中断和外部中断 1 中断MOV TMOD,#51H ;设置 T1 为计数方式,T0 为定时方式,且都工作于模式 1MOV TH1,#00H ;T1 计数器清零MOV TL1,#00HSETB TR1 ;启动 T1 计时器SETB EX1 ;允许 INT1 中断SETB IT1 ;选择边沿触发方式MOV DPTR ,#0003HMOV A, #80H ;给 8255 赋初值,8255 工作于方式 0MOVX DPTR, AAGAIN: JB P3.1,N0 ;判断是否要设定东西方向红绿灯时间的初值,若 P3.1 为 1 则跳转MOV A,P1 JB P1.7,RED

38、 ;判断 P1.7 是否为 1,若为 1 则设定红灯时间,否则设定绿灯时间 MOV R0,#00H ;R0 清零MOV R0,A ;存入东西方向绿灯初始时间MOV R3,ALCALL DISP1LCALL DELAYAJMP AGAINRED: MOV A,P1ANL A,#7FH ;P1.7 置 0MOV R7,#00H ;R7 清零MOV R7,A ;存入东西方向红灯初始时间MOV R3,ALCALL DISP1LCALL DELAY、24AJMP AGAIN;-N0: SETB TR0 ;启动 T0 计时器MOV 76H,R7 ;红灯时间存入 76HN00: MOV A,76H ;东西方

39、向禁止,南北方向通行MOV R3,A MOV DPTR,#0000H ;置 8255A 口,东西方向红灯亮,南北方向绿灯亮MOV A,#0DDHMOVX DPTR, AN01: JB P2.0,B0N02: SETB P3.0CJNE R3,#00H,N01 ;比较 R3 中的值是否为 0,不为 0 转到当前指令处执行;-黄灯闪烁 5 秒程序-N1: SETB P3.0MOV R3,#05HMOV DPTR,#0000H ;置 8255A 口,东西,南北方向黄灯亮MOV A,#0D4HMOVX DPTR,AN11: MOV R4,#00HN12: CJNE R4,#7DH,$ ;黄灯持续亮 0

40、.5 秒N13: MOV DPTR,#0000H ; 置 8255A 口,南北方向黄灯灭MOV A,#0DDHMOVX DPTR,AN14: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续灭 0.5 秒CJNE R3,#00H,N1 ;闪烁时间达 5 秒则退出;-N2: MOV R7,#00HMOV A,R0 ;东西通行,南北禁止MOV R3,A、25MOV DPTR,#0000H ; 置 8255A 口,东西方向绿灯亮,南北方向红灯亮MOV A,#0EBHMOVX DPTR,AN21: JB P2.0,T03N22: CJNE R3,#00H,N21;-黄灯闪烁 5 秒程序-

41、N3: MOV R3,#05HMOV DPTR,#0000H ;置 8255A 口,东西,南北方向黄灯亮MOV A,#0E2HMOVX DPTR,AN31: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续亮 0.5 秒N32: MOV DPTR,#0000H ; 置 8255A 口,南北方向黄灯灭MOV A,#0EBHMOVX DPTR,AN33: MOV R4,#00HCJNE R4,#7DH,$ ;黄灯持续灭 0.5 秒CJNE R3,#00H,N3 ;闪烁时间达 5 秒则退出SJMP N00;-闯红灯报警程序-B0: MOV R2,#03H ;报警持续时间 3 秒B01:

42、 MOV A,R3JZ N1 ;若倒计时完毕,不再报警CLR P3.0 ;报警 CJNE R2,#00H,B01 ;判断 3 秒是否结束SJMP N02;-1 秒延时子程序-N7: RETIT0_INT:MOV TL0,#9AH ;给定时器 T0 送定时 10ms 的初值、26MOV TH0,#0F1H INC R4INC R5CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序MOV R5,#00H ;R5 清零DEC R3 ;倒计时初值减一DEC R2 ;报警初值减一T01: ACALL DISP ;调用显示子程序RETI ;中断返回;-显示子程序-DISP: J

43、NB P2.4,T02DISP1: MOV B,#0AHMOV A,R3 ;R3 中值二转十显示转换DIV ABMOV 79H,AMOV 7AH,BDIS: MOV A,79H ;显示十位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0F7HMOVX DPTR,ALCALL DELAYDS2: MOV A,7AH ;显示个位MOV DPTR,#TAB MOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,A、27MOV DPTR,#0001HMOV A,#0FBHMOVX

44、 DPTR,ARET;-东西方向车流量检测程序-T03: MOV A,R3SUBB A,#00H ;若绿灯倒计时完毕,不再检测车流量JZ N3 JB P2.0,T03INC R7 CJNE R7,#64H,E1 MOV R7,#00H ;中断到 100 次则清零E1: SJMP N22;-东西方向车流量显示程序-T02: MOV B,#0AHMOV A,R7 ;R7 中值二转十显示转换DIV ABMOV 79H,AMOV 7AH,BDIS3: MOV A,79H ;显示十位MOV DPTR,#TABMOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,

45、#0001HMOV A,#0F7HMOVX DPTR,ALCALL DELAYDS4: MOV A,7AH ;显示个位MOV DPTR,#TAB 、28MOVC A,A+DPTRMOV DPTR,#0002HMOVX DPTR,AMOV DPTR,#0001HMOV A,#0FBHMOVX DPTR,ALJMP N7;-延时 4MS 子程序-DELAY: MOV R1,#0AHLOOP: MOV R6,#64HNOPLOOP1: DJNZ R6,LOOP1DJNZ R1,LOOPRET ;-字符表-TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

46、END、29结论本系统就是充分利用了 8051 和 8255 芯片的 I/O 引脚。系统统采用 MSC-51 系列单片机Intel8051 和可编程并行 I/O 接口芯片 8255A 为中心器件来设计交通灯控制器,实现了能根据实际车流量通过 8031 芯片的 P1 口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示时间直接通过 8255 的 PC 口输出至双位数码管) ;车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。 。系统不足之处不能控制车的左、右转、以及自动根据车流改变红绿灯时间等。这是由于本身地理位子以及车流量情

47、况所定,如果有需要可以设计扩充原系统来实现 。通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。、30参考文献1 赵德安单片机原理与应用北京:机械工业出版社20052 彭为,黄科单片机典型系统设计实例精讲电子工业出版社20063 邓红,张越单片机实验与应用设计教程冶金工业出版社20044 王治刚单片机应用技术与实训北京:清华大学出版社20045 何立民MCS-51 系列单片机应用系统设计北京:北京航空航天大学出版社19906 张友德,赵志英单片微型机原理、应用与实验上海:复旦大学出版社19917 李继灿微型计算机系统与接口北京:清华大学出版社20058 文艳,谭鸿 Protel 99 SE

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

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报