




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目目 录录 前言前言3 一,任务和要求3 1.1 设计任务3 1.2 设计要求4 1.3 设计思路4 二,硬件设计5 2.1 AT89SC21 单片机的概述5 2.2 89C51 单片机的时钟7 2.3 89C51 单片机的封装和引脚8 三,电路模块设计10 3.1 系统的整体方案设计10 四,单元电路模块设计12 4.1 复位电路12 4.2 晶振电路13 4.3 倒计时显示电路14 4.4 交通灯电路15 4.5 紧急通行电路16 五,系统程序设计17 5.1 主程序流程图17 5.2 紧急中断程序流程图18 5.3 程序清单18 心得体会22 参考文献 2 前言前言 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带 动传统控制检测日新月益更新。单片机的特点控制功能强抗干扰性强,可靠性 高,工作温度范围宽开发周期短,性价比高,易于产品化。交通在人们的日常 生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓 尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道 路通行能力,减少交通事故有明显效果。本系统采用单片机 AT89C51 为中心器 件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采 用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。 本设计系统由单片机 I/O 口扩展系统、交通灯状态显示系统、LED 数码显 示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯 功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可 能出现的状况。 一,任务和要求一,任务和要求 1.11.1 设计任务设计任务 本设计要求用单片机设计一个智能交通灯控制系统,使其能模仿城市“十字” 路口交通灯的功能,并能满足特殊的控制要求(如按键 K1、K2、K3 的使用) , 该系统的具体功能如下: (1) 该控制系统能控制东、西、南、北四个路口的红、黄、绿信号灯正常工 作。 (2) 当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯。 (3) 当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯。 (4) 两垂直方向的准行时间均为 15s。 (5) 准行方向亮绿灯与禁行方向亮红灯 10s 后,四个道口同时加亮一盏黄灯 进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变(即准行 变为禁行,禁行变为准行) 。 3 (6) 四个道口只用一组由十位和个位组成的数码管显示准行(或禁行)的剩 余时间。 (7) 在交通情况比较特殊的情况下,可以通过 K1、K2、K3 三个按键对交通灯 进行控制,具体要实现的功能如下: 当有紧急情况发生,如消防车、救护车等紧急车辆通过时,按下 K1 键, 四个路口同时加亮黄色灯进行闪烁(闪烁时间为 5S) ,并且倒计时显示 装置关闭,黄色灯 5S 闪烁完成后,四个路口的信号灯全部变成红灯,这 样四个路口的普通车辆禁行,只允许紧急车辆通过,待紧急车辆通过后。 松开 K1 键,表示紧急状态消除,交通灯控制系统恢复正常工作。 当东西方向车辆过多时,按下 K2 键,四个路口同时加亮黄灯进行闪 烁(闪烁时间为 5s) ,并且倒计时显示装置关闭,黄灯 5s 闪烁完成后, 只允许东西方向车辆通过,南北方向车辆禁行,从而有效地调节东西方 向车辆过多的情况,松开 K2 键,交通灯又开始正常工作。 当南北方向车辆过多时,按下 K3 键,四个路口同时加亮黄灯进行闪烁(闪烁时 间为 5s) ,并且倒计时显示装置关闭,黄灯 5s 闪烁完成后,只允许南北方向车 辆通过,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况,松开 K3 键,交通灯又开始正常工作。 1 12 2 设计要求设计要求 (1)十字路口的 4 个路口都有双色 LED(红光,绿光,叠加为黄色光)显示各 路口的各条通道的的状态; (2)每个路口都有两位数码管显示当前红灯的倒计时; (3)有三种工作状态:正常工作状态,紧急工作状态,设置状态; (4)可利用按键进行改变工作状态; 1.31.3 设计思路设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的 LED 灯分别接在 P1 个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行 并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有 4 按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让 时间回到只能隔断处继续进行。 总体设计框图 交通灯循环 最小系统 倒计时显示 强通车控制 图 1-1 二,硬件设计二,硬件设计 2.12.1 AT89SC51AT89SC51 单片机概述:单片机概述: AT89SC51 是 MCS-51 系列单片机的典型产品,我们以这一代表性的机型进行系 统的讲解。下图是 89SC51 的基本结构: 5 图 21 89SC51 的基本结构 89SC51 单片机包含中央处理器、程序存储器(ROM) 、数据存储器(RAM) 、 定时/计数器、并行接口、串行接口和中断系统等极大单元及数据总线、地址总 线和控制总线等三大总线,现在分别加以说明。 中央处理器:中央处理器: 8 位 CPU,含布尔处理器;时钟电路;总线控制逻辑。中央处理器(CPU) 是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据 或代码,CPU 负责控制、指挥和调度整个单元系统的工作,完成运算和控制输 入输出等操控。 数据存储器(数据存储器(RAMRAM):): 128KB 数据存储器(RAM,可再扩 64KB);特殊功能寄存器 SFR。 89CS51 内部有 128 个 8 位用户数及存储单元和 128 个寄存器单元,他们是 统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能 用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数据, 运算的中间结果或用户自定义的字型表。 程序存储器(程序存储器(ROMROM):): 4KB 的程序存储器(ROM/EPROM/Flash,可扩至 64KB); 89CS51 共有 4096 个 8 位掩膜 ROM,用于存放用户程序,原始数据或表格。 定时定时/ /计数器(计数器(ROMROM):): 89CS51 有两个 16 位的可编程定时/计数器,一时想定时或计数产生中断用 于控制程序转向。 并行输入输出(并行输入输出(I/OI/O)口:)口: 9CS51 共有 4 组 8 位 I/O 口(P0、P1、P2 或 P3) ,用于对外数据传输。 中断系统:中断系统: 89CS51 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和 一个串行中断,客满著不同的控制要求,并具有 2 级优先级别选择。 时钟电路:时钟电路: 89CS51 内置最高频率高达 12Hz 的时钟电路,用于产生整个单片机运行的 脉冲时序,但 89CS51 单片继续外置震荡电容。 6 单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即 哈佛(哈佛(HarvardHarvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据)结构,另一种是采用通用计算机广泛使用的程序存储器与数据 存储器合二为一的结构,即普林斯顿(存储器合二为一的结构,即普林斯顿(PrincetonPrinceton)结构。)结构。 2.22.2 89SC5189SC51 单片机的时钟单片机的时钟 (1)(1)振荡器和时钟电路振荡器和时钟电路 89SC51 内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉 冲,外部还需附加电路。89SC51 的时钟产生方法有以下两种。 a a 内部时钟方式内部时钟方式 利用芯片内部的振荡器,然后在引脚 XTALl 和 XTAL2 两端跨接晶体振荡器 (简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电 路。外接晶振时,Cl和 C2的值通常选择为 30pF 左右;Cl、C2对频率有微调作用, 晶振或陶瓷谐振器的频率范围可在 1.2MHz12MHz 之间选择。为了减小寄生电 容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单 片机引脚 XTALl 和 XTAL2 靠近。 图 22 89SC51 时钟电路接线方法 b b 外部时钟方式外部时钟方式 此方式是利用外部振荡脉冲接入 XTALl 或 XTAL2。HMOS 和 CHMOS 单片机外时 钟信号接入方式不同。 表 2-1 80C51 单片机外部时钟接入方法 7 接线方法芯片类型 XTAL1XTAL2 HMOS 接地接片外时钟脉输入端(引 脚需接上拉电阻) CHMOS 接片外时 钟脉冲输 入端 悬空 2.32.3 89SC5189SC51 单片机的的封装和引脚单片机的的封装和引脚 80SC51 系列单片机采用双列直插式(DIP).QFP44(Quad Flat Pack)和 LCC(Leaded Chip Caiier)形式封装。这里仅介绍常用的总线型 DIP40 封装。 如图 3-4 所示。 40 个引脚按引脚功能大致可分为 4 个种类:电源、时钟、控制和 I/O 引脚 (1) 电源: VCC - 芯片电源,接+5V; VSS - 接地端; 图 2-3 80C51 单片机的的封装和引脚 (2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有 4 根, ALE/PROG:地址锁存允许/片内 EPROM 编程脉冲 ALE 功能:用来锁存 P0 口送出的低 8 位地址 PROG 功能:片内有 EPROM 的芯片,在 EPROM 编程期间,此引脚输入编程脉冲。 PSEN:外 ROM 读选通信号。 8 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD 功能:在 Vcc 掉电情况下,接备用电源。 EA/Vpp:内外 ROM 选择/片内 EPROM 编程电源。 EA 功能:内外 ROM 选择端。 Vpp 功能:片内 EPROM 的芯片,在 EPROM 编程期间,施加编程电源 Vpp。 (4) I/O 线 80C51 共有 4 个 8 位并行 I/O 端口:P0、P1、P2、P3 口,共 32 个引脚。 P3 口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 三,电路模块设计三,电路模块设计 3.13.1 系统的整体方案设计系统的整体方案设计 本系统拟采用 AT89C51AT89C51 单片机作为智能交通灯系统的控制核心。从设计所要完 成的任务来看,单一路口显示倒计时时间的数码必须用两位,对于七段数码管, 考虑到 AT89C51AT89C51 单片机所能提供 I/O 接口的数量,倒计时显示装置中的数码管 在本系统中采用的是静态显示;设置了 3 个按键用来处理交通灯在实际应用中 可能出现的特殊情况,共使用 3 个 I/O 端口,其中 P3.0 接 K1 键,P3.2 接 K2 键,P3.3 接 K3 键;十字路口共需 4 组红绿灯,加上转换黄灯,一共是 12 只灯, 须用 6 个端口进行控制,具体 I/O 接口分配为:P1.0P1.2 分别接东西方向的 红、绿、黄共 6 盏信号灯,P1.3P1.5 分别接南北方向的红、绿、黄共 6 盏信 号灯;AT89C51AT89C51 单片机的 I/O 口作为输出时,具有较大的吸收电流能力,因此 我们可以选用共阳极数码管,这样由单片机的 I/O 口就可以驱动,从而简化硬 件电路的设计;此外专门设计了监控电路对控制系统进行实时监控,保证系统 工作的稳定性和持续性。 系统的整体方案设计如图 31 所示 单片机 AT89C51AT89C51 时钟电路 复位电路 红绿灯装置 倒计时显示装置 9 四,单元电路模块设计四,单元电路模块设计 4.14.1 复位电路复位电路 图 41 上电自动复位电路 为了确保控制系统能够稳定可靠的工作,复位电路是必不可少的一部分。 它可以保证程序从指保证程序从指定处开始执行,即从程序存储器的 0000H 地 址单元开始执行程序。另外当程序运行出错或操作错误使系统处于死机状态时 需复位以重新启动。 上电自动复位是通过外部复位电路的电容充电实现的。通电时,电容两端 相当于短路,于是 RSTRST 引脚上为高电平,然后电源通过电阻对电容进行麅,RSTRST 端电压慢慢降下来,降到一定程度时变为低电平,单片机正常工作。上电自动 复位电路如图 41 所示 10 4.24.2 晶振电路晶振电路 图 42 晶振电路 单片机必须在时钟的驱动下才能进行工作。AT89C51AT89C51 单片机内部具有一个 时钟振荡电路,只需要外接振荡器,即可为各部分提供时钟信号。 使用晶振电路时,只要在引脚 XTAL1 和 XTAL2 上外接定时反馈回路,振荡 器 OSC 就能自激振荡,产生矩形时钟脉冲序列。定时反馈回路常由石英晶振和 微调电容组成,其中石英晶振的频率是单片机的重要性能指标之一,时钟频率 越高,单片机控制器的控制节拍就越快,运算速度也就越快。该电路是用 12MHz 的石英晶振和两个 30p 的电容器。石英晶振的频率选为典型值 12MHz,这 样有得于得到没有误差的波特率。电容器 C2 和 C3 是起稳定振荡频率、快速起 振的作用。 11 4.34.3 倒计时显示电路倒计时显示电路 图 43 倒计时显示电路图 该交通灯控制系统在正常工作情况下,每 15s 循环变换一次,为方便提示 路上的行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时 显示装置。该显示装置选用七段数码管来显示交通灯的剩余时间。本来根据控 制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管,但由于 四组显示的倒计时时间都是一样所以只需使用一组数码管即可。由于 AT89C51AT89C51 单片机的 I/O 作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳 型数码管,这样由单片机的 I/O 就可以直接驱动,从而简化硬件电路的设计。 而在电路中是用阻值为 4.7k 的排电路作为上位电路,限流电阻却用阻值为 200 的电阻。如图 33 所示。 12 4.44.4 交通灯电路交通灯电路 图 44 交通灯电路图 单片机的 I/O 接口直接和交通灯(LED)连接。在十字路口的四组红、黄、 绿三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上 的两组同色灯连接在一起,受单片机 P1.0P1.5 控制。12 个发光二极管采用 了共阳极的连接方式,因此 I/O 口输出低电平时,与之相连的 LED 会亮,I/O 口输出高电平时,与之相连的 LED 会灭。交通灯电路如图 44 所示。 东西方向东西方向南北方向南北方向 13 4.54.5 紧急通行电路紧急通行电路 图 35 紧急通行电路 该系统的 K1、K2、K3 三个键分别与单片机的 P3.0、P3.1、P3.6 相接,它 们可以在特殊的交通情况下使用。例如,当有紧急情况发生时: 按下按下 K1K1 键键,四个路口同时加亮黄灯进行闪烁 5s 后,并且关闭倒计装置, 四个路口信号灯同时转为红灯,从而保证紧急车辆通过。松开 K1 键,交通灯系 统恢复正常工作状态; 按下按下 K2K2 键键,四个路口同时加亮黄灯进行闪烁 5s 后,并且关闭倒计装置, 只允许东西方向车辆通行,南北方向禁行。松开 K2 键,交通灯系统恢复正常工 作状态; 按下按下 K3K3 键键,四个路口同时加亮黄灯进行闪烁 5s 后,并且关闭倒计装置, 只允许南北方向车辆通行,东西方向禁行。松开 K3 键,交通灯系统恢复正常工 作状态 14 五,系统程序设计五,系统程序设计 5.15.1 主程序流程图主程序流程图 该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。智能 交通灯控制系统在正常的情况下,每 15s 循环变化一次。每个循环周期在还剩 余 5s 时,四个路口的黄灯同时点亮并开始闪烁,以提醒行人及车辆,交通灯将 发生转换。要程序中定时扫描 P3 口,若有键按下,则调用键盘子程序进行相应 也处理;若无,则程序继续执行。主程序流程图如图 51 所示。 否 是 开 始 初始化初始化 纵向通行 显示状态 15s 到? 黄灯闪显 示子程序 5s 到? 是 是 横向通行 显示状态 否 15s 到? 黄灯闪显 示子程序 5s 到? 否 是 主程序流程图主程序流程图 5-1 15 5.35.3 程序清单程序清单 程序如下:程序如下: ORG 0000H LJMP MAIN ORG 001BH;定时器 T1 中断入口 LJMP KK ORG 0100H;主程序入口 MAIN: MOV SP,#60H MOV TMOD,#10H;定时器 T1 工作在方式 1 MOV TH1,#9EH;给定时器 T1 赋初值 MOV TL1,#58H SETB EA;开中断系统总开关 SETB ET1;开定时器 T1 中断开关 SETB TR1;启动定时器 T1 HERE: 关总中断 保存数据 开启相应信号灯 纵向通行 显示状态 延时到? 恢复数据 RET 是 紧急中断程序流程图紧急中断程序流程图 5-2 16 MOV 88H,#15H;设置中断循环次数 MOV 33H,#10H;设置倒计时显示数值 MOV P1,#0F3H;使交通灯东西绿,南北红 MOV R7,#0AH MM: LCALL DISP MOV A,P3;键盘扫描 CJNE A,#0FFH, READKEY DJNZ R7, MM MOV P1,#0E1H;交通灯东西绿,南北红同时加亮黄灯 MOV 20H,#02H NN: MOV A,P3 CJNE A,#0FFH,READKEY SETB P1.1;黄灯进行闪烁 5s SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP;调显示子程序 DJNZ 20H,NN SETB P1.1 SETB P1.4 LCALL DISP MOV P1,#0DEH;交通灯南北绿,东西红 MOV R7,#0AH PP: LCALL DISP MOV A,P3 CJNE A,#0FFH,READKEY DJNZ R7,PP MOV P1,#0CCH;交通灯南北绿,东西红同时加亮黄灯 MOV 20H,#02H QQ: MOV A,P3;扫描 P3 口 CJNE A,#0FFH,READKEY SETB P1.1 SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP CLR P1.1 CLR P1.4 17 LCALL DISP DJNZ 20H,QQ SETB P1.1 SETB P1.4 LCALL QW QW: SJMP HERE RET DELAY:MOV R1, #0AH DELAY0:MOV R2, #0C8H DELAY1:MOV R3, #0F8H NOP DELAY2:DJNZ R3, DELAY2 DJNZ R2, DELAY1 DJNZ R1, DELAY0 RET READKEY: MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.0, K1 ;判断 K1 键是否按下 JNB ACC.1, K2 ;判断 K2 键是否按下 JNB ACC.6, K3 ;判断 K3 键是否按下 RET K1: MOV P0,#0FFH;判断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY SJMP READKEY K2: MOV P0,#0FFH;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY1 SJMP READKEY K3: MOV P0,#0FFH;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY2 SJMP READKEY XX: 18 MOV 20H,#05H LCALL BB RET BB: SETB P1.1 SETB P1.4 LCALL DELAY CLR P1.1 CLR P1.4 LCALL DELAY DJNZ 20H,BB RET YY: MOV P1,#0F6H;四个路口均变为红灯 MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.0,YY;判断 K2 键是否仍然按下 LCALL QW YY1: MOV P1,#0F3H;东西方向亮绿灯,南北方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.1,YY1;判断 K2 键是否仍然按下 LCALL QW YY2: MOV P1,#0DEH;南北方向亮绿灯,东西方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.6,YY2;判断 K3 键是否仍然按下 LCALL QW RET KK: DEC 88H MOV A, 88H CJNE A, #01H,BN MOV 88H, #15H LCALL DISP BN: MOV TH1,#9EH;重新给定时器 T1 赋初值 MOV TL1,#58H 19 RETI DISP: DEC 33H MOV A,33H CJNE A,#01H,DIR1 MOV 33H,#10H DIR1: MOV B,#0AH DIV AB;提取出倒计时数值的十位和个位数 MOV DPTR,#TA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年共享出行平台在提升用户出行体验中的创新服务研究报告
- 父母遗产房子分割协议书
- 管廊钢筋合同分包协议书
- 物流车辆三方转让协议书
- 海洋技术入股协议合同书
- 黄金麻外墙干挂合同范本
- 防水sbs施工合同范本
- 高校就业协议与劳动合同
- 生产线外包协议合同范本
- 苏州市购买二手房协议书
- 网约车考试题库及答案
- 慢阻肺健康宣教
- 湖北省两校2025年物理高一下期末综合测试试题含解析
- 热射病病例查房汇报
- 小学一年级升二年级暑假数学作业-应用题(178题)(附答案)
- 酒店卫生管理自查报告和整改措施
- 养猪学培训课件
- 班主任常规工作培训课件
- 2024过敏性休克抢救指南(2024)课件干货分享
- GB/T 28731-2012固体生物质燃料工业分析方法
- 天平操作使用记录表
评论
0/150
提交评论