




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2013 届本科毕业设计 一号黑体居中 交通指示灯自动控制的实现 二号黑体居中 院 系 名 称物理与电子信息学院 小三号黑体 专 业 名 称电子信息科学与技术 小三号黑体 学 生 姓 名张三丰 小三号黑体 学 号090524111 小三号 Times New Roman 指 导 教 师何大壮教授 小三号黑体 完 成 时 间2013 年 5 月 8 日 小三号黑体 摘要 近年来随着科技的飞速发展 单片机的应用正在不断地走向深入 同时带动 传统控制检测日新月异更新 在实时检测和自动控制的单片机应用系统中 单片 机往往是作为一个核心部件来使用 仅单片机方面知识是不够的 还应根据具体 硬件结构 以及针对具体应用对象特点的软件结合 加以完善 分析了现代交通 控制与现代管理的现状 结合城乡交通的实际情况阐述了交通控制灯的工作原理 本系统采用 MCS 51 系列单片机 Intel8031 和可编程并行 I O 接口芯片 8255A 为 中心器件来设计交通灯控制器 实现了能根据实际车流量通过 8031 芯片的 P1 口 设置红 绿灯燃亮时间的功能 为了系统稳定可靠采用了 MAX629 看门狗 芯片 避免了系统因为死机而停止工作的情况发生 显示时间直接通过 8255 的 PA PB 口输出 交通灯信号通过 PC 口输出 交通灯的点亮采用 VT 双向晶闸管来控制 直接采用 220V 交流电源驱动 系统实用性强 操作简单 扩展性强 关键词 单片机 十字路口交通信号灯 自动控制 设计 性价比 ABSTRACT In recent years with the rapid development of science and technology the application of SCM is continuously to further traditional control test rapidly updated In real time detection and automatic control of single chip microcomputer application system is often used as a core component knowledge is not only the MCU still should according to specific hardware structure and the view of the specific application software the object characteristics Modern traffic control and modern management combining the current situation of urban traffic control expounded the working principle of traffic lights This system USES MCS 51 series microcontroller Intel8031 and programmable parallel the I O devices for the center 8255A interface chip to design the controller lights can according to actual traffic through the mouth of the chip set 8031 red green P1 brighten the function of time In order to system is stable and reliable MAX629 adopted watch dog chips to avoid the system crashed and stop work because of the situation Show time 8255 directly through the PA PB mouth output Traffic signal output by PC mouth The lights lit using VT bidirectional thyristor controlled by 220V power direct communication system driver simple operation and extensible Keyword SCM intersection traffic lights automatic control the design the price 目 录 摘要 I ABSTRACT II 绪论 1 第 1 章 单片机概单片机概 述述 2 第 2 章 芯片的选择与简芯片的选择与简 介介 4 2 1 MCS 51 芯片简介 4 2 2 8255 芯片简介 7 2 3 其他器件 8 第 3 章 控制器硬件系统设控制器硬件系统设 计计 9 3 1 交通管理的方案论证 9 3 2 系统硬件设计 9 3 3 交通灯的控制线路 10 3 4 交通灯特种车优先通过 10 第4 4 章控制器的软件设章控制器的软件设 计计 13 4 1 每秒钟的设定 13 4 2 计数器硬件延时 13 4 3 软件延时 14 4 4 时间及信号灯的显示 14 4 5 特种车优先通过设定 15 第 5 章程序设程序设 计计 17 5 1 程序流程 17 5 2 程序源 18 5 3 实验程序原代码 21 结束语 24 致谢 25 参考文献 26 附录 27 洛阳师范学院毕业设计 1 绪论 红绿灯又称信号灯 1868 年 12 月 10 日 信号灯家族的第一个成员就在伦敦 议会大厦的广场上诞生 由当时英国机械师德 哈特设计 制造的灯柱高 7 米 身上挂着一盏红 绿两色的提灯 煤气交通信号灯 这是城市街道的第一盏信号 灯 红绿灯安装在各个道口上 已经成为疏导交通车辆最常见和最有效的手段 信号灯的出现 使交通得以有效管制 对于疏导交通流量 提高道路通行能力 减少交通事故有明显效果 1968 年 联合国 道路交通和道路标志信号协定 对 各种信号灯的含义作了规定 绿灯是通行信号 面对绿灯的车辆可以直行 左转 弯和右转弯 除非另一种标志禁止某一种转向 左右转弯车辆都必须让合法地正 在路口内行驶的车辆和过人行横道的行人优先通行 红灯是禁行信号 面对红灯 的车辆必须在交叉路口的停车线后停车 黄灯是警告信号 面对黄灯的车辆不能 越过停车线 但车辆已十分接近停车线而不能安全停车时可以进入交叉路口 单片机的发展在我国是有着广阔前景的 当然对单片机实验装置的研究和开 发 在我国以及国外变得越来越重视 然而 对单片机实验装置的研究主要是对 单片机的研究 研究和开发功能齐全 功耗低 易于读写操作的单片机系列 把 单片机的新型研究成果应用于单片机实验装置的开发和研究 使得单片机实验装 置更加完善 现在可以说单片机是百花齐放 百家争鸣的时期 世界上各大芯片制造公司 都推出了自己的单片机 从 8 位 16 位到 32 位 数不胜数 应有尽有 有与主 流 C51 系列兼容的 也有不兼容的 但它们各具特色 互成互补 为单片机的应 用提供广阔的天地 本系统由单片机系统 键盘 LED 显示 交通灯演示系统组成 系统包括人 行道 左转 右转 以及基本的交通灯的功能 系统除基本交通灯功能外 还具 有倒计时 时间设置 紧急情况处理 分时段调整信号灯的点亮时间以及根据具 体情况手动控制等功能 洛阳师范学院毕业设计 2 第 1 章 单片机概述 当前 在世界范围内 一个以微电子技术 计算机和通信技术为先导的 以 信息技术和信息产业为中心的信息革命方兴未艾 而计算机技术怎样与实际应用 更有效的结合并有效的发挥其作用是科学界最热门的话题 也是当今计算机应用 中空前活跃的领域 本文主要从单片机的应用上来实现十字路口交通灯智能化的 管理 用以控制过往车辆的正常运作 单片机也被称为微控制器 Microcontroller 是因为它最早被用在工业控 制领域 单片机由芯片内仅有 CPU 的专用处理器发展而来 最早的设计理念是通 过将大量外围设备和 CPU 集成在一个芯片中 使计算机系统更小 更容易集成进 复杂的而对体积要求严格的控制设备当中 INTEL 的 Z80 是最早按照这种思想设 计出的处理器 从此以后 单片机和专用处理器的发展便分道扬镳 早期的单片机都是 8 位或 4 位的 其中最成功的是 INTEL 的 8031 因为简单 可靠而性能不错获得了很大的好评 此后在 8031 上发展出了 MCS51 系列单片机 系统 基于这一系统的单片机系统直到现在还在广泛使用 随着工业控制领域要 求的提高 开始出现了 16 位单片机 但因为性价比不理想并未得到很广泛的应 用 90 年代后随着消费电子产品大发展 单片机技术得到了巨大提高 随着 INTEL i960 系列特别是后来的 ARM 系列的广泛应用 32 位单片机迅速取代 16 位 单片机的高端地位 并且进入主流市场 而传统的 8 位单片机的性能也得到了飞 速提高 处理能力比起 80 年代提高了数百倍 目前 高端的 32 位单片机主频已 经超过 300MHz 性能直追 90 年代中期的专用处理器 而普通的型号出厂价格跌 落至 1 美元 最高端的型号也只有 10 美元 当代单片机系统已经不再只在裸机 环境下开发和使用 大量专用的嵌入式操作系统被广泛应用在全系列的单片机上 而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的 Windows 和 Linux 操作系统 通常 单片机由单块集成电路芯片构成 内部包含有计算机的基本功能部件 中央处理器 存储器和 I O 接口电路等 因此 单片机只需要和适当的软件及外 部设备相结合 便可成为一个单片机控制系统 目前单片机正朝着高性能和多品种方向发展 它们的 CPU 功能在增强 内部 资源在增多 引角的多功能化 以及低电压低功耗 十字路口交通指示灯是单片 洛阳师范学院毕业设计 3 机的用途之一 从最早的红 绿两种颜色到红 黄 绿三色还有专用人行道指示 在本设计里用到的 8051 单片机以及它的外部扩展器件都是单片机的基本器件 单片机现代电子技术应用中的主流技术 特别是在工业和民用的独立电子系统中 单片机起着系统核心的作用 由于单片机系统特有的固件特性 使单片机在 SOC 技术中占有重要的地位 科技的进步需要技术不断的提升 一块大而复杂的模 拟电路花费了您巨大的精力 繁多的元器件增加了您的成本 而现在只需要一 块几厘米见方的单片机 写入简单的程序 就可以使您以前的电路简单很多 相 信您在使用并掌握了单片机技术后 不管在您今后开发或是工作上 一定会带来 意想不到的惊喜 洛阳师范学院毕业设计 4 第 2 章 芯片的选择与简介 2 1 MCS 51 芯片简介 AT89S51 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS8 位微 处理器 俗称单片机 该器件采用 ATMEL 高密度非易失存储器制造技术制造 与 工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存 储器组合在单个芯片中 ATMEL 的 AT89S51 是一种高效微控制器 为很多嵌入式 控制系统提供了一种灵活性高且价廉的方案 8051 单片机的外形采用 40 条引脚 双列直插封装 DIP 或 LCC QFP 封装 DIP 的引脚和逻辑符号如下图 2 1 所示 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 10 May 2006Sheet of File C PROGRAM FILES DESIGN EXPLORER 99 SE EXAMPLES MyDesign ddbDrawn By 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40P1 0 P1 1 P1 2 P1 3 P1 4 P1 5 P1 6 P1 7 P0 7 P0 6 P0 5 P0 4 P0 3 P0 2 P0 1 P0 0 P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7 VCC GND XTAL1 XTAL2 RD P3 7 RW P3 6 T1 P3 5 T0 P3 4 INT0 P3 2 INT1 P3 3 RXD P3 0 TXD P3 1 RESET Vpd EA Vpp ALE PROG PSEN 8051 10 11 12 13 14 15 16 17 18 19 20 40 29 30 31 9 P1 P2 P0 8051 RXD TXD INT0 INT1 T0 T1 WR RD EA Vpp RST Vpd ALE PROG PSEN VCC GND XTAL1 XTAL2 图 2 1 8051 管脚图 2 1 1 主要特性 1 与 MCS 51 兼容 洛阳师范学院毕业设计 5 2 4K 字节可编程闪烁存储器 寿命 1000 写 擦循环 数据保留时间 10 年 3 全静态工作 0Hz 24Hz 4 三级程序存储器锁定 5 128 8 位内部 RAM 6 32 可编程 I O 线 7 两个 16 位定时器 计数器 8 5 个中断源 9 可编程串行通道 10 低功耗的闲置和掉电模式 11 片内振荡器和时钟电路 2 1 2 管脚说明 1 VCC 供电电压 2 GND 接地 3 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每脚可吸收 8TTL 门电流 当 P1 口的管脚第一次写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储 器 它可以被定义为数据 地址的第八位 在 FIASH 编程时 P0 口作为原码输入 口 当 FIASH 进行校验时 P0 输出原码 此时 P0 外部必须被拉高 4 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接 收输出 4TTL 门电流 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口 被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程 和校验时 P1 口作为第八位地址接收 5 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚被内部上拉电阻拉高 且作 为输入 并因此作为输入时 P2 口的管脚被外部拉低 将输出电流 这是由于内 部上拉的缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存 取时 P2 口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当 对外部八位地址数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号 6 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输 洛阳师范学院毕业设计 6 入 由于外部下拉为低电平 P3 口将输出电流 ILL 这是由于上拉的缘故 2 1 3 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置为 片内振荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应不接 有余输入至内部时钟信号要通过一个二分频触发器 因此对外部 时钟信号的脉宽无任何要求 但必须保证脉冲的高低电平要求的宽度 2 1 4 芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合 并保持 ALE 管脚处于低电平 10ms 来完成 在芯片擦操作中 代码阵列全被写 1 且在 任何非空存储字节被重复编程以前 该操作必须被执行 此外 AT89C51 设有稳态逻辑 可以在低到零频率的条件下静态逻辑 支持 两种软件可选的掉电模式 在闲置模式下 CPU 停止工作 但 RAM 定时器 计 数器 串口和中断系统仍在工作 在掉电模式下 保存 RAM 的内容并且冻结振荡 器 禁止所用其他芯片功能 直到下一个硬件复位为止 2 1 5 定时器 计数器方式控制寄存器 TMOD 特殊功能寄存器 TMOD 用来确定定时器 计数器 0 和 1 的工作方式 其低 4 位 用于定时器 计数器 0 高 4 位用于定时器 计数器 1 TMOD 的格式如下 D7 D6 D5 D4 D3 D2 D1 D0 GATE C TM1M0GATEC TM1M0 1 定时器 计数器功能选择位 C T C T 1 为计数器方式 C T 0 为定 时器方式 2 定时器 计数器工作方式选择位 M0 M1 定时器 计数器 4 种工作方式的选 择由 M1 M0 的值决定 见下表 2 1 所示 M1 M0 工作方式 0 0方式 013 位定时器 计数器 0 1方式 116 位定时器 计数器 1 0 方式 2具有自动重装初值的 8 位定时器 计数器 1 0方式 3定时器 计数器 0 分为两个 8 位定时器 计数 洛阳师范学院毕业设计 7 器 定时器 计数器在此无意义 表 2 1 定时器 计数器工作方式 3 门控制位 GATE 如果 GATE 1 定时器 计数器 0 的工作受芯片引脚 INT0 P3 2 控制 定时器 计数器 1 的工作受芯片引脚 INT1 P3 3 控制 如 果 GATE 0 定时器 计数器的工作与引脚 INT0 INT1 无关 复位时 GATE 0 2 1 5 51 单片机的串行接口结构 8051 串行接口是一个可编程的全双工串行通讯接口 它可用作异步通讯方式 UART 与串行传送信息的外部设备相连接 或用于通过标准异步通讯协议进 行全双工的 8051 多机系统也可以通过同步方式 使用 TTL 或 CMOS 移位寄存器来 扩充 I O 口 8051 单片机通过引脚 RXD P3 0 串行数据接收端 和引脚 TXD P3 1 串行数据发送端 与外界通讯 SBUF 是串行口缓冲寄存器 包括发 送寄存器和接收寄存器 它们有相同名字和地址空间 但不会出现冲突 因为它 们两个一个只能被 CPU 读出数据 一个只能被 CPU 写入数据 串行口控制寄存器 SCON 它用于定义串行口的工作方式及实施接收和发送控 制 字节地址为 98H 其各位定义如下 D7D6D5D4D3D2D1D0 SM0SM1SM2SM3SM4SM5SM6SM7 SM0 SM1 串行口工作方式选择位 其定义如表 2 2 所示 SM0 SM1工作方式功能描述波特率 0 0方式 08 位移位寄存器Fose 12 0 1方式 110 位 UART可变 1 0方式 211 位 UARTFose 64 或 Fose 32 1 1方式 311 位 UART可变 表 2 2 串行口工作方式 2 2 8255 芯片简介 8255 可编程并行接口芯片简介 8255 可编程并行接口芯片有三个输入输出端 口 即 A 口 B 口和 C 口 对应于引脚 PA7 PA0 PB7 PB0 和 PC7 PC0 其内 洛阳师范学院毕业设计 8 部还有一个控制寄存器 即控制口 通常 A 口 B 口作为输入输出的数据端口 C 口作为控制或状态信息的端口 它在方式字的控制下 可以分成 4 位的端口 每个端口包含一个 4 位锁存器 它们分别与端口 A 配合使用 可以用作控制 信号输出或作为状态信号输入 8255 可编程并行接口芯片工作方式说明 1 方式 0 基本输入 输出方式 适用于三个端口中的任何一个 每一个 端口都可以用作输入或输出 输出可被锁存 输入不能锁存 2 方式 1 选通输入 输出方式 这时 A 口或 B 口的 8 位外设线用作输入 或输出 C 口的 4 条线中三条用作数据传输的联络信号和中断请求信号 3 方式 2 双向总线方式 只有 A 口具备双向总线方式 8 位外设线用 作输入或输出 此时 C 口的 5 条线用作通讯联络信号和中断请求信号 2 3 其他器件 数共阴极的七段数码管 如右图 2 2 图 2 2 七段数码管 VT 为双向晶闸管 当门极为高电平时晶闸管导通 该支路指示灯亮 当门极 为低电平时晶闸管关断 该支路指示灯灭 如下图 2 3 图 2 3 双向晶闸管 洛阳师范学院毕业设计 9 第 3 章 控制器硬件系统设计 3 1 交通管理的方案论证 A B 两干道交于一个十字路口 各干道有一组红 黄 绿三色的指示灯 指 挥车辆和行人安全通行 红灯亮禁止通行 绿灯亮允许通行 黄灯亮提示人们注 意红 绿灯的状态即将切换 且黄灯燃亮时间为 A B 两干道的公共停车时间 设 A 道比 B 道的车流量大 指示灯燃亮的方案如表 3 1 表 3 1 指示灯燃亮的方案 此表说明 1 当为黄灯时 A B 两道同时为黄灯 以提示行人或车辆下一个灯色即 将到来时间 3 秒 2 当 A 道为红灯 A 道车辆禁止通行 A 道行人可通过 B 道为绿灯 B 道车车辆可通行 B 道行人禁止通行 3 当 A 道绿灯 A 道车辆通行 B 道为红灯 B 道车辆禁止通过 行 人通行 时间为 80 秒 A 道车流大 通行时间长 360380360 A 道黄灯亮红灯亮黄灯亮绿灯亮黄灯亮红灯亮 B 道黄灯亮绿灯亮黄灯亮红灯亮黄灯亮绿灯亮 洛阳师范学院毕业设计 10 4 这样如上表的时间和红 绿 黄出现的顺序依次出现这样行人和车 辆就能安全畅通的通行 5 此表可根据车流量动态设定 3 2 系统硬件设计 3 2 1 8051 并行口的扩展 8051 虽然有 4 个 8 位 I O 端口 但真正能提供借用的只有 P1口 因为 P2 和 P0 口通常用于传送外部传送地址和数据 P3 口也有它的第二功能 因此 8031 通常 需要扩展 由于我们用外输出时间时 时间的个位 十位 信号灯的显示都要用 到一个 I O 端口 显然 8031 的端口是不够 需要扩展 3 2 2 系统工作原理 1 开关键盘输入交通灯初始时间 通过 8051 单片机 P1 输入到系统 2 由 8051 单片机的定时器每秒钟通过 P0口向 8255 的数据口送信息 由 8255 的 PC 口显示红 绿 黄灯的燃亮情况 由 8255 的 PA PB口显示每个灯的燃亮时 间 3 8051 通过 设置 各个信号等的燃亮时间 通过 8051 设置 黄 绿 红 时间依次为 3 秒 60 秒 3 秒 80 秒 3 秒循环由 8051 的 P0 口向 8255 的数据 口输出 4 通过 8051 单片机的 P3 0位来控制系统是工作或设置初值 当 牌位 0 就对 系统进行初始化 为 1 系统就开始工作 5 8255 A口用于输出时间的个位 B口用于输出时间的十位 由 747S07 驱动芯片驱动 而 C 口用于输出各个灯的情况 它的末段连接双向晶闸管采 用 220V 交流电压驱动 6 在交通控制程序中加入看门狗指令 当系统出现异常看门狗将发出溢出 中断 通过专用端口输入到 MAX692 看门狗芯片的 WDI 引角引起 RESET 复位信号 复位系统 3 3 交通灯的控制线路 见附录 洛阳师范学院毕业设计 11 3 4 交通灯特种车优先通过 正常情况下 东西南北十字路口的按要求正常行驶 一旦特种车 救护车 消防车 贵宾车等 到达 则给外部中断 INT0 P3 2 端一个负跳变 发出 中断申请 条件满足后转中断处理程序 使东西南北四个方向灯全 红 一 切车停止 只有特种车可以畅通无阻地通过 若干时间后各种车辆回复正常运 行 特种车优先通过的交通灯程序框图如图 3 2 a b 所示 中断入口 有关寄存器内容进栈 红灯全亮 黄绿灯全 灭 延时若干时 恢复原显示状态 有关寄存器内容出栈 外部中断标志位置 中断返回 洛阳师范学院毕业设计 12 a 入口 初始化 红灯全亮 延时 南北红灯亮 东西绿灯亮 延时 东西绿灯灭 南北红灯亮 8 R2 东西黄灯亮 南北红灯亮 延时 东西黄灯灭 南北红灯亮 延时 R2 1 0 红灯全亮 黄 绿灯全灭 延时 南北绿灯亮 东西红灯 亮 延时 南北黄灯亮 东西红灯亮 延时 南北黄灯灭 东西红灯亮 延时 R2 1 0 红灯全亮 黄绿灯全灭 设置 273 端口地址 8 R2 延时 b 洛阳师范学院毕业设计 13 图 3 2 a 中断服务程序框图 b 主程序图 第 4 章 控制器的软件设计 4 1 每秒钟的设定 延时方法可以有两种一种是利用 MCS 51 内部定时器产生溢出中断来确定 1 秒的时间 另一种是采用软延时的方法 1 设置 秒的方法 我们采用在主程序中设定一个初值为 20 的软件计数器和使 T0 定时 50 毫 秒 这样每当 T0 到 50 毫秒时 CPU 就响应它的溢出中断请求 进入他的中断服务 子程序 在中断服务子程序中 CPU 先使软件计数器减 然后判断它是否为零 为零表示 秒已到可以返回到输出时间显示程序 2 延时的方法 通过软件延时和定时器延时两种方式来完成 软件延时可先编写一段延时一 秒钟的字程序 然后主程序中以及复用以实现以 60 秒钟和 2 秒钟的延时 并送 出信号去控制相应的交通灯 定时器延时可通过单片机内部定时器 T0 产生中断 来实现计时 T0 工作在定时器工作方式 1 每 100 秒产生一次中断 然后在中断 服务程序实现 60 秒和 2 秒的延时 并送出信号去控制相应的交通灯指示信号 紧急切换可采用中断或查询按钮两种方式实现 4 2 计数器硬件延时 相应程序代码 主程序 定时器需定时 50 毫秒 故 工作于方式 初值 TC M T T T计数 计数 2 50ms 1us 15536 3CBOH ORG 1000H START MOV TMOD 01H 令 T0 为定时器方式 MOV TH0 3CH 装入定时器初值 MOV TL0 BOH 洛阳师范学院毕业设计 14 MOV IE 82H 开 T0 中断 SEBT TR0 启动 T0 计数器 MOV RO 14H 软件计数器赋初值 LOOP SJMP 等待中断 中断服务子程序 ORG 00BH AJMP BRTO ORG 00BH BRTO DJNZ R0 NEXT AJMP TIME 跳转到时间及信号灯显示子程序 DJNZ MOV R0 14H 恢复 R0 值 MOV TH0 3CH 重装入定时器初值 MOV TL0 BOH MOV IE 82H RET1 END 4 3 软件延时 MCS 51 的工作频率为 2 12MHZ 我们选用的 8051 单片机的工作频率为 6MHZ 机器周期与主频有关 机器周期是主频的 12 倍 所以一个机器周期的时 间为 12 1 6M 2us 我们可以知道具体每条指令的周期数 这样我们就可以 通过指令的执行条数来确定 1 秒的时间 具体的延时程序分析 DELAY MOV R4 08H 延时 1 秒子程序 DE2 LCALL DELAY1 DJNZ R4 DE2 RET DELAY1 MOV R6 0 延时 125ms 子程序 MOV R5 0 DE1 DJNZ R5 DJNZ R6 DE1 RET MOV RN DATA 字节数数为 2 机器周期数为 1 洛阳师范学院毕业设计 15 所以此指令的执行时间为 2ms DELAY1 为一个双重循坏 循环次数为 256 256 65536 所以延时时间 65536 2 131072us 约为 125us DELAY R4 设置的初值为 8 主延时程序循环 8 次 所以 125us 8 1 秒 由于单片机的运行速度很快其他的指令执行时间可以忽略不计 4 4 时间及信号灯的显示 4 4 1 显示原理 当定时器定时为 1 秒 时程序跳转到时间显示及信号灯显示子程序 它将依 次显示信号灯时间 同时一直显示信号灯的颜色 这时在返回定时子程序定时 一秒 在显示黄灯的下一个时间 这样依次把所有的灯色的时间显示完后在重新 给时间计数器赋初值 重新进入循环 4 4 2 8255 输出信号的放大 要使行人能看见信号灯的情况 必须把 8255 输出的信号进行放大 这里我 们用 VT 为双向晶闸管 当门极为高电平时晶闸管导通 该支路指示灯亮 当门 极为低电平时关断 该支路指示灯灭 我们用连接 7 段数码管的方法来连接晶闸管 其中 PA0 PB0 a PA1 PB1 b PA2 PB2 c PA3 PB3 d PA4 PB4 e PA5 PB5 f PA6 PB6 g PA7 PB7 SP 接地 显示数值dop g f e d c b a 驱动代码 16 进制 00 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 006H 2 0 1 0 1 1 0 1 15BH 3 0 1 0 0 1 1 1 14FH 4 0 1 1 0 0 1 1 066H 5 0 1 1 0 1 1 0 06DH 6 0 1 1 1 1 1 0 07DH 7 0 0 0 0 0 1 1 107H 8 0 1 1 1 1 1 1 17FH 表 4 1 驱动代码表 洛阳师范学院毕业设计 16 4 5 特种车优先通过设定 4 5 1 主程序结构 ORG 0000H LJMP MAIN ORG 0003H LJMP INT ORG 0200H MAIN SETB EA INT0 中断设置 SETB EX0 SETB IT0 正常行驶程序 中断服务程序结构 ORG 1000H INT PUSH ACC 保护现场 PUSH PSW 四个方向红灯全亮 特种车通过延时若干秒 POP PSW 恢复现场 POP ACC RET1 中断返回 洛阳师范学院毕业设计 17 第 5 章程序设计 5 1 程序流程 图 5 1 程序流程 读 p3 口 读 PB 口送到 R3 清高 4 位 为 0 读 PB 口送 R2 同时清高四位 为 0 黄灯燃亮状态 红灯燃亮状态 黄灯燃亮状态 绿灯燃亮状态 Y N Y YN N Y YN N YN PB3 7 0 P3 6 0 R4 0 R5 0 R4 0 R6 0 洛阳师范学院毕业设计 18 5 2 程序源代码 R4 存放黄灯时间 3 03H 此时间可以动态设定 R5 存放红灯时间 60 3CH R6 存放绿灯时间 80 50H PC0 显示黄灯信号 PC1 显示红灯信号 PC2 显示黄灯信号 8255 工作于方式 0 8255 PA PB PC 口输出 PC 控制字为 10000000B 80H ORG 0000H LJMP MAIN ORG 0100H MAIN MOV R1 03H 初始化 8255 MOV A 80H MOVX R1 A AGAIN MOV P3 80H 设置初值 MOV A P3 JB ACC 7 NEXT0 AGAIN1 MOV P3 40H MOV A P3 JB ACC 6 RED MOV P3 0FH MOV A P3 ANL A 0FH MOV R3 A AJMP AGAIN1 RED MOV P3 0FH MOV A P3 ANL A 0FH 洛阳师范学院毕业设计 19 MOV R2 A AJMP AGAIN NEXT0 MOV R1 03H NEXT1 MOV DPTR TAB 显示黄灯个位 MOV A R1 MOVC A A DPTR MOV R1 00H MOVX R1 A MOV R1 O MOV DPTR TAB 显示黄灯十位 MOV A R0 MOVC A A DPTR MOV R1 01H MOVX R1 A MOV DPTR 0C62H 显示黄灯信号 MOV A 00H LCALL 0F4E0H ACALL DELAY 延时 1 秒 DJNZ R0 NEXT1 MOV A R3 MOV R0 A NEXT2 MOV DPTR TAB 显示红灯个位 MOV A R0 MOVC A A DPTR MOV R1 00H MOVX R1 A MOV DPTR TAB 显示红灯十位 MOV A R0 MOVC A A DPTR MOV R1 01H MOV A R0 MOVX R1 R0 MOV R1 02H 显示红灯信号 洛阳师范学院毕业设计 20 MOV A 02H MOVX R1 A ACALL DELAY 延时 1 秒 DJNZ R0 NEXT2 MOV A R2 MOV R0 A NEXT3 MOV DPTR TAB 显示绿灯个位 MOV A R0 MOVC A A DPTR MOV R1 00H MOVX R1 R0 MOV DPTR TAB 显示绿灯十位 MOV A R0 MOVC A A DPTR MOV R1 01H MOV A R0 MOVX R1 R0 MOV R1 02H 显示绿灯信号 MOV A 02H MOVX R1 A ACALL DELAY 延时 1 秒 DJNZ R0 NEXT3 AJMP NEXT0 DELAY MOV R4 08H 延时 1 秒子程序 DE2 LCALL DELAY1 DJNZ R4 DE2 RET DELAY1 MOV R6 0 MOV R5 0 DE1 DJNZ R5 DJNZ R6 DE1 RET TAB DB 洛阳师范学院毕业设计 21 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 7CH 39H 5EH 79H 71H 驱动代码表 END 5 3 实验程序原代码 利用 P1 口输入开关量 ORG 0000H LJMP MAIN ORG 0100H MAIN MOV DPTR 0C63H MOV A 82H LCALL 0F4E0H AGAIN MOV P1 80H MOV A P1 JB ACC 7 NEXT0 AGAIN1 MOV P1 40H MOV A P1 JB ACC 6 RED MOV P1 0FH MOV A P1 ANL A 0FH MOV R3 A AJMP AGAIN1 RED MOV P1 0FH MOV A P1 ANL A 0FH MOV R2 A AJMP AGAIN NEXT0 MOV R0 03H NEXT1 MOV DPTR TAB MOV A R0 MOVC A A DPTR 洛阳师范学院毕业设计 22 MOV DPTR 0C60H LCALL 0F4E0H MOV DPTR 0C62H MOV A 00H LCALL 0F4E0H ACALL DELAY DJNZ R0 NEXT MOV A R3 MOV R0 A NEXT2 MOV DPTR TAB MOV A R0 MOVC A A DPTR MOV DPTR 0C60H LCALL 0F4E0H MOV DPTR 0C62H MOV A 02H LCALL 0F4E0H ACALL DELAY DJNZ R0 NEXT2 MOV A R2 MOV R0 A NEXT3 MOV DPTR TAB MOV A R0 MOVC A A DPTR MOV DPTR 0C60H LCALL 0F4E0H MOV DPTR 0C62H MOV A 04H LCALL 0F4E0H ACALL DELAY DJNZ R0 NEXT3 AJMP NEXT0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老人三力测试题目及答案
- 安庆市2024-2025学年七年级下学期语文期中测试试卷
- 2016年1月国开电大法律事务专科《行政法与行政诉讼法》期末纸质考试试题及答案
- 安徽省合肥市肥西县2024-2025学年高二上学期第一次月考数学试题含参考答案
- 2025 年小升初北京市初一新生分班考试英语试卷(带答案解析)-(外研版)
- 2025年央视《开学第一课》观后感学习心得(十篇)
- 2025年高中生期末学习总结8篇
- 社区消防基础知识培训课件
- 公司招聘合同范本
- 申请房屋抵押合同范本
- 美发服务礼仪培训课件
- 康复诊疗指南与规范
- 人教版小学一至六年级英语单词汇总表
- 北京客运从业资格证考试
- 2019人教版高中英语必修三单词表带音标
- 一例臀部巨大脓肿切开引流患者的个案护理汇报课件
- JCT2199-2013 泡沫混凝土用泡沫剂
- 创业的励志格言80句
- 加油站主要生产设备清单
- 初中英语2022版新课程标准测试卷及答案
- 《货物运输实务》课件-铁路货物运输
评论
0/150
提交评论