基于51单片机的交通灯设计_第1页
基于51单片机的交通灯设计_第2页
基于51单片机的交通灯设计_第3页
基于51单片机的交通灯设计_第4页
基于51单片机的交通灯设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1 江苏师范大学 电气工程及自动化 实习报告实习报告 姓 名 班 级 学 号 实习科目 单片机实训 指导教师 实习时间 2 智能交通信号灯智能交通信号灯 摘摘 要要 本设计是在熟练掌握单片机及其仿真系统使用方法基础上 综合应用单片机原理 微 机原理等课程方面的知识 设计一个采用 STC89C52 单片机控制的交通灯控制电路 该设计 结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案 各个路 口交通灯的状态循环显示 并对程序流程图进行详细讲解分析 交通在人们的日常生活中 占有重要的地位 随着人们社会活动的日益频繁 这点更是体现的淋漓尽致 交通信号灯 的出现 使交通得以有效管制 对于疏导交通流量 提高道路通行能力 减少交通事故有 明显效果 近年来随着科技的飞速发展 单片机的应用正在不断深入 同时带动传统控制 检测技术日益更新 在实时检测和自动控制的单片机应用系统中 单片机往往作为一个核 心部件来使用 仅单片机方面知识是不够的 还应根据具体硬件结构软硬件结合 加以完 善 根据给出的要求设计交通灯东西 南北两干道交于一个十字路口各干道有一组红 黄 绿三色的指示灯指挥车辆和行人安全通行 红灯亮禁止通行绿灯亮允许通行 黄灯亮提示 人们注意红 绿灯的状态即将切换且黄灯亮的时间为东西 南北两干道的公共停车时间 关键词 电子线路 STC89C52 交通灯 3 目录目录 第一章 引言 1 1 概述 1 2 设计目的 4 3 设计要求 4 4 实验原理 4 第二章 芯片与元件 5 1 MCU 5 2 74HC573 6 3 led 数码管 6 第三章 外围电路 6 1 单片机最小系统 6 2 数码管显示电路 7 3 12 位流水灯 8 第四章 整体设计 8 1 交通控制系统总体设计 8 2 单片机交通控制系统的基本构成及原理 8 3 系统软件程序的设计 9 第五章 总结 10 参考文献 11 附录 A 智能交通灯电路原理图 12 附录 B 智能交通灯汇编源程序 13 4 第第 1 章章 引言引言 1 1 概述 概述 在城镇街道的十字交叉路口 为了保证交通秩序和行人安全 一般在每条 道路上各有一组红黄绿信号灯 其中红灯亮 表示该条道路禁止 黄灯亮表示 该条道路上未过停车线的车辆停止通行 已过停车线的车辆继续通行 绿灯亮 表示该条道路允许通行 交通灯控制电路自动控制十字路口红黄绿交通灯的状 态转换 指挥各种车辆和行人安全通行 实现十字路口交通管理的自动化 2 2 设计目的 设计目的 2 1 通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理 巩固和加 深 单片机原理与应用 课程的基本知识 掌握电子设计知识在实际中的简单 应用 2 2 综合运用 单片机原理与应用 课程和先修课程的理论及生产实际知识去 分析和解决电子设计问题 进行电子设计的训练 2 3 学习电子设计的一般方法 掌握 STC89C52 芯片以及简单电子设计过程和 运行方式 培养正确的设计思想和分析问题 解决问题的能力 特别是总体设 计能力 2 4 通过计算和绘制原理图 布线图和流程图 学会运用标准 规范 手册 图册和查阅有关技术资料等 培养电子设计的基本技能 2 5 通过完成一个包括电路设计和程序开发的完整过程 了解开发单片机应用 系统全过程 为今后从事的工作打基础 3 3 设计要求 设计要求 3 1 利用单片机的定时器定时 实现道路的红绿灯交替点亮和熄灭 3 2 以 STC89C52 单片机为核心 设计一个十字路口交通灯控制系统 用单片 机控制 LED 灯模拟交通信号灯显示 假定东西 南北方向方向通行 绿灯 时 间为 30 秒 缓冲 黄灯 时间 5 秒 停止 红灯 时间 30 秒 3 3 南北方向 东西方向车道除了有红 黄 绿灯指示外 每一种灯亮的时间 都用显示器进行显示 采用倒计时的方法 4 4 实验原理 实验原理 5 4 1 基本原理 主体电路 交通灯自动控制模块 这部分电路主要由 80C51 单片机的 I O 端口 定时计数器等组成 本设计先是从普通三色灯的指示开始进行设计 用 P1 口作为输出 程序 的初始化是东西南北方向的红灯全亮 然后南北方向红灯亮 东西方向绿灯亮 60 秒后东西方向黄灯闪亮 5 秒后南北方向绿灯亮 东西方向红灯亮 重复执行 倒计时用到定时器 T0 用 P2 口作为 LED 的显示 二位一体的 LED 重复执行 60 秒的倒计时 作为突发事件的处理 本设计主要用到外部中断 EX0 用一模拟 开关作为中断信号 实际中可以接其它可以产生中断信号的信号源 第二章第二章 芯片与元件芯片与元件 1 1 MCUMCU STC89C52 是一种低功耗 高性能 CMOS 8 位微控制器 具有 8K 系统 可编程 Flash 存储器 高密度非易失性存储器技术制造 与工业 80C51 产品指 令和引脚完全兼容 片上 Flash 允许程序存储器在系统可编程 亦适于常规编 程器 在单芯片上 拥有灵巧的 8 位 CPU 和在系统可编程 Flash 使得 STC89C52 在众多嵌入式控制应用系统中得到广泛应用 主要性能 与 MCS 51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 0Hz 33MHz 三级加密程序存储器 32 个可编程 I O 口线 三个 16 位定时器 计数器 8 个中断源 全双工 UART 串行通道 低功耗空闲和掉电模式 单片机实训报告 6 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 2 2 74HC57374HC573 74HC573 包含八进制 3 态非反转透明锁存器 是一种高性能硅门 CMOS 器件 当锁存使能端 LE 为高时 这些器件的锁存对于数据是透明的 也 就是说输出同步 当锁存使能变低时 符合建立时间和保持时间的数据会被 锁存 主要功能 三态总线驱动输出 置数全并行存取 缓冲控制输入 使能 输入有改善抗扰度的滞后作用 3 3 ledled 数码管数码管 led 数码管 LED Segment Displays 由多个发光二极管封装 在一起组成 8 字型的器件 引线已在内部连接完成 只需引出它们的各个 笔划 公共电极 数码管实际上是由七个发光管组成 8 字形构成的 加上小数 点就是 8 个 这些段分别由字母 a b c d e f g dp 来表示 第三章第三章 电路设计电路设计 1 1 单片机最小系统 单片机最小系统 STC89C52 单片机最小系统主要由电源 复位 振荡电路 三个部分组成 最小系统原理图如图 3 1 所示 7 图 3 1 51 单片机最小系统版 2 2 数码管显示电路数码管显示电路 由 8 位共阴 LED 数码管即驱动芯片 74HC573 组成 单片 机控制两片锁存器是使能端 通过不停打开关闭使能端达到单片机一个 8 位 I O 口控制 8 位数码管显示的效果 数码管显示电路如图 3 2 所示 图 3 2 数码管显示电路 3 3 1212 位位 LEDLED 灯灯 由 12 个 LED 小灯排列起来 加上限流电阻就组成了 12 位交 通灯 12 位流水灯的阴极接在单片机的 I O 端口 以灌电流输进单片机从而驱 动 LED 交通 LED 灯的原理图如图 3 3 所示 单片机实训报告 8 图 3 3 12 位 LED 灯 第四章第四章 整体设计整体设计 1 1 交通控制系统总体设计 交通控制系统总体设计 设在十字路口 分为东西向和南北向 在任一时刻只有一个方向通行 另 一方向禁行 共有 4 种状态 这 4 种状态如下 周而复始 循环变化 4 个状态归纳如下 南北方向红灯亮 倒计时 30s 同时东西方向绿灯亮 倒计时 30s 此状态下 南北方向禁止通行 东西方向直行 南北方向黄灯亮 倒计时 5s 同时东西方向红灯亮 倒计时 30s 此状态 下 除了已经正常在通行的车辆外其他车辆禁止通行 南北方向绿灯亮 倒计时 30s 同时东西方向红灯亮 倒计时 30s 此状态 下 南北方向车辆可以直行 南北绿灯亮 倒计时 30s 东西黄灯亮 倒计时 5s 9 2 2 单片机交通控制系统的单片机交通控制系统的基本构成及原理基本构成及原理 单片机设计交通灯控制系统 可用单片机直接控制信号灯的状态变化 基 本上可以指挥交通的具体通行 当然 接入 LED 数码管就可以显示倒计时以提 醒行使者 更具人性化 本系统在此基础上 加入了紧急情况处理与时间调整 功能 据此 本设计系统以单片机为控制核心 连接成最小系统 由按键设置 模块产生输入 信号灯状态模块 LED 倒计时模块模块接受输出 系统的总体 框图如图 4 1 所示 单片机上电后 系统进入正常工作状态 执行交通灯状态 显示控制 同时将时间数据倒计时输入到 LED 数码管上实时显示 在此过程中 随时调用急停按键和时间调节中断 STC89C52复位电路晶振电路 数码管显示 红黄绿信号灯 图 4 1 交通灯系统框图 3 3 系统软件程序的设计 系统软件程序的设计 全部控制程序实际上分为若干模块 键盘设置处理程序 状态灯控制程序 LED 显示程序紧停程序 中断服务子程序等 整个软件程序方面主要分两大部分 主程序部分和中断处理程序 流程图 如图 4 2 所示 具体程序见附录 2 单片机实训报告 10 开始 南北红灯亮 东西绿灯亮 30s倒计时 南北东西同时黄灯亮 南北绿灯亮 东西红灯亮 30s倒计时 5s倒计时 南北东西同时黄灯亮 5s倒计时 图 4 2 交通灯软件程序流程图 第五章第五章 总结总结 通过这三周的单片机实训 我对51单片机有了很深入的了解 从汇编程序 一行行的敲写与硬件电路搭建 最终将他们看做一个整体一个系统 从系统的 角度来设计单片机的整体框架 这次智能交通灯的整体系统设计 起到了理论结合实践的学习效果 也感 谢学校学院为我们搭建的单片机实训室 也在此感谢张兴奎老师在这次实训中 对我的指导和帮助 19 11 参考文献参考文献 1 张鑫 单片机原理及应用 第2版 北京 电子工业出版社 2010 10 2 刘海宽 包建华 张兴奎 南京 东南大学出版社 2009 1 3 李广弟等 单片机基础 M 北京 北京航空航天大学出版社 2010 4 张靖武等 单片机系统PROTEUS设计与仿真 M 北京 电子工业出版社 2007 单片机实训报告 12 附录附录 A A 智能交通灯电路原理图 13 附录附录 B B 智能交通灯汇编源程序 功能 交通灯 说明 使用 74HC573 驱动共阴数码管 红绿灯各 30s 黄灯 5s 作者 杨勇 DEYADDR EQU 40H 延时计数个数定义 DULA bit P2 6 段选引脚定义 WELA bit P2 7 位选引脚定义 SMGDU EQU 51H 数码管段值 TIMCTR EQU 52H 定时计数值 LIGHTCTR EQU 53H 交通灯计时状态计数值 SN NUM EQU 54H 南北倒计时显示值 EW NUM EQU 55H 东西倒计时显示值 ORG 0000H LJMP main ORG 000BH 定时器 0 的中断入口地址 LJMP T0 SER 跳到定时器 0 的中断服务函数 ORG 001BH 定时器 1 的中断入口地址 LJMP T1 SER 跳到定时器 1 的中断服务函数 ORG 0030H main MOV SP 60H 初始化堆栈指针 MOV TIMCTR 00H 以下几行为数据初始化 MOV LIGHTCTR 00H MOV SMGDU 00H MOV SN NUM 30 MOV EW NUM 30 CLR A LCALL T01 INIT 定时器 0 初始化 BACK MOV A TIMCTR 读出当前计数值 单片机实训报告 14 CJNE A 20 BACK 若计数值达到 20 则计时到 1s 往下执行 否则 继续等待 知道加到 1s MOV TIMCTR 0 清定时计数值 重新计数 MOV A LIGHTCTR 读出交通灯计时状态计数值 CJNE A 0 Q1 如果相等 继续执行 否则 判断下一个 MOV P1 0FEH 南北红灯亮 MOV P3 0FBH 东西绿灯亮 MOV SN NUM 30 南北倒计时显示值给 30s MOV EW NUM 30 东西倒计时显示值给 30s LJMP Q5 LIGHTCTR 继续加 1 Q1 CJNE A 30 Q2 如果相等 继续执行 否则 判断下一个 MOV P1 0FDH 南北黄灯亮 MOV P3 0FEH 东西红灯亮 MOV SN NUM 5 南北倒计时显示值给 30s MOV EW NUM 30 东西倒计时显示值给 30s LJMP Q5 LIGHTCTR 继续加 1 Q2 CJNE A 35 Q3 如果相等 继续执行 否则 判断下一个 MOV P1 0FBH 南北绿灯亮 MOV P3 0FEH 东西红灯亮 MOV SN NUM 30 南北倒计时显示值给 30s LJMP Q5 LIGHTCTR 继续加 1 Q3 CJNE A 60 Q4 如果相等 继续执行 否则 判断下一个 MOV P1 0FBH 南北绿灯亮 MOV P3 0FDH 东西黄灯亮 MOV EW NUM 5 东西倒计时显示值给 5s LJMP Q5 LIGHTCTR 继续加 1 Q4 CJNE A 65 Q5 如果相等 继续执行 否则 判断下一个 MOV LIGHTCTR 0 LIGHTCTR 重新计数 LJMP BACK Q5 MOV A SN NUM 南北灯倒计时 即 SN NUM 每秒减 1 DEC A MOV SN NUM A MOV A EW NUM 东西灯倒计时 即 EW NUM 每秒减 1 DEC A 15 MOV EW NUM A MOV A LIGHTCTR 交通灯计时状态计数值加 1 INC A MOV LIGHTCTR A LJMP BACK SHOW SN MOV A SN NUM 读取南北灯倒计时 MOV B 10 十位放 A 中 各位放 B 中 DIV AB 高位在 A 中 低位在 B 中 南北灯倒计时的高位显示 计数值 0 99s MOV DPTR TABLE MOVC A A DPTR 取出数码管的编码 MOV P0 A 数字送 P0 数码管显示 SETB DULA 开段选送数 CLR DULA 关段选 MOV P0 0FDH 南北灯倒计时的高位显示 SETB WELA 开位选送数 CLR WELA 关位选 MOV DEYADDR 2 延时 xms 改变该数可改变数码管扫描的速度 LCALL deyxms 延时一会 动态显示 南北灯倒计时的低位显示 MOV DPTR TABLE MOV A B 十位放 A 中 各位放 B 中 MOVC A A DPTR 取出数码管的编码 MOV P0 A 数字送 P0 数码管显示 SETB DULA 开段选送数 CLR DULA 关段选 MOV P0 0FEH 南北灯倒计时的低位显示 SETB WELA 开位选送数 CLR WELA 关位选 MOV DEYADDR 2 延时 xms 改变该数可改变数码管扫描的速度 LCALL deyxms 延时一会 动态显示 单片机实训报告 16 RET SHOW EW MOV A EW NUM 读取东西灯倒计时 MOV B 10 十位放 A 中 各位放 B 中 DIV AB 高位在 A 中 低位在 B 中 东西灯倒计时的高位显示 计数值 0 99s MOV DPTR TABLE MOVC A A DPTR 取出数码管的编码 MOV P0 A 数字送 P0 数码管显示 SETB DULA 开段选送数 CLR DULA 关段选 MOV P0 0F7H 东西灯倒计时的高位显示 SETB WELA 开位选送数 CLR WELA 关位选 MOV DEYADDR 1 延时 xms 改变该数可改变数码管扫描的速度 LCALL deyxms 延时一会 动态显示 南北灯倒计时的低位显示 MOV DPTR TABLE MOV A B 十位放 A 中 各位放 B 中 MOVC A A DPTR 取出数码管的编码 MOV P0 A 数字送 P0 数码管显示 SETB DULA 开段选送数 CLR DULA 关段选 MOV P0 0FBH 东西灯倒计时的低位显示 SETB WELA 开位选送数 CLR WELA 关位选 MOV DEYADDR 1 延时 xms 改变该数可改变数码管扫描的速度 LCALL deyxms 延时一会 动态显示 RET T01 INIT MOV TMOD 11H 方式 1 16 位定时器 MOV TH0 3CH T0 65535 50000 3CAFH 即 50ms 触发中断 MOV TL0 0AFH 17 MOV TH1 0D8H T1 65535 10000 D8EFH 即 10ms 触发中断 MOV TL1 0EFH SETB EA 开总中断 SETB ET0 开定时器 0 中断 SETB ET1 开定时器 1 中断 SETB TR0 启动定时器 0 SETB TR1 启动定时器 1 RET T0 SER PUSH ACC 保存数据 PUSH PSW MOV TH0 3CH 重装初值 MOV TL0 0AFH MOV A TIMCTR TIMCTR 里的计数值加 1 INC A MOV TIMCTR A POP PSW 弹出数据 POP ACC R

温馨提示

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

评论

0/150

提交评论