交通灯控制器设计方案-职业学院毕业论文_第1页
交通灯控制器设计方案-职业学院毕业论文_第2页
交通灯控制器设计方案-职业学院毕业论文_第3页
交通灯控制器设计方案-职业学院毕业论文_第4页
交通灯控制器设计方案-职业学院毕业论文_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

德州科技职业学院青岛校区 2006 级毕业论文 1 交通灯控制器设计方案 摘摘要 要 我国现行交通灯多为单灯多向式和单灯单向式 其最多车辆同行方向数仅为 10 且其中还存在交叉问题 但若将交通灯的安装位置 交叉路口的结构做一下调整 则不仅可使车辆同行方向数成倍增加 而且可使我国道路车辆的调头问题达到进一步解 决 系统使用 EDA 技术设计了交通灯控制器 采用硬件描述语言 VHDL 按模块化方式进 行设计 然后进行编程 时序仿真等 运用分频器 信号控制器 时钟模块 软件基于 VHDL 语言实现了本设计的控制功能 实现数据的输入 输出 计算 显示及程序退出等 功能 整个系统结构简单 使用方便 功能齐全 精度高 具有一定的开发价值 关键词 关键词 交通灯控制器 分频器 信号控制器 时钟模块 EDA VHDL 一 一 绪论绪论 一一 课题背景课题背景 通信 信息 工业自动化的飞速发展 对相应的专用计算机系统与硬件设备提出 越来越高的要求 这些专用的计算机系统往往要具备稳定性强 实时性高 针对性强 等特点 而相应的硬件设备 必须有足够高的处理速度与相当的数据存储空间来适应这 些要求 随着系统功能的复杂化 处理器对应的控制程序越来越复杂 这就必然要嵌入 小型的操作系统来管理 协调多个任务 当今的嵌入式操作系统内核种类繁杂 各有所 长 基本都具备强实时性高稳定性和简洁 微型化的特点 这其中 还有一些优秀的 源码开放的内核 比如 uc OS 和 Linux 他们功能强大 至今已经被成功的移至在多种 MCU 之上 目前国内 Intel8051 系列还有非常大的市场 51 兼容单片机还在不断的发展 之中所以有必要使用一种 OS 来使 51 适应越来越复杂的任务 二二 设计任务设计任务 设计题目 AT89C51 系列单片机操作系统移用开发 本设计是通过逐步学习 C51 单 片机高级开发语言最终来完成一个模拟工程项目 十字路口交通信号灯控制器的 C51 程序设计 因此 学习 C51 语言本身和熟练使用其编译环境是一个最主要的目的 其次 就是进一步掌握单片机的定时计数器 中断 串行口等基础知识及其 C51 编程 在调试成功交通灯控制器的源程序以后 考虑到系统的实用性以及可扩展性 增加了 单片机与 PC 机串行通信和用户改变红 黄 绿灯亮灭时间的功能 德州科技职业学院青岛校区 2006 级毕业论文 2 三三 电路功能电路功能 该控制器能实现城市 十字 路口正常情况下以及特殊情况和紧急情况下交通信号 灯的模拟控制 1 1 在十字路口东西南北各设置红 黄 绿三种信号灯 如图 1 所示 正常情况下 东西 南北方向轮流放行 当东西方向 A 线 放行 南北方向 B 线 禁行时 东西方向 A 线 绿灯亮 25 秒 然后黄灯亮 5 秒 南北方向 B 线 红灯亮 30 秒 当南北方向 B 线 放 行 东西方向 A 线 禁行时 南北方向 B 线 绿灯亮 25 秒 然后黄灯亮 5 秒 东西方向 A 线 红灯亮 30 秒 如此循环 实现交通灯定时控制 2 2 有急救车优先通过功能 当有急救车到达时 路口的信号灯全部变红灯 以便 急救车通过 急救车的通行时间为 10 秒 急救车过后 交通灯恢复先前状态 3 3 交通灯在红 绿灯交替点亮中 用两个数码管显示点亮的灯还能持续的时间 二 实现方案二 实现方案 一 电路图 一 电路图 交通灯控制电路的核心元件采用单片机芯片 AT89C51 其内部带有 4KB 的 ROM 无 须扩展存储器 信号灯的控制由单片机的 P1 0 P1 5 控制 6 只信号灯以共阴极方式连接 当 P1 口 输出为高电平时 信号灯点亮 为实现上述控制要求 P1 口共输出四种控制码 如表 1 所示 表 1 交通灯信号控制码 空空B 道绿灯B 道黄灯B 道红灯A道绿灯A道黄灯A 道红灯控 制 码P1 7P1 6P1 5P1 4P1 3P1 2P1 1P1 0状态说明 000011000CH A 道放行 B 道禁止 000010100AH A 道警告 B 道禁止 0010000121H A 道禁止 B 道放行 0001000111H A 道禁止 B 道警告 德州科技职业学院青岛校区 2006 级毕业论文 3 二 控制程序 二 控制程序 软件包括主程序 延时 显示子程序 中断服务程序 各程序流程图如图 2 所示 图 2程序流程图 德州科技职业学院青岛校区 2006 级毕业论文 4 三 主程序 三 主程序 ORG2000H MAIN MOV DPTR 7F00H MOV A 0BH PA PC 口均为输出 MOVX DPTR A MAIN SETB EA 开中断 SETB EX0 MOV 50H 1FH 设置时间显示初值 MOV P1 0CH A 道放行 B 道禁行 MOV R7 19H 延时秒数 MAIN1 LCALL DISP 调 1 秒延时 及显示子程序 DJNZ R7 MAIN1 MOV P1 0AH A 道警告 B 道禁行 MOV R7 05H 延时秒数 MAIN2 LCALL DISP DJNZ R7 MAIN2 MOV 50H 1FH 设置时间显示初值 MOV P1 21H A 道禁行 B 道放行 MOV R7 19H 延时秒数 MAIN3 LCALL DISP DJNZ R7 MAIN3 MOV P1 11H A 道禁行 B 道警告 MOV R7 05H 延时秒数 MAIN4 LCALL DISP DJNZ R7 MAIN4 AJMP MAIN 循环 延时 显示子程序 ORG2000H DISP MOV R6 01H 设置显示位寄存器初值 右边一位 MOV TMOD 01H 定时器 T0 设置为定时方式的模式 1 德州科技职业学院青岛校区 2006 级毕业论文 5 MOV R5 0AH 定时器操作循环 10 次 DEL1 MOV TH0 3CH 定时器 100ms 计数器的初始值 MOV TL0 B0H SETB TR0 启动定时器 DEL2 DEC 50H 显示秒数减 1 MOV A 50H MOV B 0AH DIV B 拆分秒数 ADD A 2BH MOVC A A PC 查表个位数的字形码 MOV R1 A 个位数字形码送 R1 MOV A B ADD A 25H MOVC A A PC 查表十位数的字形码 MOV R2 A 十位数字形码送 R2 MOV A R6 位控码 MOV DRTP 7F03H MOVX DPTR A MOV A R1 送个位数显示 MOV DPTR 7F01H MOVX DPTR A LCALL DELAY 延时 1ms MOV A R6 RL A 位控左移 MOV R6 A MOV DPTR 7F03H MOVX DPTR A MOV A R2 送十位数显示 MOV DPTR 7F01H MOVX DPTR A 德州科技职业学院青岛校区 2006 级毕业论文 6 LCALL DELAY 延时 1ms JNB TF0 检测 100ms 定时是否到 CLR TF0 DJNZ R5 DEL1 100ms 循环控制 RET 返回 TABLE DB C0H F9H A4H B0H 99H DB 92H 82H F8H 80H 90H DELAY MOV R7 02H 延时 1ms 子程序 DEL3 MOV R6 0F9H DEL4 DEL2 DJNZ R6 DEL2 DJNZ R7 DEL1 RET END 四 四 中断服务程序 中断服务程序 ORG0003H 外部中断 0 入口地址 LJMP INTER0 ORG2100H INTER0 PUSH 50H 保护现场 PUSH P1 MOV P1 00H 两车道禁止 MOV R7 0AH 延时 10 秒 INT0 LCALL DISP 调显示 DJNZ R7 INT0 POP P1 恢复现场 POP 50H RETI 中断返回 三 三 PCBPCB 板设计板设计 如下图 德州科技职业学院青岛校区 2006 级毕业论文 7 PCB 板设计 五 五 程序调试及说明程序调试及说明 在调试过程中 出现了很多问题 首先 就是程序里的定时控制误差很大 1 秒钟 不是很精确 我修改了 CONF TNY A51 中的参数 INT CLOCK 硬件定时溢出机器周期 默认为 10000 如果主频为 12MHZ 则为 10ms 和 TIMESHARING 循环切换时间 默认 为 5 个溢出 使 TIMESHARING 为 0 这就是说 将 CPU 轮流查询执行屏蔽掉 在程序 中通过 os wait 函数来切换 这样 定时控制就得到了一定改善 这是这次毕业设计的 弊端 5 2 程序运行说明 整个程序分为上位机程序和下位机程序两部分 上位机程序 是一个 VC 6 0 环境下开发基于对话框的 MFC 应用程序 程序界面比较简单 当用户将 要发送给单片机的命令写入发送数据框后 单击发送按钮 数据就通过串行口发送到了 单片机的 RXD 引脚 由于没有经过联机调试 所以 不能保证单片机接收到的是正确的 用户命令 单击清除按钮 就可以将用户开始输入的命令都清除掉 以便用户再一次发 送命令 单击取消按钮就退出了程序 下位机程序 不是一个可执行程序 它只能在 uVision2 环境中被模拟执行 德州科技职业学院青岛校区 2006 级毕业论文 8 六 六 总结总结 本系统结构简单实用 操作方便快捷 特别是扩充了 PC 机与单片机串行通信功能 后 使得用户可以根据需要来改变红黄绿灯的亮灭时间 另外 利用 RTX51 Tiny 实时 操作系统提供的系统特征 简化了多任务程序设计 满足多个任务的时间特性要求 完 成了前后台编程方法难以完成的编程任务 同时基于实时多任务操作系统 可以将各个 任务进行细分包装 使各个任务保持相对独立 有效地改善了程序结构 提高了模块的 独立性 使程序的可读性 可维护性和可移植性都得到进一步的提高 当我完成本系 统设计之后 把这个系统跟北京某一十字路口的现有交通灯控制系统进行了比较 得出 了本系统两个不足之处 可以在本系统中增加一个传感器 对传感器采集的数据进行处 理 统计及流量分析 根据车流量来决定每一道的通行时间 绿灯亮的时间 这样就 实现了车流动态调节 另外 还可以将灯状态的切换时间用 LED 数码管显示出来 此显 示值每秒钟刷新一次 这样 就可以给司机和行人有一个提示作用 参考文献参考文献 1 胡大可 基于 8051 的嵌入式开发指南 北京 电子工业出版社 2000 2 张洪润 易涛 单片机应用技术教程 北京 清华大学出版社 2003 3 何立民 MCS 51 系列单片机应用系统设计 北京 北京航空航天大学出版社 2004 4 孙育才 MCS 51 系列单片机微型计算机极其应用 第三版 南京 东南大学 出版社 2003 5 田泽 嵌入式系统开发与应用系列教程 北京 北京航空航天大学 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论