汽车速度及里程电子显示系统设计毕业论文.doc_第1页
汽车速度及里程电子显示系统设计毕业论文.doc_第2页
汽车速度及里程电子显示系统设计毕业论文.doc_第3页
汽车速度及里程电子显示系统设计毕业论文.doc_第4页
汽车速度及里程电子显示系统设计毕业论文.doc_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

汽车速度及里程电子显示系统设计毕业论文汽车速度及里程电子显示系统设计毕业论文 目 录 第一章 绪论 1 1 1 立题的目的和意义 1 1 2 应用与发展前景 1 1 3 设计任务与要求 2 1 3 1 设计任务 2 1 3 2 设计要求 2 1 4 小结 2 第二章 课题方案设计 3 2 1 系统总体设计要求 3 2 2 系统模块结构的选择 3 2 2 1 霍尔测速模块选择 3 2 2 2 计数器模块选择 3 2 2 3 显示模块选择 3 2 2 4 报警模块选择 3 2 2 5 电源模块选择 3 2 2 6 单片机模块选择 4 2 3 速度测量方案选择 4 2 4 小结 4 第三章 系统总体设计 5 3 1 总体硬件设计 5 3 1 1 硬件原理图 5 3 1 2 硬件电路设计总图 5 3 2 系统子模块简介 6 3 2 1 传感器部分 6 3 2 3 处理器 7 3 2 4 LCD 显示部分 8 3 2 5 外接报警部分 8 第四章 软件设计 9 4 1 程序设计步骤 9 4 2 程序流程图 9 4 2 1 主程序流程图 9 4 2 2 中断服务流程图 11 4 3 软件程序设计 12 4 3 1 主程序设计 12 4 3 2 中断服务程序设计 14 4 3 3 显示程序设计 14 4 3 4 报警程序设计 16 4 3 5 转速程序的设计 16 4 3 6 软件程序基础知识准备 17 第五章 软件调试 18 5 1 PROTEUS及 KEIL软件简介 18 5 1 1 Proteus 软件 18 5 1 2 Keil 软件 18 5 2 应用 KEIL软件进行程序调试 18 5 3 PROTEUS软件仿真 19 5 3 1 仿真步骤 19 5 3 2 仿真实例 19 5 4 硬件软件联合调试 22 5 4 1 联调步骤 22 5 4 2 搭接检查步骤 22 第六章 结论 24 参考文献 25 附录 1 源程序 26 附录 2 硬件实物图 30 外文文献 30 外文翻译 57 谢 辞 80 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 1 第一章 绪论 汽车是现代生活中不可或缺的一种重要交通工具 传统的指针式的里程表 伴随着汽车的诞生就一直为人们接受 不过 新生事物不会因传统的存在而停 止它前进的步伐 数码科技在今天已渗透到工业 农业 民用等产品的点点滴 滴 新概念的车速里程表最直观的变化就是用大屏幕的液晶取代指针式表盘 直接用数字显示时速 里程 以及其他一些诸如油耗 时钟 环境温度等参数 直观的呈现给使用者 由于单片机体积小 可以把它做到产品的内部 取代老式机械零件 缩小 产品体积 增强功能 实现智能化 因此广泛的被用在智能产品中 本文先对里程表设计中所需设备作了详细介绍 对设计中存在的问题进行 了说明 对硬件和软件部分的设计和实现作了认真的分析 给出了系统的建模 过程及相应的系统模型 并对仿真结果进行了分析 1 1 立题的目的和意义 霍尔传感器是利用霍尔效应实现磁电转换的一种传感器 它具有灵敏度高 线性度好 稳定性高 体积小和耐高温等特点 在机车控制系统中占有非常重要 的地位 测速装置在控制系统中占有非常重要的地位 对测速装置的要求是分辨能力 强 高精度和尽可能短的检测时间 在此主要介绍应用霍尔传感器通过测量磁 场强度 来得到稳定的脉冲方波信号 实现电机转速的测量转速是电动机极为重要 的一个状态参数 在很多运动系统的测控中 都需要对电机的转速进行测量 速度 测量的精度直接影响系统的控制情况 它是关系测控效果的一个重要因素 不论 是直流调速系统还是交流调速系统 只有转速的高精度检测才能得到高精度的控 制系统 1 2 应用与发展前景 随着微型计算机可靠性提高和价格的下降 用单片机测量电机转速已日趋 普遍 我们知道 欲提高测量精度 必须先测出准确的转速 而原先在可控硅调速 电路中采用的测速发电机方式已不能满足要求 必须采用数字测速的方法 转速 的测量方法很多 根据脉冲计数来实现转速测量的方法主要有 M 法 测频法 T 法 测周期法 和 MPT 法 频率周期法 该系统采用了 M 法 测频法 转速检 测方式采用霍尔脉冲法测量转速有两种简单的方式 本文采用频率法 检测的 是输入脉冲数 这种方式又称频率法 它测出一定时间内输入的脉冲的个数 在控制系统中占有非常重要的地位 对测速装置的要求是分辨能力强 高 精度和尽可能短的检测时间 所设计的基于霍尔元件的脉冲发生器要求成本低 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 2 构造简单 性能好 在电气控制系统中存在着较为恶劣的电磁环境 因此要求 产品本身要具有较强的抗干扰能力 由于需要采用霍尔传感器的应用领域 如汽车 电机 手机和电脑都已经 采用了该器件 而且这些市场在未来几年的增长较为稳定 而其他一些新的应 用市场又不足以与上述几个市场相比 因此霍尔传感器在全球总的市场容量是 较为稳定的 每年的增长率保持在 5 到 10 之间 因为各种应用电机的部件 节气门位置的检测 各种阀体位置的检测都会用到霍尔传感器 而且 在中国 市场中 国外厂商为了降低成本 陆续将零部件拿到中国进行设计和生产 这 也进一步提升了中国市场霍尔传感器的应用量 随着它在消费电子市场上的应用越来越广 如何控制功耗和成本将是厂商 面临的挑战 而且 它还面临生产测试技术方面的挑战 1 3 设计任务与要求 1 3 1 设计任务 根据学校毕业设计的要求 设计一个功能满足设计要求 工作稳定 以单 片机为核心的汽车速度及里程表显示系统 由于种种原因不能真正把设计放到 汽车上模拟 所以只能够用简单的电机代替 能够实现在电机工作时转速的测 量 并在发生故障时能及时的发出报警信号 本设计包括完整的硬件设计和相 应的软件设计 1 3 2 设计要求 根据学校毕业设计的要求 设计一个功能满足设计要求 工作稳定 以单 片机为核心的测量速度和里程的显示系统 本设计要求做一个单片机最小系统 能够实现在电机工作时转速的测量 同时选用合适的显示器件 使系统具备实 时显示功能 并在发生故障时能及时的发出报警信号 根据题目的要求 设计 了以下方案并对各方案进行了论证与分析 本设计包括完整的硬件设计和相应 的软件设计 1 4 小结 本章主要对本设计的立题目的及意义进行了介绍并且对设计的要求进行了总 结 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 3 第二章 课题方案设计 2 1 系统总体设计要求 设计一个功能满足设计要求 工作稳定 以单片机为核心的测量转速和里 程的显示系统 2 2 系统模块结构的选择 2 2 1 霍尔测速模块选择 采用霍尔元件传感器即霍尔片 霍尔片可分为贴片型和直插型 由于贴片 型不常用 因此选择直插型 选型号为 A3144 的霍尔片作为霍尔测速模块的核 心 该霍尔片体积小 安装灵活 可用于测速 且与普通的磁钢片配套使用 价格一般为 2 5 3 元 2 2 2 计数器模块选择 可以采用片外计数器和片内计数器两个方案 片外计数器的方案是指采用 8253 等片外的专用计数芯片进行脉冲计数 片内计数方案是指采用单片机的内 部计数器完成对脉冲的计数过程 使用片内的计数器的优点在于降低单片机系统的成本 每到一个脉冲将会 产生一个 T1 的计数 T1 的中断溢出次数就是所需要计的脉冲数 特点在于 使用了内部的 T1 作为外部脉冲的计数器 并且为了避免计数器的溢出 将 T1 的初值设为 0 2 2 3 显示模块选择 数码管显示器件相对便宜 但是耗能大 编写程序相对麻烦 工作量大 LCD 显示器工作原理简单 编程方便 节能环保 所以采用 LCD1602 液晶显 示器作为显示模块核心 2 2 4 报警模块选择 采用电磁式蜂鸣器作为报警主要器件 该方案不论在硬件和焊接方面还是 在编写软件方面都简单方便 而且成本低廉 2 2 5 电源模块选择 采用 USB 供电 该方案实施简单 电路搭建方便 可作为单片机开发常备 电源使用 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 4 2 2 6 单片机模块选择 选用 STC89C52RC 的单片机速度极快 功耗低 体积小 资源丰富 有各 种不同的规格 引脚还可编程确定功能 因为本次设计的目标是测速系统的应用 所以我选用了 51 系列的单片机 因为 51 的架构十分典型 选择 51 系列单片机我认为主要考虑以下方面 1 价 格便宜 2 开发简单 3 自己动手焊接相对容易 2 3 速度测量方案选择 转速的测量方法很多 根据脉冲计数来实现转速测量的方法主要有 M 法 测频法 T 法 测周期法 和 MPT 法 频率周期法 该系统采用了 M 法 测频法 由于转速是以单位时间内转数来衡量 在变换过程中多数是有规律的重复运动 传感器采用霍尔器件将电机的转速转化为脉冲信号 处理器采用 STC89C52RC 单片机 计数器采用单片机片内计数器完成对脉冲的计数 显示 器采用字符型液晶显示器 LCD1602 进行显示 系统工作过程 机轴上安装一个一个圆盘 圆盘的边缘安有一个磁钢 测 量转速的霍尔传感器靠近边缘的磁钢 机轴每转一周 产生一定的脉冲个数 霍尔器件电路部分输出 成为转速计数器的计数脉冲 控制计数时间 即可实 现计数器的计数值对应机轴的转速值 单片机 CPU 将数据处理后 通过 LCD1602 显示出来 测量转速传感器由磁钢 霍尔元件组成 将一非磁性圆盘 固定装在电机转轴上 再用 502 胶水将圆块状磁钢黏贴在圆盘靠近边缘的位置 磁钢采用永久磁 图 2 1 霍尔传感器检测信号图 2 4 小结 本章通过总体设计进行对方案选择的最终确定 研究了霍尔测速 计数器 显示 报警 电源 单片机等各部分模块的可行性方案 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 5 第三章 系统总体设计 3 1 总体硬件设计 汽车转速及里程表显示系统工作过程是 机轴每转一周 产生一定量的脉 冲个数 由霍尔器件电路部分输出 经光电耦合后 成为转速计数器的计数脉 冲 同时传感器电路输出幅度为 12v 的脉冲经光电耦合后降为 5v 保持同 STC89C52RC 逻辑电平相一致 控制计数时间 即可实现计数器的计数值对应 机轴的转速值 CPU 将该值数据处理后 在 LCD1602 上显示出来 一旦超速 CPU 通过蜂鸣器发出声音报警信号 3 1 1 硬件原理图 以单片机 STC89C52RC 为控制核心 用霍尔集成传感器作为测量转速的检 测元件 最后用字符型液晶显示器 LCD1602 显示 用小型直流电机模拟汽车显 示转速和里程的显示系统 这是一种数字式测量方法 系统硬件原理图如图 3 1 所示 电机 霍尔传感器 光电耦合 计数器 单片机 LCD 显 示 器 声音 报警 图 3 1 硬件原理图 3 1 2 硬件电路设计总图 在原理图基础上对各部分进行了详细的设计 硬件电路图如图 3 2 所示 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 6 图 3 2 硬件电路图 3 2 系统子模块简介 本文介绍一种 STC89C52RC 单片机测量汽车速度及里程的方法 系统以单 片机 STC89C52RC 为控制核心 用霍尔集成传感器作为测量汽车速度及里程的 方法检测元件 经过单片机数据处理 用字符型液晶显示器 LCD1602 显示汽车 速度及里程 另外系统还可完成对电机的开关控制 组成单片机速度及里程测 量系统的有传感器 处理器 计数器和显示器四个部分组成 3 2 1 传感器部分 主要分为两个部分 第一部分是利用霍尔器件将电机转速转化为脉冲信号 第二个部分是使用光耦 将传感器输出的信号和单片机的计数电路两个部分隔 开 减少计数的干扰 用于测量的 A3144 集成霍尔开关 磁钢用直径 D 5mm 长度为 L 3mm 的 磁钢 A3144 是由稳压电源 霍尔电压发生器 差分放大器 施密特触发器和 输出放大器组成的磁敏传感电路 其输入为磁感应强度 输出是一个数字电压 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 7 讯号 它是一种单磁极工作的磁敏电路 适合于矩形或者柱形磁体下工作 可 应用于汽车工业和军事工程中 管脚图和接线图如 3 3 所示 a 霍尔片管脚 b 管脚接线 图 3 3 霍尔片管脚图和管脚接线图 3 2 2 计数器 片内计数方案是指采用单片机的内部计数器完成对脉冲的计数过程 3 2 3 处理器 处理器是单片机 采用的是 STC89C52RC 单片机 STC89C52RC 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 高性能的微处理器 俗称单片机 其 引脚图如图 3 4 所示 STC89C52RC 具有如下功能特性 1 兼容 MCS 51 指令系统 2 32 个双向 I O 口 3 两个 16 位可编程定时 计数器 4 1 个串行中断 5 两个外部中断源 6 4k 可反复擦写 1000 次 Flash ROM 7 128x8bit 内部 RAM 8 6 个中断源 9 低功耗空闲和掉电模式 10 软件设置睡眠和唤醒功能 图 3 4 STC89C52RC 的引脚图 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 8 3 2 4 LCD 显示部分 选用 LCD1602 显示部分有两个功能 在正常的情况下 通过 LCD 显示 当前的汽车速度 当汽车速度超出一定的范围后 通过蜂鸣器进行报警 实物 图如图 3 4 所示 图 3 5 LCD1602 液晶显示实物图 3 2 5 外接报警部分 在单片机应用的设计上 很多方案都会用到蜂鸣器 大部分都是使用蜂鸣 器来做提示或报警 用 I O 定时翻转电平来产生驱动波形的方式会比较麻烦一 点 必须利用定时器来做定时 通过定时翻转电平产生符合蜂鸣器要求的频率 的波形 这个波形就可以用来驱动蜂鸣器了 比如为 2500Hz 的蜂鸣器的驱动 可以知道周期为 400 s 这样只需要驱动蜂鸣器的 I O 口每 200 s 翻转一次电平 就可以产生一个频率为 2500Hz 占空比为 1 2duty 的方波 再通过三极管放大 就可以驱动这个蜂鸣器了 由于蜂鸣器的工作电流一般比较大 以致于单片机 的 I O 口是无法直接驱动的 所以要利用放大电路来驱动 一般使用三极管来 放大电流就可以了 电磁式蜂鸣器实物图如 3 6 所示 图 3 6 电磁式蜂鸣器 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 9 第四章 软件设计 4 1 程序设计步骤 第一步分析问题 明确任务要求 对于复杂的问题 还要讲要解决的问题 抽象成数学模型 即用数学表达式来描述 第二步确定算法 即根据实际问题和指令系统的特点确定完成这一任务须 经历的步骤 第三步根据所选择的算法 确定内存单元的分配 使用那些寄存器 程序 运行中的中间数据及结果存放在那些单元 以利于提高程序的效率和运行速度 然后制定出解决问题的步骤和顺序 画出程序的流程图 第四步根据流程图 编写源程序 第五步上机对原程序进行编译 调试 4 2 程序流程图 电机转速测量需要经过的 4 个基本步骤 1 是控制方式 2 是确定计数方式 3 是信号输入方式 4 是计数值的读取 通过 STC89C52RC 单片机完成对电机 转速脉冲计数的控制 读取寄存器完成转速频率的确定 电机脉冲信号连到 引脚 0INT 本系统采用 STC89C52RC 中的中断对转速脉冲计数 定时器 T0 工 0INT 作于定时方式 工作于方式 1 每到 1s 读一次外部中断计数值 此值即 0INT 为脉冲信号的频率 根据式 4 1 可计算出电机的转速 当直流电机通过传动部分带圆盘旋转时 霍尔传感器根据圆盘上得磁片获 得一系列脉冲信号 这些脉冲信号通过单片机系统定时 计数器计数 定 0INT 时器 T0 定时 定时器 T0 完成 100 次溢出中断的时间 T 除以测得的脉冲数 m 经过单位换算 就可以算得直流电机旋转的速度 汽车速度计算公式 n 2 m N1 T N m sec 4 1 其中 n 为直流电机转速 N 为磁钢数 N1 为 T0 中断次数 m 为在规定时 0INT 间内测得的脉冲数 T 为定时器 T0 定时溢出时间 2 为假定的汽车轮子的周长 4 2 1 主程序流程图 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 10 主程序工作过程如下 先进行初始化设置各定时器初值 然后判断是否启动系统进行测量 如果 是 就启动系统运行 如果不是就等待启动 启动系统后 霍尔传感器检测脉 冲到来后 启动外部中断 每来一个脉冲中断一次 记录脉冲个数 同时启动 T0 定时器工作 每 1 秒定时中断一次 读取记录的脉冲个数 即电机转速 再 进行数值的判断 若数值高于 80m sec 则报警并返回初始化阶段 否则就进行 正常速度液晶显示 开始 初始化 是否启动 数据滤波处理 是否达到报 警器的值 显示处理 等待中断 图 4 1 主流程图 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 11 4 2 2 中断服务流程图 在处于中断服务程序阶段 首先进行关中断设置 其次进行对位进行 0INT 的脉冲个数计数的数值读取 再次对 T0 进行赋初值并且进行关中断设 0INT 置 最后进行中断返回 一 外部计数中断 关闭中断 计数器 1 判断是否为 1 次 1 次则为电机转一 圈 初始化计数器 转圈计数器 1 开外部中断 INT0 返回 图 4 2 外部中断流程图 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 12 二 定时器中断 关 T0 中断 重新装入计时数值 计时数值 1 判断是否为 20 次 20 次则为 1 秒 关 INT0 中断 把 转圈数赋值给数据 处理参数 LCD 显示 开中断 返回 图 4 3 定时器中断流程图 4 3 软件程序设计 4 3 1 主程序设计 主程序在对定时器 计数器 堆栈等进行初始化后即判断标志位是否为 1 如果为 1 说明要求对数据进行计算处理 首先将标志位清零 以保证下次 能正常判断 然后进入数据处理程序 由于这里的闸门时间为 1s 由于转轴上 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 13 安装有 1 只磁钢 每旋转一周可以得到 1 个脉冲 可得到每秒钟的转速 所得 数据乘以汽车车轮的周长即可得到当前汽车的速度 计算得到的结果是二进制 的整数 要将数据送往显示缓冲区需要将该数转化为 BCD 码 运算得到的是压 缩 BCD 码 需要将其转换为非压缩 BCD 码 从标号 CBCD 开始的一段程序即 作了这样的处理 定时器 T0 用作 20ms 定时发生器 在定时中断程序中进行数码管的动态扫 描 同时产生 1s 的闸门信号 1s 闸门信号的产生是通过一个计数器 Count 每 次中断时间为 20ms 每计 50 次即为 1s 到了 1s 后 即清除计数器 Count 然 后关闭作为计数器用的 INT0 读出 TH0 TL0 中的数值 分别送入 SpCount 和 SpCount 1 单元 将 T0 中的值清空 置标志位为 1 要求主程序进行速度值 的计算 这里还有一个细节 用作 1s 闸门信号产生的 Count 每次中断都会加 1 而 INT0 却有一个周期是被关闭的 因此 计数值是 51 而不是 50 主函数 void main int all 全局初始化 while 1 disp count 数据处理 if zhuan 80 转速警告 warning 1 if zhuan 80 warning 0 write command 0 x80 for i 0 i 80 warning 1 if zhuan 80 warning 0 4 3 5 转速程序的设计 测速的方法决定了测速信号的硬件连接 测速实际上就是测频 因此 频 率测量的一些原则同样适用于测速 通常 可以用计数法 测脉宽法和等精度法来进行测试 所谓计数法 就 是给定一个闸门时间 在闸门时间内计数输入的脉冲个数 测脉宽法是利用待 测信号的脉宽来控制计数门 对一个高精度的高频计数信号进行计数 由于闸 门与被测信号不能同步 因此 这两种方法都存在 1 误差的问题 第一种方法 适用于信号频率高时使用 第二种方法则在信号频率低时使用 等精度法则对 高 低频信号都有很好的适应性 数据处理 void disp count unsigned long long x zhuan zhuan 2 display 7 zhuan 1000 0 转换转速的千位 display 8 zhuan 100 10 0 转换转速的百位 display 9 zhuan 10 10 0 转换转速的十位 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 17 display 10 zhuan 10 0 转换转速的个位 long x x 2 display up 6 long x 100000000 0 里程的亿位 display up 7 long x 10000000 10 0 里程的千万位 display up 8 long x 1000000 10 0 里程的百万位 display up 9 long x 100000 10 0 里程的十万位 display up 10 long x 10000 10 0 里程的万位 display up 11 long x 1000 10 0 里程的千位 display up 12 long x 100 10 0 里程的百位 display up 13 long x 10 10 0 里程的十位 display up 14 long x 10 0 里程的个位 4 3 6 软件程序基础知识准备 针对 STC89C52RC 单片机 头文件 STC89x52 h 给出了特殊功能寄存器 SFR 所有端口的定义 其次 C 语言编程基础 十六进制表示字节 0 x5a 二进制为 01011010B 0 x6E 为 01101110 如果将一个 16 位二进数赋给一个 8 位的字节变量 则自动截断为低 8 位而 丢掉高 8 位 TMOD TMOD表示给变量 TMOD 的低四位赋值 0 x5 而不 改变 TMOD 的高四位 While 1 表示无限执行该语句 即死循环 语句后的分号表示空循环体 也就是 在引脚输出方波编程方法 比如 P3 2 引脚 include 该头文档中有单片机内部资源的符号化定义 其中包含 P3 2 void main void void 表示没有输入参数 也没有函数返值 这入单片机运 行的复位入口 While 1 非零表示真 如果为真则执行下面循环体的语句 P3 2 1 给 P3 2 赋值 1 引脚 P3 2 就能输出高电平 VCC P3 2 0 给 P3 2 赋值 0 引脚 P3 2 就能输出低电平 GND 由于一直为真 所以不断输出高 低 高 低 从而形成方波 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 18 第五章 软件调试 5 1 Proteus 及 Keil 软件简介 5 1 1 Proteus 软件 Proteus 软件是一种低投资的电子设计自动化软件 提供可仿真数字和模拟 交流和直流等数千种元器件和多达 30 多个元件库 Proteus 软件提供多种现实 存在的虚拟仪器仪表 此外 Proteus 还提供图形显示功能 可以将线路上变化 的信号 以图形的方式实时地显示出来 这些虚拟仪器仪表具有理想的参数指 标 例如极高的输入阻抗 极低的输出阻抗 尽可能减少仪器对测量结果的影 响 Proteus 软件提供丰富的测试信号用于电路的测试 这些测试信号包括模拟 信号和数字信号 提供 Schematic Drawing SPICE 仿真与 PCB 设计功能 同时 可以仿真单片机和周边设备 可以仿真 51 系列 AVR PIC 等常用的 MCU 并提供周边设备的仿真 例如 373 led 示波器等 Proteus 提供了大量的元件 库 有 RAM ROM 键盘 马达 LED LCD AD DA 部分 SPI 器件 部 分 IIC 器件 编译方面支持 Keil 和 MPLAB 等编译器 一台计算机 一套电子仿真软件 在加上一本虚拟实验教程 就可相当于 一个设备先进的实验室 以虚代实 以软代硬 就建立一个完善的虚拟实验室 在计算机上学习电工基础 模拟电路 数字电路 单片机应用系统等课程 并 进行电路设计 仿真 调试等 5 1 2 Keil 软件 KeilC51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显 的优势 因而易学易用 用过汇编语言后再使用 C 来开发 体会更加深刻 KeilC51 软件提供丰富的库函数和功能强大的集成开发调试工具 全 Windows 界面 另外重要的一点 只要看一下编译后生成的汇编代码 就能体 会到 KeilC51 生成的目标代码效率非常之高 多数语句生成的汇编代码很紧凑 容易理解 在开发大型软件时更能体现高级语言的优势 5 2 应用 Keil 软件进行程序调试 软件的调试必须在开发系统的支持下进行 先分别调试通过各个模块程序 然后调试中断服务程序 最后调试主程序 将各部分连接进行调试 调试的范围可 以由小到大 逐步增加 必要的中间信号可以先做设定 通常交叉使用单步运行 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 19 断点运行 连续运行等多种方式 每次执行完毕后 检查 CPU 执行现场 RAM 的有 关内容 I O 接口的状态等 发现一个问题 解决一个问题 直至全部通过 首先新建一个工程项目文件 其次为工程选择目标器件 再次为工程项目设置 软硬件调试环境 并创建源程序文件并输入程序代码 及保存创建的源程序项 目文件 最后把源程序文件添加到项目中 5 3 Proteus 软件仿真 在 Proteus 软件中画出原理图 向单片机中加入需要调试的程序的 HEX 文件 便可以进行调试了 5 3 1 仿真步骤 利用 Proteus 实现单片机系统开发过程一般分为四步 1 在 Proteus 平台上进行单片机系统电路设计 选择元器件 接插件 连接 电路和电气检测等 简称 Proteus 电路设计 2 在 Keil 平台上进行单片机系统源程序设计 编辑 汇编编译 调试 最 后生成目标代码文件 hex 简称 Proteus 软件设计 3 再次在 Proteus 平台上将目标代码文件加载到单片机系统中 并实现单片 机系统的实时交互 协同仿真 简称 Proteus 仿真 最后仿真正确后 安装实际单片机系统电路 并将目标代码文件 hex 下载到实际单片机中运行 调试 若出现问题 可与 Proteus 设计与仿真相互配 合调试 直至运行成功 简称实际产品安装 运行与调试 实践证明 按照 Proteus 仿真通过的设计来安装的实际系统 只要安装正确 元器件无误 焊接 牢靠 基本都能顺利通过 5 3 2 仿真实例 首先 进行参数的选定 本系统主芯片采用的 STC89C52RC 由于 Keil 中 没有该芯片 所以用 AT89C51 代替 因此选定该型号 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 20 图 5 1 芯片型号选择 其次 在 Option For Target Target 1 中选择生成 HEX 文件 图 5 2 HEX 文件生成 运行的第一步 点击运行程序 确认运行程序无误 即没有错误和警告 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 21 图 5 3 确认程序无误 点击生成工程文件并生成 HEX 文件 图 5 4 已生成 HEX 文件 可通过 Debug 中的 Run 和 Step 来对程序的对应代码进行一一调试 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 22 图 5 5 程序运行调试 通过程序加入芯片 在 Proteus 软件里仿真的效果图 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 23 图 5 6 仿真显示图 5 4 硬件软件联合调试 5 4 1 联调步骤 第一步安装 Keil 与 Proteus 第二步把 Proteus 安装目录下 VDM51 dll 文件复制到 Keil 安装目录的 C51BIN 目录中 第三步修改 Keil 安装目录下 Tools ini 文件 在 C51 字段加入 TDRV5 BINVDM51 DLL Proteus VSM Monitor 51 Driver 打开 Proteus 画出 相应电路 在 Proteus 的 Tools 菜单中选中 Use remote debug monitor 第四步在 Keil 中编写 MCU 的程序及进入 Keil 的 Proteus 菜单 Option for target 工程名 在 Debug 选项中右栏上部的下拉菜选中 Proteus VSM Monitor 51 Driver 第五步即最后在 Keil 中进行 Debug 同时在 Proteus 中查看直观的结果 5 4 2 搭接检查步骤 首先检查元件的好坏 按电路图买好元件后首先检查买回元件的好坏 按 各元件的检测方法分别进行检测 一定要仔细认真 其次放置各元件 按电路图的位置将各元件安置好 首先放置核心元件 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 24 然后再放其他元件 特别注意顺序不能颠倒 再次电路接线 在保证电路元器件完好及各元器件放置无误合理的情况下 开 始对电路连接布线 由于本设计用面包板搭件 所以布线要无跨线并且工整 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 25 第六章 结论 本文给出了一种用单片机和霍尔传感器测量汽车速度及里程的测量系统 克 服了传统方法测量的不足 可以实现每秒对汽车速度进行测量 该测速系统具有 测量速度快 测量精度高的优点 不但可应用于汽车的速度测量 而且可应用 于其它要求转速精确测量系统中 主要通过学习了霍尔传感器 STC89C52RC 单片机 LCD1602 显示等知识 查阅了相关资料 实现了 汽车速度及里程电子显示系统 的基本设计要求 本 系统实现了题目基本部分以及扩展部分的要求 可达到设计的基本条件要求 所设计的系统具有以下功能 1 对于设计采用 STC89C52RC 单片机作为测量转速和里程的主 CPU 芯片 系统硬件设备结构简单合理 成本低 实时性好 2 测速系统采用霍尔传感器作为敏感速率信号 具有频率响应快 抗干扰 能力强等特点 霍尔传感器的输出信号经信号调理后 通过单片机对连续脉冲 记数来实现转速测量 充分利用了单片机的内部资源 有很高的性价比 并且 在测量范围内转速越高测量精度越高 所以该系统在一般的转速检测和控制中 均可应用 3 针对采用 LCD1602 显示测速值和里程 直观 稳定 易于实现 并应 用 KEIL 进行了软仿真 调试结果表明所设计的软件程序正确 4 测速系统的功能还有待进一步扩充 如判别转速方向的能力 电路布局 和抗干扰方面还有很大的提升空间 正是这一次设计让我积累了无数实际经验 使我的头脑更好的被知识武装 了起来 也必然会让我在未来的工作学习中表现出更高的应变能力 更强的沟 通力和理解力 顺利如期的完成本次毕业设计给了我很大的信心 让我了解专 业知识的同时也对本专业的发展前景充满信心 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 26 参考文献 1 赵负图 现代传感器集成电路 M 北京 人民邮电出版社 2000 534 535 2 张毅坤 陈善久 裘雪红 单片微型计算机原理及应用 M 西安 西安电子科技大学 出版社 1998 年 3 全润 张亚凡 邓洪敏 传感器原理及应用 M 北京 清华大学出版社 2008 年 4 冯寿亭 李迪 基于嵌入式计算机和DSP的数控系统以及其通信实现 J 组合机床与 自动化 2005 5 来清民主编 传感器与单片机接口及实例 M 北京航空航天大学出版社 6 何希才 传感器及其应用 M 北京 国防工业出版社 2001 7 万福君 凌文玉 王乃厚等 单片微机原理系统设计与开发应用 M 合肥 中国科学技术大 学出版社 1995 46 52 8 冯雷星 基于单片机高性价比频率计的设计与实现 J 微计算机信息 2007 20 7 85 86 9 冯夏勇 蔡建国 实用微机转速测量方法的研究 J 宇航测量技术 1997 17 6 49 25 10 胡汉才 单片机原理及其接口技术 M 北京 清华大学出版社 1996 11 杨宁 王吴 田蔚风等 高精度飞轮控制系统方案分析研究 J 航天控制 2004 22 3 50一53 12 彭为 黄科 雷道仲 单片机典型系统设计实例精讲 M 北京 电子工业出版社 2007 年 13 李学礼 基于 Proteus 的 8051 单片机实例教程 M 北京 电子工业出版社 2008 年 14 李 华 单片机通用接口技术 M 北京 北京航空航天大学出版社 1999 15 陈伯时 电力拖动自动控制系统 M 北京 机械工业出版社 2003 103 107 16 张毅刚 彭喜元 MCS 51 单片机应用设计 M 哈尔滨工业大学出版社 2003 年 17 周航慈 单片机应用程序设计技术 M 北京航空航天大学出版社 2002 11 18 徐爱钧 单片机原理实用教程 基于 Proteus 虚拟仿真 M 北京 电子工业出版社 2009 年 19 Texas Instruments Incorporated TMS320c54x DSP J BI0SUsers Guide SPRU326C 2000 5 20 刘涳主编 毕业设计宝典 西安 西安电子科技大学出版社 2008 年 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 27 附录 1 源程序 源程序 include include define uint unsigned int define uchar unsigned char define y long 2 周长 米 端口命名 sbit rs P2 7 LCD 的数据 命令选择端 sbit rw P2 6 LCD 的读写选择端 sbit lcdcs P2 5 LCD 的使能信号端 sbit warning P3 1 蜂鸣器端 定义参数 uint i z count zhuan msec 定义参数 uchar display speed r sec 定义显示参数 uchar display up long m 6 14 数据 unsigned long x 毫秒延时 void delay uint ms uint i j 为延时引入 i j 两参数 for j 0 j ms j 延时第一循环 for i 0 i 120 i 延时第二循环 向 LCD1602 写命令 void write command uchar command rs 0 选择写命令 P0 command 向 LCD 写命令 lcdcs 1 信号使能端高电平 lcdcs 0 信号使能端低电平 向 LCD1602 写数据 void write data uchar data0 rs 1 选着写数据 P0 data0 向 LCD 写数据 lcdcs 1 信号使能端高电平 lcdcs 0 信号使能端低电平 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 28 外部中断 0 计数程序 void counter void interrupt 0 EX1 0 关外部中断 0 z 转圈计数加 1 EX1 1 开外部中断 0 LCD 显示 void displaytolcd write command 0 x80 向 LCD1602 写命令 80H for i 0 i sizeof display 1 i 循环要传输的字符个数次 每一次传输一个 字符 write data display i delay 5 write command 0 xc0 向 LCD1602 写命令 c0H for i 0 i 80 高于 80 转打开警告 warning 1 if zhuan1 for compression and 1 for dilation For example we could use the following hedge allocation for compression and dilation hedge vaguely 0 05 slightly 0 25 somewhat 0 5 very 2 extremely 3 exactly Another hedge commonly used is a contrast enhancer 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 39 2 2 1 2 0 2 1 2 1 HH enhH H TforT Totherwise From information theory we knonw that we can define the missing information of a probability by distribution by the shannon entropy log x X S xp xp x 18 2 6 Quantifying Fuzzyness where the base of the logarithm determines the units of information If 2 then the unit of information is the bit binary digit We would expect this since in this case we know with certainty that the solution is with probability 1 and hence there is 0 x no missing information Similarly if the probability distribution is flat i e for all x 1 p x sizeofX then the missing information is a maximum We can define the entropy of a fuzzy set F FxxxX by FSFSF with log FF x X SFxx where is a positive constant Thus the entropy is a suitable measure for fuzzyness Example Consider the following two discrete fuzzy sets 1 0 4 2 0 8 3 1 0 4 0 7 5 0 3 A and 1 0 0 2 0 1 3 1 0 4 0 2 5 0 1 B 天津工业大学 2012 届本科生天津工业大学毕业设计 论文 40 Then the 3 46 bits while 1 66 bits As we would expect is much 2 A 2 B A more fuzzy than B 18 2 7 C Implementation of Discrete Fuzzy Sets In the following header file fuzzy h we implement the function described above as methods within the class Fuzzy The function name near is replaced by closeTo since near is used in some C compilers as keyword We supply 3 constructors The default constructor Fuzzy which allows the user to create an array of fuzzy sets a constructor allowing the user to create a fuzzy set of a certain size and covering a range from xMax to xMin on the support axis If the user does not specify the support range then it is assumed to be 0 1 as specified by the defult valuses of the corresponding arguments The support range can be altered at a later stage via the methed setDomain The last constructor is the copy constructor The method fillGrades sets all grades equal to the supplied fill value The method normalize normalizes the fuzzy set i e the largest grade will be 1 The method rectangle fills all the grades of the fuzzy set whose support is between left and right with 1 and all others with zero For example the concept crisp faster than 100 for a universe of cruising speeds between say 100 and 200 could be defined by the rectangle Fuzzy fasterThan100 201 1 200 fasterThan100 rectangle 100 200 The methods triangle and trapezoid can be used to define a discrete fuzzy set with trianglar and trapezoidal membership functions respectively For example we could define the fuzzy value for optimal cruising speed by a triangle and the range of acceptable cruising speed by a trapezoid Fuzzy optimalSpeed 201 0 200 acceptablr

温馨提示

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

评论

0/150

提交评论