




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的交通灯控制系统设计 摘 要 当你路过一个十字路口时 你是否注意到各个方向车辆和行人有有条不紊的通 过十字路口 这样井然有序的情境靠什么来实现的呢 靠的是交通灯控制系统 在 论文中我使用单片机 STC89C51 作为主控单元 通过单片机芯片 STC89C51 的 P1 口 和 P2 口分别控制东西方向和南北方向红黄绿灯的点亮 通过单片机芯片 STC89C51 的 RXD 和 TXD 控制数码管的显示时间 采用发光二极管来实现交通灯的点亮 由数 码管实现时间的显示 该系统不仅仅具有交通灯的基本功能还有倒计时 还可以通 过按键在紧急事件中设置为四个方向都为红灯的紧急模式 也可以通过按键在夜晚 设置为四个方向都为黄灯的夜间模式 当然也可以通过按键来设置交通灯的倒计时 时间 使系统更加符合实际交通情况 我设计的交通灯控制系统可以较好的模拟十字路口出现的交通状况 使行人和 车辆能有序的通行 我设计的系统成本低 操作简单 性能稳定 实用性较强 关键词 交通灯控制系统 单片机 AT89C51 数码管 LED Abstract When you pass an intersection have you noticed that vehicles and pedestrians through the intersection methodical Such an orderly situation rely on to achieve it Rely on the traffic light control system This paper will intr oduce a single chip microcomputer ATC89C51 as the main control unit system Thr ough the STC89C51 microcontroller chip P1 and P2 port respectively control the east west and north south direction red yellow green light Through STC89C51 microcontroller RXD and TXD control digital tube display time Light emitting diode is used to realize traffic lights lit achieved by the digital time display The system not only has the basic function of the traffic lights and the countdown you can also through the buttons in the event of an emergency is set to four directions for the red light in emergency mode can also through the buttons in the night is set to the four directions of yellow light night mode of course also can through the button to set the countdown time of traffic light make the system more in line with the actual situation I design the traffic light control system can better simulate the crossroads of traffic the pedestrians and vehicles to orderly traffic I designed the system of low cost simple operation stable performance strong practicability Keywords Traffic Light Control System SCM AT89C51 Digital pipe LED 目 录 摘要 I Abstract II 绪论 1 1 系统设计方案论证 3 1 1 设计方案 3 1 2 功能概述 4 2 系统硬件设计 5 2 1 交通灯控制系统组成 5 2 1 1 ATC89C51 芯片 5 2 1 2 交通灯控制系统构成 8 2 2 各单元电路模块功能 9 2 2 1 时钟电路模块 9 2 2 2 复位电路模块 9 2 2 3 主控制系统模块 10 2 2 4 信号灯输出控制模块 11 2 2 5 时间显示电路模块 11 2 2 6 系统电源模块电路 12 2 2 7 按键输入模块 13 3 系统软件设计 14 3 1 软件总体流程图 14 3 2 延时的设定 15 3 2 1 计数器初值计算 15 3 2 2 相应程序代码 15 4 系统调试分析及结果 21 4 1 电路板实物的制作 21 4 1 1 印制电路板 PCB 图的绘制 21 4 1 2 实物的制做 21 4 2 系统硬件调试 22 4 3 系统软件调试 22 4 4 系统总体调试 23 结论 25 致谢 26 参考文献 27 附录 1 元器件清单 29 附录 2 总体电路原理图 PCB 30 附录 3 程序 31 绪 论 国内外交通系统发展现状 随着现代社会对交通运输的日趋依赖 交通控制系统受到普遍的重视 近 年来 英国 美国等西方国家均在某些大城市建立了智能的交通控制系统 一 般的交通控制系统中 大部分在路口装有车辆检测器 由各路口的控制设备或 着工作人员将交通控制参数通过电话线 电缆 光纤或无线网络等方式输入到 微处理器 用小型计算机控制 尤其是伴随着信息技术的发展 交通控制的概 念已从交通管理者的行为改变为交通管理者和道路使用者共同的行为 从而使 得交通的最优化向全局最优发展 1 在这些发展中 除了新设备的应用外 数 据的采集 传输 处理 存储与发送等技术的发展也起了关键的作用 与国外 先进的控制系统相比 我国的交通控制系统比较落后 目前我国的城市交通有 以下问题 管理不力 秩序混乱 没有科学而合理有效的城市交通监控系统 从而造就了道路的通行能力远低于设计时候所预期的要求并且波动性比较大 交通事故发生率高等问题 城市交通的解决方法 城市交通拥挤有人说是因为道路狭窄引起的 所以有些人建议加宽道路或 者架设高架桥来缓解交通压力 但是 过不了多久加宽的道路又陷入了拥挤 一般来说新加宽的道路不会改变原来的拥挤状况 很快新的交通量占据新增的 道路设施 这部分潜在的交通量受制于以前道路供给而未能得到实现的 由于加宽道路不能从根本上解决拥挤的城市交通问题 所以就开始寻求新 的解决方法 随着人们对控制理论的深入研究与探索以及科技的不断发展 利 用微计算机的控制系统对解决交通问题越来越重要 现如今国内外开发了许多 交通控制系统为缓解交通压力做出了突出贡献 伴随着人工智能的兴起 人们 开始将人工智能引入到交通灯控制系统当中 经过这么多年的实践研究和探索 人们相信智能控制是缓解城市交通问题的强力工具 课题研究范围及意义 本文利用单片机自动控制交通灯及时间倒计时显示的方法 将整个系统集 成在单片机上 使产品具有成本低和轻便性的特点 设计过程包括硬件电路和 程序两大部分 硬件电路其结构比较简单 主要包括核心器件 ATC89C51 单片机 12 只二极管组成的模拟交通灯 复位电路 振荡电路 数码管显示模块 单片 机开发中不仅仅有硬件设计同样需要软件编程 我设计的系统用软件 Keil 来进 行程序的编程 相比硬件设计 软件部分设计较为复杂 需要同时考虑模拟红 绿黄三色灯的控制 倒计时时间的显示 紧急情况下的紧急开关等问题 并且 还需要自己具有基本的 C 基础和应有的思维能力以及比较强的逻辑能力 基于 单片机的交通灯控制系统设计凸显了它的意义 通过交通灯控制系统的设计 使我对 C 语言的编程有更深层次的认识 同时将理论同社会实践有效的结合一 起 提高了自己的动手能力和思考能力 1 系统设计方案论证 1 1 设计方案 方案一 控制系统主要控制东西方向和南北方向交通状况 系统以单片机 芯片 STC89C51 为主控单元 通过控制三种颜色 LED 的亮灭来来指导各车道的通 行 上电时复位电路使系统进入运行状态 总体设计框图如图 1 1 所示 图 1 1 方案一设计框图 方案二 采用 STC89C51 单片机为控制器 采用 2 段数码管作为倒计时显示 车道指示灯采用三色发光二极管 LED 显示采用动态扫描 用来节省端口 2 用手动按键通过中断完成紧急情况下车辆的通行 本方案中芯片端口刚好满足 要求 本方案电路设计简单 显示亮度高 耗电少 可靠性高 但是占用单片 机资源太多 整个框图设计如图 1 2 所示 P1 P2 INT1 P0 P3 P3 南北通行灯 东西通行灯 2 位 LED 显示器 器 列扫描驱动 上电复位电路 晶振电路 图 1 2 方案二设计框图 STC89C51 单 片 机 复位电路 晶振电路 两段数码管倒 计时显示电路 方案三 采用 STC89C51 单片机为主控单元 用单块 LCD 对东西方向和南 北方向车道通行进行倒计时显示 这种方案设计端口和硬件的需求最少 但是 亮度太暗 所以较少采用 对上述三种方案的优缺点分析可知 方案一最好 1 2 功能概述 在东西方向和南北方向的十字路口分别设立红黄绿交通指示灯 用数码管 倒计时显示 正常情况下两个主干线上的红黄绿灯进行转换 红灯亮表示禁止 通行 绿灯亮表示可以通行 每次绿灯变红灯前 黄灯亮 5 秒 方便那些未能 及时通过十字路口的车辆能继续通过 十字路口设立数码管具有倒计时功能 方便人们直观的把握通过时间 本设计也考虑到紧急情况 当按下紧急模式按 键后 四个方向红灯都会常亮 对于夜晚车流量比较少 本设计设计了夜晚模 式 按下按键后四个方向黄灯会常亮 2 系统硬件设计 2 1 交通灯控制系统组成 2 1 1 ATC89C51 芯片 选用的 ATC89C51 与同系列的 AT89C51 在功能上有明显的提高 最突出是的 可以实现在线的编程 用于实现系统的总的控制 其主要功能列举如下 1 为一般控制应用的 8 位单片机 2 内部具有时钟振荡器 3 内部程式存储器 ROM 为 4KB 4 内部数据存储器 RAM 为 128B 5 外部程序存储器可扩充至 64KB 6 外部数据存储器可扩充至 64KB 7 32 条双向输入输出线 且每条均 可以单独做 I O 的控制 8 5 个中断向量源 9 2 组独立的 16 位定时器 10 1 个全双工串行通信端口 11 单芯片提供位逻辑运算指令 ATC89C51 各引脚功能介绍 如图 2 1 图 2 1 ATC89C51 芯片 VCC ATC89C51 电源正端输入 接 5V VSS 电源地端 XTAL1 单芯片系统时钟的反向放大器输入端 XTAL2 系统时钟的反向放大器输出端 一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了 此外可以在两个引脚与地 之间加入一个 20PF 的小电容 可以使系统更稳定 避免噪声干扰而死机 RESET AT89S51 的重置引脚 高电平动作 当要对晶片重置时 只要对此 引脚电平提升至高电平并保持两个机器周期以上的时间 AT89S51 便能完成系 统重置的各项动作 使得内部特殊功能寄存器之内容均被设成已知状态 并且 至地址 0000H 处开始读入程序代码而执行程序 EA Vpp EA 为英文 External Access 的缩写 表示存取外部程序代码之 意 低电平动作 也就是说当此引脚接低电平后 系统会取用外部的程序代码 存于外部 EPROM 中 来执行程序 因此在 8031 及 8032 中 EA 引脚必须接低 电平 因为其内部无程序存储器空间 如果是使用 8751 内部程序空间时 此 引脚要接成高电平 此外 在将程序代码烧录至 8751 内部 EPROM 时 可以利用 此引脚来输入 21V 的烧录高压 Vpp ALE PROG ALE 是英文 Address Latch Enable 的缩写 表示地址锁存器 启用信号 ATAT89S51 可以利用这个引脚来触发外部的 8 位锁存器 如 74LS373 将端口 0 的地址总线 A0 A7 锁进锁存器中 因为 ATAT89S51 是 以多工的方式送出地址及数据 平时在程序执行时 ALE 引脚的输出频率约是系 统工作频率的 1 6 因此可以用来驱动其他周边晶片的时基输入 此外在烧录 8751 程序代码时 此引脚会被当成程序规划的特殊功能来使用 PSEN 此为 Program Store Enable 的缩写 其意为程序储存启用 当 8051 被设成为读取外部程序代码工作模式时 EA 0 会送出此信号以便取得 程序代码 通常这支脚是接到 EPROM 的 OE 脚 ATAT89S51 可以利用 PSEN 及 RD 引脚分别启用存在外部的 RAM 与 EPROM 使得数据存储器与程序存储器可以合 并在一起而共用 64K 的定址范围 PORT0 P0 0 P0 7 端口 0 是一个 8 位宽的开路电极 Open Drain 双 向输出入端口 共有 8 个位 P0 0 表示位 0 P0 1 表示位 1 依此类推 其他 三个 I O 端口 P1 P2 P3 则不具有此电路组态 而是内部有一提升电路 P0 在当作 I O 用时可以推动 8 个 LS 的 TTL 负载 如果当 EA 引脚为低电平时 即取用外部程序代码或数据存储器 P0 就以多工方式提供地址总线 A0 A7 及数据总线 D0 D7 设计者必须外加一个锁存器将端口 0 送出的 地址锁住成为 A0 A7 再配合端口 2 所送出的 A8 A15 合成一组完整的 16 位 地址总线 而定位地址到 64K 的外部存储器空间 PORT2 P2 0 P2 7 端口 2 是具有内部提升电路的双向 I O 端口 每一 个引脚可以推动 4 个 LS 的 TTL 负载 若将端口 2 的输出设为高电平时 此端口 便能当成输入端口来使用 P2 除了当作一般 I O 端口使用外 若是在 ATAT89S51 扩充外接程序存储器或数据存储器时 也提供地址总线的高字节 A8 A15 这个时候 P2 便不能当作 I O 来使用了 PORT1 P1 0 P1 7 端口 1 也是具有内部提升电路的双向 I O 端口 其 输出缓冲器可以推动 4 个 LS TTL 负载 同样地 若将端口 1 的输出设为高电平 便是由此端口来输入数据 如果是使用 8052 或是 8032 的话 P1 0 又当作定时 器 2 的外部脉冲输入脚 而 P1 1 可以有 T2EX 功能 可以做外部中断输入的触 发引脚 PORT3 P3 0 P3 7 端口 3 也具有内部提升电路的双向 I O 端口 其输 出缓冲器可以推动 4 个 TTL 负载 同时还多工具有其他的额外特殊功能 包括 串行通信 外部中断控制 计时计数控制及外部数据存储器内容的读取或写入 控制等功能 其引脚分配如下 P3 0 RXD 串行通信输入 P3 1 TXD 串行通信输出 P3 2 INT0 外部中断 0 输入 P3 3 INT1 外部中断 1 输入 P3 4 T0 计时计数器 0 输入 P3 5 T1 计时计数器 1 输入 P3 6 WR 外部数据存储器的写入信号 P3 7 RD 外部数据存储器的读取信号 2 1 2 交通灯控制系统构成 电路板一块 芯片 ATC89C51 一片 2 段共阴极数码显示管四个 红黄绿发 光二极管各四个 电阻若干 晶振一个 电容若干 按键若干 交通灯控制系统结构框图 2 2 按键 图 2 2 原理框图 系统各部分工作原理 采用单片机的 I O 口 P0 口通过上拉电阻和交通灯 相连接 P3 0 P3 1 口接到数码管控制位上 控制数码管的显示 程序放在 ATC89C51 单片机的 ROM 中来设置初始时间 在十字路口的四组红 黄 绿交通 灯中 由单片机的 P1 5 P1 7 P1 0 P1 2 P2 5 P2 7 P2 0 P2 2 分别控制 东西南北方向的三色灯 由于交通灯为发光二极管并且阳极通过限流电阻和电 源正极相连 因此 I O 口输出低电平时 与之相连的指示灯才会点亮 然后通 过数码管倒计时时间 I O 口输出高电平时 相应指示灯会灭 由于 ATC89C51 本身集成了看门狗指令 当系统出现异常的时候看门狗会发出溢出中断 通过 专用端口输出 引起 RESET 复位信号复位系统 2 2 各单元电路模块功能 2 2 1 时钟电路模块 本时钟电路由一个晶体振荡器 12MHZ 和两个 30pF 的瓷片电容组成 时钟电 路用于产生单片机工作所需的时钟信号 而时序所研究的是指令执行中各信号 之间的相互关系 单片机本身就是一个复杂的同步时序电路 为了保证同步工 作方式的实现 电路应在唯一的时钟信号控制下严格地工作 3 其电路如图 2 3 所示 图 2 3 时钟电路模块 LED ATC89C51 共阴极数码管 2 2 2 复位电路模块 电容在上接高电平 电阻在下接地 中间为 RST 这种复位电路为高电平 复位 其工作原理是 通电时 电容两端相当于是短路 于是 RST 引脚上为高 电平 然后电源通过电阻对电容充电 RST 端电压慢慢下降 降到一定程度 即为低电平 单片机开始正常工作 4 其电路如图 2 4 所示 图 2 4 复位电路模块 2 2 3 主控制系统模块 主控制器 STC89C51 单片机是推出的新一代高速 低功耗 超强抗干扰的单片 机 指令代码完全兼容传统 8051 单片机 12 时钟 机器周期和 6 时钟 机器 周期可以任意选择 5 主控制系统模块电路如图 2 5 12345678 A B C D 87654321 D C B A Title NumberRevisionSize A3 Date 24 Jan 2014Sheet of File F protel pcb jtd DdbDrawn By EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 U1 STC89C52 P3 0 P3 1 L1 N green L2 N yellow L3 N red L4 E green L5 E yellow L6 E red L7 S green L8 S yellow L9 S red L10 W green L11 W yellow L12 W red VCC VCC S green N green S yellow N yellow N red S redN green S green S yellow N yellow N red S redW red W red W yellow W yellow W green W green E green E green E yellow E yellow E red E red C2 30P C1 30P R18 11 0592 C3 R1 VCC RST RST R5 R3 R2 R4 1 2 3 4 5 6 7 8 9 D12 SMG 2 S1 B C E DS2 F A DP G S1 1 B 2 C 3 E 4 D 5 S2 6 F 7 A 8 DP 9 G 10 S2 SMG 2 A B C D E F G DP VCC 1 2 J1 12 34 56 SW1 VCC S3 B C E DS4 F A DP GS1 1 B 2 C 3 E 4 D 5 S2 6 F 7 A 8 DP 9 G 10 S2 SMG 2 S1 B C E DS2 F A DP GS1 1 B 2 C 3 E 4 D 5 S2 6 F 7 A 8 DP 9 G 10 S2 SMG 2 S3 B C E DS4 F A DP G S1 1 B 2 C 3 E 4 D 5 S2 6 F 7 A 8 DP 9 G 10 S2 SMG 2 S3 S4 S1 S2 S3 S4 S5 S6 A1 A2 A3 A4 A5 A6 A1 A2 A3 A4 A5 A6 12 34 56 SW1 VCC USB 1 2 1 2 3 4 S9 CON4 图 2 5 主控置系统模块电路 2 2 4 信号灯输出控制模块 道口交通灯指示采用红 黄 绿发光二极管进行提示 其图如图 2 6 所 示 图 2 6 LED 显示模块电路 2 2 5 时间显示电路模块 本系统使用数码管完成倒计时显示功能 以方向东西为为例 数码管显示 的数值从绿灯的设置时间最大值往下减 每秒钟减 1 一直减到 0 然后又从红 灯的设置时间最大值往下减 一直减到 0 接下来又显示绿灯时间 如此循环 系统共有 4 个二位的 LED 数码管 分别放置在模拟交通灯上方 道口通行剩余 时间采用红色 7 段数码管显示 采用共阴数码管 如用单片机 P0 口加上拉电阻 驱动 P3 0 P3 1 来控制数码管的位 其显示电路如图 2 7 所示 图 2 7 数码管显示模块电路 2 2 6 系统电源模块电路 由于该系统中 51 单片机及二极管工作电压均为 5V 电压 所以要保证系 统稳定可靠的工作 需要设计一个可以稳定提供 5V 电压的供电系统 本设计 采用外置 3 节 5 号电池作为系统的供电电源 该系统电源电路设计如图 2 8 所 示 图 2 8 系统电源电路 2 2 7 按键输入模块 由于该系统具有夜间模式 紧急模式和交通灯倒计时时间设定功能 所有 需要加上这些功能键 如下图 2 9 所示 图 2 9 按键输入 夜间模式 按下夜间模式按键进入 四方向红灯长亮 再次按下按键退出 紧急模式 按下紧急模式按键进入 四方向黄灯闪烁 再次按下按键退出 设定倒计时时间 按下设定键后 进入设定状态 先设定南北方向 再次 按下按键设定东西方向 设定好后 按下按键退出 正常运行 3 系统软件设计 3 1 软件总体流程图 软件总体设计及流程图见图 3 1 主要完成各部分的软件控制和协调 图 3 1 流程图 3 2 延时的设定 3 2 1 计数器初值计算 定时器工作时必须给计数器送计数器初值 这个值是送到 TH 和 TL 中的 他是以加法记数的 并能从全 1 到全 0 时自动产生溢出中断请求 因此 我可 以把计数器记满为零所需的计数值设定为 C 和计数初值设定为 TC 可得到如下 计算通式 TC M C 式中 M 为计数器模值 该值和计数器工作方式有关 在方式 0 时 M 为 213 在方式 1 时 M 的值为 216 在方式 2 和 3 为 28 算法公式 T M TC T计数 或 TC M T T计数 T计数是单片机时钟周期 的 12 倍 为定时初值 如单片机的主脉冲频率为 12 经过 分频 方式 TMAX 213 微秒 8 192 毫秒 方式 TMAX 216 微秒 65 536 毫秒 显然 秒钟已经超过了计数器的最大定时间 所以只有采用定时器和软件 相结合的办法才能解决这个问题 实现 秒的方法 我采用在主程序中设定一个初值为 20 的软件计数器和使 T1 定时 50 毫秒 这样每当 T1 到 50 毫秒时 CPU 就响应它的溢出中断请求 进入他的中断服务子 程序 在中断服务子程序中 CPU 先使软件计数器减 然后判断它是否为零 为 0 表示 秒已到可以返回到输出时间显示程序 3 2 2 相应程序代码 定时器的设置 定时器需定时 毫秒 故 1 工作于方式 初值计算 TC M T T计数 216 50ms 1us 15536 3CBOH START MOV TMOD 10H 令 为定时器方式 MOV TH0 3CH 装入定时器初值 MOV TL0 0BOH SETB EA 打开总中断 SETB ET1 开 1 中断 SETB ER 启动 1 计数器 CLR FLAG1 CLR FLAG2 CLR FLAG3 MOV R3 20H 软件计数器赋初值 相应中断服务子程序 ORG 001B LJMP DSD ORG 0030H DSD INC R3 MOV TH0 3CH 重装入定时器初值 MOV TL0 BOH CJNE R3 20 FH DEC R0 DEC R1 MOV R3 00H FH RETI 程序的软件延时 我选单片机的工作频率为 12MHZ 机器周期与主频有关 机器周期是主频 的 12 倍 所以一个机器周期的时间为 12 1 12M 1us 可以知道具体每条 指令的周期数 这样就可以通过指令的执行条数来确定 1 秒的时间 具体的延时程序分析 DELAY MOV R4 08H 延时 1 秒主程序 DE2 LCALL DELAY1 DJNZ R4 DE2 RET DELAY1 MOV R4 00H 延时 125us 子程序 D1 MOV R5 00H D2 DJNE R5 DL2 DJNE R4 D1 RET DELAY1 为一个双重循坏 循环次数为 256 256 65536 所以延时时间 65536 2 131072us 约为 125us DELAY R4 设置的初值为 8 主延时程序循环 8 次 所以 125us 8 1 秒 3 数码管动态显示 用于四个数码管的倒计时显示 代码如下 sbit smg1 P3 0 定义南北方向数码管低位 sbit smg2 P3 1 定义南北方向数码管高位 sbit smg3 P3 2 定义东西方向数码管低位 sbit smg4 P3 3 定义东西方向数码管高位 void djsxs22 4 个数码管动态显示 int b1 b2 b1 djs1 10 将倒计时时间的高位赋予 b1 b2 djs1 10 将倒计时时间的低位赋予 b2 P0 table b1 smg1 0 delayms 3 smg1 1 显示 b1 P0 table b2 smg2 0 delayms 3 smg2 1 显示 b2 P0 table b1 smg3 0 delayms 3 smg3 1 显示 b1 P0 table b2 smg4 0 delayms 3 smg4 1 显示 b2 void djsxs11 4 个数码管动态显示 int b1 b2 b1 djs 10 将倒计时时间的高位赋予 b1 b2 djs 10 将倒计时时间的低位赋予 b2 P0 table b1 smg1 0 delayms 3 smg1 1 显示 b1 P0 table b2 smg2 0 delayms 3 smg2 1 显示 b2 P0 table b1 smg3 0 delayms 3 smg3 1 显示 b1 P0 table b2 smg4 0 delayms 3 smg4 1 显示 b2 利用对数字的拆分使数字分为十位和个位 比如 31 利用程序 int a 31 int b1 b2 b1 a 10 b2 a 10 可以拆分为 b1 3 b2 1 而在动态显示的 过程中 通过这个方法可以动态在数码管上显示出来 由于东西方向和南北方 向的显示时间不一样 我们可以通过数码管的高低位去组合的显示正确的显示 时间 组合显示程序如下 void djsxs1 用来显示设定南北倒计时的时间 int b1 b2 b1 djs1 10 将倒计时时间的高位赋予 b1 b2 djs1 10 将倒计时时间的低位赋予 b2 P0 table b1 smg3 0 delayms 3 smg3 1 显示 b1 P0 table b2 smg4 0 delayms 3 显示 b2 smg4 1 void djsxs 用来显示设定南北倒计时的时间 int b1 b2 b1 djs 10 将倒计时时间的高位赋予 b1 b2 djs 10 将倒计时时间的低位赋予 b2 P0 table b1 smg1 0 delayms 3 smg1 1 显示 b1 P0 table b2 smg2 0 delayms 3 smg2 1 显示 b2 4 系统调试分析及结果 4 1 电路板实物的制作 4 1 1 印制电路板 PCB 图的绘制 在同一芯片中 要连的线比较多 在硬件的布局中 每个 LED 灯和每个数 码管的分布比较固定 而且集中分布在所控制的两个路口上 如果采用双面的 PCB 板的话 那么该电路的布线比较容易实现 但是 在实际生活中做双面板 经常会出现一些焊点接触不良导致电路调试失败 因此 使用单面板布线 单 片面板的布线的缺点是焊接后的成品不怎么美观 印制电路板的设计是以电路 原理图为根据 来实现设计者所需要的功能 印刷电路板主要指版图设计 需 要考虑外部布局的连接 内部电子元件的优化布局 金属连线和通孔的优化布 局 电磁保护 热耗散等各种因素 4 1 2 实物的制做 1 总制板工艺程序 把所需要的元器件分类摆放在桌子上 确定各个原件的最好位置 原则上 既美观 又容易焊接 然后把元器件焊到板子上 最好用焊台来完成 根据原 理图 把所有的连线连接起来 连接的导线 为了不断路尽量用细一点的导线 2 制板心得 我们在制板过程中 首先 是在用 PROTEL 设计的时候出现的错误导致印制电路板错误 其次 是由于理论和实际有误差导致无法实现目标 最后在焊接中有一些小问题 比 如在焊跳线的时 由于手工焊接导致焊线比较多 而且焊盘在高温下容易老化 氧化 导致焊盘脱落报废了好几块板子 此外 焊盘太小并且有的有损坏迹象 所以焊接不怎么方便 为了不虚焊 我花了大量时间去焊这些元器件 造成一 些焊点不是那么的很美观 还有在焊接过程中 有时候焊锡会不小心将相邻的 两根引线短路 这次设计积累了做板一些经验 再次做板的时候一定要注意 PCB 的引线之间的距离不能设置太近 焊接完成后的实物图 4 1 图 4 1 焊接完成的实物 4 2 系统硬件调试 在实际焊接过程中 实物交通灯控制系统的 PCB 电路板焊接工作量非常大 电路安装完成后 首先进行检查 即确认电路无虚焊 无短路 无断路 集成 元件安装是否正确 之后进行电路功能模块的分级调试 根据电路功能逐级进 行调试 通行方式功能调试包括对两种通行方式控制调试 指示灯亮度和驱动 电路调试 倒计时功能调试 数码管亮度调试 复位功能调试 4 3 系统软件调试 在 keil 工作平台上 新建交通灯控制系统工程 用 C 语言对各个功能模块 进行编写和调试 除了基本语法差错外 如果程序没问题 那么直接下载到单 片机来调试 采取的是自下到上的调试方法 即单独调试好每一个模块 然后 再连接成一个完整的系统 最后完成一个完整的系统调试 交通灯控制系统仿真图如图 4 2 图 4 2 交通灯控制系统仿真图 4 4 系统总体调试 系统做好后 需进行完整的系统调试 测试刚开始 就发现两个问题 一个是有一部分交通灯亮度不够 发出来 的光非常的微弱 二是数码管没反应 为了解决这个问题 我重新查看了电路 的输出端各部分的输出电平 发现了我采用是共阴极数码管 而控制数码段的 P3 0 和 P3 1 口输出的则是高电平 解决第二个问题有两个方法 其一 将硬件电路稍作修改 将共阴极数码 管换成共阳极的数码管 这样数码管就可以正常进行时间显示 其二 修改程 序 让控制数码管的 P0 输出的是低电平 如果采用修改硬件电路的方法 那么 整个硬件电路就得作改动 而已经布好的线也必须有相应的变动 操作起来比 较麻烦繁琐 所以 我采用了第二种方法 修改了程序电路中的数码管代码 修改完后再次调试 数码管部分基本上能按照预先设定的要求进行倒计时显示 亮度要求也基本符合预先设想那样 还有一个来问题有待解决 那就是 LED 灯亮度问题 以致部分交通灯只能 偶尔的看得出在亮 经多方检测 我认为这是 LED 灯驱动能力不足引起的亮度 弱问题 如果要修正这个问题 那就得为 LED 灯增加驱动电路以提高电路的驱 动能力 但是 要实现上述方法必须对硬件电路进行一定的改动 LED 灯的驱 动电路可以用集成电路芯片来进行驱动 但是由于没有相关的条件就没有去实 践 但是 基本问题和解决问题的方法还是有了一定的了解 结 论 我设计的系统采用美国 ATMEL 公司生产的单片机 ATC89C51 芯片作为交通灯 控制系统的主控单元 利用 ATC89C51 芯片的 I O 引脚实现了数字路口的交通控 制 实物做成后其功能如下 当系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络车运营管理办法
- 规范公司流程管理办法
- 科研及实验管理办法
- 行业项目库管理办法
- 落实健康照明管理办法
- 个人理财预算管理办法
- 东莞酒店隔离管理办法
- 财务部资料管理办法
- 中央厨房开放管理办法
- 东莞殡葬宠物管理办法
- 2025年版《煤矿安全规程》考试题库(含答案)
- 押运员持枪证考试试题及答案
- 医药代表一院一策工作汇报
- 居民健康档案管理服务规范解读
- 二次供水卫生监督课件
- 2025年保密观试题题库及答案
- 人教新课标品德与社会五年级上册《诚信是金2》教学设计【教案】
- 2025浙江省储备粮管理集团有限公司所属企业招聘7人(第一批)笔试参考题库附带答案详解(10套)
- 2024年四川泸州医疗卫生辅助岗位招募笔试真题
- 常州墓地管理办法
- GB/T 45933-2025养老机构康复辅助器具基本配置
评论
0/150
提交评论