




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽工商职业学院 2013 届毕业设计 0 摘摘 要要 近年来随着科技的飞速发展 单片机的应用正在不断深入 同时带动传统 控制检测技术日益更新 在实时检测和自动控制的单片机应用系统中 单片机 往往作为一个核心部件来使用 仅单片机方面知识是不够的 还应根据具体硬 件结构软硬件结合 加以完善 十字路口车辆穿梭 行人熙攘 车行车道 人行人道 有条不紊 那么靠 什么来实现这井然秩序呢 靠的就是交通信号灯的自动指挥系统 交通信号灯 控制方式很多 本系统采用 STC 51 系列单片机 AT89C51 来设计交通灯控制器 实现了能根据实际车流量通过 8051 芯片的 P1 口设置红 绿灯燃亮时间的功能 红绿灯循环点亮 倒计时剩 3 秒时黄灯闪烁警示 交通灯信号通过 PA 口输出 显示时间直接通过双位数码管 出现交通意外的情况下 必须使东西南北方向 上的显示灯都为红灯 以便交通警察及时处理 本系统实用性强 操作简单 扩展功能强 关键词 关键词 单片机单片机 交通灯交通灯 电路原理图电路原理图 ProteusProteus 仿真图仿真图 AT89c51AT89c51 C C 程序程序 基于单片机控制交通灯控制电路设计 1 目 录 第一章 设计任务 4 第二章 设计目的 5 第三章 设计思路 5 第四章 STC 51 芯片简介 6 第五章 基础知识 9 一 管脚说明 9 二 定时器 计数器 10 三 定时器 计数器的概念 11 1 89C51 单片机内有两个可编程的定时器 计数器 T0 T1 11 2 定时器 计数器的相关寄存器 11 四 定时器 计数器的 4 种工作方式 12 1 方式 0 12 2 方式 1 12 3 方式 2 12 4 方式 3 13 五 定时器 计数器的编程 13 1 定时器 计数器的初始化 13 2 定时器 计数器初值的计算 13 第六章 主程序设计 14 一 系统程序流程图如图 6 1 所示 14 二 设计流程图如图 6 2 所示 14 三 程序的执行表达表 如表 6 3 所示 15 第七章 Proteus 仿真图及各单元电路 16 1 程序正常仿真中如图 7 2 所示 16 2 时钟震荡电路 16 3 复位电路 17 4 紧急情况 17 附录一 C 程序源代码 19 附录二 原理图 27 附录三 元件清单表 28 附录四 主要参考文献 28 安徽工商职业学院 2013 届毕业设计 2 第一章 设计任务 交通灯的硬件和软件设计 本设计是交通灯的控制实验 必须要先了解实 际交通灯的变化规律 假设一个路口为东西南北走向 即十字路口 初始状态 零为东西南北灯都熄灭并且都有 5 秒的准备时间 然后转状态一东西绿灯通车 南北为红灯 过段时间转状态二 东西黄灯闪几次转红灯 延时几秒 南北仍 为红灯 再转状态三南北绿灯通车 东西红灯 过段时间转状态四南北绿灯闪 几次转黄灯 延时几秒 东西仍为红灯 最后循环至状态一 交通信号灯模拟 控制系统设计利用单片机的定时器定时 控制十字路口红绿灯交替点亮和熄灭 并且用 LED 数码管显示时间 但由于时间及水平的不足 在此实验中不显示 用十二个发光二极管代替交通灯进行实验设计 这次设计是 单片机应用技术 C 语言版 课程的综合训练 我们通过理 论学习 课题选择 资料查阅 软 硬件设计 系统调试等环节 巩固所学的 知识及提高应用水平 在此我们要学会从提出问题 观察与分析问题 到最终 解决问题科学方法 提高自己的思维能力和动手能力 在设计中获得一些实操 经验 更是要培养我们的工作作风和工作态度 为今后的毕业设计 及从事单 片机控制系统的设计与维护奠定坚实的基础 这次课题设计的意义在于通过具体的控制系统的设计 掌握单片机控制系统设 计的一般方法和处理问题的思路 特别是一些常用的技术手段 使我们能在实 践教学环境中累积设计经验 开拓思维空间 全面提高个人的综合能力 基于单片机控制交通灯控制电路设计 3 第二章 设计目的 课程设计是本专业集中实践环节的主要内容之一 训练正确地应用单片机 培养解决工业控制 工业检测等领域具体问题的能力 学生通过所做课题 熟 悉单片机应用系统开发研制的过程 软硬件设计的工作方法 内容及步骤 对 学生进行基本技能训练 例如组成系统 编程 调试 绘图等 使学生理论联 系实际 提高动手能力和分析问题 解决问题的能力 通过本课程设计 主要达到以下目的 1 使学生增进对单片机的感性认识 加深对单片机理论方面的理解 2 使学生掌握单片机的内部功能模块的应用 如定时器 计数器 中断 片 内外存贮器 I O 口 串行口通讯等 3 使学生了解和掌握单片机应用系统的软 硬件设计过程 方法及实现 为 以后设计和实现单片机应用系统打下良好基础 第三章 设计思路 交通灯的变化规律 按照常规我们假设一个十字路口为东西 主干道 南北 支干道 走向 初始状态为状态 1 东西 主干道 方向红灯 南北 支干道 方向红灯 经 过过一段时间 5S 转换状态 2 东西 主干道 方向转为绿灯 南北 支干 道 方向红灯 并延时一段时间 25S 再转换到状态 3 东西 主干道 方 向黄灯闪烁 南北 支干道 方向红灯 过一段时间 5S 转换到状态 4 东 西 主干道 方向红灯 南北 支干道 方向绿灯 并延时一段时间 25S 转 换到状态 5 东西 主干道 红灯 南北 支干道 黄灯闪烁 并延时一段时 间 5S 后回到状态 2 在这些状态下 都有时钟倒数计时 安徽工商职业学院 2013 届毕业设计 4 第四章 STC 51 芯片简介 STC 51 单片机内部结构如图 4 1 所示 8051 是 STC 51 系列单片机的典型产 品 我们以这一代表性的机型进行系统的讲解 8051 单片机包含中央处理器 程序存储器 ROM 数据存储器 RAM 定时 计数器 并行接口 串行接口和中 断系统等几大单元及数据总线 地址总线和控制总线等三大总线 现在我们分 别加以说明 中央处理器 中央处理器 CPU 是整个单片机的核心部件 是 8 位数据宽度的处理器 能 处理 8 位二进制数据或代码 CPU 负责控制 指挥和调度整个单元系统协调的 工作 完成运算和控制输入输出功能等操作 数据存储器 RAM 8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元 它们 是统一编址的 专用寄存器只能用于存放控制指令数据 用户只能访问 而不 能用于存放用户数据 所以 用户能使用的 RAM 只有 128 个 可存放读写的数 据 运算的中间结果或用户定义的字型表 图 4 1 程序存储器 ROM 8051 共有 4096 个 8 位掩膜 ROM 用于存放用户程序 原始数据或表格 定时 计数器 ROM 8051 有两个 16 位的可编程定时 计数器 以实现定时或计数产生中断用于 控制程序转向 并行输入输出 I O 口 8051 共有 4 组 8 位 I O 口 P0 P1 P2 或 P3 用于对外部数据的传输 全双工串行口 基于单片机控制交通灯控制电路设计 5 8051 内置一个全双工串行通信口 用于与其它设备间的串行数据传送 该 串行口既可以用作异步通信收发器 也可以当同步移位器使用 中断系统 8051 具备较完善的中断功能 有两个外中断 两个定时 计数器中断和一 个串行中断 可满足不同的控制要求 并具有 2 级的优先级别选择 时钟电路 8051 内置最高频率达 12MHz 的时钟电路 用于产生整个单片机运行的脉冲 时序 但 8051 单片机需外置振荡电容 单片机的结构有两种类型 一种是程序存储器和数据存储器分开的形式 即哈佛 Harvard 结构 另一种是采用通用计算机广泛使用的程序存储器与数据 存储器合二为一的结构 即普林斯顿 Princeton 结构 INTEL 的 STC 51 系列 单片机采用的是哈佛结构的形式 而后续产品 16 位的 MCS 96 系列单片机则采 用普林斯顿结构 STC 51 的引脚说明 STC 51 系列单片机中的 8031 8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构 右图是它们的引脚配置 40 个引脚中 正电源和地线两根 外置石 英振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 现在我们对这些引脚的功能加以说明 STC 51 的引脚说明 STC 51 系列单片机中的 8031 8051 及 8751 均采用 40Pin 封装的双列直接 DIP 结构 图 4 2 是它们的引脚配置 40 个引脚中 正电源和地线两根 外置 石英振荡器的时钟线两根 4 组 8 位共 32 个 I O 口 中断口线与 P3 口线复用 现在我们对这些引脚的功能加以说明 图 4 2 安徽工商职业学院 2013 届毕业设计 6 Pin9 RESET Vpd复位信号复用脚 当 8051 通电 时钟电路开始工作 在 RESET 引脚上出现 24 个时钟周期以上的高电平 系统即初始复位 初始化后 程序计数器 PC 指向 0000H P0 P3 输出口全部为高电 平 堆栈指针写入 07H 其它专用寄存器被清 0 RESET 由高电平下降为低电平后 系统即从 0000H 地址开始执行程序 然而 初始复位不改变 RAM 包括工作寄存器 R0 R7 的状 态 8051 的初始态 8051 的复位方式可以是自动复位 也可以是手动复位 见下图 4 此外 RESET Vpd还是一复用脚 Vcc掉电其间 此脚可接上备用电源 以保证单片机 内部 RAM 的数据不丢失 Pin30 ALE 当访问外部程序器时 ALE 地址锁存 的输出用于锁存地址 的低位字节 而访问内部程序存储器时 ALE 端将有一个 1 6 时钟频率的正脉 冲信号 这个信号可以用于识别单片机是否工作 也可以当作一个时钟向外输 出 更有一个特点 当访问外部程序存储器 ALE 会跳过一个脉冲 如果单片 机是 EPROM 在编程其间 将用于输入编程脉冲 Pin29 当访问外部程序存储器时 此脚输出负脉冲选通信号 PC 的 16 位地 址数据将出现在 P0 和 P2 口上 外部程序存储器则把指令数据放到 P0 口上 由 CPU 读入并执行 Pin31 EA Vpp程序存储器的内外部选通线 8051 和 8751 单片机 内置有 4kB 的 程序存储器 当 EA 为高电平并且程序地址小于 4kB 时 读取内部程序存储器指 令数据 而超过 4kB 地址则读取外部指令数据 如 EA 为低电平 则不管地址大 小 一律读取外部程序存储器指令 显然 对内部无程序存储器的 8031 EA 端 必须接地 在编程时 EA Vpp脚还需加上 21V 的编程电压 基于单片机控制交通灯控制电路设计 7 第五章 基础知识 一 管脚说明 V VC CC C 供电电压 G GN ND D 接地 P P0 0 口口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电 流 当 P0 口的管脚第一次写 1 时 被定义为 高阻输入 P0 能够用于外部 程序数据存储器 它可以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部 必须被拉高 P P1 1 口口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲 器能接收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作 输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和校验时 P1 口作为第八位地址接收 P P2 2 口口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可 接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电 阻拉高 且作为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输 出电流 这是由于内部上拉的缘故 P2 口当用于外部程序存储器或 16 位 地址外部数据存储器进行存取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高八 位地址信号和控制信号 P P3 3 口口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输 入 作为输入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由 于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 如下表所示 口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 安徽工商职业学院 2013 届毕业设计 8 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收一些控制信号 R RS ST T 复位输入 当振荡器复位器件时 要保持RST 脚两个机器周期的 高电平时间 A AL LE E P PR RO OG G 当访问外部存储器时 地址锁存允许的输出电平用于锁存地 址的地位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频率为振荡器频率的1 6 因 此它可用作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作 外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令是 ALE 才起 作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态ALE 禁止 置位无效 P PS SE EN N 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周期两次 PSEN 有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 E EA A V VP PP P 当 EA 保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序存储器 注意加密方式1 时 EA 将内部锁 定为 RESET 当 EA 端保持高电平时 此间内部程序存储器 在FLASH 编程 期间 此引脚也用于施加 12V 编程电源 VPP X XT TA AL L1 1 反向振荡放大器的输入及内部时钟工作电路的输入 X XT TA AL L2 2 来自反向振荡器的输出 8951 是片内无程序存储器的供应状态芯片 因此 其最小应用系统必须在片外扩 展 EPROM 外接程序存储器的地址线 A8 A15 由 P2 口提供 A0 A7 由 P0 口通过地 址锁存器提供 地址锁存器的锁存信号为 ALE 指令数据由 P0 口读入 程序存储 器 二 定时器 计数器 定时器 计数器是单片机中最常用 最重要的功能模块之一 本节通过交 通灯控制器实例来演示定时器的使用 并复习如何使用散转程序 首先介绍交通灯以及定时器 计数器的基础知识 接着介绍本实例的硬件 电路构成 然后逐步分析定时器的变成以及程序的全貌 最后总结一下本实例 的技巧与注意点 基于单片机控制交通灯控制电路设计 9 三 定时器 计数器的概念 1 89C51 单片机内有两个可编程的定时器 计数器 T0 T1 当定时器 计数器用作 定时器 时 每经过 1 个机器周期 12 个时钟周 期 计数器加 1 当定时器 计数器用作 计数器 时 计数器在对应的外部输入管脚 T0 为 P3 4 引脚 T1 为 P3 5 引脚 上每发生一次 1 到 0 的跳变时加 1 使用 计 数器 功能时 外部输入每个机器周期被采样一次 当某一周期管脚状态采样 为高电平而下一周期采样为低电平时 计数器加 1 由于检测下降沿跳变需要 两个机器周期 24 个时钟周期 的时间 所以技术频率最大值只能为时钟周期 的 1 24 计数器对外部输入信号的占空比并无限制 但为了保证给定的电平 信号在其改变之前至少被采样一次 外部输入信号必须至少保持一个完整的机 器周期 2 定时器 计数器的相关寄存器 与定时器 计数器相关的寄存器有定时器 计数器工作方式寄存器 TMOD 定时器 计数器控制寄存器 TCON TCON 已经在 2 5 节受控输出实例中介绍 过 因此 在本例中主要介绍 TMOD 寄存器 定时器 计数器工作方式寄存器 TMOD 字节地址 89H 不可进行位寻址 定时器 计数器工作方式寄存器 TMOD 的 8 位分为两组 高 4 位控制 T1 低 4 位控制 T0 TMOD 每一位的功能如下 GATE 门控位 GATE 0 仅由运行控制位 TRX X 0 1 1 来启动定时器 计数器运行 GATE 1 由运行控制位 TRX X 0 1 1 和外部中断引脚上的高电平共 同来启动定时器 计数器运行 C T 定时器模式和计数器模式选择位 C T 0 为定时器模式 C T 1 为计数器模式 M1 M0 工作方式选择位 M1 M0 的 4 中编码对应 4 种工作方式 对应关 系见表 5 1 所示 安徽工商职业学院 2013 届毕业设计 10 四 定时器 计数器的 4 种工作方式 定时器 计数器的 4 种工作方式下的逻辑结构如表 5 1 所示 M1M2 工作方式 00 方式 0 为 13 位定时器 计数器 01 方式 1 为 16 位定时器 计数器 10 方式 2 为初值自动重装的 8 位定时器 计数器 11 方式 3 仅 T0 有效 将 T0 分为两个 8 位定时器 计数器 表 5 1 1 方式 0 定时器 计数器的工作方式 0 称为 13 位定时器 计数器的 它由 TLX 的低 5 位和 TLX 的 8 位构成 13 位的计数器 此时 TLX 的高 3 位未使用 改工作方式 是为了和 48 系列单片机兼容而设计的一种工作方式 一般情况不使用方式 0 进 行定时 计数 方式 0 的控制方式与方式 1 完全相同 下面重点介绍方式 1 的 控制方式 2 方式 1 定时器 计数器的工作方式 1 称为 16 位定时器 计数器 它由 TLX 和 THX 构成 TLX 计数溢出向 THX 进位 THX 计数溢出置位 TCON 中溢出标志位 TFX GATE 位的状态定时器 计数器运行控制取决于 TRX 一个条件还是 TRX 和 INTX 引脚这两个条件 当 GATE 0 时 则只要 TRX 被置为 1 定时器 计数器即 被允许计数 定时器 计数器的计数控制仅由 TRX 的状态确定 TRX 1 计数 TRX 0 停止计数 当 GATE 1 时 定时器 计数器是否计数由 INTX 输入的电平 和 TRX 的状态共同确定 当 TRX 1 且 INTX 1 时 才允许定时器 计数器计数 定时器 计数器的计数控制由 TRX 和 INTX 两个条件控制 3 方式 2 定时器 计数器的工作方式 0 和方式 1 再计数溢出后 计数器的值为 0 基于单片机控制交通灯控制电路设计 11 需要通过程序重新装入计数初值 定时器 计数器的工作方式 1 称为初值自动重装的 8 位定时器 计数器 在该工作方式下 TLX 作为计数器 当 TLX 计数溢出时 在置 1 溢出标志 TFX 的同时 还自动的将 THX 中的常数送至 TLX 使 TLX 从该常数开始重新计数 这种工作方式可以省去用户软件中重装常数的程序 简化定时常数的计算方法 确定计数初值 可以相当精确地确定定时时间 4 方式 3 工作方式 3 仅对定时器 计数器 0 有效 在该工作方式之下 定时器 计 数器的 0 被拆成 2 个独立的定时器 计数器 TL0 TF1 TL0 使用 T0 的状态控 制 C T GATE TR0 INT0 而 TH0 被固定位一个 8 位定时器 不能作外部计 数方式 并使用定时器 计数器 1 的状态控制位 TR1 和 TF1 同时占用定时 器 T1 的中断源 此时 定时器 计数器 1 可设定为方式 0 方式 1 和方式 2 作为串行口的波特率发生器 五 定时器 计数器的编程 1 定时器 计数器的初始化 定时器 计数器的初始化编程包括以下几个部分 根据要求给定时器 计数器方式寄存器 TMOD 送一个方式控制字 以设 定定时器 计数器的工作方式 根据需要给 TH 和 TL 寄存器送初值 以确定需要的定时时间或计数的初值 根据需要给中断允许寄存器 IE 送中断控制字 以开放相应的中断和设 定中断优先级 给 TCON 寄存器送命令字以启动或禁止定时 计数器的运行 2 定时器 计数器初值的计算 计数器初值 设计算器的模值位 M 所需的计数值为 C 计数初值设定为 TC 则 TC M C M 等于 2 的 13 次方 16 次方 8 次方 定时器初值 设定时器的模值为 M 需要的定时时间为 T 定时器的初值设定为 TC 则 安徽工商职业学院 2013 届毕业设计 12 TC M T t M 等于 2 的 13 次方 16 次方 8 次方 第六章 主程序设计 一 系统程序流程图如图 6 1 所示 图 6 1 二 设计流程图如图 6 2 所示 参数初始化 显示子程序 中断处理 紧急中断子程序 芯片初始化后东西南北方向均亮红灯 5 秒 东西方向黄灯闪亮 5 秒 南北方向红灯亮 5 秒 东西方向红灯亮 20 秒 南北方向绿灯亮 20 秒 东西方向绿灯亮 25 秒 南北方向红灯亮 25 秒 东西方向红灯亮 5 秒 南北方向黄灯闪亮 5 秒 开始 基于单片机控制交通灯控制电路设计 13 图 6 2 三 程序的执行表达表 如表 6 3 所示 状态状态持续时间持续时间 S S东西 主干道 东西 主干道 南北 支干道 南北 支干道 红红黄黄绿绿红红黄黄绿绿 1 15S5S亮亮灭灭灭灭亮亮灭灭灭灭 2 225S25S灭灭灭灭亮亮亮亮灭灭灭灭 3 35S5S灭灭闪亮闪亮灭灭亮亮灭灭灭灭 4 425S25S亮亮灭灭灭灭灭灭灭灭亮亮 5 55S5S亮亮灭灭灭灭灭灭闪亮闪亮灭灭 6 6循环状态二循环状态二 表表 6 36 3 安徽工商职业学院 2013 届毕业设计 14 第七章 Proteus 仿真图及各单元电路 1 程序正常仿真中如图 7 2 所示 图 7 1 2 时钟震荡电路 时钟震荡电路为单片机提供基本时钟 在 MCS 51 系列单片机内部有一个高 增益反相放大器 其输入引脚为 XTAL1 其输出端引脚为 XTAL2 只要在 XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容 就可以构成一个稳定的自激励振荡 器如图 7 2 所示 图 7 2 基于单片机控制交通灯控制电路设计 15 3 复位电路 无论是在单片机刚开始接上电源时 还是在断电后或者发生故障后都要复 位 单片机复位是使 CPU 和系统中的其他功能部件都能恢复到一个确定的初始 状态 并从这个状态开始工作 例如复位后 PC 000H 使单片机从程序存储器 的第一个单元取指令执行 单片机复位的条件是 必须使 RST 第 9 引脚 加上两个机器周期以上的高电 平 复位电路如图 7 3 所示 图 7 3 4 紧急情况 外部中断 0 显示子程序 P 3 0 口 当出现突发交通状况时 必须使东西 南北方向都为红灯以便于交警处理 所以在设计中设置了外部中断 0 的显示子 程序 当 INT0 接地时就触发了外部中断 0 就执行紧急情况的子程序 LED ON 安徽工商职业学院 2013 届毕业设计 16 第八章 总结 此次课程设计历时一个月 在此期间查阅了出课本以外的很多资料 当然 了也包括对课本的全面复习 是我对这两年多以来所学的知识有了一个系统的 连贯 全面的复习 很多以前不太了解的知识都得到了进一步的理解和认知 通过这次长达一个月的电子产品课程设计 使我得到了一次用专业知识 专 业技能分析和解决问题全面系统锻炼的机会 使我在单片机的基本原理 单片 机应用系统开发过程 单片机控制过程以及在常用编程设计思路技巧 特别是 汇编语言 的掌握方面和 Proteus 程序仿真都向前迈了一大步 这件为我的成 长注入更大的活力 坚定了我步入社会的信心 由于本人的水平有限 设计中难免会有一些不合理的部分 系统的稳定性 还有待提高 最后 对在这个专周帮助我的所有同学和各位指导老师再次表示衷心的感谢 基于单片机控制交通灯控制电路设计 17 附录一 C 程序源代码 第一个状态 主干道 支干道均亮红灯 5S 第二个状态 主干道亮绿灯 30S 支干道亮红灯 第三个状态 主干道黄灯闪 3 秒转亮红灯 支干道亮红灯 3S 第四个状态 主干道亮红灯 支干道亮绿灯 25S 第五个状态 主干道亮红灯 支干道黄灯闪 3 次转亮红灯 3S 返回到第二个状态 11 0952M 晶振 include 头文件 include 头文件 define char unsigned char 宏定义 define int unsigned int 宏定义 sbit RED ZHU P1 0 sbit YELLOW ZHU P1 1 sbit GREEN ZHU P1 2 sbit RED ZHI P1 3 sbit YELLOW ZHI P1 4 sbit GREEN ZHI P1 5 int aa bai shi ge bb 定义变量 数码管显示 0 9 intcode table 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 子函数声明 void delay int z void delay0 int z void init int a void display int shi int ge void xtimer0 void init1 void init2 void init3 void init4 void init5 安徽工商职业学院 2013 届毕业设计 18 void xint1 void xint0 void LED ON void LED OFF 主函数 void main P0 0XFF P1 0 xFF P2 0 xFF EA 1 打开外部中断 EX0 1 允许外部中断 0 中断 IT0 0 INT0 为沿触发方式 init1 while 1 init2 第 2 个状态 init3 第 3 个状态 init4 第 4 个状态 init5 第 5 个状态 void init1 第一个状态 主干道 支干道均亮红灯 5S int temp temp 6 变量赋初值 TMOD 0 x01 定时器 0 工作于方式 1 TH0 0 x4c TL0 0 x00 定时器赋初值 EA 1 开外部中断 ET0 1 开定时中断 TR0 1 开定时器 0 while 1 RED ZHU 0 第一个状态主干道 支干道均亮红灯 5S 基于单片机控制交通灯控制电路设计 19 RED ZHI 0 GREEN ZHU 1 GREEN ZHI 1 YELLOW ZHU 1 YELLOW ZHI 1 if aa 10 定时 20 50MS 1S aa 0 定时完成一次后清 0 temp 变量自增 delay 10 if temp 250 定时 100S temp 6 变量清 0 break shi temp 100 10 显示十位 ge temp 10 显示个位 display ge shi void init2 第二个状态 主干道亮绿灯 30S 支干道亮红灯 int temp temp 31 变量赋初值 TMOD 0 x01 定时器 0 工作于方式 1 TH0 0 x4c TL0 0 x00 定时器赋初值 EA 1 开外部中断 ET0 1 开定时中断 TR0 1 开定时器 0 while 1 RED ZHU 1 RED ZHI 0 GREEN ZHU 0 GREEN ZHI 1 安徽工商职业学院 2013 届毕业设计 20 YELLOW ZHU 1 第二个状态 主干道亮绿灯 30S 支干道亮红灯 YELLOW ZHI 1 if aa 20 定时 20 50MS 1S aa 0 定时完成一次后清 0 temp 变量自增 if temp 4 定时 100S temp 30 变量清 0 break shi temp 100 10 显示十位 ge temp 10 显示个位 display ge shi void init3 第三个状态 主干道黄灯闪 3 次转亮红灯 支干道亮红灯 3S int temp temp 4 变量赋初值 TMOD 0 x01 定时器 0 工作于方式 1 TH0 0 x4c TL0 0 x00 定时器赋初值 EA 1 开外部中断 ET0 1 开定时中断 TR0 1 开定时器 0 while 1 RED ZHI 0 GREEN ZHU 1 YELLOW ZHU YELLOW ZHU if aa 20 定时 20 50MS 1S aa 0 定时完成一次后清 0 temp 变量自增 基于单片机控制交通灯控制电路设计 21 YELLOW ZHU YELLOW ZHU if temp 200 定时 100S temp 4 变量清 0 break shi temp 100 10 显示十位 ge temp 10 显示个位 display ge shi void init4 第四个状态 主干道亮红灯 支干道亮绿灯 25S int temp temp 26 变量赋初值 TMOD 0 x01 定时器 0 工作于方式 1 TH0 0 x4c TL0 0 x00 定时器赋初值 EA 1 开外部中断 ET0 1 开定时中断 TR0 1 开定时器 0 while 1 RED ZHU 0 RED ZHI 1 YELLOW ZHU 1 第一个状态主干道 支干道均亮红灯 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (正式版)DB15∕T 3404.3-2024 《全民所有自然资源资产清查技术指南 第3部分:森林资源》
- 鲁滨逊漂流记的人物塑造:外国文学课程教案
- (正式版)DB15∕T 3364-2024 《沙蒿籽多糖含量测定分光光度法》
- 电器学考试题及答案
- 电解工考试题及答案
- 电大申论考试题及答案
- 灯光专业考试题及答案
- (正式版)DB15∕T 3270-2023 《北苍术生态种植技术规程》
- 德国机械考试题及答案
- 报考护理学面试题库及答案
- 发展汉语-初级读写-第一课-你好
- 韩国《寄生虫》电影鉴赏解读
- 人教版四年级数学上册《课堂作业设计》全套
- TTT系列课程-结构化思考力
- Cpk 计算标准模板
- 封起DE日子博文 2006
- 锂离子电池生产安全讲座
- 眼科学-眼科检查(课件)
- 产品碳足迹课件
- 部编人教版六年级道德与法治上册全册教学课件
- 美国地图高清中文版
评论
0/150
提交评论