基于at89c51的十字路口交通灯的设计毕业设计(编辑修改稿)内容摘要:

名称 RXD 串行数据接受 TXD 串行数据发送 I N T 0—————— 外中断 0 申请 I N T 1—————— 外中断 1 申请 T0 定时器 /计数器 0 计数输入 T1 定时器 /计数器 1 计数输入 WR———— 外部数据存储器写选通 RD———— 外部数据存储器读选通 ( 3)外接晶体引脚 XTAL1(19 脚 ):它在单片机内部是一个反向放大器的输入端,构成了片内振荡器。 当采用外部时钟时, HMOS 单片机的该引脚应接地; CHMOS 单片机的该引脚作为外部振荡信号的输入端。 XTAL2(18 脚 ):它在单片机内部是片内振荡器的反向放大器的输出端。 当采用外部时钟时, HMOS 单片机的该引脚作为外部振荡信号的输入端; CHMOS 单片机的该引脚应悬空不接。 ( 4)控制线 ALE/PROG—————— (30 脚 ):地址锁存允许 /编程信号。 在访问片外程序存储器期间,此信号可用于控制锁存 P0输出地址总线的低 8 位, ALE 以每机器周期两次进行信号输出; 在FLASH 编程期间,此引脚用作编程脉冲 PROG—————— 的输入端。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率 fosc的 1/6,可作为对外输出的时钟脉冲或用于定时目的。 但要注意的是:在访问片外数据存储器期间, ALE 脉冲会跳空一个。 若想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE 执行 MOVX, MOVC 指令使 ALE 起作用。 另外,该引脚将被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 PSEN—————— ( 29 脚):片外程序存储器读选通信号输出端,低电平有效。 在由外部程序存储器读取指令或常数期间,每个机器周期内 PSEN——————两次有效, P0 口读回指令或常数。 当访问内部程序存储器时, PSEN—————— 信号不跳变。 RST/VPD (9 脚 ): RST 即 RESET, VPD为备用电源,该引脚为单片机的上电复位或掉电保护端。 当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现基于 AT89C51 的十字路口交通灯的设计 复位操作,使单片机回复到初始状态。 上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续 10ms 以上才能保证有效复位。 当 VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源 VPD( +5V)为内部 RAM 供电,以保证 RAM 中的数据不丢失。 EA———— /VPP( 30 脚): EA———— 为片外程序存储器选用端,访问内部程序存储器控制信号。 当 EA———— 端接高电平时, CPU 访问内部程序存储器。 当 EA———— 接低电平时, 则在此期间外部程序存储器 (0000HFFFFH),则强调 CPU 访问外部存储器,而不管程序计数器的内容是多少。 此外,该引脚还用做 EPROM 编程电压的输入端。 在编程期间,此引脚用作 21V编程电源 VPP的输入端。 的内部结构 89C51 单片机内部组成结构中包含运算器和控制器( CPU)、片内存储器、 4 个并行I/O 接、串行口、定时 /计数器、中断系统、振荡器等功能部件。 其内部结构框图如图33 所示。 图 中 PC 是程序计数器; PSW 是程序状态字寄存器; DPTR 是数据指针寄存器。 图 33 AT89C51 单片机内部结构框图 运算器和控制器 89C51 的运算器和控制器功能类似于一般微机中的微处理器 (CPU),是单片机的核心部件,它决定了单片机的主要功能特性。 它完成逻辑算术运算并协调单片机其它各部分的工作。 各种算术、逻辑运算所涉及到的寄存器包括:累加器 ACC、寄存器 B、暂存器1(TEMP1)和暂存器 2(TEMP2)、程序状态字寄存器 PSW,程序计数器 PC,堆栈指针 SP,基于 AT89C51 的十字路口交通灯的设计 数 据指针寄存器 DPTR 等。 它们位于 CPU 内部,又称 CPU 专用寄存器,以区别于 I/O 接口专用寄存器。 存储器 MCS51系列单片机存储器组成是所谓的哈佛结构,存储器的组织方式与通用单片机系统不同,包含程序存储器与数据存储器,其地址空间是相互独立的,而不是程序存储器与数据存储器统一编址。 在 89C51 单片机中,程序存储器采用 EEPROM,而数据存储器采用 RAM。 它们又可以进一步分成内部或外部两类。 ① 程序存储器 程序存储器内部和外部是统一连续编址的,内部占用地址空间的低4KB,地 址 0000H~ 0FFFH,外部地址范围 1000H~ FFFFH,共 60KB。 程序存储器主要用来存放程序和常数。 当程序计数器 PC 由内部 ROM 开始执行到外部 ROM 时,会自动寻址外接程序存储器。 程序地址空间原则上可由用户任意安排,但复位和中断源的程序入口地址在 51 系列单片机中是固定的,用户不能改变。 入口地址见表 32。 复位后, CPU 从 0000H 地址开始执行程序。 其他地址为中断服务程序入口地址,响应某个中断时,将自动从其对应的入口地址执行中断服务程序。 表 32 51 单片机复位、中断入口地址 操 作 入口地址 复位 0000H 外部中断 0 0003H 定时器 /计数器 0 溢出 000BH 外部中断 1 0013H 定时器 /计数器 1 溢出 001BH 串行口中断 0023H 定时器 /计数器 2 溢出或 T2EX 端负跳变( 52 子系列) 002BH ② 数据存储器 MCS51 系列单片机数据存储器也有内部、外部之分。 但与 程序存储器不同,片内、片外存储器是分别独立编址的,片内数据存储器除 RAM 块外,还有特殊功能寄存器( SFR)块,其中片内数据存储器有 128 个字节,其编制为 00H~ FFH;特殊功能寄存器也占 128 个字节,其编制为 80H~FFH;二者连续而不重叠。 外部 RAM 地址范围 0000H~ FFFFH,共 64KB。 内部存储器可直接寻址。 尽管片内、片外地址空间的低256B 有重叠,但寻址并不会造成混乱。 这是因为片内、片外存储器使用不同的指令 (MOV和 MOVX)。 扩展的 I/O地址也占用数据存储器空间。 对 I/O 端口操作无须特殊指令且访问程序存储器是用 PESN—————— 信号选通,而访问片外数据存储器时,由 RD———— 信号(读)和 WR————基于 AT89C51 的十字路口交通灯的设计 信号(写)选通。 ③ 寄存器区 内部数据存储器分为 4个区域,数据 RAM 用于存放临时变量,下面介绍其他三个寄存器区: a) 工作寄存器区 它占用地址 00~ FFH 的 32个内存单元,又分成 4个区。 每个区有 R0~ R7 共 8 个工作寄存器。 工作寄存器区的选择又由程序状态寄存器 PSW 的第 4 位和第 3位 (RS1 和 RS0)共同指定。 单片机复位时, RS1 和 RS0 为零,故指向 0 区。 通过位操作改变 RS1 和 RS0 的值,可以方便地指向任一个区间。 b) 位寻址区 每位都有一个独立的 8 位地址 (占据空间 00~ 7F),共 128 位。 此外,在专用寄存器 SFR 中还有一部分是可以位寻址的 (有些位可能无定义 )。 c) 专用寄存器区 共有 21个专用寄存器 SFR,位于 80~ FFH 地址空 间。 这些寄存器又可以分为 CPU 专用寄存器和接口专用寄存器。 CPU 专用寄存器前面己经提过,而接口专用寄存器包括两部分。 一部分就是单片机的 I/O 端口 P0~ P3,分别编址为 80H、 90H、A0H、 B0H,共 4个单元, 32 位,每一位都可以独立寻址。 另一部分为定时 /计数器,串行口、中断的一些控制寄存器。 定时 /计数器 89C51 有两个 16位定时 /计数器 (T0, T1)。 在定时功能中,每个机器周期定时器加1,由于 l个机器周期包含 12 个振荡周期,因而它的计数频率为 1/12,即由定时器计数到的脉冲为振荡周期频率的 1/12。 在计数器功能中,在外部事件相应输入脚 (T0 或 T1)产生负跳变时,计数器加 1。 由于计数器的计数过程需要 2 个机器周期 (24 个振荡周期 ),所以,最高的计数频率为振荡频率的 1/24。 这两个定时 /计数器的工作状态 (定时 /计数 )及工作方式 (方式 0~方式 3)的选择是由定时 /计数器方式寄存器 (TMOD)中的每位值所决定的。 定时 /计数器的控制由控制寄存器 (TCON)完成。 I/O 口 89C51 不仅有 4个 8位并行口,供单片机和外部 RAM、 EEPROM 等扩展连接用或与其它设备交换信息用,它还有一个全双工串行口,能同时发送 和接收数据。 在前面的引脚功能中已对并行口作了简要介绍,在此就主要介绍一下串行口。 串行口也就是 和 的第二功能。 它既能工作在异步方式,又能工作在同步方式。 该串行口是全双工的,它在物理上分为两个独立的发送缓冲器和接收缓冲器 SBUF,但它们占用一个特殊功能寄存器的地址 99H,只需对 SBUF 进行写或读的操作,就可以同时发送和接收了。 串行口的工作方式选择、波特率选择、串行通信协议的完成,由两个特殊功能寄存器,即串行口控制寄存器 SCON 和功耗控制寄存器 PCON 完成。 中断 基于 AT89C51 的十字路口交通灯的设计 89C51 单片机提供了 6个中断 源,而每一个中断源都能被程控为高优先级或低优先级。 其中 5个中断源包括 2个外部中断和 3个内部中断。 两个外部中断源为 INT0和 INT1,外部设备的中断请求信号、掉电等故障信号都可以从 INT0 而和 INT1 引脚输入,向 CPU提出中断申请, INT0 和 INT1 的中断请求标志 IE0、 IE1 分别设在 TCON 寄存器的 、。 3 个内部中断源为 T0、 Tl 溢出中断源及片内串行发送或接收中断源, T0、 Tl中断请求标志 TF0 和 TF1 分别设在 TCON 寄存器的 、 ,串行发送或接收中断标志 TI 或 RI 设在 SCON 寄存器的第 、。 5 个中断源中的一个、几个或全部中断源的开、关由中断允许寄存器 (IE)完成,而每个中断源的优先级别的高低由中断优先级控制寄存器 (IP)完成。 89C51 单片机中断源简要特性见表 33。 表 33 中断源特性表 名称 符号 标志符号 标志符号位置 矢量地址 优先级别 外部中断 INT0 IE0 0003H 最高 最低 定时器 0 溢出中断 TF0 TF0 000BH 外 部中断 1 INT1 IE1 0013H 定时器 1 溢出中断 TF1 TF1 001BH 串行口中断 R1+T1 R1 0023H T1 各模块电路 主控制系统 主控器采用 AT89C51,是美国 ATMEL 公司生产的一款性能稳定、低功耗的单片机,兼容 MCS51系列产品指令系统及引脚。 片内含 4KB的可重复编程的 Flash 程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,使用 5( 1177。 20 ﹪) V的电源电压, 1288 位的内部 RAM, 4个 8位的双向可位寻址的 I/O 端口, 2个 16位定时 /计数器, 6 个中断源, AT89C51 单片机可提供许多高性价比的应用,灵活应用于各种控制领域。 单片机的 P1口及 P2口分别应用于控制南北及东西方向的通行灯, P0口及 ~口应用于 4组 LED 计时器的控制, T0 和 T1 分别作为东西方向和南北方向和车流量流量控制, INT0 和 INT1 分别用于东西方向和南北方向的特种车辆通行紧急转换电路。 车辆检测电路 为了达到对红绿灯开启时间的控制,需要对十字路口各个方向的车辆进行检 测,本基于 AT89C51 的十字路口交通灯的设计 文研究的是用 CCD 图像传感器实时拍摄(本文选取距十字路口 100m 内)路况,采用微分二支电路处理 CCD 信号,使成二值化信号,单片机再读入数据,判断车队长度。 实现对路口红绿灯时间进行动态调节。 这样就可以大大提高车辆通过率,有效缓解交通压力。 车辆检测电路如图 34 所示。 图 34 车辆检测电路 通行灯输出控制 道口交通灯指示采用高亮度红绿双色发光二极管,左拐、右拐、直行及行人各一个。 当发光电流为 6mA 时,可按公式 R=( 5- )/ 计算,限流电阻为 510Ω。 因为南北通行时双向指示牌相同,所以每个端口应具有 12mA 的吸收电流的能力,而人行道口按 4个灯算,因此需 24mA 的吸收电流,在单片机的输出口接驱动电路 74HC244,保护单片机的输出端口。 道口指示灯电路如图 35所示。 图 35 城市道口交通指示灯电路 基于 AT89C51 的十字路口交通灯的设计。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。