




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 I 摘 要 本次的设计是基于单片机的汽车尾灯控制器 该设计主要由 STC89C52RC 单片机为核心展开的汽车尾灯控制电路的设计方法 用数码管模拟汽车尾灯 按键开关作为转弯等控制信号 通过设计汽车尾灯显示控制电路 能很好的综 合运用我们所学习到的单片机 C 语言 模拟电路等知识 熟悉电子电路设计 的基本方法 在实际应用中有很多种方法来实现汽车尾灯的控制 但此次以单 片机为核心的控制电路体现出电路简单 制作方便 容易操作 可反复擦写 性能可靠等特点 关键词 STC89C52RC 数码管 单片机 C 语言 汽车尾灯 摘要 II 摘要 Abstract This task is to design a car tail light controller depend onMCU it mainly constituted by STC89C52RC then become a car taillight Control circuit using LED simulation the car taillight using the button turn as the control signal Through the design of a carTaillight control circuit the use of well integrated single chip C language analog circuit become familiar with the basic methodof electronic circuit design Key words STC89C52RC Light emitting diode MCU C language taillight 目录 II 西安交通大学城市学院本科生毕业设计 论文 目 录 1 设计基本要求 1 1 1 目的及任务 1 1 2 技术要求 1 1 3 工作要求 1 2 系统的硬件电路 3 2 1 概述 3 2 2 系统框图设计 3 2 3 系统功能 4 2 4 核心芯片及功能的简介 5 2 4 1 SCT89C52RC 单片机芯片 5 2 4 2 DS1302 时钟芯片 7 2 4 3 DS18B20 数字温度器芯片 8 2 5 系统电路原理图中主要模块介绍 11 3 系统的软件设计 19 3 1 主程序 19 3 2 时间读取模块 20 3 3 速度录放模块 28 3 4 速度录放模块 31 3 5 尾灯控制模块 35 3 6 数码管显示模块 42 4 系统设计中所遇到的问题及解决办法 43 4 1 硬件部分 43 4 2 软件部分 43 5 总结 45 致 谢 47 参考文献 49 附 录 51 西安交通大学城市学院本科生毕业设计 论文 0 1 设计基本要求 1 1 目的及任务 1 通过查阅相关资料 了解汽车尾灯的工作原理 2 学习有关数字信号处理及采样原理 3 复习 MCS 51 单片机原理及 C 语言程序设计 掌握其接口扩展 包括 显示 键盘等 4 设计汽车尾灯控制系统的原理图 构建硬件平台 5 采用汇编或 C 语言编写应用程序并调试通过 6 制作出样机并测试达到功能和技术指标要求 7 写出设计报告和答辩 PPT 1 2 技术要求 1 采用 DS18b20 测温 显示车内温度 2 利用时钟日历 DS1302 作为计时器件 显示当前的时间 3 实时年月日显示与温度显示的切换 4 利用按键模拟方向盘 在显示器上可指示出汽车的状态 如刹车 倒车 左转弯 右转弯等 正常前行时可显示车速 1 3 工作要求 1 组建基于单片机的汽车尾灯控制系统的总体结构框图 2 根据题目要求 选择主要元器件 通过理论分析和计算选择电路参数 3 根据操作功能要求 确定键盘控制功能 4 按题目要求确定显示格式 位数和单位 5 采用汇编或 C 语言编写应用程序并调试通过 对系统进行测试和结果 分析 撰写设计报告和答辩 PPT 系统的硬件电路 1 西安交通大学城市学院本科生毕业设计 论文 2 SCT89C5 2RC 单片 机 单片机 按键控 制电路 555 晶 振电路 复位电路 路 电源电路 时钟日 历电路 驱动电路 LED 数码 管显示 温度测 量电路 2 系统的硬件电路 2 1 概述 单片微型计算机简称单片机 又称微控制器或嵌入式控制器 它是将计算机的 基本部件微型化 使之集成在一块芯片上的微机 片内含有 CPU ROM RAM 并行 I 0 口 定时计数器 中断控制 时钟系统及总线等 它是工业控制和智 能化控制系统中应用最多的一种模式 这种模式的最大特点是设计者可根据自 己的实际需要开发 设计一个单片机系统 因而更加方便 更加灵活 成本更 低 其基本方法是在单片机的基础上扩展一些接口 如用于模拟 数字转换的 A D D A 接口 用于人机对话的键盘处理接口 LED 和 LCD 接口 用于输出控 制的点击接口等 然后再开发一些应用软件就可组成完整的单片机系统 单片机有着体积小 功耗低 功能强 性能价格比高 易于推广应用等显著特 点 在自动化装置 智能化仪器仪表 过程控制和家用电器等许多领域获得了 广泛的应用 从国内开发应用单片机的情况来看 自 80 年代初起步以来 以 INTEL 公司的 MCS 48 系列单片机为主导机种 率先渗入到微机控制的各个领域 取得了一定的应用成果 80 年代中期以来 随着性能更强 速度更快的 MCS 51 系列的加入 单片机得了更为迅速的推广和广泛的应用 2 2 系统框图设计 本系统以 SCT89C52RC 单片机为核心 实现对汽车速度检测 对汽车水箱 温度检测和汽车尾灯控制等功能 主要由电源电路 复位电路 晶振电路 按 键控制电路 LED 数码管显示电路 时钟日历产生电路 温度测量电路几部分 组成 系 统的框图 如图 2 1 所 示 系统的硬件电路 3 图 2 1 基于 AT89C52 单片机的汽车尾灯控制系统的框图 2 32 3 系统功能系统功能 本系统主要实现对汽车行驶状态的检测并显示的功能 具体包括车速 水 箱温度 时间 左右转弯 刹车 倒车等 同时 本系统还实现了时间调节功 能 用户可根据需要按按键切换 观察汽车状态以及对应的显示等 我们总共 设计了五个按键 S1 S5 下图 2 2 所示为按键功能介绍 图 2 2 S1 S5 按键功能介绍 初始化 按下 S2按下 S3按下 S4 S5 左转弯显示刹车显示右转弯显示按下 S5按下 S5按下 S5 温度显示时间显示车速显示按下 S1 倒车显示按下 S1 时间调节 按下 S1 返回 时间显示 西安交通大学城市学院本科生毕业设计 论文 4 2 4 核心芯片及功能的简介 2 4 1 SCT89C52RC 单片机芯片 SCT89C52RC 单片机是宏晶科技推出的新一代高速 低功耗 超强抗干扰单片 机 指令代码完全兼容传统 8051 单片机 12 时钟 机器周期和 6 时钟 机器周期 可以任意选择 主要特性如下 增强型 8051 单片机 6 时钟 机器周期和 12 时钟 机器周期可以任意选择 指令代码完全兼容传统 8051 工作电压 5 5V 3 3V 5V 单片机 3 8V 2 0V 3V 单片机 工作频率范围 0 40MHz 相当于普通 8051 的 0 80MHz 实际工作频 率可达 48MHz 用户应用程序空间为 8K 字节 片上集成 512 字节 RAM 通用 I O 口 32 个 复位后为 P1 P2 P3 P4 是准双向口 弱上拉 P0 口是 漏极开路输出 作为总线扩展用时 不用加上拉电阻 作为 I O 口用时 需加 上拉电阻 ISP 在系统可编程 IAP 在应用可编程 无需专用编程器 无需专用 仿真器 可通过串口 RxD P3 0 TxD P3 1 直接下载用户程序 数秒即可完成 一片 具有 EEPROM 功能 具有看门狗功能 共 3 个 16 位定时器 计数器 即定时器 T0 T1 T2 外部中断 4 路 下降沿中断或低电平触发电路 Power Down 模式可由外部 中断低电平触发中断方式唤醒 通用异步串行口 UART 还可用定时器软件实现多个 UART 工作温度范围 40 85 工业级 0 75 商业级 PDIP 封装 STC89C52RC 引脚功能说明 VCC 40 引脚 电源电压 VSS 20 引脚 接地 RST 9 引脚 复位输入 ALE 30 引脚 地址锁存控制信号 ALE 系统的硬件电路 5 PSEN 29 引脚 外部程序存储器选通信号 图 2 3 SCT89C52RC 引脚图 VPP 31 引脚 访问外部程序存储器控制信号 XTAL1 19 引脚 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2 18 引脚 振荡器反相放大器的输入端 图 2 1 P3 口引脚复用功能 引脚号复用功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 外部中断 0 P3 3 外部中断 1 西安交通大学城市学院本科生毕业设计 论文 6 P3 4 T0 定时器 0 的外部输入 P3 5 T1 定时器 1 的外部输入 P3 6 外部数据存储器写选通 P3 7 外部数据存储器读选通 2 4 2 DS1302 时钟芯片 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗的实时时钟芯片 附加 31 字节静态 RAM 采用 SPI 三线接口与 CPU 进行同步通信 并可采用 突发方式一次传送多个字节的时钟信号和 RAM 数据 实时时钟可提供秒 分 时 日 星期 月和年 一个月小与 31 天时可以自动调整 且具有闰年补偿功 能 工作电压宽达 2 5 5 5V 采用双电源供电 主电源和备用电源 可设置 备用电源充电方式 提供了对后背电源进行涓细电流充电的能力 DS1302 的外 部引脚分配如图 1 所示及内部结构如图 2 所示 DS1302 用于数据记录 特别 是对某些具有特殊意义的数据点的记录上 能实现数据与出现该数据的时间同 时记录 因此广泛应用于测量系统中 下图分别是时钟日历的具体电路 左图 和芯片 右图 2 3 引脚接入一 个外部连接的晶振振荡器 提供时钟 1 8 引脚提供电源 5 6 7 三个引脚连入 AT89C52 其中 SCL 联入 P2 0 I O 接入 P2 1 RST 接入 P2 2 图 2 5 DS1302 芯片 系统的硬件电路 7 图 2 6 时序图 2 4 3 DS18B20 数字温度器芯片 DS18B20 数字温度计是 DALLAS 公司生产的 1 Wire 即单总线器件 具 有线路简单 体积小的特点 因此用它来组成一个测温系统 具有线路简单 在一根通信线 可以挂很多这样的数字温度计 十分方便 DS1 DS18B20 产品的特点 1 只要求一个端口即可实现通信 2 在 DS18B20 中的每个器件上都有独一无二的序列号 3 实际应用中不需要外部任何元器件即可实现测温 4 测量温度范围在 55 C 到 125 C 之间 5 数字温度计的分辨率用户可以从 9 位到 12 位选择 6 内部有温度上 下限告警设置 8B20 的外形及管脚排列如下图 图 2 7 DS18B20 引脚图及引脚功能介绍 2 4 4 555 定时器芯片 555 定时器是 一种模拟和数字功能相结合的中规模集成器件 一般用双极 性工艺制作的称为 555 用 CMOS 工艺制作的称为 7555 除单定时器外 还 有 西安交通大学城市学院本科生毕业设计 论文 8 图 2 8 555 定时器 对应的双定时器 556 7556 555 定时器的电源电压范围宽 可在 4 5V 16V 工 作 7555 可在 3 18V 工作 输出驱动电流约为 200mA 因而其输出可与 TTL CMOS 或者模拟电路电平1脚 外接电源负端 VSS 或接地 一般情况下 接地 它的各个引脚功能如下 1 脚 外接电源负端 VSS 或接地 一般情况下接地 2 脚 低触发端 3 脚 输出端 Vo 4 脚 是直接清零端 当端接低电平 则时基电路不工作 此时不论 TH 处于 何电平 时基电路输出为 0 该端不用时应接高电平 5 脚 VC 为控制电压端 若此端外接电压 则可改变内部两个比较器的基准电 压 当该端不用时 应将该端串入一只 0 01 F 电容接地 以防引入干 扰 6 脚 TH 高触发端 7 脚 放电端 该端与放电管集电极相连 用做定时器时电容的放电 8 脚 外接电源 VCC 双极型时基电路 VCC 的范围是 4 5 16V CMOS 型时 基电路 VCC 的范围为 3 18V 一般用 5V 在 1 脚接地 5 脚未外接电压 两个比较器 A1 A2 基准电压分别为的情况 下 555 时基电路的功能表如表示 系统的硬件电路 9 表 555 定时器的功能表 2 5 系统电路原理图中主要模块介绍 1 状态控制开关组 图2 9开关控制图 设定为 S2按下 左转弯 S3按下 刹车 此时按下S1 倒车 S4按下 右转弯 S5 时间 温度 速度显示切换 其中显 示时间时 可按下S1调时间 清零端高触发端 TH低触发端 Q 放电管 T功能 00 导通直接清零 10 导通置0 11 截止置1 1Q 不变保持 西安交通大学城市学院本科生毕业设计 论文 10 依图为低电平有效 2 温度转换模块 DS18B20数字温度传感器接线方便 封装成后可应用 于多种场合 如管道式 螺纹式 磁铁吸附式 不锈 钢封装式 型号多种多样 有LTM8877 LTM8874等等 主要根据应用场合的不同而改变其外观 封装后的 DS18B20可用于电缆沟测温 高炉水循环测温 锅炉 测温 机房测温 农业大棚测温 洁净室测温 弹药 库测温等各种非极限温度场合 耐磨耐碰 体积小 使用方便 封装形式多样 适用于各种狭小空间设备 数字测温和控制领域 DS18B20是单总线温度传感器 与单片机T1脚相连 测试车内温度 其主要功能特点有 1 独特的单线接口方式 DS18B20 与单片机通 信 时仅需要一条 I O 线 2 低压供电 电源范围从 3 5V 也可以直接 从数据 线上窃取电源 3 测温范围为 55 125 在 10 85 范围内误差为 0 5 4 数据位可编程 9 12 为 转换 12 位温度时间为 750ms 最大 3 555 构成的多谐振荡器模块 图图 2 112 11 555 定时器是一种模拟电路和数字电路 相结合的中规模集成器件 它性能优良 适用范围很广 外部接很少的阻容元件 可以很方便的组成单位态触发器和多谢 振荡器 以及不需要接任何器件可称为 施密特触发器 因此被广泛的应用于脉 冲波形的产生于变换 测量与控制等方 面 工作原理 当接通电源 Vcc 时 如电容 C 上的初始电压为 0 uo 处于高电平 系统的硬件电路 11 放电管 T 截止 电源通过 R1 R2 向 C 充电 经过 t1 时间后 uc 达到高触发电 平 2Vcc 3 uo 由 1 变为 0 这时放电管 T 导通 电容 C 通过电阻 R2 放电 到 t t2 时 uc 下降到低触发电平 Vcc 3 uo 又翻回到 1 状态 随即 T 又截 止 电容 C 又开始充电 如此周而复始 重复上述过程 就可以在输出端 3 得 到矩形波电压 本次设计只是用此模块进行调试 实际中汽车速度来源于汽车车轮的脉冲 并且 R1 27K W1 100K C1 0 1uF 4 时钟日历模块 图 2 12 DS1302 是美 国 DALLAS 公 司推出的一种 高性能 低功 耗 带 RAM 的实时时钟电路 它可以对年 月 日 周日 时 分 秒进行 计时 具有闰年补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进 行同步通信 并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但增加了主电源 后背电源双电源引脚 同时提供了对后背电源进行涓细电流充电的能力 引脚功能及结构 图 1 示出 DS1302 的引脚排列 其中 Vcc1 为后备电源 VCC2 为主电源 在主 电源关闭的情况下 也能保持时钟的连续运行 DS1302 由 Vcc1 或 Vcc2 两者 中的较大者供电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 X1 和 X2 是振荡源 外接 32 768kHz 晶振 RST 是复位 片选线 通过把 RST 输入驱动置高电平来启动 所有的数据传送 RST 输入有两种功能 首先 RST 接通控制逻辑 允许地址 西安交通大学城市学院本科生毕业设计 论文 12 命令序列送入移位寄存器 其次 RST 提供终止单字节或多字节数据的传送手 段 当 RST 为高电平时 所有的数据传送被初始化 允许对 DS1302 进行操作 如果在传送过程中 RST 置为低电平 则会终止此次数据传送 I O 引脚变为高 阻态 上电运行时 在 Vcc 2 5V 之前 RST 必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串行数据输入输出端 双向 后 面有详细说明 SCLK 始终是输入端 DS1302 的控制字节 DS1302 的控制字如图 2 所示 控制字节的最高有效位 位 7 必须是逻辑 1 如 果它为 0 则不能把数据写入 DS1302 中 位 6 如果为 0 则表示存取日历时 钟数据 为 1 表示存取 RAM 数据 位 5 至位 1 指示操作单元的地址 最低有效位 位 0 如为 0 表示要进行写操作 为 1 表示进行读操作 控制字节总是从最低位 开始输出 数据输入输出 I O 在控制指令字输入后的下一个 SCLK 时钟的上升沿时 数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位到高位 7 DS1302 的寄存器 DS1302 有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数据位 为 BCD 码形式其日历 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发寄存器 及与 RAM 相关的寄存器等 时钟突发寄存器可一次性顺序读写除充电寄存器 外的所有寄存器内容 DS1302 与 RAM 相关的寄存器分为两类 一类是单个 RAM 单元 共 31 个 每个单元组态为一个 8 位的字节 其命令控制字为 C0H FDH 其中奇数为读操作 偶数为写操作 另一类为突发方式下的 RAM 寄存器 此方式下可一次性读写所有的 RAM 的 31 个字节 命令控制字为 FEH 写 FFH 读 3 DS1302 实时显示时间的软硬件 DS1302 与 CPU 的连接需要三条线 即 SCLK 7 I O 6 RST 5 图 3 示出 DS1302 与 89C2051 的连接图 其中 时钟的显示用 LCD DS1302 与 CPU 的连接 实际上 在调试程序时可以不加电容器 只加一个 32 768kHz 的晶振即可 只 是选择晶振时 不同的晶振 误差也较大 另外 还可以在上面的电路中加入 DS18B20 同时显示实时温度 只要占用 CPU 一个口线即可 LCD 还可以 换成 LED 还可以使用北京卫信杰科技发展有限公司生产的 10 位多功能 8 段 液晶显示模块 LCM101 内含看门狗 WDT 时钟发生器及两种频率的蜂鸣器驱 动电路 并有内置显示 RAM 可显示任意字段笔划 具有 3 4 线串行接口 可与任何单片机 IC 接口 功耗低 显示状态时电流为 2 A 典型值 省电模 式时小于 1 A 工作电压为 2 4V 3 3V 显示清晰 系统的硬件电路 13 DS1302 实时时间流程 图 4 示出 DS1302 的实时时间流程 根据此流程框图 不难采集实时时间 下 面结合流程图对 DS1302 的基本操作进行编程 DS1302与频率为32 768KHz的晶振构成的日历时钟 晶振产生基准时钟信号 与芯片内部的电路组成振荡器 经过分频可以得到精确地秒信号 DS1302 使用单片机的 P2 0 P2 1 P2 2 三条 I O 线 DS1302 的 8 号端口接备用电源 DS1302 体积小 功耗低 自带 31 字节 RAM 遇闰年自动修正 不存在 千年 虫 问题 5 单片机模块 单片机简介 单片机是一种集成电路芯片 是采用超大规模集成电路技术把具有数据处 理能力的中央处理器 CPU 随机储存器 RAM 只读储存器 ROM 多种 I O 口和中 断系统 定时器 计时器等功能 可能还包括显示驱动电路 脉宽调制电路 模 拟多路转换器 A D 转换等电路 集成到一块硅片上构成的一个小而完善的微 型计算机系统 在工业控制领域的广泛应用 从上世纪 80 年代 由当时的 4 位 8 为单片机 发展到现在的 32 位 300M 的高速单片机 目前单片机渗透到我们 生活的各个领域 几乎很难找到哪个领域没有单片机的踪迹 导弹的导航装置 飞机上各种仪表的控制 计算机的网络通讯与数据传输 工业自动化过程的实 时控制和数据处理 广泛使用的各种智能 IC 卡 民用豪华轿车的安全保障系统 录像机 摄像机 全自动洗衣机的控制 以及程控玩具 电子宠物等等 这些 都离不开单片机 更不用说自动控制领域的机器人 智能仪表 医疗器械以及 各种智能机械了 因此 单片机的学习 开发与应用将造就一批计算机应用与 智能化控制的科学家 工程师 单片机广泛应用于仪器仪表 家用电器 医用 设备 航空航天 专用设备的智能化管理及过程控制等领域 本次设计用单片机来实现汽车尾灯的控制 西安交通大学城市学院本科生毕业设计 论文 14 图 2 13 1 P1 0 P1 3和INT0脚与状态控制开关组模块相连 开关输入量 2 T0脚接收速度模块555多谐振荡器的频率方波 3 T1脚与18B20相连 接收车内温度信息 4 与EA和REST相连的为手动复位电路 高电平有效 5 在XTAL1 XTAL2端外接石英晶体作定时元件 内部反相放大器自激振 荡 产生时钟 时钟发生器对振荡脉冲二分频 即石英晶体频率 fosc 11 0592MHz时 时钟频率为f 5 5296MHz 时钟是双相信号 由P1 相P2相构成 6 P0 0 P0 7与74LS573相连 控制LED灯的显示内容 7 P2 0 P2 4与日历时钟模块DS1302相连 8 P2 5 P2 6和WR连接两个或非门 进行LED灯的片选 6 8位动态数码管显示电路模块 系统的硬件电路 15 图2 14 数码管简介 数码管按段数分为七段数码管和八段数码管 八段数码管比七段数码 管多一个发光二极管单元 多一个小数点显示 按能显示多少个 8 可分为 1 位 2 位 4 位等等数码管 按发光二极管单元连接方式分为共阳极数码管和共阴极数码管 共阳 数码管是指将所有发光二极管的阳极接到一起形成公共阳极 COM 的 数码管 共阳数码管在应用时应将公共极 COM接到 5V 当某一字段发 光二极管的阴极为低电平时 相应字段就点亮 当某一字段的阴极为 高电平时 相应字段就不亮 共阴数码管是指将所有发光二极管的阴 极接到一起形成公共阴极 COM 的数码管 共阴数码管在应用时应将公 共极COM接到地线GND上 当某一字段发光二极管的阳极为高电平时 相应字段就点亮 当某一字段的阳极为低电平时 相应字段就不亮 1 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一 动态驱动是将所有数码管的 8个显示笔划 a b c d e f df 的同名端连在一 起 另外为每个数码管的公共极 COM增加位选通控制电路 位选通由各自独 立的I O线控制 当单片机输出字形码时 所有数码管都接收到相同的字形 码 但究竟是那个数码管会显示出字形 取决于单片机对位选通COM端电路 的控制 所以我们只要将需要显示的数码管的选通控制打开 该位就显示出 字形 没有选通的数码管就不会亮 通过分时轮流控制各个数码管的的 西安交通大学城市学院本科生毕业设计 论文 16 COM端 就使各个数码管轮流受控显示 这就是动态驱动 在轮流显示过程 中 每位数码管的点亮时间为 1 2ms 由于人的视觉暂留现象及发光二极管 的余辉效应 尽管实际上各位数码 管并非同时点亮 但只要扫描的速度足 够快 给人的印象就是一组稳定的显示数据 不会有闪烁感 动态显示的效 果和静态显示是一样的 能够节省大量的 I O端口 而且 功耗更低 2 2片74LS573作为7段码和位码驱动锁存器 8个数码管为共阴极数码管 一片ULN2803作为位增强驱动器 ULN2803为反相驱动器 3 根据片选和传输内容显示数据 按照程序设定值分别用动态数码管显 示倒车 刹车 左转 右转 4 显示的时间单位是 时 分 秒 温度单位为 摄氏度 车速单位是 m s 5 显示的车速计算式 v f 63 5 f为555多谢振荡器输出的频率 常见问题 1 由于发光二极管基本上属于电流敏感器件 其正向压降的分散性很 大 并且还与温度有关 为了保证数码管具有良好的亮度均匀度 就需要 使其具有恒定的工作电流 且不能受温度及其它因素的影响 另外 当温度 变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差 平衡温度 补偿 2 即使是短时间的电流过载也可能对发光管造成永久性的损坏 采用 恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏 另外 我们所采用的超大规模集成电路还具有级联延时开关特性 可防 止反向尖峰电压对发光二极管的损害 超大规模集成电路还具有热保护功能 当任何一片的温度超过一定值时可自动关断 并且可在控制室内看到故障显 示 系统的软件设计 17 3 系统的软件设计 本系统是采用单片机 C 编程语言进行开发的 整个系统的程序共分为 6 个模块 即主程序模块 时间读取模块 温度读取模块 车速读取模块 尾灯 控制模块和数码管显示模块 3 1 主程序 void judge while 1 if turn right 0 turn right display 如果 s4 键按下 执行右转显示功能 else if turn left 0 turn left display 如果 s2 键按下 执行左转显示功能 else if brake 0 brake display 如果 s3 键按下 执行刹车显示功能 else if change 0 如果 s5 键按下 执行时间 温度 速度切换显示功能 while 1 flagg 0 temp display 西安交通大学城市学院本科生毕业设计 论文 18 calender if turn right brake turn left break normal display void main 主函数 judge 3 2 时间读取模块 本系统利用 DS1302 实现时间的读取功能 用户需要查看时只需按键切 换数码管显示即可 同时 我们还设置了调时功能 时钟日历读取模块主要程序代码如下 日历时钟显示 定义日历时钟函数 系统的软件设计 19 void calender void int i 10 BIT LED 0 ppppp ppppp 1 TMOD 0 x01 定时器 计数器 0 定时方式 1 time0 times 65536 time0 fosc 12 time0 h time0 times 256 time0 l time0 times 256 TH0 time0 h TL0 time0 l 高 8 位和低 8 位时间常数 TR0 EA ET0 1 启动定时器 0 initial ds1302 上电启用 否则不走时 if ppppp 1 display buffer 7 0X02 秒低 display buffer 6 0X05 秒高 display buffer 5 0X01 分低 display buffer 4 0X05 分高 display buffer 3 0X02 时低 display buffer 2 0X00 时高 set time 将数组中的时间置入 DS1302 西安交通大学城市学院本科生毕业设计 论文 20 display bit 0 x01 while 1 if normal ad time 如果按下调整时间的按钮 s1 则进入调时程序 read time if turn right brake turn left 跳出时间程序 BIT LED 0 display bit 0 x80 for i 0 i 1 SEGMENT 0 x00 TR0 ET0 0 break else if change 切换时间 速度 温度 系统的软件设计 21 while 1 if change 1 flagg flagg 1 此处设置一个 flagg 判断 判断是否应该切换到速度或温度 速度与温度函数结束时与此处相同 break if flagg 2 BIT LED 0 display bit 0 x80 for i 0 i 1 SEGMENT 0 x00 TR0 ET0 0 break 西安交通大学城市学院本科生毕业设计 论文 22 时间调整程序 void ad time int i j Delay 300 BIT LED 0 display bit 0 x80 for i 0 i 1 SEGMENT 0 x00 while 1 display bit 0 x80 for i 0 i 0 x0a display buffer 7 0 display buffer 6 display buffer 6 1 if display buffer 6 0 x06 display buffer 7 display buffer 6 0 x00 for j 50 j 0 j SEGMENT get code display buffer 7 BIT LED 0 x80 SEGMENT get code display buffer 6 BIT LED 0 x40 s4 调节秒钟 西安交通大学城市学院本科生毕业设计 论文 24 if brake display buffer 5 display buffer 5 1 if display buffer 5 0 x0a display buffer 5 0 display buffer 4 display buffer 4 1 if display buffer 4 0 x06 display buffer 5 display buffer 4 0 x00 for j 50 j 0 j SEGMENT get code display buffer 5 BIT LED 0 x20 SEGMENT get code display buffer 4 BIT LED 0 x10 s3 调节分钟 if turn left display buffer 3 display buffer 3 1 系统的软件设计 25 if display buffer 2 0 x02 if display buffer 3 0 x04 display buffer 3 display buffer 2 0 x00 if display buffer 3 0 x0a display buffer 3 0 display buffer 2 display buffer 2 1 for j 50 j 0 j SEGMENT get code display buffer 3 BIT LED 0 x08 SEGMENT get code display buffer 2 BIT LED 0 x04 if normal Delay 300 set time read time 西安交通大学城市学院本科生毕业设计 论文 26 break s2 调节小时 3 3 速度录放模块 显示车速 void normal display while 1 int i cs 0 BIT LED 0 display bit 0X08 i 0 get speed while i 1 BIT LED display bit SEGMENT get code display buffer i 1 Delay 8 if i 3 i 0 display bit 0 x08 if cs 200 break if turn right brake change turn left break if turn right brake turn left break 跳出速度的程序 else if change 切换到时间或温度的程序 while 1 if change 1 flagg flagg 1 break 西安交通大学城市学院本科生毕业设计 论文 28 if flagg 3 break 获取速度 void get speed unsigned char k1 k2 k3 int ff TMOD 0 x62 PT1 1 PT0 0 kkk 0 m 1 TL1 0 xff TH1 0 xf6 TL0 0 x9a 系统的软件设计 29 TH0 0 xff 0 1ms 溢出一次 TR1 EA ET1 1 while t11 2 TR1 ET1 0 m 0 t11 0 ff 12411 kkk k1 ff 100 k2 ff 100 10 k3 ff 100 10 display buffer 2 k1 速度的百位 display buffer 1 k2 速度的十位 display buffer 0 k3 速度的个位 3 4 速度录放模块 显示车速 void normal display 西安交通大学城市学院本科生毕业设计 论文 30 while 1 int i cs 0 BIT LED 0 display bit 0X08 i 0 get speed while i 1 BIT LED display bit SEGMENT get code display buffer i 1 Delay 8 if i 3 i 0 display bit 0 x08 if cs 200 break 系统的软件设计 31 if turn right brake change turn left break if turn right brake turn left break 跳出速度的程序 else if change 切换到时间或温度的程序 while 1 if change 1 flagg flagg 1 break if flagg 3 break 获取速度 void get speed unsigned char k1 k2 k3 int ff 西安交通大学城市学院本科生毕业设计 论文 32 TMOD 0 x62 PT1 1 PT0 0 kkk 0 m 1 TL1 0 xff TH1 0 xf6 TL0 0 x9a TH0 0 xff 0 1ms 溢出一次 TR1 EA ET1 1 while t11 2 TR1 ET1 0 m 0 t11 0 ff 12411 kkk k1 ff 100 k2 ff 100 10 k3 ff 100 10 display buffer 2 k1 速度的百位 display buffer 1 k2 速度的十位 display buffer 0 k3 速度的个位 系统的软件设计 33 3 5 尾灯控制模块 关闭 T0 T1 T2 中断 通过 s1 s2 s3 s4 的状态模拟汽车的不正常行 驶状态 尾灯控制模块主要程序如下 左转弯的显示 void turn left display unsigned int i BIT LED 0 while turn left while 1 display bit 0X08 i 0 while i 1 BIT LED display bit SEGMENT 0 x38 Delay 200 延时已达到闪烁的效果 if i 3 i 0 display bit 0 x08 if turn right brake change normal break break 右转弯的显示 void turn right display 系统的软件设计 35 unsigned int i BIT LED 0 while turn right while 1 display bit 0X10 i 0 while i 3 i display bit display bit 1 BIT LED display bit SEGMENT 0 x77 Delay 200 延时已达到闪烁的效果 if i 3 i 0 display bit 0 x10 if turn left brake change normal break break 西安交通大学城市学院本科生毕业设计 论文 36 刹车显示 void brake display void unsigned int i BIT LED 0 while 1 while normal back display display bit 0 x80 i 0 while i 1 SEGMENT 0 x40 while i 1 SEGMENT 0 x73 while i 1 SEGMENT 0 x40 i 0 display bit 0 x80 if turn left turn right change break 西安交通大学城市学院本科生毕业设计 论文 38 倒车的显示 void back display while normal 如果开始刹车 则显示刹车灯 unsigned int i int mmm 0 BIT LED 0 while 1 display bit 0 x80 i 0 for mmm 0 mmm 3000 mmm while i 1 SEGMENT 0 x00 while i 1 SEGMENT 0 x7c while i 1 SEGMENT 0 x00 i 0 display bit 0 x80 西安交通大学城市学院本科生毕业设计 论文 40 Delay 120 if normal 1 break 3 6 数码管显示模块 这里的显示使用的是 8 位数码管的动态显示 通过中断程序来不断的调用显示子函 数 依据人眼的视觉暂留 完成显示功能 具体的电路和程序实现将在显示模块中论述 数码管显示程序 用于左转 右转和刹车以及温度显示 void Display unsigned char j SEGMENT table j Delay 5 系统设计中所遇到的问题及解决办法 41 4 系统设计中所遇到的问题及解决办法 4 1 硬件部分 1 焊接时 将芯片座与板子上标的方向弄反了 时间长就忘了 要求是 在 51 学习板上插上写好仿真监控程序的 89E564RD 或 89E516RD 芯片 注意芯 片的缺口方向要与印制板的缺口方向相同 结果我们看了芯片座的方向 导致 芯片发烫 数码管全亮 幸好及时发现 芯片没被烧掉 2 上电后 发现 1302 芯片发烫 怀疑是芯片有问题 换了一个后 仍然 发烫 焊接时 我们将后备电源也焊接上去了 极性没问题 但我们还是怀疑 它有问题 于是 就将后备电源卸了 结果芯片就不发烫了 3 车速模拟一直不出结果 显示为 000 最后与样机对比发现板子的 W2 处有个器件没有焊 当我们补焊之后 555 定时芯片模拟车速即显示正常 4 最初焊元器件时 将 CX 电容 104 焊上 结果调试过程中发现初始 时间显示错误且始终不走时 后来经老师提醒将 CX 电容去掉 时钟走时准 4 2 软件部分 1 在温度测量部分的程序中 我们遇到了切换到温度显示状态下数码管不 显示的问题 后来改动了 read T 子程序的内容 加入了部分后 显示恢复正 常 for i 0 i 6 i display buffer i 27 led 全灭 display buffer 1 msb display buffer 0 lsb 2 在尾灯显示控制的部分 按下 S1 S2 S3 S4 时数码管偶尔会出现极 快的闪烁现象 后来发现是因为调入尾灯控制部分子程序时没有关闭 西安交通大学城市学院本科生毕业设计 论文 42 T0 T1 T2 中断后引起的 做出相应改动后显示基本正常 系统设计中所遇到的问题及解决办法 43 西安交通大学城市学院本科生毕业设计 论文 44 5 总结 本次的毕业设计作品的主要元件为 STC89C52RC 在其控制下保证了系统 的正常工作 达到模拟汽车尾灯控制的效果 实现汽车尾灯的智能化控制 本次设计实践 相较于之前所选修的各种实验课程 此次更增加了自己的 动手实践能力 理论与实践还是有一定的差距的 在理论上不管多精确的数据 一旦用于实际中 就不得不考虑其仪器 器件的误差 以及自己操作上的能力 而且 在设计过程中添加了自己的思考 该选择怎样的电阻 电容 想要 修改最后的输出 应该在什么地方做改变 虽然是一些很基础的东西 但仅仅 是书上的理论学习 会让人对知识遗忘得比较快 相反 通过自己动手实践过 的东西 会更加记忆深刻 看着自己成功制作出来的电路板觉得很有成就感 通过这次课设教我还学会很多关于电子产品知识 进一步的认识了我们现 实生活电子产品 了解和掌握了一些简单电子元件的运用 大大的扩展了我们 的知识面 提高了自己以后在学习 生活中自己动手能力 给我们很大的启发 很有助于我们将来的学习生活和工作 在查阅资料中 获得了许多额外的知识 开拓视野 在原理图的设计 使用 proteus 仿真 使用 protel 绘制 实物的制作 板子调试等整个过程中加强了我分析问题和解决问题的能力 深刻体味到实践 是检验真理的唯一标准这一道理 总而言之 本次设计 让我受益匪浅 致谢 45 西安交通大学城市学院本科生毕业设计 论文 46 致 谢 本次毕业设计在王建校老师的悉心指导和严格要求下顺利完成 从原理 图的设计到论文的完成过程 都离不开王建校老师的正确指导 在我原理图的 设计期间 王老师为我提供了许多专业知识上的指导和一些大胆的建议 如果 离开王老师的帮助和关怀 我不会这么顺利而全面的完成课程设计 在此 我 向王老师表示深深的谢意和崇高的敬意 并借此机会向在大学以来给予了我帮助和指导的所有老师表示由衷的谢意 感谢他们一直以来的辛勤栽培 各位任课老师认真负责 在他们的帮助和支持 下 我能够很好的掌握和运用专业知识 并在这次课程设计中学以致用 顺利 完成了这次的课程设计 同时 在板子的调试过程中 我还参考了有关书籍和论文 在这里一并向 有关的作者表示谢意 我还要感谢周围的同学们 在课程设计这期间里 你们给了我很多启发和 帮助 提出了许多宝贵的意见和建议 对于你们的支持和帮助 在此我表示深 深的感谢 致谢 47 西安交通大学城市学院本科生毕业设计 论文 48 参考文献 1 王建校等 51 系列单片机原理及 C 语言程序设计 科学出版社 2002 年
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钽铌分离工岗位操作规程考核试卷及答案
- 教师招聘之《小学教师招聘》复习试题及答案详解(夺冠)
- 菌物标本采集制作工三级安全教育(车间级)考核试卷及答案
- 钽铌分离工理念考核试卷及答案
- 粉矿烧结工上岗考核试卷及答案
- 煤气化备配煤工突发故障应对考核试卷及答案
- 矿井通风工成本预算考核试卷及答案
- 选矿脱水工内部技能考核试卷及答案
- 酶制剂充填封装工效率提升考核试卷及答案
- 教育宣传考试题及答案
- 滑板项目选材指标与标准
- 额窦手术课件
- 智慧养猪解决方案演示课件
- 最新中医骨伤科学考试题库及答案
- 产品形态设计课件完整
- 德国巴斯夫抗氧剂和紫外线吸收剂
- SG-A088接地装置安装工程工检验批质量验收记录
- 《芯片原理与技术》课件微流控芯片
- 混凝土外观质量缺陷及治理措施PPT课件
- 十四条经络养生课件
- 麻醉医师资格分级授权管理能力评价与再授权制及程序培训考核试题及答案
评论
0/150
提交评论