




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 本系统采用单片机 AT80C51 为中心器件来设计交通灯控制器,模拟定周期 交通信号灯的工作状态,系统实用性强、操作简单、扩展性强。本设计就是采用 单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。 本设计系统由单片机 I/O 口扩展系统、交通灯状态显示系统、LED 数码显示 系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能 外,针对复杂多变的路况环境,特别增设了倒计时、紧急情况处理、路段遇忙调 整、特种车检测、语音提示等模块等功能,较好的模拟实现了十字路口可能出现 的状况,进一步完善了交通灯控制系统。 软件上采用 AT80C51 编程,主要编写了主程序,LED 数码管显示程序,中 断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键词:AT80C51;8255A;LED 数码管显示;交通灯控制器 Abstract The system uses the microcontroller AT80C51-centric devices to design traffic signal controllers, analog traffic signal will cycle the working state, the system practical, simple, and strong expansion. The design is simulated using SCM crossroads traffic lights all the time status display and the countdown. The design of the system by the MCU I/O port expansion, traffic light status display system, LED digital display system, emergency interrupt system, reset circuit of several major components. System in addition to basic functions of traffic lights, road conditions for the complex environment, in particular, the addition of the countdown, emergency, roads busy adjusting, special vehicle detection modules features such as voice prompts, a good simulation to achieve a crossroads possible situation, to further improve the traffic light control system. Software program using AT80C51, the main preparation of the main program, LED digital disply propram, interrupt procedures delay procedures. After machine debuggine debugging,simulation of traffic lights on the crossroads. Key words:AT80C51;8255A;LED digital display;traffic light controller I 目 录 第章第章 概述概述.1 1.1 概述1 1.2 设计目的1 1.3 设计任务和内容1 第第 2 章章 总体设计及核心器件简介总体设计及核心器件简介.2 2.1 总体设计2 2.2 单片机 AT80C51 3 2.3 可编程输入输出接口芯片 8255A7 2.4 单片机 8255A 口输出信号接信号灯.11 2.5 单片机 8255A 输出信号与数码管的连接.11 2.6 单片机 8255A 与 AT80C51 的连接.12 2.7 锁存器 74LS164 简介 .13 2.8 可编程电路 X504513 2.9 时钟和数据时序15 2.10 状态寄存器16 2.11 本章小结16 第第 3 章章 单元电路模块设计单元电路模块设计.18 3.1 LED 数码管显示电路.18 3.2 晶振电路19 3.3 交通灯状态显示电路19 3.4 其他硬件模块20 3.5 本章小结23 第第 4 章章 软件编程设计软件编程设计.24 4.1 设计思想24 II 4.2 程序框图24 4.3 相关程序代码26 4.4 测试、数据及结果分析28 4.5 本章小结28 结结 论论.29 参考文献参考文献.30 致致 谢谢.30 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 1 第章 概述 1.1 概述 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动 传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片 机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体 硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通信号灯的出 现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事 故有明显的效果。 1.2 设计目的 (1)加强对单片机和 AT80C51 语言的认识,充分掌握和理解设计各部分的工 作原理、设计过程、选择芯片器件、模块化编程等多项知识。 (2)用单片机模拟实现具体应用,使个人设计能够真正使用。 (3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。 (4)提高利用已学知识分析和解决问题的能力。 (5)提高实践动手能力。 1.3 设计任务和内容 1.设计任务 结合教材及参考资料,用 AT80C51 单片机模拟实现十字路口的交通灯亮灭、 倒计时显示、紧急情况处理/路段遇忙调整、特种车检测、语音提示等功能。 2.设计内容 (1)填写设计任务书。 (2)进行总体设计,画出原理图。 (3)编写程序。 (4)软件测试。 2 第 2 章 总体设计及核心器件简介 2.1 总体设计 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示 灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示 人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共 停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表 2-1。 表 2-1 指示灯燃亮的方案 60S5S80S5S 东西道红灯亮黄灯亮绿灯亮黄灯亮 南北道绿灯亮黄灯亮红灯亮黄灯亮 表 2-1 说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿 灯,此道车辆通过,行人禁止通行,时间为 60 秒。 (2)黄灯闪烁 5 秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通 过,行人通行,时间为 80 秒。东西方向车流大,通行时间长。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能 安全畅通的通行。 (5)此表可根据车流量动态设定红绿灯初始值。 2.1.1 系统总框图 选用设备:AT80C51 单片机一片,8255A 并行通用接口芯片一片,74LS164 两片,X5045“看门狗”一片,共阴极的七段数码管两个双向晶闸管若干,三端 稳压电源一个,红、黄、绿交通灯各两个,开关键盘、连线若干。系统总框图如 图 2-1。 2.1.2 系统工作原理 (1)开关键盘输入交通灯初始时间,通过 AT80C51 单片机 P1 输入到系统。 (2)由 AT80C51 单片机的定时器每秒钟通过 P0 口向 8255A 的数据口送信息, 由 8255A 的 PA 口显示红、绿、黄灯的燃亮情况;由 8255A 的 PC 口显示每个灯 3 的燃亮时间。 (3)AT80C51 通过设置各个信号等的燃亮时间、通过 AT80C51 设置,绿、红 时间分别为 60 秒、80 秒循环由 AT80C51 的 P0 口向 8255A 的数据口输出。 (4)通过 AT80C51 单片机的 P3.0 位来控制系统是工作或设置初值,当为 0 就 对系统进行初始化,为 1 系统就开始工作。 (5)红灯倒计时时间,当有车辆闯红灯时,启动蜂鸣器进行报警,3S 后然后 恢复正常。 (6)增加每次绿灯时间车流量检测的功能,并且通过查询 P2.0 端口的电平是 否为低,开关按下为低电平,双位数码管显示车流量,直到下一次绿灯时间重新 记入。 (7)绿灯时间倒计时完毕,重新循环1。 图 2-1 系统总框图 2.2 单片机 AT80C51 2.2.1 AT80C51 单片机简介 AT80C51 单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、 定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总 线和控制总线等三大总线2。 (1)中央处理器 中央处理器(CPU)是整个单片机的核心部件,是 8 位数据宽度的处理器,能 处理 8 位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工 作,完成运算和控制输入输出功能等操作。 (2)数据存储器(RAM) AT80C51 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它 们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不 4 能用于存放用户数据,所以,用户能使用的 RAM 只有 128 个,可存放读写的数 据,运算的中间结果或用户定义的字型表2。 图 2-2 AT80C51 的内部结构图 (3)程序存储器(ROM) AT80C51 共有 4096 个 8 位 ROM,用于存放用户程序,原始数据或表格。 (4)定时/计数器(ROM) AT80C51 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中断用 于控制程序转向。 (5)并行输入输出(I/O)口的扩展 AT80C51 虽然有 4 个 8 位 I/O 端口,但真正能提供借用的只有 P1 口,因为 P2 和 P0 口通常用于传送外部传送地址和数据,P3 口也有它的第二功能。因此, AT80C51 通常需要扩展。由于我们用外部输入设定红绿灯倒计时初值、数码管的 输出显示、红绿黄信号灯的显示都要用到一个 I/O 端口,显然 AT80C51 的端口是 不够,需要扩展。扩展的方法有两种:(a)借用外部 RAM 地址来扩展 I/O 端口; (b)采用 I/O 接口新片来扩充,我们用 8255A 并行接口信片来扩展 I/O 端口2。 (6)全双工串行口 AT80C51 内置一个全双工串行通信口,用于与其它设备间的串行数据传送, 该串行口既可以用作异步通信收发器,也可以当同步移位器使用。 (7)中断系统 AT80C51 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和 一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 (8)时钟电路 AT80C51 内含一个高增益的反相放大器,只需通过 XTAL1, XTAL2 外接作 为反馈元件的晶体后便成为自激振荡器,晶体呈感性,与 C1,C2 构成并联谐振 电路。一般连接如图 2-3。 5 图 2-3 时钟电路图 2.2.2 AT80C51 的引脚说明 AT80C51 的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器 的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用3,4。引脚如图 2-4。 图 2-4 AT80C51 引脚图 Pin9:RESET/Vpd复位信号复用脚,当AT80C51通电,时钟电路开始工作, 在RESE引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后, 程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它 专用寄存器被清“0” 。RESET由高电平下降为低电平后,系统即从0000H地址开 6 始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态, AT80C51的初始态。当AT80C51的ALE及PSEN两引脚输出高电平,RST引脚高电 平到时,单片机自动复位。RST/VPD 端的高电平直接由上电瞬间产生则为上电 复位,若通过按动按钮产生高电平复位称为手动复位。AT80C51的复位方式可以 是自动复位,也可以是手动复位,见下图2-5。此外,RESET/Vpd还是一复用脚, Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失4。 图 2-5 上电自动复位与手动复位电路图 Pin30:ALE/PROG 当访问外部程序器时,ALE(地址锁存)的输出用于锁存地 址的低位字节。而访问内部程序存储器时,ALE 端将有一个 1/6 时钟频率的正脉 冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。 更有一个特点,当访问外部程序存储器,ALE 会跳过一个脉冲。如果单片机是 EPROM,在编程其间,PROG 将用于输入编程脉冲4。 Pin29:PESN 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC 的 16 位 地址数据将出现在 P0 和 P2 口上,外部程序存储器则把指令数据放到 P0 口上, 由 CPU 读入并执行4。 Pin31:EA/Vpp程序存储器的内外部选通线,AT80C51 单片机,内置有 4kB 的程序存储器,当 EA 为高电平并且程序地址小于 4kB 时,读取内部程序存储器 指令数据,而超过 4kB 地址则读取外部指令数据。如 EA 为低电平,则不管地址 大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 AT80C51,EA 端必须接地。在编程时,EA/Vpp脚还需加上 21V 的编程电压4。 在时钟电路工作的后,只要单片机的RST引脚上面出现24个振荡脉冲(2个机 器周期)以上的高电平,单片机便实现初始化状态复位,而在设计的过程中,通常 使高电平保持在10ms以上。这里采用手动复位方式。当按钮按下的瞬间,接通电 路,给电容充电,实现RST端的高电平,使单片机复位,而按钮释放时电容器放 电,使高电平的产生时间比较长。其示意图如图2-6。 7 图2-6 按钮复位电路设计示意图 2.3 可编程输入输出接口芯片 8255A 2.3.1 8255A 可编程并行接口芯片简介 8255A 可编程并行接口芯片有三个输入输出端口,即 A 口、B 口和 C 口,对 应于引脚 PA7PA0、PB7PB0 和 PC7PC0。其内部还有一个控制寄存器,即 控制口。通常 A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的 端口,它在方式字的控制下,可以分成 4 位的端口,每个端口包含一个 4 位锁存 器。它们分别与端口 A/B 配合使用,可以用作控制信号输出或作为状态信号输入 5。 2.3.2 8255A 可编程并行接口电路 8255A 它具有 3 个 8 位的并 I/O 口,具有三种工作方式,可通过程序改变其 功能,因而使用灵活,通用性强,可作为单片机与多种外围设备连接时的中间接 口电路。三种工作方式由工作方式控制字决定,方式控制字由 CPU 通过输入/输 出指令来提供。三个端口中 PC 口被分为两个部分,上半部分随 PA 口称为 A 组, 下半部分随 PB 口称为 B 组。其中 PA 口可工作与方式 0、1 和 2,而 PB 口只能 工作在方式 0 和 1。8255A 共有 40 个引脚,采用双列直插式封装。其引脚图如图 2-7,各引脚功能如下5: D0-D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。 8 CS:片选信号线,低电平有效,表示芯片被选中。 RD:读出信号线,低电平有效,控制数据的读出。 WR:写入信号线,低电平有效,控制数据的写入。 Vcc:+5V 电源。 PA0-PA7:A 口输入/输出线。 PB0-PB7:B 口输入/输出线。 PC0-PC7:C 口输入/输出线。 RESET:复位信号线。 A1、A0:地址线,用来选择 8255A 内部端口。 GND:地线。 图 2-7 8255A 引脚图 2.3.3 内部结构简介 (1)在主机界面上 数据总线缓冲器:通过 8 位数据线与 CPU 交换控制和数据信息。 读写控制逻辑模块:接收来自 CPU 的相关控制信号,控制 8255A 电路的存 取操作。 (2)在外设界面上 8 位并行端口 PA:通过编程可以分别设置成单向输出、单向输入或者分时输 入输出。PA 端口输出具有锁存和缓冲的功能,输入具有锁存功能。 8 位并行端口 PB:通过编程可以分别设置成单向输出和单向输入。PB 端口 输出具有锁存和缓冲的功能,输入具有缓冲功能。 9 8 位并行端口 PC:PC 端口输出具有锁存和缓冲的功能,输入具有锁存功能。 PC 端口还可以分为高 4 位 PC74 和低 4 位 PC30 两个独立部分。PC 端口可否 独立控制取决于 PA 端口和 PB 端口的工作方式。 (3) 8255A 并行接口的编程操作 8255A 并行接口的编程操作分为:写入 8255A 命令字,用于设置 8255A 电 路的工作模式与传送方向。写入 PC 端口操作字,用于设置 PC 端口的位输入或 输出状态。8255A 的命令字格式与功能,如表 2-2。 表 2-2 8255A 命令字格式 D7D6D5D4D3D2D1D0 1- 功能说明: D0 PC3PC0 方向设置 0 输出方向 1 输入方向 D1 PB 端口方向设置 0 输出方向 1 输入方向 D2 PB 端口工作模式 0 直接式输入或者输出(模式 0) 1 选通式输入或者输出(模式 1) D3 PC7PC4 方向设置 0 输出方向 1 输入方向 D4 PA 端口方向设置 0 输出方向 1 输入方向 D6 D5 PA 端口工作模式 0 0 直接式输入或者输出(模式 0) 0 1 选通式输入或者输出(模式 1) 1 X 选通式分时输入输出(模式 2) D7 8255A 软件字的特征位 0 PC 端口操作字 1 8255A 命令字 8255A 的 PC 端口操作字格式与功能,如表 2-3。 10 表 2-3 8255A PC 端口操作字格式 D7D6D5D4D3D2D1D0 0- 功能说明: D3 D2 D1 指定 PCi 位线 0 0 0 PC0 0 0 1 PC1 0 1 0 PC2 0 1 1 PC3 1 0 0 PC4 1 0 1 PC5 1 1 0 PC6 1 1 1 PC7 D0 电平状态 0 PCi 低电平 1 PCi 高电平 D70,操作字特征位。 注意:8255A 的命令字和 PC 端口操作字都是写入到芯片中的命令端口,它 们通过各自的特征位区别。 2.3.4 8255A 并行接口的工作模式 8255A 并行接口电路内部的 PA 端口具有 3 种传送模式可供选用。PB 端口具 有 2 种传送模式可供选用。PC 端口的传送模式取决于 PA 端口和 PB 端口的传送 模式。 (1)传送模式 0 模式 0 的功能特点:直接控制输入或输出传送,不需要查询和中断控制; PA、PB 和 PC 端口都可以编程设置为模式 0 传送; PA、PB、PC7PC4、PC3PC0 这 4 个端口最多有 16 种输入输出组合。 模式 0 传送在计算机系统中很多有实际应用的例子。例如在 PC 系统中, 8255A 并行接口电路的 PA 端口被设置成模式 0 输入,接收键盘输入的按键扫描 码。又如在非编码键盘的扫描控制系统中,8255A 并行接口电路的 PA 端口被设 置成模式 0 输出,PB 端口被设置成模式 0 输入,以便进行按键的扫描识别。另 外,在半导体数码管显示控制电路中,通常设置 8255A 并行接口电路的 PA 和 PB 端口为模式 0 输出,分别进行位控制和段控制。 (2)传送模式 1 11 模式 1 的功能特点:采用查询或者中断控制的输入或输出传送;PA 端口编 程为模式 1 传送后,要占用 PC 端口的部分资源;PB 端口编程为模式 1 传送后, 也要占用 PC 端口的部分资源;PC 端口的剩余资源仍然可以独立操作。 (3)传送模式 2 只有 PA 端口可以编程设置为模式 2 传送。这是采用中断或者查询控制的分 时输入和输出的双向传送方式。模式 2 传送的工作原理结合模式 1 的输入和输出 原理来分析和理解。CPU 响应模式 2 的中断请求后,还要测试 OBF 信号和 IBF 信号,以便确定是输出中断还是输入中断。 2.4 单片机 8255A 口输出信号接信号灯 由于发光二极管为共阳极接法,输出端口为低电平,对应的二极管发光,所 以可以用置位方法点亮红、绿、黄发光二极管,8255A 口输出信号电路图如图 2- 8。 图 2-8 8255A 口输出信号电路图 12 2.5 单片机 8255A 输出信号与数码管的连接 LED 灯的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否 点量而显示不同的字形如 SP,g.a 管角上加上 7FH 所以 sp 上为 0 伏,不亮其 余为 TTL 高电平,全亮则显示为 8,采用共阴级连接6。其与数码管的连接的电 路图如图 2-9。 图 2-9 8255A 与数码管的连接的电路图 2.6 单片机 8255A 与 AT80C51 的连接 单片机 8255A 与 AT80C51 的连接如图 2-10。 图 2-10 单片机 8255A 与 AT80C51 的连接图 13 用 AT80C51 的 P0 口的 P07 连接 8255A 的片选信号 CS 我们用 AT80C51 的 地址采用全译码方式,当 p07 =0 时片选有效,其他无效, p01 用于选择 8255A 端口6。 P07 P 06 P 05 P 04 P 03 P 02 P01 P00 A7 A6 A5 A4 A3 A2 A1 A0 1 x x x x x 0 0 00H 为 8255A 的 PA 口 1 x x x x x 0 1 01H 为 8255A 的 PB 口 1 x x x x x 1 0 02H 为 8255A 的 PC 口 1 x x x x x 1 1 03H 为 8255A 的控制 口 由于 AT80C51 是分时对 8255A 和储存器进行访问所以 AT80C51 的 P0 口不 会发生冲突。 2.7 锁存器 74LS164 简介 74LS164 引脚定义如图 2-11 所示,其真值表如表 2-4 所示,其功能是将外部 输入的串行数据转化为 8 位的并行数据输出具有锁寸功能。A、B 端为串行数据 输入端,QA QH 为数据输出端,CLK 为外部时钟输入端,CLR 为清零端。 图 2-11 74LS164 引脚图 表 2-4 74LS164 真值表 输入输出 CLEARCLOCKABQA QB QH LXXXL L L HLXXQA0 QB0 QH0 HHHH QAn QGn HLXL QAn QGn 14 HXLL QAn QGn 2.8 可编程电路 X5045 X5045 是一种集看门狗、电压监控和串行 EEPROM 三种功能于一身的可编 程电路。这种组合设计减少了电路对电路板空间的需求。X5045 中的看门狗对系 统提供了保护功能。当系统发生故障而超过设置时间时,电路中的看门狗将通过 RESET 信号向 CPU 作出反应。X5045 提供了三个时间值供用户选择使用。它所 具有的电压监控功能还可以保护系统免受低电压的影响,当电源电压降到允许范 围以下时,系统将复位,直到电源电压返回到稳定值为止。X5045 的存储器与 CPU 可通过串行通信方式接口,共有 4096 个位,可以按 512 x 8 个字节来放置 数据7。 X5045 的引脚的介绍: S/WDI:片选输入/看门狗复位输入; SO:串行输出; WP:写保护输入; SCK:同步时钟输入; SI:串行输入; RESET:复位输出; Vss:接地;Vcc:电源。 图2-12 X5045引脚图 2.8.1 电压监视 工作时,X5045 对 VCC 电平进行监测,若电源电压跌落至预置的最小 Vtrip 以下时,系统即确认 RESET,从而避免微处理器在电源失效或断开的情况下工作。 当 RESET 被确认后,该 RESET 信号将一直保持有效,直到电压跌到低于 1V。 而当 VCC 返回并超过 Vtrip 达 200ms 时,系统重新开始工作。 2.8.2 看门狗定时器 15 看门狗定时器的作用是通过监视 WDI 输入来监视微处理器是否激活。由于 微处理器必须周期性的触发 CS/WDI 引脚以避免 RESET 信号激活而使电路复位, 所以 CS/WDI 引脚必须在看门狗超时时间终止之前受到由高至低信号的触发。当 看门狗周期超时时的选择,见表 2-5。 表2-5 看门狗的超时周期选择 2.8.3 串行存储器 器件存储器部分是带块锁保护的 CMOS 串行 EEPROM 阵列,阵列的内部组 织是 x8 位。X5045 可提供最少为 1000,000 次擦写和 100 年的数据保存期,并具 有串行外围接口(SPI)和软件协议的特点,允许工作在简单的四总线上。X5045 主 要是通过一个 8 位的指令寄存器来控制器件的工作,其指令代码通过 SI 输入端 (MSB 在前)写入寄存器。表 2-6 所列为 X5045 的指令格式及其操作。 表2-6 X5045的指令格式及其操作 指令名称指令格式操 作 WREN00000110设置写使能锁存器(使能写操作) WRDI00000100复位写使能锁存器(禁止写操作) RSDR00000101读状态寄存器 WRSR00000001写状态寄存器(看门狗和快锁) READ0000A800从选定的地址开始度存储器阵列的数据 WRITE0000A8010从选下的地址开始写入数据至存储器阵列(1至16字节) 2.9 时钟和数据时序 当 CS 变低以后,SI 线上的输入数据在 SCK 的第一个上升沿时被锁存。而 SO 线上的数据则由 SCK 的下降沿输出。用户可以停止时钟,然后再启动它,以 便在它停止的地方恢复操作。在整个工作期间,CS 必须为低8。 状态寄存器 WD1WD0 看门狗超时周期 (典型值) 0 0 1 1 0 1 0 1 1.4秒 600毫秒 200毫秒 禁止 16 图 2-13 发送时序图 17 2.10 状态寄存器 状态寄存器包含四个非易失性状态位和两个易失性状态位。控制位用于设置 看门狗定时器的操作和存储器的块锁保护。状态寄存器的格式如表 2-7(缺省值为 00H)。 表2-7 状态寄存器格式 76543210 00WD1WD0BL1BL0WELWIP 其中:WIP(Write-In-Progress)位是易失性只读位,用于指明器件是否忙于内 部非易失性写操作。WIP 位可用 RDSR 指令读出。当该位为“1”时,表示非易 失性写操作正在进行;为“0”时,表示没有进行写操作。WEL(Write Enable Latch)位用于指出“写使能”锁存的状态。WEL=1 时,表示锁存被设置;WEL=0 表示锁存已复位。WEL 位是易失性只读位。可以用 WREN 指令设置 WEL 位; 用 WRDI 指令复位 WEL 位。用 BLO,BL1(Block Lock)位可设置块锁存保护的范 围。任何被块锁保护的存储器都只能读出不能写入。这两个非易失性位可用 WRSR 指令来编程,,并允许用户保护 EEPROM 阵列的 1/4、1/2、全部或 09。 WD0、WD1(Watchdog Timer)位用于选择看门狗的超时周期。 当用CS选中器件后,送8位RDSR指令,并由CLK信号触发即可将状态寄存器 的内容从SO线上读出。而在写状态寄存器时,应先将CS 拉低,然后送WREN指 令,再拉高CS。然后再次拉低CS,最后送入WREN指令及对应于状态寄存器内容 的8 位数据即可。该操作由CS变高结束。WEL位及WP引脚的状态对器件内的存 储器及状态寄存器各部分保护的影响9,如表2-8。 表2-8 WREN命令和/WP引脚状态寄存器的影响 存储器快 WREN命令 (WEL) 期间引脚 (WP)保护区不保护区 状态寄存器 (BL0.BL1.WD0.WD1) 0 X 1 X 0 1 保护 保护 保护 保护 保护 可写入 保护 保护 可写入 2.11 本章小结 本章主要运用单片机 AT80C51 与 8255A 进行连接,主要介绍 AT80C51 单片 机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行 18 接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大 总线的基础知识,以及介绍 AT80C51 各引脚的功能。同时介绍 8255A 可编程并 行接口电路内外结构的介绍以及工作模式,并介绍 8255A 与各个器件的连接。同 时对锁存器 74LS164、可编程电路 X5045、时钟和数据时序、状态寄存器进行了 简单的介绍。 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 18 第 3 章 单元电路模块设计 3.1 LED 数码管显示电路 在单片机应用系统中,数码管显示常用两种方法:静态显示和动态扫描显示。 所谓静态显示,就是每一个显示器都要占用单独的具有锁存功能的 I/O 接口用于 笔划段字形代码。这样单片机只要把要显示的字形代码发送到接口电路,就不用 管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种方法单片 机中 CPU 的开销小,可以提供单独锁存的 I/O 接口电路很多10。所以本设计采 用串并转换电路 74LS164 的静态显示电路。其电路图如图 3-1。 图 3-1 数码管显示静态驱动电路图 AT80C51 单片机串行口方式 0 为移位寄存器方式,外接 2 片 74LS164 作为 2 位 LED 显示器的静态显示接口,把 AT80C51 的 RXD 作为数据输出线,TXD 作 为移位时钟脉冲。74LS164 为 TTL 单向 8 位移位寄存器,可实现串行输入,并行 输出。其中 A、B(第 1、2 脚)为串行数据输入端,2 个引脚按逻辑与运算规律输 入信号,共一个输入信号时可并接。T(第 8 脚)为时钟输入端,可连接到串行口的 TXD 端。每一个时钟信号的上升沿加到 T 端时,移位寄存器移一位,8 个时钟脉 冲过后,8 位二进制数全部移入 74LS164 中。R(第 9 脚)为复位端,当 R=0 时, 移位寄存器各位复 0,只有当 R=1 时,时钟脉冲才起作用。Q1.Q8(第 3-6 和 10- 13 引脚)并行输出端分别接 LED 显示器的 hga 各段对应的引脚上10。在给出了 8 个脉冲后,最先进入 74LS164 的第一个数据到达了最高位,然后如果再来一个 脉冲,第一个脉冲就会从最高位移出。设计中的 2 片 7LS164 首尾相串,而时钟 端则接在一起,这样,当输入 8 个脉冲时,从单片机 RXD 端输出的数据就进入 到了第一片 74LS164 中了,而当第二个 8 个脉冲到来后,这个数据就进入了第二 片 74LS164,而新的数据则进入了第一片 74LS164,这样首先送出的数据被送到 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 20 了右面的 164 中,后送入的则在左面的 164 中,其字形码如表 3-1。 表 3-1 共阴极 LED 数码管字形码表 数据位 D7 D6 D5 D4 D3 D2 D1 D0 笔段位 A B C D E F G H 字形码 0 0 1 1 1 1 1 1 0 7EH 1 0 0 0 1 0 0 1 0 12H 2 1 0 1 1 1 1 0 0 BCH 3 1 0 1 1 0 1 1 0 B6H 4 1 1 0 1 0 0 1 0 D2H 5 1 1 1 0 0 1 1 0 6 1 1 1 0 1 1 1 0 7 0 0 1 1 0 0 1 0 8 1 1 1 1 1 1 1 0 FEH 9 1 1 1 1 0 1 1 0 F6H 全灭 0 0 0 0 0 0 0 0 00H 3.2 晶振电路 晶振电路原理图如 3-2。 图 3-2 晶振模块原理图 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取 22uF,晶振为 11.0592Hz11。 3.3 交通灯状态显示电路 十字路口的交通灯分布示意图如图 3-3,将这 12 个交通灯进行编号。 这 12 个交通灯共有四个状态: 状态 1(S1):东西红灯(4、10)亮,南北绿灯(3、9)亮。 状态 2(S2):南北黄灯(2、8)亮,东西仍为红灯(4、10)亮。 状态 3(S3):南北红灯(1、7)亮,东西绿灯(6、12)亮。 状态 4(S4):东西黄灯(5、11)亮,南北仍为红灯(1、7)亮。 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 21 图 3-3 十字路口交通灯分布示意图 用7407对发光二极管进行驱动,电阻R为390欧姆,以保证通过发光二极管的 电流大于工作电流10mA12。四种状态下发光二极管与相应端口取值关系见表3- 2。 表3-2 发光二极管与相应端口取值关系 PB5 PB4 PB3 PB2 PB1 PB0 PA5 PA4 PA3 PA2 PA1 PA0 西红 西绿 西黄 南红 南绿 南绿 东红 东绿 东黄 北红 北绿 北黄 东西红灯亮 南北绿灯亮 0 1 1 0 0 1 0 1 1 1 0 1 1D1DH 东西绿灯亮 南北红灯亮 0 1 1 1 1 0 0 1 1 1 1 0 1E1EH 东西黄灯亮 南北红灯亮 1 0 1 0 1 1 1 0 1 0 1 1 2B2BH 东西黄灯亮 南北红灯亮 1 1 0 0 1 1 1 1 0 0 1 1 3333H 红灯全亮 0 1 1 0 1 1 0 1 1 1 1 1 1B1BH 3.4 其他硬件模块 3.4.1 特种车辆、紧急情况中断电路 紧急情况中断处理电路图如图 3-4。 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 22 图 3-4 紧急情况中断电路图 当东西向(或南北向)有特殊情况,比如有救护车通过,开关SW1为低电平则 应使交通灯处于S3(东西绿灯、南北),开关SW2为低电平则应使交通灯处于S1(南 北向绿灯、东西向红灯)。如图3-5,用到的特种车检测开关即干簧管,通过干簧 管的开合直接控制外部中断INT0的变化,进而通过程序控制发光二极管及七段 LED数码管的相应变化。外部中断INT1用于对紧急情况、流量控制和恢复等情况 的控制,模拟意外事故等实际情况导致交通突然瘫痪,此时就需要手动对交通状 况进行紧急情况下的处理,待意外事故结束后按下恢复键恢复交通。按下紧急情 况处理键时,通过外部中断INT1感应,通过P17口软件编程控制,系统实现车道 人行道红灯全部亮起,禁止一切车辆和行人通行,LED数码管显示“88” 13。 图3-5 按键控制图 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 23 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 24 3.4.2 交通遇忙调整 为了增加交通灯指示的灵活性,提高交通的流通效率,可根据调查交道口的 车流量或交警的经验来重设各交通灯的点亮时间。为简化处理,我们假设了两种 情况:南北路段忙和东西路段忙。当按下南北忙按键时,系统实现的功能是:通 过外部中断INT1感应,通过P16口软件编程控制,系统实现下个循环按照如表3-3 所示的调整时间表来实现循环14。 表3-3 道路遇忙时间调整表 状况 东西道车行时间() 南北道车行时间 () 东西路段忙 60 20 南北路段忙 20 60 3.4.3 语音模块 语音模块设计的要求是模拟在交通灯十字路口处有紧急情况或者特种车辆通 过时应用此模块实现录放功能,实现特殊情况下对车辆和行人的提醒和警示作用。 在实际应用中,要求语音电路单独实现录放并能循环播放录音内容,实际电路图 如图 3-6 和图 3-7 所示。图 3-6 实现的是循环播放功能,最高位地址都为高电平 时,地址端就作为操作模式选择端(高电平有效),此时若 A3 脚也为高电平,此电 路就能实现从 0 地址位开始连续重复放音。图 3-7 添加了语音电路 SP 模块,解 决了由于干扰大和电压不足等原因造成的播放不清和声音偏小的问题。红灯语音 和绿灯语音可分别编辑加入不同的背景音乐。红灯语音和绿灯语音的播报转换与 红绿灯转换同步进行,在转换前循环播报红灯语音或绿灯语音。语音设有高音量 时段音量调节、低音量时段音量调节和效果调节功能。时钟误差不大于 5min/年, 时钟能随时调整校准15。 大庆石油学院华瑞学院本科毕业生毕业设计(论文) 25 图3-6 实际应用语音电路图 图3-7 语音电路SP放大部分电路图 3.5 本章小结 在应用电路中,采用 8255A 对单片机的 I/O 口进行有效的扩展,从而大大增 加了可利用的 I/O 口资源,使得 I/O 口很充裕。8255A 的 PA 口和 PB 口接发光二 极管,通过对 PA 口和 PB 口的位写“1”或“0”来控制发光二极管的亮、灭, 进而模拟显示出十字路口交通灯的各种状态。 LED 数码管则用来对各种状态进行倒计时的显示。设计中采用 74LS164 静态 驱动 LED 数码管,利用单片机的 RXD 作为数据的输出端给 164 送数。利用 164 的移位进行多位的显示。利用延时程序控制每秒时间,从而控制 RXD 送数的时 间间隔16。 紧急情况的处理则采用查询加中断的方式。通过查询 P1.2 和 P1.3 的状态来 控制外部中断 1,然后进去相应的处理程序。在哪一方向上有紧急情况,则能通 过开关进行中断,使该方向上为绿灯放行,同时紧急情况报警灯亮。其总电路图 见附录(2)。 26 第 4 章 软件编程设计 4.1 设计思想 交通灯根据其显示情况可以分为四个状态,可以通过定时来控制每个状态的 时间;通过定时也可以向 LED 数码管中每隔 1 秒送一个数,显示该状态剩余的 时间;如果有中断出现则进入相应的处理程序:先保留目前的显示状态,然后根 据情况显示处理中的状态,紧急情况结束则恢复到保留的原来状态17。 4.2 程序框图 主程序框图简述:输入程序,将其初始化,设定初始值,红灯进入倒计时, 判断红外对管是否为高电平,否则进入倒计时,是则进入报警,然后进入倒计时, 并判断倒计时是否完毕,否则返回重新判断红外对管是否高电平,是则黄灯闪烁, 时间为 3s,进入绿灯倒计时,并开始判断红外对管是否为干电平,否则进入倒计 时,是则开始检测车流量,同时进入倒计时判断,否则重新判断红外对管是否高 电平,是则黄灯闪烁,时间为 3s,一个循环结束,且进入循环系统,如图 4-1。 定时器 0、1 中断程序简述:当进入中断时,相定时器重新置数,当标志数 减 1 时退出中断,如图 4-2。 外部中断 0 程序简述:当进入中断时,P0、P1 口置数,定时器 1 初始化当倒 计时 15 后关闭定时器 1 中断,且优先降低定时器 1,退出中断,如图 4-3。 外部 1 中断程序简述:当进入中断后判断按键触发是否发生中断,当为东西 忙按键时进入 Id-int=3,退出中断;当为东南北忙按键时进入 Id-int=2,退出中断; 当为正常状态返回键时进入 Id-int=1,退出中断;当为紧急状况键时,P0、P1 口 置数,且退出中断,如图 4-4。 27 开始 初始化 设定初值 红灯倒计时 红外对管高电? 倒计时完毕? 绿灯倒计时 黄灯闪烁 5s 红外对管高电? 倒计时完毕? 黄灯闪烁 5s 结束 检测车流量 报警 3s Y N N Y Y N 图 4-1 主程序框图 28 进入中断 向定时器重新置数 标志数减 1 退出中断 进入中断 P0、P2 口置数 定时器 1 初始化 15 秒倒计时 关闭定时器 1 中断 降低定时器 1 优先 退出中断 图 4-2 定时器 0、1 中断程序框图 图 4-3 外部中断 0 程序框图 进入中断 哪个按键触发中断 Id-int=3Id-int=2Id-int=1P0、P1 口置数 东西忙按 键 南北忙按 键 正常状态、返回键紧急状况键 键 退出中断 图 4-4 外部 1 中断程序图 4.3 相关程序代码 4.3.1 主程序 29 定时器需定时 50 毫秒,故 T0 工作于方式 118-20。初值: TCM-T T计数 216-50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ;令 T0 为定时器方式 1 MOV TH0, #3CH ;装入定时器初值 MOV TL0, #BOH ; MOV IE, #82H ;开 T0 中断 SEBT TR0 ;启动 T0 计数器 MOV RO, #14H ;软件计数器赋初值 LOOP: SJMP $ ;等待中断 4.3.2 中断服务子程序 ORG 000BH AJMP BRT0 ORG
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酶标仪使用方法
- 幼儿园班主任发言稿模版
- 新质生产力讲座大学
- 局限性胸膜间皮瘤的临床护理
- 江西省九江市九江有色金属冶炼厂职工子弟学校2025届七年级数学第二学期期末复习检测试题含解析
- 先天性马蹄内翻足健康宣讲课件
- 手部先天性畸形的临床护理
- 山东省平原县2025届数学七下期末复习检测模拟试题含解析
- 溃疡基因转录分析
- 开展2023愚人节创意活动方案大全
- 国企煤矿面试题库及答案
- 2025年企业合规管理工作计划范文
- 施工安全常识试题及答案
- 2025届湖北省T8联盟压轴卷1英语试题
- 《图像处理技术》课件
- 泳池负责人试题及答案
- 关于电子旅游合同范例
- 中国经导管左心耳封堵术临床路径专家共识(2025版)解读
- 煤矿数字化智慧矿山整体解决方案(技术方案)
- 理化外包合同协议
- 水务集团笔试题目及答案
评论
0/150
提交评论