单片机汽车转弯信号灯模拟设计.doc_第1页
单片机汽车转弯信号灯模拟设计.doc_第2页
单片机汽车转弯信号灯模拟设计.doc_第3页
单片机汽车转弯信号灯模拟设计.doc_第4页
单片机汽车转弯信号灯模拟设计.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 传统汽车的车灯控制系统一般采用继电器与独立模式控制 这使汽车内电线较多 造成严重的电磁干扰 使系统可靠性下降 因此考虑通过运用单片机控制汽车信号灯 简化电路 减少干扰 从而使系统实用可靠 并增加汽车的安全性能 汽车转弯信号灯单 片机控制系统 主要是对单片机并行输入 输出口电路的应用 即通过 I O 口 增加复位电 路 驱动电路 按键电路来模拟汽车转弯系统功能 由于汽车有左转弯 右转弯 刹车 合紧急开关等操作 而且可能会组合出多种操作情况 所以在编写程序时要多方面考虑 信号灯存在的各种不同情况 希望能尽量包含多种功能 使控制系统能满足现实需要 本设计主要的工作是绘制电路原理图 分析设计输入与输出控制端的功能模块 通过编 写程序代码控制亮灯键值及闪烁的效果 再进行仿真模拟汽车驾驶时信号灯的各种情况 仿真后对电路系统进行 PCB 图绘制 经过电路板实物制作及调试验证汽车信号灯单片机 控制系统的操作可行性 观察分析设计的结果 进行反馈 完善该操作系统 关键词 单片机 汽车转弯 信号灯 程序设计 调试 Abstract Traditional auto light control system generally uses the relay with the independent mode control this makes the wire inside the car more causes serious electromagnetic interference and makes the system reliability descend So I consider using single chip microcomputer control car lights to simplify the circuit and reduce the interference so that the system is practical and reliable and it can increase the safety performance of cars Car lights turn single chip microcomputer control system is mainly the application of single chip microcomputer parallel input output circuit namely through the I O port reset circuit drive circuit key circuit to simulate the vehicle turning system functions Because the car has left turning right turning braking emergency switch etc and it can compose a variety of operating conditions So in many respects when you write a program signals exist various situation hope to be able to try to contain a variety of functions can the control system meet the needs of the reality This design is to plot circuit principle diagram analyze the design inputs and outputs to the control function module by writing the program code lights control keys and the flashing effect and carries on the simulation of light when the car driving situations After simulation and PCB circuit diagram drawing it can test circuit board and debug the operational feasibility of the control system To observe the result of the analysis and design feedback will improve the operating system Key words Single chip microcomputer Cars turning Signal light Programming Debugging 目 录 摘要 I ABSTRACT II 第 1 章 绪论 1 1 1 选题背景 1 1 2 研究目的与意义 1 1 3 技术现状分析 1 1 4 论文的主要内容 2 第 2 章 汽车信号灯系统设计原理 3 2 1 汽车信号灯系统控制要求 3 2 2 汽车信号灯系统设计方案 3 2 3 单片机 AT89C52 简介 4 2 3 1 单片机 AT89C52 内部主要功能特性 4 2 3 2 单片机 AT89C52 主要引脚功能 5 2 4 单片机 AT89C52 的工作原理及设计 6 2 4 1 开关状态检测 6 2 4 2 输出控制 6 2 4 3 定时器和计数器 6 2 4 4 定时器初始化 7 2 4 5 中断系统 8 2 5 本章小结 8 第 3 章 汽车转弯信号灯系统硬件设计 9 3 1 汽车转弯信号灯系统电路 9 3 1 1 汽车转弯信号灯系统控制功能 9 3 1 2 汽车转弯信号灯系统电路元件表 10 3 1 3 汽车转弯信号灯系统总电路图 10 3 2 汽车转弯信号灯系统局部电路分析 11 3 2 1 时钟电路分析 11 3 2 2 复位电路分析 11 3 2 3 输入控制端电路分析 12 3 2 4 输出控制端电路分析 12 3 3 汽车转弯信号灯系统实物电路图 13 3 4 汽车转弯信号灯系统实物制作过程 14 3 4 1 电路图的设计 14 3 4 2 硬件制作过程 15 3 5 本章小结 15 第 4 章 汽车转弯信号灯系统软件设计 16 4 1 控制端口值及亮灯键值表 16 4 1 1 控制端口键值表 16 4 1 2 亮灯键值表 16 4 2 汽车信号灯转弯控制系统流程图 17 4 2 1 主程序流程图 17 4 2 2 子程序流程图 17 4 3 本章小结 19 第 5 章 系统的仿真与调试 20 5 1 仿真软件简介 20 5 2 仿真结果图 20 5 3 硬件测试情况 25 5 4 软硬件联调 25 5 5 本章小结 26 结论 27 参考文献 28 致谢 29 附录源程序 30 第 1 章 绪论 1 1 选题背景 单片机是从早期计算机系统里分化出来的 它体积小 功能强 性能稳定及价格便 宜 由数字电路与模拟电路实现的控制模块功能 可以使用单片机以及通过软件编程方 法来实现操控功能 使各独立单位有效结合成一个整体 从而研发出智能型产品 单片 机的应用逐渐改变了控制系统的设计理念和设计方法 而且将会在更多的领域带来巨大 的促进 单片机的应用优势在于使产品向着小型 智能与多功能化方面发展 而且可以提高 生产效率 减轻劳动力强度 同时提升产品的质量 改善生产环境 根据单片机自身特 性 可以决定其应用范围 在工业控制领域 运用单片机可以构造各种数据库采集系统 与控制系统 满足生产工作的需求 例如工厂生产中制作的智能化管理与安全警告系统 另外在日常生活的家用电器也都采用单片机控制系统 如音响视频器件 高级智能玩具 电子门锁等 单片机也可应用于智能仪器仪表上 如精密的测量与分析仪 单片机的发 展拥有很大的潜力 其中将单片机应用于汽车转弯灯系统中 也是我们具有研究意义的 项目 现代汽车采用单片机的智能模块也越来越多 如防抱死刹车系统 ABS 电子制动 力分配 EBD 等 1 2 研究目的与意义 因为传统汽车的信号灯控制系统很多采用独立模式和继电器控制 依靠数字逻辑电 路去实现 这使得车内电线很多而且比较复杂 存在许多带有制约关系的联锁电路 从 而造成了严重的电磁干扰 使系统的可靠性降低 尤其在恶劣天气的环境下 如在夜晚 下大雨或出现大雾的时候 人们对汽车安全行驶的要求会变得更高 此时利用单片机作 为控制器的汽车信号灯系统为我们带来了极大的方便 所以本设计研究的目的是采用 MCS 51 系列单片机作为控制器 代替传统的控制电路系统 不仅可以简化传统模块电路 极大地减少车内线束 降低电磁干扰 同时研究这个系统可提高其自动化程度 增加系统 功能 提高安全性能 这个设计是使用单片机控制信号灯的系统 即在汽车进行各种操作时 通过编写程 序代码实现各种信号指示灯的控制 如左转弯 右转弯 合紧急开关 刹车等 研究的 意义在于这样不仅可以减少成本 而且操控更便捷简单 能够更好地运用到实际情况中 从而抵御周边恶劣天气环境下的影响 增加行车时的安全性 1 3 技术现状分析 汽车转向灯是在机动车辆转向时开启用来提示周边车辆还有行人注意的重要指示灯 它的有效工作 可以为行车提供安全保障 汽车转弯信号灯是机动车的动态信息装置 主要安装在车身的前后 此设计模拟的信号灯 也是按照机动车各个位置安放 LED 灯 方便调控模拟现实情况 另外芯片的位置可以安装在汽车驾驶位置的仪表盘里 进行对 信号灯的操作 汽车可以按照模拟中出现的左转 右转 紧急情况与刹车等情况 实现 对转向灯的操控 安全驾驶 现在转弯信号灯的设计正在不断升级与改善 由于当汽车驾驶时可能会出现盲区 驾驶员可能看不到另外一辆汽车的尾部 那么考虑在后视镜安装转向信号灯 如果这些 后视镜里面含有高强度发光二极管 而这些二极管可以排成指向左边或右边的箭头 对 于后面驾驶车辆可以有更好指示效果 从而避免驾驶盲区 1 4 论文的主要内容 全文共分五章 第 1 章 阐述了课题设计的选题背景及研究目的和意义 及技术现状分析 第 2 章 主要讲述了汽车转弯信号灯系统设计原理 包括系统控制要求与系统设计方 案 另外详细介绍了单片机 AT89C52 的工作原理及设计特点 第 3 章 主要讲述汽车转弯信号灯系统的硬件设计部分 包括对系统每个部分的电路 分析与操作功能 以及制作要求和制作实现硬件的过程 第 4 章 主要介绍了汽车转弯信号灯系统的软件设计 讲述控制端口值及亮灯键值表 的设计 及程序主流程图与子流程图的构思过程 第 5 章 主要讲述了系统的仿真与硬件调试结果 及仿真结果图的展示 还有对软硬 件的联调测试 并分析结果 进行修改 结论主要是对论文内容进行概括归纳与总结分析 第 2 章 汽车信号灯系统设计原理 2 1 汽车信号灯系统控制要求 通过中断系统与定时计数器的联合组成控制系统的工作原理 考虑情况如汽车上仪 表盘附近有一个转弯控制杆 它的三个位置分别为 向上 汽车左转弯 中间位置 汽 车直行 向下 汽车右转弯 另外转弯的时候 安排左右头灯 左右尾灯 仪表盘上 2 个指示灯对应地发出闪亮信号 同时当紧急开关合上时 7 个信号灯都闪烁的信号仍应闪 亮 它们包括前左转弯灯 前右转弯灯 后左转弯灯 后右转弯灯 仪表盘的左指示灯 右指示灯 以及仪表盘上的紧急信号灯 其中它们都是频率为 1Hz 低频闪烁 1 控制要 求如下表 2 1 所示 表 2 1 汽车驾驶操纵与信号 输出信号 驾驶操作 仪表盘 左转弯 灯 仪表盘 右转弯 灯 仪表 盘紧 急灯 左前 灯 右前 灯 左后 灯 右后 灯 左刹 车灯 右刹 车灯 左转弯闪亮灭灭闪亮灭闪亮灭灭灭 右转弯灭闪亮灭灭闪亮灭闪亮灭灭 合上紧急开关闪亮闪亮闪亮闪亮闪亮闪亮闪亮灭灭 刹车灭灭灭灭灭灭灭亮亮 左转弯时刹车闪亮灭灭闪亮灭闪亮灭亮亮 右转弯时刹车灭闪亮灭灭闪亮灭闪亮亮亮 刹车 并合紧急 开关 闪亮闪亮闪亮闪亮闪亮闪亮闪亮亮亮 左转弯时刹车 并合紧急开关 闪亮闪亮闪亮闪亮闪亮闪亮闪亮亮亮 右转弯时刹车 并合紧急开关 闪亮闪亮闪亮闪亮闪亮闪亮闪亮亮亮 2 2 汽车信号灯系统设计方案 汽车转向灯系统主要有单片机 AT89C52 复位 按键 LED 显示电路 5V 电源组 成最基本的控制系统 由于单片机有着强大的功能 而汽车转向灯的驱动将使用单片机 本身的驱动进行驱动 这样使得单片机的功能可以得到充分的运用 2 如下图 2 1 按键电路 复位电路 电源电路 AT89C52LED显示电路 图 2 1 汽车转弯信号灯系统总框图 2 3 单片机 AT89C52 简介 AT89C52 是一个低电压 高性能 CMOS 的 8 位单片机 片内含有 8k bytes 的可反复 擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 2 3 1 单片机 AT89C52 内部主要功能特性 单片机 AT89C52 如图 2 2 其内部主要功能特性 兼容 MCS51 指令系统 8k 可反复擦写 Flash ROM 32 个双向 I O 口 256x8bit 内部 RAM 可扩充 64kB 外部存储器 16 位可编程定时器 计数器中断有 3 个 时钟频率 0 24MHz 2 个串行中断 与可编程 UART 串行通道 共 8 个中断源 其中 2 个为外部中断源 有 2 个读写中断口线 3 级加密位 低功耗掉电和空闲模式 兼软件设置睡眠与唤醒功能 有 PDIP PQFP TQFP 及 PLCC 几种封装形式 来适应不同产品的需求 3 图 2 2 单片机 AT89C52 2 3 2 单片机 AT89C52 主要引脚功能 1 Vcc AT89C52 电源正端输入 接 5V 2 Vss 接地引脚 3 XTAL1 单芯片系统时钟的反相放大器输入端 4 XTAL2 系统时钟的反相放大器输出端 一般设计上需要在 XTAL1 和 XTAL2 上接上一个石英振荡晶体系统就可以动作 另外可以在两引脚与地之间加入一个 20pF 的小电容 这样既可以使系统更加稳定 又可以避免噪声干扰而导致的死机 5 RESET AT89C52 的重置引脚 高电平动作 6 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 负载 7 PORT1 P1 0 P1 7 端口 1 是具有内部提升电路的双向 I O 端口 它的输出 缓冲器可以推动四个 LS 的 TTL 负载 同时若将端口 1 的输出设置为高电平 则会由这 个端口来输入数据 8 PORT2 P2 0 P2 7 端口 2 是具有内部提升电路的双向 I O 端口 每一个引 脚可推动四个 LS 的 TTL 负载 若将端口 2 的输出设置为高电平时 这个端口可以当作 输入端口使用 9 PORT3 P3 0 P3 7 端口 3 也具有内部提升电路的双向 I O 端口 其输出缓 冲器可以推动四个 TTL 负载 而且还具有其他额外的特殊功能 其中包括外部中断控制 串行通信 计时计数控制以及外部数据存储器内容的读取与写入控制等功能 4 引脚分配 如下表 2 2 表 2 2 P3 引脚功能分配表 引脚名称功能定义 P3 0RXD 串行通信数据接收端 P3 1TXD 串行通信数据发送端 P3 2INT0 外部中断 0 请求端口 P3 3 INT1 外部中断 1 请求端口 P3 4T0 定时 计数器 0 外部数据输入端口 P3 5T1 定时 计数器 1 外部数据输入端口 P3 6 WR 片外数据存储器的写选通 P3 7 RD 片外数据存储器的读选通 2 4 单片机 AT89C52 的工作原理及设计 2 4 1 开关状态检测 关于开关状态检测 对 AT89C52 为输入关系 可以一次性检测全部开关的状态 让它指示 则可以使用 MOV A P1 指令一次把 P1 端口产生的状态全部读入 再取低 4 位来进行与程序的值相比较 或者可以采用单键检测来实现 即可以用 JB JNB 来对输 入键进行测试 然后对端口进行控制 而且控制输出端口也可以直接对位进行控制 用 SETB PX X 又因为刹车键与刹车灯是一个组合 只有当刹车键按下去后 刹车灯就会亮 所以这里可以采用对刹车键直接进行位检测 2 4 2 输出控制 以发光二级管 D1 D9 来指示 设计时可以用指令 MOV PX XXXXXXXX 方法来实 现 其中 D1 D7 表示的是 2 个车前转弯灯 2 个车后转弯灯 仪表盘的 2 个转弯指示灯 和 1 个双闪灯 而 D8 和 D9 是刹车灯 2 4 3 定时器和计数器 根据任务设计要求 需要使用到定时器 信号的控制是中断系统与定时器的联合运 用得到实现的 在单片机控制系统应用时 需要使用到定时器 而在汽车转弯信号灯的 控制中都是不可缺少的 其中有三种选择定时的方法 1 软件的定时 软件定时是指扫行循环程序从而进行时间延迟 它的优点 时间精确 而且不需要 增加硬件电路 但是它需要增加 CPU 的开销 所以软件定时的时间不能够过长 2 硬件的定时 硬件定时的优点 定时功能全部由硬件电路来完成 不会占 CPU 时间 3 可编程定时器的定时 它是指由系统时钟脉冲的计数去实现的 通过程序设定计数值 同时可以改变定时 的时间 这样使用起来灵活方便 5 2 4 4 定时器初始化 编程主要是对工作方式控制寄存器 定时器控制寄存器和中断允许控制寄存器进行 操作 1 定时器控制寄存器 TCON TCON 不仅参与中断控制同时参与定时控制 有关定时的控制位有 4 位 TF0 和 TF1 记数溢出标志位 TR0 和 TR1 定时器运行控制位 TR0 TR1 0 停止定时器 计数器工作 TR0 TR1 1 启动定时器 计数器工作 2 中断允许控制寄存器 EA 中断允许总控制位 ET0 和 ET1 定时 计数中断允许控制位 ET0 ET1 0 禁止定时 计数中断 ET0 ET1 1 允许定时 计数中断 根据上面的功能特性 可以针对任务要求 利用单片机的可编程定时 计数器与中断 系统来实现信号灯闪烁的延时及故障检测 6 3 工作方式控制寄存器 TMOD TMOD 寄存器 它的低半字节定义定时器 计数器 0 高半字节定义定时器 计数器 1 7 各位定义如表 2 3 所示 表 2 3 TMOD 各位定义 位序B7B6B5B4B3B2B1B0 位符号GATEC TM1M0GATE C T M1M0 其中 a GATE 门控位 GATE 0 以控制位 TR 启动定时器 GATE 1 以外中断请求信号 INT0I 或 NT1 启动定时器 b C 计数方式或定时方式选择位T C 0 定时工作方式T C 1 计数工作方式T c M1 M0 工作方式选择位 M1 M0 00 工作方式 0 M1 M0 01 工作方式 1 M1 M0 10 工作方式 2 M1 M0 11 工作方式 3 2 4 5 中断系统 应用 中断 可以有效提高单片机系统的实时性 几乎所有良好的实时系统都会用到 中断 在单片机上有两个引脚 即 INT0 与 INT 外部中断信号通过这两个引脚输入到单 片机 另外可以通过编写程序来实现对中断系统的处理 即使用 AT89C52 的可编程中断 系统去实现信号灯闪亮的延时 还有故障检测 中断系统的主要作用有下面四点 第一 实现高速 CPU 和低速外设之间在速度上的同步与匹配 利用中断方式进行 I O 口操作 可以看成外设和 CPU 的并行工作 第二 实现故障紧急处理 即当外设发生故障时 可利用中断系统请求 CPU 立刻处 理出现的故障 第三 满足实时控制要求 第四 人机联系方便灵活 操作人员可以使用键盘等操作实现中断 完成人工介入 8 2 5 本章小结 本章主要介绍了汽车转弯信号灯系统的设计原理 包括设计方案 设计思路及对芯 片 AT89C52 的简单说明 分析控制要求 结合 AT89C52 的定时器 计数器与中断系统的 性能特点初步设计信号灯系统的结构组成 第 3 章 汽车转弯信号灯系统硬件设计 3 1 汽车转弯信号灯系统电路 3 1 1 汽车转弯信号灯系统控制功能 汽车信号灯由单片机控制会使电路简化 而且此系统可以通过软件编程完成所需的 控制功能 实用方便 下面是使用单片机控制的汽车信号灯 它们依次为左前灯 左后 灯 右前灯和右后灯 4 个按键 SB1 SB2 SB3 SB4 它们分别是左转弯键 右转弯键 紧急信号键 刹车键 而输出电路则由 9 个 LED 指示灯组成 汽车信号灯控制功能见表 3 1 及 9 个 LED 指示灯的分配见表 3 2 表 3 1 汽车信号灯控制功能表 按键键名动作 SB1左转前左转灯 后左转灯 仪表盘左转指示灯闪亮 SB2右转前右转灯 后右转灯 仪表盘右转指示灯闪亮 SB3紧急 前左转灯 后左转灯 仪表盘左转指示灯闪亮 前右转灯 后右转灯 仪表盘右转指示灯闪亮 仪表盘双闪灯闪亮 SB4刹车 左刹车灯亮 右刹车灯亮 表 3 2 LED 指示灯分配表 代号灯名分配 D1前左转灯 D2前右转灯 D3仪表盘左转指示灯 D4仪表盘右转指示灯 D5后左转灯 D6后右转灯 D7仪表盘双闪灯 D8左刹车灯 D9右刹车灯 3 1 2 汽车转弯信号灯系统电路元件表 表 3 3 汽车转弯信号灯系统电路元件表 名称代号规格或型号数量 单片机U1AT89C521 晶振X112MHz1 发光二极管 D1 D2 D3 D4 D5 D6 D7 D8 D9 5mm 9 按钮SB1 SB4自锁型4 R11k 1 R210k 1 R3 R651k 4 电阻 R7 R15100 9 C1 C233pF2 电容 C3 10F 1 排阻RP1RESPACK 81 单片机电源 cc V 5V1 3 1 3 汽车转弯信号灯系统总电路图 基于单片机的汽车信号灯控制系统总电路图如图 3 1 总电路图由 4 个部分组成 分 别是时钟电路 复位电路 输入电路与输出电路 图 3 1 汽车信号灯控制总电路图 3 2 汽车转弯信号灯系统局部电路分析 3 2 1 时钟电路分析 内部时钟工作方式是利用单片机内的振荡电路实现的 需通过单片机的 XTAL1 和 XTAL2 引脚外接定时元件 定时元件通常用晶体振荡器与电容构成并联谐振回路 如下 图 3 2 所示 其中电容 C1 和 C2 一般取 30pF 左右 主要作用是帮助其起振 晶体的振荡 频率范围在 1 2 13MHz 一般时钟振荡频率为 6 12MHz 图 3 2 时钟电路图 3 2 2 复位电路分析 能够产生单片机复位的条件 在 RST 引脚端出现满足复位时间要求的高电平状态 这个时间相当于系统时钟振荡周期建立的时间上再加两个机器周期 通常 10ms 单片机的复位可通过两种方式产生 即上电复位和按键复位方式 上电复位是利用阻容充电电路实现 见下图 3 3 a 当给单片机上电时 RST 端的 电位与 Vcc 相同 当充电电流逐渐减小 RST 端的电位将不断下降 则选择适合的电阻 和电容 使 RC 时间常数大于复位时间就可保证上电复位的发生 a 上电复位 b 按键复位 c 复合复位 图 3 3 复位电路图 按键复位方式是使用电阻分压电路实现的 见上图 3 3 b 当按键压下时 串联 电阻 R2 的分压可以使 RST 端产生高电平 则按键恢复时产生低电平 当按键操作产生 的复位脉冲宽度大于复位时间就可保证按键复位的发生 实际应用中 常采用将上电复位和按键复位整合在一起的复合复位方法 如上图 3 3 c 3 2 3 输入控制端电路分析 按照任务要求 系统的工作原理为 将单片机的引脚作为输入来使用 应首先置 1 在按键没被按下时 单片机的引脚上为高电平 如果按键被按下后 引脚接地 单片机 引脚上就为低电平 同时因为输入端只用了前 5 个接线端 分别是 P1 0 P1 1 P1 2 P1 3 P1 4 可将后 3 个接线端 P1 5 P1 6 P1 7 直接接地 就可 以确定后面那个接线端的输入状态为低电平 从而方便于编程 电路图如下图 3 4 所示 图 3 4 输入控制端电路图 3 2 4 输出控制端电路分析 输出端电路是由 6 个 LED 灯 6 个电阻以用一个排阻所组成 如下图 3 5 所示 当 P0 口作为通用 I O 口使用 CPU 使 控制 端持续低电平 封锁与门 A 恒定输出 0 上 拉场效应管 V2 处于截止状态 漏极开路 控制 端为 0 也使多路开关 MUX 与接通 这 时 P0 口与 P1 口一样 有输出 读引脚和读锁存器三种工作方式 但由于 V2 漏极开路 要使 1 信号正常输出 必需外接一个上拉电阻 则上拉电阻的阻值为 4 7 10k 图 3 5 输出控制端电路图 3 3 汽车转弯信号灯系统实物电路图 汽车转弯灯系统实物电路图如图 3 6 图 3 6 实物电路图 实物说明 上图开关从左到右为 SW4 SW3 SW2 SW1 LED 灯分别为 左前灯 右前灯 仪表盘左转指示灯 仪表盘右转指示灯 中间单独一个的为仪表盘双闪灯 左 后灯 右后灯 最后面两个灯为左刹车灯 右刹车灯 3 4 汽车转弯信号灯系统实物制作过程 3 4 1 电路图的设计 根据电路原理图设计 可以绘制电路板的 PCB 图 使用的是 Altium Designer 软件 Altium Designer 能将设计电路从原理图转到 PCB 且提供高质量 稳定的类 即可以更 好地完成 PCB 版图的制作 1 对于 PCB 版图的设计步骤可以分为 1 将电路元器件放到合适的位置 各元件之间距离不能太大造成空间的浪费 也不够过于密集违反安全规则 该设计中要注意 LED 指示灯放置合理 更 容易实现系统功能的操作 比如左前灯与右前灯放置在第一排 左刹车灯 与右刹车灯则放在最后一排 同时这样安排更易于编程设计 2 布线注意的问题 a 电源 地线的处理 可以尽量加宽电源 地线宽度 从而降低电源 地线 产生的干扰 b 布线的线宽要尽量大些 最好是 1mm 1 6mm 因为打印时如果线条太细会 导致墨印模糊或有断裂情况 从而使转印到铜板的效果很差 c 焊盘也要设计更大些 默认的值往往使焊盘打印时显得非常小 所以适当 增加焊盘的大小 可以使后序工作打孔顺利进行 d 排线时注意不要出现直角 因为直角不利于电流的导通 另外要注意布线 时的整体效果图的美观情况 3 设计规则检查 通常检查的地方 线与元件焊盘 线与线 元件焊盘与贯 通孔 线与贯通孔 贯通孔与贯通孔之间的距离是否合理 4 绘制汽车转弯信号灯系统电路 PCB 版图如下 图 3 7 汽车转弯信号灯系统电路的 PCB 版图 2 其中在绘图布线中 遇到的问题 1 在布线时出现飞线情况 因为元器件不是很多就想办法移动元件位置 然后再进 行一次布线 尝试解决飞线问题 完善硬件制作设计 2 线宽太窄 导致打印的线有模糊断裂的情况 经老师建议后增加线宽宽度 并增 大焊盘 从而可以顺利进行硬件制作 3 部分元件需要自己进行封装 由于元件库里的封装有限 所以为了满足元件的焊 接问题 需要认真按照标准尺寸去设计 甚至动手进行量测元件引脚的距离 确保后面 焊接元件的可安装性 4 要考虑设置电源接入口的问题 可以添加两个焊盘 分别为电源正极与接地的焊 盘 这样才完整地完成硬件 PCB 版图设计 3 4 2 硬件制作过程 当经过电路原理图的设计与软件程序的设计 及进行过仿真环节后 确保汽车转弯 信号灯系统是可行的 在绘制 PCB 版图的基础上 可以进行下面实物硬件的制作 1 电路板的制作 1 用转印纸把绘制好的电路板打印出来 2 裁剪铜板 3 铜板预处理 使用砂纸把铜板表面的氧化层打磨掉 保证转印电路板的质量 4 转印电路板 5 腐蚀铜板 首先需要检查电路板是否转印完整 如果存在少数没有转印好的地方 或者出现缺损情况 可以用黑色油性笔修补 再进行腐蚀 6 电路板钻孔 根据电子器件引脚的粗细选择相应的钻头 在钻孔时线路板需要按 稳 钻机速度不宜过慢 不然出现打偏 会造成焊盘的缺失 7 电路板预处理 钻孔后 使用砂纸把线路板上的墨粉清洗干净 再用松香水涂在 铜线电路上 2 元件的焊接 根据 PCB 版图将元件逐个去焊接 建议先将多引脚的芯片插座焊接 再将简单的元 器件一个个地焊接 同时注意电阻的阻值 焊接中遇到的问题是 有时候焊锡放的量比较多 需要重新吸走再焊接 这样浪费 材料同时让焊接点不够美观 后来经过训练 改善了焊接的操作方法 可以更好地进行 元件焊接 当实物硬件制作好后 后面的工作就是对硬件进行调试 观察分析设计出来的单片机 汽车信号灯控制系统是否能满足设计需要 3 5 本章小结 本章介绍了硬件制作部分 主要是信号灯控制系统电路的控制功能设计 电路图的 绘制以及对局部电路的分析 另外还有实物制作过程的说明分析及其展示 第 4 章 汽车转弯信号灯系统软件设计 4 1 控制端口值及亮灯键值表 4 1 1 控制端口键值表 控制端口键值如下表 4 1 其中 1 表示开关没有按下 0 表示开关按下 表 4 1 控制端口键值 刹车紧急右转左转 灭灯00001111 左转00001110 右转00001101 紧急00001011 刹车00000111 左转刹车00000110 右转刹车00000101 紧急刹车00000011 左转紧急刹车00000010 右转紧急刹车00000001 4 1 2 亮灯键值表 亮灯键值如下表 4 2 其中 1 表示灯不亮 0 表示灯亮 其中刹车灯由 P2 输出 其 余 7 个灯由 P0 输出 而在写程序的时候 没有用到的位可置 1 或清 0 表 4 2 亮灯键值表 仪表 盘紧 急灯 车尾 右转 灯 车尾 左转 灯 仪表 盘右 转灯 仪表 盘左 转灯 车头 右转 灯 车头 左转 灯 右刹 车灯 左刹 车灯 灭灯011111111 左转010101011 右转001010111 紧急000000011 刹车111111100 左转刹车110101000 右转刹车101010100 紧急刹车000000000 左转紧急刹车000000000 续表 4 2 右转紧急刹车000000000 4 2 汽车信号灯转弯控制系统流程图 4 2 1 主程序流程图 开始 读取键值 将读取的键值和程序里面的键值相比较 跳转到相应的程序 产生各自不同的控制信号 结束 图 4 1 主程序流程图 4 2 2 子程序流程图 注意部份子程序开始时先将 P2 的值重置为高电平 原因是刹车信号灯分配在 P2 而 且如果将 P2 置为低电平 P2 不会自动跳转为初始状态的高电平 这样刹车信号灯就会一 直亮 而不受刹车开关的控制 所以在没有刹车信号的子程序里 先将 P2 重置为高电平 其中 左转弯子程序如图 4 2 右转弯子程序如图 4 3 紧急信号灯子程序如图 4 4 刹 车子程序如图 4 5 左转弯刹车子程序如图 4 6 右转弯刹车子程序如图 4 7 紧急刹车 左转弯紧急刹车 右转弯紧急刹车子程序是一样的 都称为紧急信号灯和刹车的子程序 如图 4 8 将P2的值重置为高电平 将左转弯的灯亮起来 调用延时子程序 将左转弯的灯熄灭 调用延时子程序 跳回程序开头 图 4 2 左转弯子程序 将P2的值重置为高电平 将右转弯的灯亮起来 调用延时子程序 将右转弯的灯熄灭 调用延时子程序 跳回程序开头 图 4 3 右转弯子程序 将P2的值重置为高电平 将紧急信号灯亮起来 调用延时子程序 将紧急信号灯熄灭 调用延时子程序 跳回程序开头 转弯指示灯为熄灭状态 刹车灯亮起来 跳回程序开头 图 4 4 紧急信号灯子程序 图 4 5 刹车子程序 将刹车灯亮起来 将左转弯灯亮起来 调用延时子程序 将左转弯灯熄灭 调用延时子程序 跳回程序开头 图 4 6 左转弯刹车子程序 将刹车灯亮起来 将右转弯灯亮起来 调用延时子程序 将右转弯灯熄灭 调用延时子程序 跳回程序开头 图 4 7 右转弯刹车子程序 将刹车灯亮起来 将紧急信号灯亮起来 调用延时子程序 将紧急信号灯熄灭 调用延时子程序 跳回程序开头 图 4 8 紧急信号灯和刹车的子程序 4 3 本章小结 本章主要是对系统软件部分的设计 分析设计控制端口值与亮灯键值 结合编程 设计的方便 更好地实现系统功能模块 再考虑主程序及子程序的设计思路 绘制其 流程图 第 5 章 系统的仿真与调试 5 1 仿真软件简介 1 Keil uVision 1 系统概述 Keil C51 软件能够提供许多的库函数以及具有强大功能的集成开发调试工具 而且 Keil C51 生成的目标代码效率很高 很多语句生成的汇编代码紧凑 而且便于理解 2 Keil C51 软件开发系统的整体结构 C51 工具包的整体结构 uVision 与 Ishell 分别是 C51 for Windows 和 for Dos 的集成 开发环境 可以完成编辑 编译 连接 调试等开发流程 运用 Keil 仿真器时 注意 a 仿真器标配 11 0592MHz 晶振 b 仿真器的复位按钮只是复位仿真芯片 不能复位目标系统 c 仿真时只能使用片内 ROM 不能使用片外 ROM 因为仿真芯片的 31 脚已经接 到高电平 另外仿真器外引插针中的 31 脚与仿真芯片的 31 脚并不相连 所以这 个仿真器仍然可以插入到扩展有外部 ROM 的目标系统中使用 2 Proteus 1 软件简介 Proteus 软件不仅与其它 EDA 工具软件的仿真功能一样 此外还能够仿真单片机 Proteus 从原理图制图 代码调试到单片机协同仿真 实现了从概念想法到产品的完整性 设计 9 2 功能特点 a 原理图制作设计 b 人工布线或 PCB 自动布线 c SPICE 电路仿真 d 互动的电路仿真 如可以实时采用 RAM ROM 马达等 e 仿真处理器及外围电路 可以仿真 51 系列 AVR ARM 等常用主流单片机 5 2 仿真结果图 1 在 Proteus 软件中绘制电路原理图 然后利用在 Keil 软件将程序运行后生成的 Hex 文件输入到原理图的 AT89C52 芯片中 点击开始运行仿真 按步点击开关 观察分析仿 真出来的结果 然后思考是否满足任务要求 再反馈到编程设计中 是否需要完善程序 语句 使系统能更好地完成任务 图 5 1 仿真电路原理图 2 按下开关 SW1 需要实现左转 仿真效果图如下 左前灯 仪表盘左指示灯 左后 灯一起闪亮 图 5 2 仿真左转图 3 按下开关 SW2 需要实现右转 仿真效果图如下 右前灯 仪表盘右指示灯 右后 灯一起闪亮 图 5 3 仿真右转图 4 按下开关 SW3 需要实现紧急信号灯显示突发情况 仿真效果图如下 左前灯 仪 表盘左指示灯 左后灯 右前灯 仪表盘右指示灯 右后灯一起闪亮 图 5 4 仿真紧急信号灯图 5 按下开关 SW4 需要实现刹车 仿真效果图如下 左刹车灯与右刹车灯一起长亮 图 5 5 仿真刹车图 6 按下开关 SW1 和 SW4 需要实现左转刹车情况 仿真效果图如下 左前灯 仪表 盘左指示灯 左后灯一起闪亮 同时左刹车灯与右刹车灯一起长亮 图 5 6 仿真左转刹车图 7 按下开关 SW2 和 SW4 需要实现右转刹车情况 仿真效果图如下 右前灯 仪表 盘右指示灯 右后灯一起闪亮 左刹车灯与右刹车灯一起长亮 图 5 7 仿真右转刹车图 8 按下开关 SW3 和 SW4 需要实现紧急状态下刹车情况 仿真效果图如下 左前灯 仪表盘左指示灯 左后灯 右前灯 仪表盘右指示灯 右后灯一起闪亮 左刹车灯与右 刹车灯一起长亮 图 5 8 仿真紧急信号刹车图 5 3 硬件测试情况 首先做好准备工作 观察焊接的元器件是否与设计要求的电路图匹配 如果不对应 就需要拆开元件 再重新焊接 过程中要注意焊锡的滴落 还有需要认真观察元器件是 否有接错引脚 因为如果由于引脚的错误连接 容易导致整个电路的损坏 用数字万用 表电阻档去检测电路是否出现短路或者断路的情况 在上面准备工作做好后 经过排除解决出现的问题 可以利用单片机开发板将编写 的程序烧录到 AT89C52 芯片中 然后将芯片安插到已经制作好的实物硬件上 接入 5V 电源 再根据仿真步骤环节去一步一步操作调试 观察是否和所设计要求的仿真结果一 致 实际中开始调试效果不太理想 和预设的仿真情况不一样 逐一按下开关或者是组 合两个开关按下观察情况 发现存在问题 LED 灯组不是依据仿真情况时那样闪亮 分 析后确定不是硬件部分的问题 而是软件编程时程序有遗漏导致出现错误 经过仔细观 察 修改完善程序后 再烧录到芯片中 重新调试 才发现和预设仿真效果一致 此时 说明电路系统能满足任务要求 5 4 软硬件联调 在电路系统硬件制作完成后的基础上 可以将初始程序输入到芯片中 然后将电源 接入到 USB 接口 使电路工作 按照仿真模拟效果运行 进行观察与反馈 发现问题可 以立即修改程序 重新烧录 直到信号灯系统能满足任务要求 程序主要部分的工作情况 1 MAIN MOV A P1 CJNE A 00001111B AA MOV P0 10111111B 将 P0 的值 D1 D7 重置为高电平 初始状态 MOV P2 00000011B 将 P2 的值 D8 D9 重置为高电平 使刹车信号灯可控 AJMP MAIN AA CJNE A 00001110B BB 跳转到左转指令 AJMP ZUOZHUAN BB CJNE A 00001101B CC 跳转到右转指令 AJMP YOUZHUAN CC CJNE A 00001011B SS 跳转到紧急信号指令 AJMP JINJI SS CJNE A 00000111B EE 跳转到刹车指令 AJMP SHACHE EE CJNE A 00000110B FF 跳转到左转刹车组合指令 AJMP ZUOSHA FF CJNE A 00000101B GG 跳转到右转刹车组合指令 AJMP YOUSHA GG CJNE A 00000011B HH 跳转到紧急信号刹车组合指令 AJMP JINSHA HH CJNE A 00000010B JJ 跳转到左转紧急刹车组合指令 AJMP ZUOJINSHA JJ CJNE A 00000001B KK 跳转到右转紧急刹车组合指令 AJMP YOUJINSHA KK MOV P0 10111111B 跳转到主程序指令 AJMP MAIN 2 循环嵌套语句 延时子程序的调用 YS MOV R7 04H 外循环语句 DEL1 MOV R6 0FFH 内循环语句 1 DEL2 MOV R5 0FFH 内循环语句 2 DJNZ R5 DJNZ R6 DEL2 DJNZ R7 DEL1 遇到的问题 在联调检测时发现紧急信号指令功能不能实现 分析原因 紧急信号 指令设置有误 紧急信号子程序中二进制编码出现错误 及时修改再重新运行 调试中 逐渐完善程序代码 尽量使软件设计部分可以操作多种汽车转弯信号灯的功能 满足生 活中的现实需要 5 5 本章小结 本章是分两方面进行讲述 一方面是硬件实物制作前 对系统电路的仿真模拟 同 时对仿真软件进行简单说明 参考仿真结果可以为后面硬件制作打下基础 另一方面是 硬件制作成功后 烧录程序后 进行软硬件联调检测 观察结果再进行反馈 结论 此系统充分利用 AT89C52 的各个引脚的功能 来实现汽车转弯信号灯控制 通过运 用引脚 P1 0 到 P1 7 作控制输入端 引脚 P0 0 到 P0 7 作控制输出端 活用程序代码使开 关 SW1 SW4 按下后可以实现 LED 灯模拟汽车驾驶中左转 右转 紧急信号情况 刹车 与左转刹车组合 右转刹车组合 紧急信号刹车组合的 7 种情况闪亮工作或长亮工作 从而满足现实中的需要 这样可以简化传统电路的线路 降低电磁干扰 另一方面还可 以减少材料成本 增加驾驶汽车的安全性 汽车转弯信号灯系统是利用软件编程的方法 设计硬件部分 同时系统可现场编程 在线升级 例如当仿真时 发现达不到设计要求 时 可重新编程 然后在线升级 再进行仿真或硬件检测 直至能够满足要求为止 从拿到设计题目后 我分析如何进行设计 再尝试画出电路原理图 构思编程程序 考虑如何达到任务要求效果 然后进行初步仿真 观察是否可行 在决定可以制作硬件 实物时 再绘制 PCB 版图 制板焊接元件 最后进行调试工作 经历了一个时间比较长 的过程 尽管制板焊接元件可能会快些 但前期基础工作需要很多时间 特别是在设计 电路原理图后 进行编程时 构思主程序与子程序怎样调用芯片的功能 使得可以达到 任务要求 其中需要进行仿真 不断反馈得到满意的效果 后续工作 PCB 版图的绘制也 需要耐心地设计与修改 然后才可制作硬件 最后就是进行软硬件的联调 所以经过此次毕业设计后 我不仅将以前的知识回顾一遍 还借助吸收课外知识 及听取老师的相关指导 将自己的构思想法制作出汽车转弯信号灯系统 从中也受益匪 浅 拓宽了知识 增加实践经验 使自己能有更大的进步 参考文献 1 林立 张俊亮 曹旭东等 单片机原理及应用 基于 Proteus 和 Keil C M 电子工业出 版社 2009 48 66 2 曹汇坚 池品优 基于 MCS 51 系列单片机的控制汽车转弯信号灯 J 现代计算机 2009 6 153 155 3 薛玉者 基于单片机的汽车转弯信号灯的控制 J 科技创新导报 2011 3 51 52 4 田立 马鸣鹤 51 系列单片机开发实例精解 M 中国电力出版社 2009 61 71 5 徐爱钧 彭秀华 Keil Cx51 V7 0 单片机高级语

温馨提示

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

评论

0/150

提交评论