




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机与信息学院论文 1 目录目录 目录目录 0 1 1 引言引言 1 2 2 单片机概述单片机概述 1 3 3 芯片简介芯片简介 2 3 1 MSC 51 芯片简介 2 3 1 1MCS 51 单片机内部结构 2 3 1 2 中断系统 2 3 1 3 时钟电路 3 4 4 系统软件设计系统软件设计 5 4 1 交通管理的方案论证 5 4 2 系统工作原理 6 4 3 系统主要程序的设计 6 4 3 1 程序流程图 6 4 3 2 初始化程序 7 4 3 3 主程序 7 5 5 硬件的制作与调试硬件的制作与调试 17 5 1 硬件电路所需元件 17 5 2 系统硬件设计 17 5 3 时间显示电路的制作与调试 18 5 4 红绿灯电路的制作与调试 19 5 5 紧急通行电路及发音电路的调试 19 5 6 整机调试 19 5 7 制作好的交通灯模型见附件 1 19 6 6 结束语结束语 19 7 7 致谢致谢 20 参考文献参考文献 20 基于单片机交通控制灯的设计 学号 070206114 第 1 页 共 21 页 基于单片机交通控制灯的设计 作者 指导老师 摘要摘要 本系统采用 MSC 51 系列单片机 STC89C52RC 为核心器件来设计交通灯控制器 实现 了由 P0 口设置红 绿灯燃亮时间的功能 红绿灯循环点亮 倒计时剩 5 秒时黄灯闪烁警示 由双位数码管显示 紧急情况时 通过开关控制相应的车道的绿灯点亮 关键字关键字 交通灯显示 单片机 Abstract This system uses MSC 51 Series Microcontroller STC89C52RC core device to design traffic signal controllers and achieve the function of setting red green lighted time through P0 port and cycle light the countdown 5 seconds left when the yellow light flashing alerts by a double digit LED display controlling lane corresponding green light lit through switch under emergency situations Keyword Traffic light single chip microcontroller 1 1 引言引言 信号灯的出现 使交通得以有效管制 对于疏导交通流量 提高道路通行能力 减少交 通事故有明显效果 1968 年 联合国 道路交通和道路标志信号协定 对各种信号灯的含 义作了规定 绿灯是通行信号 面对绿灯的车辆可以直行 左转弯和右转弯 除非另一种 标志禁止某一种转向 左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道 的行人优先通行 红灯是禁行信号 面对红灯的车辆必须在交叉路口的停车线后停车 黄 灯是警告信号 面对黄灯的车辆不能越过停车线 但车辆已十分接近停车线而不能安全停 车时可以进入交叉路口 当今 红绿灯安装在各个道口上 已经成为疏导交通车辆最常见 和最有效的手段 2 2 单片机概述单片机概述 单片机微型计算机是微型计算机的一个重要分支 也是颇具生命力的机种 单片机微 型计算机简称单片机 特别适用于控制领域 故又称为微控制器 通常 单片机由单块集成电路芯片构成 内部包含有计算机的基本功能部件 中央处 理器 存储器和 I O 接口电路等 因此 单片机只需要和适当的软件及外部设备相结合 便可成为一个单片机控制系统 基于单片机交通控制灯的设计 学号 070206114 第 2 页 共 21 页 单片机经过 1 2 3 3 代的发展 目前单片机正朝着高性能和多品种方向发展 它们 的 CPU 功能在增强 内部资源在增多 引角的多功能化 以及低电压底功耗 3 3 芯片简介芯片简介 3 1 MSC 51 芯片简介 8051 是 MCS 51 系列单片机的典型产品 本文以这一代表性的机型进行系统的讲解 3 1 1MCS 513 1 1MCS 51 单片机内部结构单片机内部结构 8051 单片机包含中央处理器 程序存储器 ROM 数据存储器 RAM 定时 计数器 并行接口 串行接口和中断系统等几大单元及数据总线 地址总线和控制总线等三大总线 现在我们分别加以说明 中央处理器 中央处理器 CPU 是整个单片机的核心部件 是 8 位数据宽度的处理器 能处理 8 位二进制数据或代码 CPU 负责控制 指挥和调度整个单元系统协调的工作 完 成运算和控制输入输出功能等操作 数据存储器 RAM 8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单 元 它们是统一编址的 专用寄存器只能用于存放控制指令数据 用户只能访问 而不能 用于存放用户数据 所以 用户能使用的 RAM 只有 128 个 可存放读写的数据 运算的中 间结果或用户定义的字型表 程序存储器 ROM 8051 共有 4096 个 8 位掩膜 ROM 用于存放用户程序 原始数据或 表格 定时 计数器 ROM 8051 有两个 16 位的可编程定时 计数器 以实现定时或计数产生 中断用于控制程序转向 并行输入输出 I O 口 8051 共有 4 组 8 位 I O 口 P0 P1 P2 和 P3 用于对外部 数据的传输 全双工串行口 8051 内置一个全双工串行通信口 用于与其它设备间的串行数据传送 该串行口既可以用作异步通信收发器 也可以当同步移位器使用 3 1 23 1 2 中断系统中断系统 8051 具备较完善的中断功能 有两个外中断 两个定时 计数器中断和一个串行中断 可满足不同的控制要求 并具有 2 级的优先级别选择 基于单片机交通控制灯的设计 学号 070206114 第 3 页 共 21 页 3 1 33 1 3 时钟电路时钟电路 8051 内置最高频率达 12MHz 的时钟电路 用于产生整个单片机运行的脉冲时序 但 8051 单片机需外置振荡电容 单片机的结构有两种类型 一种是程序存储器和数据存储器分开的形式 即哈佛 Harvard 结构 另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的 结构 即普林斯顿 Princeton 结构 INTEL 的 MCS 51 系列单片机采用的是哈佛结构的形 式 而后续产品 16 位的 MCS 96 系列单片机则采用普林斯顿结构 图 3 1 是 MCS 51 系列单片机的内部结构示意图 MCS 51 系列单片机中的 8031 8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构 图 3 2 是它们的引脚配置 40 个引脚中 正电源和地线两根 外置石英振荡器的时钟线两 图 3 1 根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 现在我们对这些引脚的功能加 基于单片机交通控制灯的设计 学号 070206114 第 4 页 共 21 页 图 3 2 以说明 Pin9 RESET Vpd复位信号复用脚 当 8051 通电 时钟电路开始工作 在 RESET 引脚上出现 24 个时钟周期以上的高电平 系统即初始复位 初始化后 程序计数器 PC 指向 0000H P0 P3 输出口全部为高电平 堆栈指针写入 07H 其它专用寄存器被清 0 RESET 由高电平下降为低电平后 系统即从 0000H 地址开始执行程序 然而 初始复位不改变 RAM 包括工作寄存器 R0 R7 的状态 8051 的初始态 8051 的复位方式可以是自动复位 也可以是手动复位 见下图 3 3 即手动复位 VCC 掉电其间 此脚可接上备用电源 以保证单片机内部 RAM 的数据不丢失 图 3 3 Pin30 ALE 当访问外部程序器时 ALE 地址锁存 的输出用于锁存地址的低位字节 而访问内部程序存储器时 ALE 端将有一个 1 6 时钟频率的正脉冲信号 这个信号可以用 于识别单片机是否工作 也可以当作一个时钟向外输出 更有一个特点 当访问外部程序 基于单片机交通控制灯的设计 学号 070206114 第 5 页 共 21 页 存储器 ALE 会跳过一个脉冲 如果单片机是 EPROM 在编程其间 将用于输入编程脉冲 Pin29 当访问外部程序存储器时 此脚输出负脉冲选通信号 PC 的 16 位地址数 据将出现在 P0 和 P2 口上 外部程序存储器则把指令数据放到 P0 口上 由 CPU 读入并执行 Pin31 EA Vpp 程序存储器的内外部选通线 8051 和 8751 单片机 内置有 4kB 的程序 存储器 当 EA 为高电平并且程序地址小于 4kB 时 读取内部程序存储器指令数据 而超过 4kB 地址则读取外部指令数据 如 EA 为低电平 则不管地址大小 一律读取外部程序存储 器指令 显然 对内部无程序存储器的 8031 EA 端必须接地 在编程时 EA VPP 脚还需加上 21V 的编程电压 4 4 系统软件设计系统软件设计 4 14 1 交通管理的方案论证交通管理的方案论证 东西 南北两车道交于一个十字路口 各车道有一组红 黄 绿三色的指示灯 指挥 车辆和行人安全通行 红灯亮禁止通行 绿灯亮允许通行 黄灯亮提示人们注意红 绿灯 的状态即将切换 且黄灯燃亮时间为东西 南北两干道的公共停车时间 设东西道比南北 道的车流量大 指示灯燃亮的方案如下 1 当东西方向为红灯 此道车辆禁止通行 东西道行人可通过 南北道为绿灯 此道 车辆通过 行人禁止通行 时间为 20 秒 2 黄灯闪烁 5 秒 警示车辆和行人红 绿灯的状态即将切换 3 当东西方向为绿灯 此道车辆通行 南北方向为红灯 南北道车辆禁止通过 行人 通行 时间为 25 秒东西方向车流大通行时间长 4 黄灯闪烁 5 秒 5 倒数秒数显示 黄灯亮时 要求每秒钟闪亮一次 且有声音提示 6 当有特殊情况需要紧急通行时 可对红绿灯进行人为控制 基于单片机交通控制灯的设计 学号 070206114 第 6 页 共 21 页 4 24 2 系统工作原理系统工作原理 1 通过程序写入交通灯初始时间 主车道和干道两条交叉道路上的车辆交替运行 每次 通过时间都设为 主车道 30S 次道 25S 2 由 8051 单片机的定时器每秒钟通过 P2 口设置显示红 绿 黄灯的燃亮情况 由 8051 的 P0 口设置显示每个灯的燃亮时间 3 绿灯倒计时时间 当有紧急情况时 人为按键控制红灯点亮 50S 后恢复正常 4 红灯时间倒计时完毕 返回按键前状态重新循环 4 34 3 系统主要程序的设计系统主要程序的设计 道口交通控制系统程序主要分为以下几个模块 初始化程序 主程序 定时中断程序 和紧急情况实时响应程序等 4 3 14 3 1 程序流程图程序流程图 纵向通行显示状态 初始化 黄灯闪显示子程序 开始 5s 到 25s 到 横向通行显示状态 黄灯闪显示子程 序 是 否 否 是 是 否 5s 到 20s 到 否 基于单片机交通控制灯的设计 学号 070206114 第 7 页 共 21 页 图 4 1 4 3 24 3 2 初始化程序初始化程序 初始化程序主要完成内存划 定时器的工作模式 中断方式等的设定 由于子程序 调用较多 因此初始化时堆栈指针设于 80H 处 定时器 T0 T1 设为 16 位定时器模式 定 时时间位 50ms 为秒计时用 T1 为通行结束闪烁用 4 3 34 3 3 主程序主程序 主程序要负责总体程序管理功能 实现人机交换设定 由于采用动态扫描方式显示时 间 因此主程序大部分时间要调用扫描显示程序 主程序源代码如下 FMQEQUP1 0 蜂鸣器 HREQUP2 0 后红灯 HYEQUP2 2 后黄灯 HGEQUP2 1 后绿灯 YREQUP2 3 右红灯 YYEQUP2 5 右黄灯 YGEQUP2 4 右绿灯 SWITCH1 EQUP2 7 SWITCH2 EQUP2 6 DATEQU60H 显存 ORG 0000H LJMP START ORG 0003H LJMP D X 外部中断 0 东西向紧急按键 ORG 000BH RETI ORG 0013H LJMP N B 外部中断 1 南北向紧急按键 ORG 001BH RETI ORG 0023H 基于单片机交通控制灯的设计 学号 070206114 第 8 页 共 21 页 RETI ORG 0040H 定位 START MOVTCON 5H 外部中断为下降沿触发 SETBEX0 SETBEX1 开外部中断 SETBEA 开总中断 IO 口初始化 MOV P0 0FFH MOV P1 0FFH MOV P2 0FFH MOV P3 0FFH MOVDAT 25H AUTCLK MOVP1 0FFH MOVP2 0FFH MOVDAT 30H 写入每一通路的通行时间 CLRHG 南北向绿灯亮 CLRYR 东西向红灯亮 MOVA DAT MOVR2 25 写入时间值 A1 MOVR1 220 A2 ACALLBCD BCD 调整 ACALLDISPCLK 显示 ACALLDEL1MS 延时 ACALLDEL1MS ACALLDEL1MS DJNZR1 A2 SETBFMQ MOVA DAT 完成数字的减 1 操作 基于单片机交通控制灯的设计 学号 070206114 第 9 页 共 21 页 ADDA 99H DAA MOVDAT A 调整好的数字送显存 DJNZR2 A1 最后 5 秒黄灯闪 MOVP1 0FFH MOVP2 0FFH 关所有灯 CLRYY 黄灯亮 CLRHY MOVR2 5 A3 MOVR1 220 A4 ACALLBCD ACALLDISPCLK ACALLDEL1MS ACALLDEL1MS ACALLDEL1MS DJNZR1 A4 CPLHY 南北向绿灯亮 CPLYY 东西向红灯亮 CPLFMQ 黄灯时蜂鸣器叫一声 MOVA DAT ADDA 99H DAA MOVDAT A DJNZR2 A3 MOVP1 0FFH MOVP2 0FFH MOVDAT 20H CLRYG 东西向绿灯亮 CLRHR 南北向红灯亮 基于单片机交通控制灯的设计 学号 070206114 第 10 页 共 21 页 MOVA DAT MOVR2 15 执行 15 秒 A5 MOVR1 220 A6 ACALLBCD BCD 调整 ACALLDISPCLK 显示 ACALLDEL1MS ACALLDEL1MS ACALLDEL1MS DJNZR1 A6 SETBFMQ MOVA DAT ADDA 99H 减 1 操作 DAA MOVDAT A DJNZR2 A5 最后 5 秒黄灯闪 MOVP1 0FFH MOVP2 0FFH 关所有灯 CLRYY 黄灯亮 CLRHY MOVR2 5 A7 MOVR1 220 A8 ACALLBCD ACALLDISPCLK ACALLDEL1MS ACALLDEL1MS ACALLDEL1MS DJNZR1 A8 CPLHY 南北向绿灯亮 基于单片机交通控制灯的设计 学号 070206114 第 11 页 共 21 页 CPLYY 东西向红灯亮 CPLFMQ 黄灯时蜂鸣器叫一声 MOVA DAT ADDA 99H DAA MOVDAT A DJNZR2 A7 AJMPAUTCLK NOP NOP NOP LJMP START 显示子程序 DISPCLK MOVDPTR TAB 定入表头 显示个位 MOVA 50H MOVCA A DPTR MOVP0 A CLRSWITCH2 LCALLDEL1MS SETBSWITCH2 显示十位 MOVA 51H MOVCA A DPTR MOVP0 A CLRSWITCH1 LCALLDEL1MS 基于单片机交通控制灯的设计 学号 070206114 第 12 页 共 21 页 SETBSWITCH1 RET NOP NOP NOP LJMP START 横向道路紧急中断程序 D X CLREA 关总中断 JNBP3 2 MOVA DAT 保存显示数据 MOV20H A MOVDAT 50H MOV21H P1 MOV22H P2 MOVP1 0FFH MOVP2 0FFH CLRYG 东西向绿灯亮 CLRHR 南北向红灯亮 MOVR4 50 D1 MOVR3 220 D2 ACALLBCD ACALLDISPCLK ACALLDEL1MS ACALLDEL1MS ACALLDEL1MS DJNZR3 D2 MOVA DAT ADDA 99H 基于单片机交通控制灯的设计 学号 070206114 第 13 页 共 21 页 DAA MOVDAT A DJNZR4 D1 MOVA 20H 恢复显示数据 MOVDAT A MOVP2 22H MOVP1 21H SETBEA 开总中断 RETI 中断返回 NOP NOP NOP AJMPSTART 纵向道路紧急中断程序 N B CLREA 关总中断 JNBP3 3 MOVA DAT 保存显示数据 MOV20H A MOVDAT 50H MOV21H P1 MOV22H P2 MOVP1 0FFH MOVP2 0FFH CLRHG 南北向绿灯亮 CLRYR 东西向红灯亮 MOVR4 50 东西向红灯亮 N1 MOVR3 220 N2 ACALLBCD 基于单片机交通控制灯的设计 学号 070206114 第 14 页 共 21 页 ACALLDISPCLK ACALLDEL1MS ACALLDEL1MS ACALLDEL1MS DJNZR3 N2 MOVA DAT ADDA 99H DAA MOVDAT A DJNZR4 N1 MOVA 20H 恢复显示数据 MOVDAT A MOVP2 22H MOVP1 21H SETBEA 开总中断 RETI 中断返回 NOP NOP NOP AJMPSTART BCD 将显存中的数字分分两个 BCD 码存于 50H 和 51H 单元中 用于显示十位和个 位 MOV A DAT MOV B 10H DIV AB MOV 51H A 写入分十位 MOV A B MOV 50H A 写入分个位 RET 基于单片机交通控制灯的设计 学号 070206114 第 15 页 共 21 页 NOP NOP NOP LJMP START 数码表 TAB DB 0C0H 0F9H 0A4H 0B0H 99H 92H 82H 0F8H 80H 90H 0FFH RET NOP NOP NOP LJMP START 延时子程序 12M 晶振 DEL1MS MOV R6 28 装入 R6 的时间常数 DEL1MS1 MOV R7 19 装入 R7 的时间常数 DEL1MS2 DJNZ R7 DEL1MS2 DJNZ R6 DEL1MS1 RET NOP NOP NOP LJMP START DEL5MS MOV R7 90 DEL5MS1 MOV R6 54 DEL5MS2 DJNZ R6 DEL5MS2 DJNZ R7 DEL5MS1 RET NOP 基于单片机交通控制灯的设计 学号 070206114 第 16 页 共 21 页 NOP NOP LJMP START DEL250MS MOV R5 50 DEL250MS1 LCALL DEL5MS DJNZ R5 DEL250MS1 RET NOP NOP NOP LJMP START DEL500MS MOV R4 100 DEL500MS1 LCALL DEL5MS DJNZ R4 DEL500MS1 RET NOP NOP NOP LJMP START END 基于单片机交通控制灯的设计 学号 070206114 第 17 页 共 21 页 5 5 硬件的制作与调试硬件的制作与调试 5 15 1 硬件电路所需元件硬件电路所需元件 如下表 表 5 1 序 号 元件名称型号与规则单位数量 1 电阻681 欧 1k 只 152 2 贴片电容 30Pf100PF 只 22 3 晶振 12MHz 只 1 4 发光二极管红色 黄色 绿色只各 3 个 5 三极管 9012 只 2 6 单片机 89S52RC 块 1 7 集成电路插座40 脚块 1 8 蜂鸣器有源 5v只 1 9 按键开关轻触只 3 10 数码管两位共阳只 1 11 线路板万用板块 1 5 25 2 系统硬件设计系统硬件设计 基于单片机交通控制灯的设计 学号 070206114 第 18 页 共 21 页 交通灯硬件线路 图 5 1 5 35 3 时间显示电路的制作与调试时间显示电路的制作与调试 将 P0 口对应的八只电阻及两只共阳数码管焊好 将两只电子开关三极管 VT1 VT2 焊 上再将 40 脚的集成电路插座焊上 接下来对这部分电路进行测试 接上电源 数码管全灭 用一根导线的一端接地 另一端插在集成电路插座的 28 脚上 这时用万用表电压档测量 VT1 集电极电压 正常应为 4 5V 以上 若不正常 检测 VT1 是否焊反 限流电阻是否虚 焊等 用另一导线的一端与地线相连 另一端一次碰集成插座的 32 39 脚 一边碰一边查 看数码管 正常时可以看到每碰一个脚 对应一段数码管灯亮 若不亮 仔细查看与该管 脚相连的电阻及数码管是否虚焊 下图是七段数码管各管脚对应图 基于单片机交通控制灯的设计 学号 070206114 第 19 页 共 21 页 图 5 2 5 45 4 红绿灯电路的制作与调试红绿灯电路的制作与调试 将所有发光二极管和其限流电阻焊好 注意不要焊反 5 55 5 紧急通行电路及发音电路的调试紧急通行电路及发音电路的调试 将两个开关与与单片机的 12 和 13 引脚分别相连 开关按下时用万用表测是否短路 5 65 6 整机调试整机调试 将烧录好程序的芯片插上 插上时要注意不要折弯管脚 所有元器件安装好后 通 5 伏
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深入理解注册会计师试题及答案
- 2025年证券从业考试技能强化与试题答案
- 项目管理的决策实施技巧试题及答案
- 批发砖石材料的合同协议
- 高效学习注册会计师脉络试题及答案
- 深入了解金融市场的构成与2025年考试试题及答案
- 2025年银行资格证考试的知识纵览试题及答案
- 注会现场模拟试题及答案
- 2025年证券投资合规管理试题及答案
- 暖气片购买与销售合同协议书模板
- 钻井基本知识
- 2025年中考历史总复习十大专题知识复习讲义
- 护肤夏日美白课件
- 2025年河南艺术职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 2025购销商品合同模板
- kmeans聚类算法原理试题及答案
- 2024年山西华阳新材料科技集团有限公司招聘笔试真题
- 国家粮食和物资储备局垂直管理系统事业单位招聘笔试真题2024
- 2025年03月双鸭山市“市委书记进校园”引才活动黑龙江能源职业学院13人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年湖南兴湘投资控股集团有限公司春季校园招聘28人笔试参考题库附带答案详解
- 隧道二衬台车安装拆除施工方案
评论
0/150
提交评论