基于at89c52交通灯的控制系统内容摘要:

LED反光管,左拐、右拐、直行及行人 4种通行指示也采用 16*16 点阵 双色 LED 反光管。 该系统设计框架图如 所示,列驱动采用 74LS595 以实现串行端口扩展,行驱动采用 4/16 译码器 74LS54 动态扫描,译码器 74LS154 生成 16 条行选通信号线,再进过驱动器驱动对应的性线。 每条性线上需要较大的驱动电流,应选用大功率三极管作为驱动管。 这种设计方案的图案显示逼真,单片机占用端口资源少;缺点是需要大量的硬件,电路复杂,耗电量大,再模型制作中比较少用。 如 图 图 采用 16 16 电阵 LED 发光管设计的交通灯控制系统 方案三:采用 AT89C2051 单片机作为控制器,通行 倒计时及左拐、右拐、直行、行人通行指示采用单块 LED 点阵显示器。 这种方案设计占用单片机的端口最少,硬件也少,耗电也最小;虽然显示方案也很精美,但由于亮度太暗,晚上还得开背光灯,所以较少采用。 通过以上综合分析可以看出,方案 1最具有综合设计优点,因此城市 道口 交通 灯控制系统模型采用方案 1最为合适。 阳泉职业技术学院 毕业设计说明书 9 第三章 系统硬件电路设计 整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块和自动特种车辆控制模块组成。 系统图如下: 图 交通系统图 第一节 交通灯的主控制系统 一、 基于单片机 AT89C52 的硬件功能特性 本章中系统采用的是以单片机 AT89C52 为主的控制系统,是 ATMEL 公司生产的一款性能稳定的 8 位单片机。 其整个电路控制系统主要包括控制系统模块、通行灯输出控制显示模块、时间 模块,和自动车辆控制模块等组成。 AT89C52 有 PDIP、 PQFP/TQFP 及 PLCC 等三种封装形式,以适应不同产品的需求。 主要功能特性: 兼容 MCS51 指令系统 8k 可反复擦写 (1000 次) Flash ROM 阳泉职业技术学院 毕业设计说明书 10 32 个双向 I/O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 /计数器中断 时钟频率 024MHz 2 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 二、 主处理器 内部结构介绍 AT89C52 具有 1 个 8KB 的 FLASH 程序存储器, 1个 512 字节的 RAM, 4 个 8位的双向可位寻址 I/O 端口, 3 个 16位的定时 /计数器及 1个串行口和 6个向量二级中断结构。 单片机的 P1 口及 P2 口分别用于控制南北及东西的通行灯 , P0 口及 口用于 4 组 3位 LED 计时器的控制,特种车辆通过时使用外中断 1口( ),手动转换采用 口按键。 AT89C52 是一个低电压,高性能 CMOS 8位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器( RAM),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS51 指令系统,片内置通用 8位中央处理器和 Flash 存储单元,功能强大的 AT89C52 单片机可为您提供许多较复杂系统控制应用场合。 AT89C52 有 40 个引脚, 32 个外部双向输入 /输出( I/O)端口,同时内含 2 个外中断口, 3个 16 位可编程定时计数器 ,2 个全双工串行通信口, 2个读写口线, AT89C52可以按照常规方法进行编程,也可以在线编程。 其将通用的微处理器和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 其新片结构图如 阳泉职业技术学院 毕业设计说明书 11 图 AT89C52 芯片结构图 把 89C52 当作接口使用,接口自身必须尽可能地少占用硬件资源,与主系统之间的连接线也应尽可能少,这样才能少占主机引脚, 把更多的资源留给系统。 本设计中,主机与多功能接口之间采用串行通信。 主机与多功能接口之间有四根连接线: CE、 CLK、 DAT、 INTR。 CE 用于作片选信号输入端。 此引脚为低电平时,主机能与多功能接口进行数据传送。 CLK 为时钟输入端,当主机向多功能接口发送指令时,此引脚电平上升表示数据有效。 DAT 为串行数据输入 /输出端。 INTR为多功能接口输出端。 当多功能接口内的数据准备好时,由 INTR 向主机发低电平,通知主机,数据已准备就绪,可以进行读操作。 该信号可供主机查询,也可用作发向主机的中断请求信号。 89C52 的 P0、 P P2 口用作键盘 /显示接口。 用程序扫描的方法进行键盘输入和显示输出。 P0 口作为字段口, P1 口作为键盘的列输入口, P2 作为显示器的字位口以及键盘的行扫描输出口。 由于显示器字位口电流较大, P2 口需进行电流驱动。 该多功能接口最多可连接 8 个 LED 显示器和 1 个 88 链盘矩阵。 其硬件原理如图 所示。 、 、 、 分别用作 CE、 CLK、 DAT 和 INTR 信号;而 、 用作异步串行通信数据线 RXD 和 TXD; 、 分别是 OUT0/T0 和 OUT1/T1信号线。 该引脚在定 时器工作于连续脉冲方式时,可输出通断比与频率可编程的连续脉冲;工作在计数器方式时,该引脚作为外部计数脉冲输入端输入计数脉冲。 阳泉职业技术学院 毕业设计说明书 12 三、 AT89C52 各引脚功能及管脚电压 概述: AT89C52P 为 40 脚双列直插封装的 8 位通用微处理器,采用工业标准的 C51 内核,在内部功能及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。 功能包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU 通信等。 主要管脚有: XTAL1( 19 脚)和 XTAL2( 18 脚)为振荡器输入输出端口,外接 12MHz 晶振。 RST/Vpd( 9 脚)为复位输入端口,外接电阻电容组成的复位电路。 VCC( 40 脚)和 VSS( 20 脚)为供电端口,分别接 +5V电源的正负端。 P0~P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口( 32~39 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚相连接, 13 脚定义为 IR 输入端, 10 脚和 11 脚定义为 I2C 总线控制端口,分别连接 N1 的 SDAS( 18 脚)和 SCLS( 19 脚)端口, 12 脚、 27 脚及 28 脚定义为握手信号功能端口,连接主板 CPU 的相应功能端,用于当前制式的检测 四、 AT89C52 会 聚调整状态进入的控制功能。 P0 口: P0 口是一 组 8 位漏极开路型双向 I/O 口, 也即地址 /数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写 “1” 时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash 编程时, P0 口接收指令字节,而在 程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口: P1 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口写 “1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL)。 与 AT89C51 不同之处是, 和 还可分别作为定时 /计数器 2 的外部计数输入( )和输入( ), Flash 编程和程序校 验期间, P1 接收低 8 位地址。 阳泉职业技术学院 毕业设计说明书 13 表 . 和 的第二功能 引脚号 功能特性 T2,时钟输出 T2EX(定时 /计数器 2) 图 功能输出表 P2 口: P2 是一个带有内部上拉电阻的 8 位双向 I/O 口, P2 的输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对端口 P2 写 “1” ,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 (IIL)。 在访问外部程序存储器或 16 位地 址的外部数据存储器(例如执行 MOVX @DPTR 指令)时, P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX @RI 指令)时, P2 口输出 P2 锁存器的内容。 Flash 编程或校验时, P2 亦接收高位地址和一些控制信号。 P3 口: P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL 逻辑门电路。 对 P3 口写入 “1” 时,它们被内部上拉电阻拉高并可作为输入端口。 此时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能 , P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 RST :复位输入。 当振荡器工作时, RST 引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG : 当访问外部程序存储器或数据存储器时, ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。 一般情况下, ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。 要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲( PROG)。 如有必要,可通过对特殊功能寄存器( SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。 该位置位后,只有一条 MOVX 和 MOVC 指令才能将 ALE 激活。 此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。 PSEN :程序储存允许( PSEN)输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次 PSEN 有效,即输出 阳泉职业技术学院 毕业设计说明书 14 两个脉冲。 在此期间,当访问外部 数据存储器,将跳过两次 PSEN 信号。 EA/VPP :外部访问允许。 欲使 CPU 仅访问外部程序存储器(地址为0000H— FFFFH), EA 端必须保持低电平(接地)。 需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端), CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上 +12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。 XTAL1 :振荡器反相放大器的及内部时钟发生器的输入端。 XTAL 2:振荡器反相放大器的输出端。 特殊功能寄存器。 第二节 AT89C52 的存储结构 一、 特殊功能寄存器 在 AT89C52 片内存储器中, 80HFFH 共 128 个单元为特殊功能寄存器( SFE),SFR 的地址空间。 并非所有的地址都被定义,从 80H— FFH 共 128 个字节只有一部分被定义,还有相当一部分没有定义。 对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。 不应将数据 “1” 写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是 “0”。 AT89C52 除了与 AT89C51 所有的定时 /计数器 0 和定时 /计数器 1 外,还增加了一个定时 /计数器 2。 定时 /计数器 2 的控制和状态位于 T2CONT2MOD,寄存器对( RCAO2H、 RCAP2L)是定时器 2 在 16 位捕获方式或 16 位自动重装载方式下的捕获 /自动重装载寄存器。 二、 数据存储器 AT89C52 有 256 个字节的内部 RAM, 80HFFH 高 128 个字节与特殊功能寄存器( SFR)地址是重叠的,也就是高 128 字节的 RAM 和特殊功能寄存器的地址是相同的,但物理上它们是分 开的。 当一条指令访问 7FH 以上的内部地址单元时,指令中使用的寻址方式是不同 阳泉职业技术学院 毕业设计说明书。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。