高分辨率转速测量仪-单片机毕业设计论文_第1页
高分辨率转速测量仪-单片机毕业设计论文_第2页
高分辨率转速测量仪-单片机毕业设计论文_第3页
高分辨率转速测量仪-单片机毕业设计论文_第4页
高分辨率转速测量仪-单片机毕业设计论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1 扬扬 州州 市市 职职 业业 大大 学学 毕毕 业业 设设 计计 论论 文文 设计 论文 题目 高分辨率转速测量仪 系别 电子系1 专业 应用电子1 班级 03电 2 1 姓名 张金平1 学号 03040102361 指导教师 吕群 工程师 完成时间 06年 5 月 2 目录目录 摘要 3 第 1 章AT89C51 单片机概述 1 1单片机的基本知识 4 1 2单片机的应用 11 第 2 章整体方案设计 2 1转速的测量 12 2 2共阳极 LED 数码显示器 14 2 3硬件部分设计 15 2 4软件部分设计 16 第 3 章系统调试 3 1硬件调试 17 3 2软件调试 17 总结 18 元器件清单 19 附录一 程序框图 20 附录二 硬件电路图 22 附录三 软件程序清单 23 3 摘要摘要 高分辨率转速测量仪是单片机系统的简单应用 它是硬件和软件相配合使用 的 这样可以弥补硬件成本高 结构复杂的特点 提高运行速度 该转速测量仪 经济实惠 适用于电机 电扇 车轮等的转速 还可以做成一个限速装置 用于 一些特定的场合 首先 电路是由控制电路部分和显示电路部分两大部分组成 利用单片机的 程序进行控制 并用了 LED 数码管作动态扫描进行显示实时转速 此装置的测量 范围是 500r min 5000r min 关键词关键词 1 高分辨率2 转速3 单片机4 LED 数码管5 动态扫描 6 伟福仿真器 课题简介课题简介 1 内容 此系统能对某种转速 如 电机 风扇 车轮等 作快速高分辨率测量 转速显示位数能达到 3 4 位并用 LED 数码管作动态扫描显示 软件部分可以用 INT0 INT1 测脉冲宽度的方法测出周期 然后用除法运算求出转速并送显示 2 应用范围 本测量仪器是一种分辨率较高的转速测量仪器 它可以应用于电机的转速测 量 一般的测量范围可以在 500r min 5000r min 之间 显示位数达到四位 可 以作为一些需要转速实时控制的场所 根据操作者的需要进行调速 3 市场调查 转速测量在国民经济的各个领域 都是必不可少的 随着电子技术发展 单 片机技术和大规模可编程数字逻辑电路的普及 为转速仪表结构简单化提供了技 术基础 智能芯片的运用 使同一仪表硬件 具有多种不同功能的软件 为多样 化系列化带来了便利 智能仪表的软件 可为不同需求量身定做 使得智能仪 表又具个性化的特点 市场上的转速测量仪器可分为以下六类 1 离心式转速表 是机械力学的成果 2 磁性式转速表 是运用磁力和机械力的一个典范 3 电动式转速表 巧妙运用微型发电机和微型电动机将旋转运动异地拷贝 4 磁电式转速表 电流表头和传感器都是电磁学的普及运用 5 闪光式转速表 人类认识自然的同时也认识了自我 体现了人类的灵性 6 电子式转速表 电子技术的千变万化 给了我们今天五彩缤纷的世界 同样也造就了满足人们各种需要的转速测量仪表 综上所述 我选择了电子式转速测量仪做为研究对象 电子式转速表是一个 比较笼统的概念 以现代电子技术为基础 设计制造的转速测量工具 它一般有 传感器和显示器 用单片机来控制 利于实现转速测量智能化 4 第第 1 章章 AT89C51 单片机概述单片机概述 1 1单片机的基本知识单片机的基本知识 AT89C51 单片机与 Intel 80C51 单片机在引脚排列 工作特性 硬件组成 指令系统等方面完全兼容 其主要特性是 1 内存 4KB 的 Flash 存储器 擦写次数 1000 次 2 内存 128 字节的 RAM 3 具有 32 根可编程 I O 线 4 具有 2 个 16 位可编程定时器 5 具有 5 个中断源 2 级优先权的中断结构 6 具有 1 个全双工的可编程串行通信接口 7 具有 1 个数据指针 DPTR 8 两种低功耗工作模式 即空闲模式和掉电模式 9 AT89C51 的工作电压为 5 1 0 2 V 且典型值是 5V MCS 51 单片机芯片内部的逻辑结构如图 1 1 所示 现对各组成部分的情况介绍如下 1 中央处理器 CPU 中央处理器简称 CPU 是单片机的核心 完成运算和控制操作 按 其功能 中央处理器包括运算器和控制器两部分电路 1 运算器电路 运算电路是单片机的运算部件 用于实现算术和逻辑运算 图 1 1 中 的 ALU 算术逻辑单元 ACC 累加器 B 寄存器 程序状态字 和两个暂存寄存器等属于运算器电路 图 1 1 5 运算电路以 ALU 为核心 基本的算术运算和逻辑运算均在其中进 行 包括加 减 乘 除 增量 减量 十进制调整 比较等算 术运算 与 或 异或等逻辑运算 左 右移位和半字节交换等 操作 运算和操作结果的状态寄存器 PSW 保存 2 控制器电路 控制电路是单片机的指挥控制部件 保证单片机各部分能自动而协 调地工作 图 1 1 中的 PC 程序计数器 PC 加 1 寄存器 指令寄 存器 指令译码器 定时与控制电路等均属于控制电路 单片机执行指令是在控制电路的控制下进行的 首先从程序存储器 中读出指令 送指令寄存器保存 然后送指令译码器进行译码 译 码结果送定时控制逻辑电路 由实时控制逻辑产生各种定时信号和 控制信号 再送到系统的各个部件去进行相应的操作 这就是执行 一条指令的全过程 执行程序就是不断重复这一过程 2 内部数据存储器 内部存储器在图 1 1 中包括 RAM 128 8 和 RAM 地址寄存器等 实际上 80C51 芯片中共有 256 个 RAM 单元 但其中后 128 单元被专用 寄存器占用 供用户使用的只有前 128 单元 用于存放可读写的数据 因此 通常所说的内部数据存储器是指前 128 单元 简称 内部 RAM 3 内部程序存储器 内部程序存储器在图 1 1 中包括 4K 8 和程序地址寄存器等 80C51 共有 4KB 掩膜 ROM 用于存放程序和原始数据 因此称之为程序存储 器 简称 内部 ROM 4 定时器 计数器 出于控制应用的需要 80C51 共有两个 16 位的定时器 计数器 以实 现定时或计数功能 并以其定时或计数结果对单片机进行控制 图 1 1 中 定时器是和中断 串行端口画在一起的 5 并行 I O 口 MCS 51 共有 4 个 8 位的并行 I O 口 P0 P1 P2 P3 以实现数 据的并行输入输出 在图 1 1 中 4 个并行口是分别画出的 6 串行口 MCS 51 单片机是有一个全双工的串行口 以实现单片机和其它数据 设备之间的串行数据传送 该串行口功能较强 既可作为全双工异步通 信收发器使用 也可作为同步移位器使用 在图 1 1 中 串行端口是和中 断 定时器一起画出的 7 中断控制系统 MCS 51 单片机的中断功能较强 以满足控制应用的需要 80C51 共 有 5 个中断源 即外中断 2 个 定时 计数中断 2 个 串行中断 1 个 全 部中断分为高级和低级共两个优先级别 在图 1 1 中 中断控制电路和串 行端口 定时器一起画出 8 时钟电路 MCS 51 芯片的内部有时钟电路 但石英晶体和微调电容需外接 所 以在图 1 1 中时钟电路是用石英晶体和电容的符号表示的 时钟电路为单 片机产生时钟脉冲序列 典型频率为 12MHz 9 位处理器 6 单片机主要用于控制 需要有较强的位处理功能 因此位处理器是 它的必要组成部分 常把位处理器称为布尔处理器 位处理器以状态寄存器中的进位标志位 C 为累加位 可进行置位 复位 取反 等于 0 转移 等于 1 转移且清 0 以及 C 与可寻址位之间 的传送 逻辑与 逻辑或等位操作 位处理操作也是通过运算器实现的 但图 1 1 中没有具体画出 一 一 引脚排列及功能引脚排列及功能 80C51 是标准的 40 引脚双列直插式集成电路芯片 引脚排列请参见下页图 1 2 1 信号引脚介绍 输入 输出口线 P0 0 P0 7P0 口 8 位双向口线 P1 0 P1 7P1 口 8 位双向口线 P2 0 P2 7P2 口 8 位双向口线 P3 0 P3 7P3 口 8 位双向口线 ALE地址锁存控制信号 在系统扩展时 ALE 用于控制把 P0 口输出的低 8 位地址送入锁存器锁存起来 以实现低位地址和数 据的分时传送 此外由于 ALE 是以六分之一晶振频率 的固定频率输出的正脉冲 因此可作为外部时钟或外 部定时外部定时外部使用 PSEN 外部程序存储器读选通信号图 1 2 在读外部 ROM 时 PSEN 有效 低电平 以实现外部 ROM 单元的读操作 EA 访问程序存储器控制信号 当 EA 信号为低电平时 对 ROM 的读操作限定外部程序存储器 而当 EA 信号 为高电平时 则对 ROM 的读操作是从内部程序存储器开始 并可延续至外部程序 存储器 RST复位信号 当输入的复位信号延续2个机器周期以上高 电平时即位有效 用以完成单片 机的复位操作 XTAL1 和 XTAL2外接晶体引线端 当使用芯片内部时钟时 此二引脚端用于外接石英晶体和微调电容 当使用 外部时钟时 用于接外部时钟脉冲信号 Vss地线 Vcc 5V 电源 以上就是 80C51 单片机芯片 40 条引脚的定义及简单功能说明 2 信号引脚的第二功能 由于工艺及标准化等原因 芯片的引脚数目是有限的 例如 MCS 51 系列芯片 引脚数目 40 条 但单片机为实现其功能所需要的信号数目却远远超过此数 因此 就出现了供需矛盾 如何解决这一矛盾 复用是唯一可行的办法 即给一些信号引脚赋予双重功 能 第二功能信号定义主要集中在 P3 口线中 另外再加上其他信号线 1 常见的第二功能信号 P3 口线的第二功能 P3 的 8 位口线都定义有第二功能 祥见表 1 1 7 表 1 1P3 口线的第二功能 口线第 二功能信号名称 P3 0RXD串行数据接收 P3 1TXD串行数据发送 P3 2 INT0外部中断 0 申请 P3 3 INT1外部中断 1 申请 P3 4T0定时器 计数器 0 计数输入 P3 5T1定时器 计数器 1 计数输入 P3 6 WR外部 RAM 写选通 P3 7 RD外部 RAM 读选通 EPROM 存储器程序固化所需要的信号有内部 EPROM 的单片机芯片 为写入程 序需提供专门的编辑脉冲电源 它们也是由信号引脚以第二功能的形式提供的 即 编程脉冲 30 脚 ALE PROG 编程电压 25V 31 脚 EA Vpp 备用电源引入 MCS 51 单片机的备用电源也是以信号第二功能的方式由9脚提供电压 以保 护内部 RAM 中的信息不丢失 2 引脚的第一 第二功能不会混淆 一个信号引脚 又是第一功能又是第二功能 会不会在使用时引起混乱和造 成错误呢 理由有三 1 对于各种型号的芯片 其引脚的第一功能信号是相同的 所不同的只在引 脚的第二功能信号上 2 对于9 30和31各引脚 由于第一功能与第二功能信号是单片机在不同工 作方式下的信号 因此不会发生使用上的矛盾 3 P3 口线的情况却有所不同 它的第二功能信号都是单片机的重要控制信 号 因此在实际使用时 总是先按需要优先选用它的第二功能 剩下不用的才作为 引脚表现出的外特性或硬件特性 在硬件方面只能引用功能 即通过引脚组建系 统 二 二 存储器组织和特殊功能寄存器存储器组织和特殊功能寄存器 MCS 51单片机片内集成有程序存储器ROM和数据存储器RAM 在使用过程 中用户还可以根据需要对存储器进行外部扩展 从物理上分 MCS 51 单片机存储器有片内程序存储器 片外程序存储器 片内数据存储器和片外数据存储器 4 个存储空间 从逻辑上分 MCS 51 单片机有片内外统一的程序存储器地址空间 内部数 据存储器地址空间和外部数据存储器地址空间 3 个存储器地址空间 为了区分不 同的存储器空间 访问这 3 个不同的逻辑空间时采用了不同形式的指令 1 程序存储器 程序存储器用于存放编好的程序和表格常数 MCS 51 单片机内部有 4KB 的程序存储器 EA 引脚的连接 8 对 MCS 51 单片机而言 在正常运行是 应把 EA 引脚接高电平 使程 序从内部 ROM 开始运行 目前很多厂家的单片机内部 ROM 容量能够 满足使用需求 通常没有必要再进行外部 ROM 的扩展 一些关键的存储单元 0000H 0002H 系统复位后 PC 值为 0000H 系统将从 0000H 单 元开始执行程序 一般在该单元区域中存放一条跳转指令 用户设计 的主程序从跳转后的地址开始存放 另有 5 个特殊单元 分别对应于 5 个中断源的入口地址 0003H 000AH 外部中断 0 中断地址区 000BH 0012H 定时器 计数器 0 中断地址区 0013H 001AH 外部中断 1 中断地址区 001BH 0022H 定时器 计数器 1 中断地址区 0023H 002AH 串行中断地址区 中断响应后 按中断种类自动转到各中断区的首地址去执行程序 一般情况下 8 个单元难以存下一个完整的中断服务程序 通常从中 断地址区首地址开始存放一条无条件转移指令 以便中断响应后 通过中断地址区转到中断服务程序的实际入口地址 2 数据存储器 单片机的数据存储器由读写存储器 RAM 组成 其最大容量可扩展到 64kb 用于存储实时输入的数据 8051 内部有 256 个单元的内部数据存 储器 其中 00H 7FH 为内部随机存储器 RAM 80H FFH 为专用寄存器区 实际使用时应首先充分利用内部存储器 从使用角度讲 内部数据存储 器的结构和地址分配是十分重要的 8051 内部数据存储器地址由 00H 至 FFH 共有 256 个字节的地址空间 该空间被分为两部分 其中内部数据 RAM 的地址为 00H 7FH 即 0 127 而用做特殊功能寄存器的地址为 80H FFH 在此 256 个字节中 还开辟有一个所谓 位地址 区 该区 域内不但可按字节寻址 还可按 位 bit 寻址 对于那些需要进行 位操作的数据 可以存放到这个区域 从 00H 到 1FH 安排了四组工作寄 存器 每组占用 8 个 RAM 字节 记为 R0 R7 究竟选用那一组寄存器 由前述标志寄存器中的 RS1 和 RS0 来选用 在这两位上放入不同的二进 制数 即可选用不同的寄存器组 3 特殊功能寄存器 特殊功能寄存器 SFR 的地址范围为 80H FFH 在 MCS 51 中 除 程序计数器 PC 和四个工作寄存器区外 其余 21 个特殊功能寄存器都在 这 SFR 块中 其中 5 个是双字节寄存器 它们共占用了 26 个字节 特殊 功能寄存器反映了 8051 的状态 实际上是 8051 的状态字及控制字寄存 器 用于 CPU PSW 便是典型一例 这些特殊功能寄存器大体上分为两类 一类与芯片的引脚有关 另一类作片内功能的控制用 与芯片引脚有关 的特殊功能寄存器是 P0 P3 它们实际上是 4 个八位锁存器 每个 I O 口一个 每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一 个并行口 MCS 51 共有 P0 P3 四个这样的并行口 可提供 32 根 I O 线 每根线都是双向的 并且大都有第二功能 三 时钟电路和工作时序三 时钟电路和工作时序 XTAL1 和 XTAL2 分别为反向放大器的输入和输出 该反向放大器可以配置 9 为片内振荡器 石晶振荡和陶瓷振荡均可采用 如采用外部时钟源驱动器件 XTAL2 应不接 由于输入至内部时钟信号要通过一个二分频触发器 因此对外 部时钟信号的脉宽无任何要求 但必须保证脉冲的高低电平要求的宽度 如图 1 3 图 1 3 四 四 复位方式与电路复位方式与电路 复位就是通过某种方式 使单片机内各寄存器的值变为初始状态的操作 MCS 51 单片机在时钟电路工作以后 在 RESET 端持续给出 2 个机器周期的高电 平就可以完成复位操作 复位分为上电自动复位和手动复位两种方式 本系统采 用上电复位方式 上电复位是在单片机接通电源 时 对单片机的复位 上电复位 电路如下图 1 4 在上电瞬间 RST 端与 VCC 电位相同 随着电容上电压 的 逐渐上升 RST 端电位逐渐下降 上电复位所需要的最短时间是 振荡器建立时间加2个机器周期 五 中断系统五 中断系统 计算机暂时中止正在执行的主程序 转去执行中断服务程序 并在中断服务 执行完了之后自动回到源程序处继续执行 使用中断系统可有效的改善计算机性 能 主要表现如下 1 有效的解决了快速 CPU 与慢速外设之间的矛盾可使 CPU 与外设并行工作 大大提高了工作效率 2 可及时处理控制系统中许多随机产生的参数和信息 即计算机有实时处理 的能力 从而提高了系统的性能 3 使系统具备了处理故障的能力 提高了系统的可靠性 下面说说有关中断的优先级及中断的条件 过程与时间 中断的优先级 如果在执行主程序时只有一个中断请求源请求中断 而这时 CPU 又是对中断开放的那么这个中断立即得到响应 然而由于中断是随机产生的 中 断源又不止 1 个 因此往往会出现这样的情况 几个中断源同时请求中断 或者 当某一个中断正在响应中 即正在执行该中断源的中断服务程序 又有其他中 断源请求中断 这是中断一般会按如下原则进行处理 1 不同级的中断源同时请求中断时 先高后低 10 2 同级的中断源同时申请中断时 事先规定 3 处理低级中断又收到高级中断请求时 停低转高 4 处理高级中断又收到低级中断请求时 高不理低 MCS 51 单片机的中断系统对优先级的控制比较简单 只规定了两个中断优 先级 对与每一个中断源均可编程为高优先级中断或低优先级中断 在同一个优 先级中 五个中断优先级的次序如下 外部中断 0 IE0 定时器 计数器 T0 溢出中断 TF0 外部中断 1 IE1 定时器 计数器 T1 溢出中断 TF1 串行口中断 RI TI MCS 51 单片机中有 1 个中断优先级寄存器 IP 字节地址为 B8H 对于每一个 中断源 均可通过 IP 的设置来确定优先等级 置 1 为高优先级 反之为低 中断的条件 单片机响应中断的条件为中断源有请求 中断允许寄存器 IE 相应位置 1 且 CPU 开中断 即 IE 1 这样 在每个机器周期内 单片机对 所有中断源进行顺序检测 并可以在任一个周期的 S6 期间 找到所有有效的中 断请求 还对其优先级进行排队 但必须以下条件 1 无同级或高级正在服务 2 现行指令执行到最后 1 个机器周期且已结束 3 若现行指令为 RETI 或需访问特殊功能寄存器 IE 或 IP 的指令时 执行完 该指令且紧随其后的另一个指令也执行完 单片机便在紧接着的下 1 个机器周期的 S1 期间响应中断 否则 将丢弃中 断查询的结果 中断响应过程 单片机一旦响应中断 首先对响应的优先级有效触发器置位 然后执行 1 条由硬件产生的子程序调用指令 把断点地址压入堆栈 再把与中断 源相对应的中断服务程序的入口地址送入程序计数器 PC 同时清除中断请求标 志 串行口中断和外部电平处罚中断除外 从而程序转移到中断服务程序 以 上功能均由系统完成 由上述过程可知 MCS 51 单片机响应中断后 只保护断点而不保护现场 如累加器 A 工作寄存器 Rn 以及程序状态字 PSW 等 且不能清除串行口中断 标志 TI 和 RI 也无法清除外部中断电平触发信号 这些在编制程序时都要加以 考虑 各中断源所对应的中断服务程序入口地址如下 中断源入口地址 外部中断 00003H 定时器 T0 中断000BH 外部中断 10013H 定时器 T1 中断001BH 串行口中断0023H CPU 从上面相应的地址开始执行中断服务程序直到遇到 1 条 RETI 指令为止 RETI 指令表示中断服务程序的结束 CPU 执行该指令 一方面清除中断响应时所 置位的优先级有效触发器 另一方面从堆栈栈顶弹出断点地址送入程序计数器 PC 从而返回主程序 若在中断服务程序的开始安排了保护现场指令 一般均为 相应寄存器内容入栈或更换工作寄存器区 则在 RETI 指令前应有恢复现场指令 相应寄存器内容出栈或换回原工作寄存器区 11 中断响应的时间 所谓中断响应时间是指从中断请求标志位到转入中断服务 程序入口所需要的机器周期 中断响应最短需要 3 个机器周期 1 条长调用指令 需 2 个机器周期 加上查询的 1 个机器周期 下面谈谈外部中断及中断请求的撤除 1 外部中断 MCS 51 单片机的中断系统有 2 个外部中断源 引脚信号为 INT0 和 INT1 即 P3 2 和 P3 3 其中断请求触发信号有电平触发和边沿触发两种 当 TCON 寄 存器中的 IT0 位和 INT1 位为 0 时采用电平触发 为 1 时采用边沿触发 在电平触发方式下 单片机在每 1 个机器周期的 S5P2 期间采样中断输入信号 INTx 的状态 若为低电平 则可直接触发外部中断 这样就使得 CPU 对外部的 中断申请能得以及时的响应 在这一触发方式中 中断源必须持续请求 一直到 中断产生为止 然后 在中断服务程序返回之前 必须撤除中断请求信号 否则 机器将认为又发生 1 次中断请求 所以电平触发方式适合于外部中断输入为低电 平 且在中断服务程序中能清除该中断源的申请信号的情况 本电路就是采用 这一方式 边沿触发方式适用于以负脉冲形式输入的外部中断请求 由于外部中断源在每个机器周期被采样 1 次 所以输入的高电平或低电平必 须保持 12 个振荡周期 以保证能被采样到 2 中断请求的撤除 CPU 响应中断请求后 在中断返回前 必须撤除请求 负责会错误的再一 次引起中断过程 我们在初始编程时就犯了这样一个错误 认为在中断中还可以 跳出来 1 1 2 2单片机的应用单片机的应用 由于单片机具有体积小 重量轻 价格便宜 功效低 控制功能强及运算 速度快等特点 因而在国民经济建设军事及家用电器等各个领域均得到了广泛应 用 按照单片机的特点 起应用可分为单机应用和多机应用 在一个应用系统中 只有用 1 片单片机称为单机应用 这是目前应用最多 的一种方式 单片机应用的主要领域有 1 测控系统 用单片机可以构成各种不太复杂的工业控制系统 自适应控 制系统 数据采集系统等 达到测量与控制的目的 如一般温度控制 液面控制 简单生产线顺序控制等 2 智能仪表 用单片机改造原有的测量 控制仪表 促进仪表向数字化 智能化 多功能化 综合化 柔性化方向发展 如 温度 压力 流量 浓度等 的测量 显示 控制仪表 通过采用单片机软件编程技术 不能完全测量 而且 还具有运算 误差修正 线性化 零漂移处理 监控功能于一体 3 机电一体化产品 单片机与传统的机械产品相连接 使传统机械产品结 构简单化 控制智能化 这种新一代机电一体化产品如简易数控机床 电脑绣花 机 医疗器械等 4 智能接口 在计算机控制系统 特别是在较大型的工业测 控制系统中 用单片机进行接口的控制与管理加之单片机与主机的并行工作 大大提高了系统 的运行速度 例如 在大型数据采集系统中 用单片机对摸 数转换接口进行控 制不仅可提高采集速度 而且还能对数据进行预处理 如数字滤波 线性处理 误差休整等 5 智能民用产品 如在家用电脑 玩具 游戏机 声像设备 电子称 收 12 银机 办公设备 厨房设备等许多产品中 单片机控制器的引入 不仅使产品的 功能大大提高 性能得到提高 而且获得了良好的使用效果 单片机的多机应用系统可分为功能集散系统 并行多机处理及局部网络系 统 1 功能集散系统 多功能集散系统是为了满足工程系统多种外围功能的要 求而设置的多机系统 例如 1 个加工中心的计算机系统除完成机床加工运行外 还要控制对刀系统 坐标指示 刀库管理 状态监利 伺服 驱动等结构 并行多机控制系统 并行多控制系统主要解决工程应用系统的快速性问题 以便 构成大型实时工程应用系统典型的有快速并行采集数据 处理系统 实时图象处 理系统等 2 局部网络系统 单片机网络系统的出现 使单片机进入了一个新的领域 目前单片机构成的网络系统的主要是分布式测 控系统 单片机主要用于系 统中的通信控制 以及构成各测 控用子级系统 综上所述 目前单片机已用于工业控制 机电一体化设备 仪表设备 信号 设备 现代化兵器 交通能源 商用设备 医疗设备及家用电器等各个领域 随 着单片机性能的不断提高 它的应用会更加广泛 第第 2 章章整体方案设计整体方案设计 2 12 1转速的测量转速的测量 首先谈一下转速测量的方法 测转速也就是测频率 在显示精度 可靠性 成本和使用灵活性上有一定要求时 就可直接采用脉冲频率运算型转速表 频率运算方法 有定时计数法 测频法 定数计时法 测周法 和同步计 数计时法 定时计数法 测频法 在测量上有 的误差 低速时误差较大 定数计时 法 测周法 也有 个时间单位的误差 在高速时 误差也很大 同步计数计时法综合了上述两种方法的优点 在整个测量范围都达到了很高 的精度 万分之五以上的测量转速仪表基本都是这种方法 同步计数计时法 是随着单片机的普及而得到普及运用 同步计数计时法是 怎样综合前两种方法的优点的呢 我们还是用时序来分析 定时计数时序 时序图一时序图二 时序图一 计时和计数脉冲不同步 时序图二 计时和计数脉冲同步 但不 管计时和计数脉冲同步与否 都有多一少一的误差 同理 定数计时也有多一少 一的误差 13 同步计数计时时序图 当定时器与被测脉冲同步计数时 为避免被测脉冲计数多一少一的误差 将 定时作延时调整 等待被测脉冲计数完整 与此同时 取时间基准脉冲计数值 这样脉冲计数 N 为零误差 时间基准脉冲计数 T 有多一少一的误差 当时间基准 脉冲源 晶振 误差小于十万分之一时 误差源主要是时间基准脉冲计数多一少 一引起 频率 f N T 假定定时为 1 秒 时间基准脉冲周期为 100 S T 10000 T f N 10000 T 误差 f f N 10000 T N 10000 T 1 N 10000 T 1 10000 T 1 10000 T 1 10000 T 可见误差小于万分之一 随着晶振频率的提高误差减小 当采用单片机进行计数 和运算时 还有中断不及时引起的误差 频率与转速的关系 f P v 60 f 表示频率 P 表示每旋转一周产生的脉冲个数 v 表示转速亦即每分钟旋 转的转数 T 1 f 从以上的分析可以考虑硬件部分用遮断式光电测速传感器以及单片机配合 LED 数码管显示来完成硬件电路的设计 方案图如下 14 遮断式光电测量遮断式光电测量 2 22 2共阳极共阳极 LEDLED 数码显示器数码显示器 既然用到显示就不得不谈一下共阳极 LED 数码显示器 LED 数码显示器是 1 种由 LED 发光二极管组合显示字符的显示器件 它使用了8个 LED 发光二极管 其中 7 个用于显示字符 1 个用于显示小数点 故通常称之为 7 段发光二极管 其内部结构见下图 共阳极接法共阳极接法 LED 数码显示器有两种连接方法 本产品用的是共阳的 当然也可以采用 共阴极 把发光二极管的阳极连在一起构成公共阳极 使用时公共阳极 LED 接 5V 每个发光二极管的阴极通过电阻与输入端相连 当阴极端输入低电平时 段发光 二极管就导通点亮 而输入高电平时则不亮 为了显示字符 要为 LED 数码显示器提供显示段码 或称字形代码 组成 一个 8 字形字符的 7 段 再加上 1 个小数点位 共计 8 段 因此提供给 LED 数码显示器的显示段码为 1 个字节 各段码位的对应关系如下 段码位D7D6D5D4D3D2D1D0 显示段dpgfedcba 用 LED 数码显示器显示十六进制数和空白字符与 P 的显示段码如下表 字型共阳极段码共阴极段码字型共阳极段码共阴极段码 0C0H3FH990H6FH 1F9H06HA88H77H 2A4H5BHb83H7CH 3B0H4FHCC6H39H 499H66HdA1H5EH 592H6DHE86H79H 682H7DHF84H71H 7F8H07H空白FFH00H 880H7FHP8CH73H 15 2 32 3硬件部分设计硬件部分设计 下面谈一下本设计的最小系统 电路图如下 MCS 51 单片机内部有一个用于构成震荡器的高增益反向放大器 引脚 XTAL1 和 XTAL2 分别是放大器的输入端和输出端 放大器作为反馈组件的片外晶体或陶 瓷谐振器一起构成了一个自激震荡器 在电容的选择上一定要慎重 本电路采用 6MHz 的晶振和两个 30pF 的瓷片电容组成一个震荡电路从而满足了需求 复位电路采用按键手动复位的方式 这样可以避免上电复位的麻烦 下图是一个带有桥式整流电路的电容滤波的 7808 稳压的稳压电路 通过变 压器将 220V 的交流电通过这些环节得到 5V 左右的交流电压 以便提供单片机的 工作电压 上述就能让单片机正常工作的最小系统 就本次毕业设计来说 因为要求必 须达到四位 LED 显示 所以就得考虑外部电路的可行性 电路中的电阻的选材要 格外的小心 以免 LED 因电流太大被烧坏 下面的电路图是一个 LED 数码显示管 的工作原理 就此图对电阻 R1 R9 的选材作如下分析 首先 采用共阳极的 LED 数码显示管 这样做的理由是用灌电流的方法使得 LED 管的显示能达到足够的亮 度 人眼看的很舒服 16 LED 数码管正常发光时 每段工作电流为 5 10mA 每段极限工作电流 20mA 全部笔划点亮的电流为 35 70mA 正向电压 U 2V 由上图的电路我们可以看出 5V 的电源通过 VT9 R9 接单片机的 P2 0 口 P2 0 口由软件置 0 也就是说该口是 低电平 形成了通路 根据计算 由于一个 LED 需要 20mA 的电流 此电路有八个 LED 所以需要 160mA 的电流即 ICQ 160mAIBQ ICQ 160mA放大倍数考虑余量 80 倍 IBQ ICQ 80 160 80 2mAUBEQ 0 7V 硅管 R9 VCC UBEQ IBQ 5 0 7 2m 2k 欧姆考虑实际 UECQ 0 3V UECQ VCC ICQReRe VCC UECQ ICQ 5 0 3 160m 30 欧姆 舍去 R1 VCC UECQ U UBEQ I 5 0 3 2 0 7 20m 100 欧姆 通过上面的计算采用 R1 R8 为 100 欧姆 R9 R12 为 2 千欧姆 2 42 4软件部分设计软件部分设计 至于软件部分可以用 INT0 INT1 测脉冲宽度的方法测出周期 然后用除法 运算求出转速并送显示 由于要用数码管显示 数码管的一些工作原理在上面已经介绍过 这里就不 做详细说明了 这里谈一下在软件里如何送显示 可以用 MOVC 这条指令进行 通过内部查到一些代码 然后将高低电平送给 LED 的控制段 从而实现数码显示 的效果 延时子程序的编写很有必要讲一下 举下面一例说明 DELAY MOV R7 255 延时子程序 把立即数 255 送入寄存器 R7 D1 MOV R6 255 D2 DJNZ R6 D2 R6 中的数减一 再判断 R6 中是否位 0 不为 0 继续执行这条 为 0 向下 DJNZ R7 D1 不为 0 跳转到标号 D1 出 17 RET 子程序返回 中断服务程序框图 在读取转速的时候必须以运行中读数 所以可以采用先关中断 此时读取周 期值并保存起来 然后再开中断进行运算 这样就可以保证读数的准确性和可靠 性 第第 3 3 章章系统调试系统调试 3 1 硬件调试硬件调试 排除系统的硬件电路故障 主要有逻辑错误 可靠性差 电源故障等问题 其调试方法有脱机调试和联机调试 其脱机调试是在样机加电之前 先用万用表 等工具根据硬件原理图和装配图 仔细检查样机电路的正确性 并核对元件型号 规格和安装是否符合要求 末期联机调试就是通电后 对波形等观察分析 3 2 软件调试软件调试 根据程序框图编好程序 用伟福软件进行调试 调试时设置一些寄存器的值 让程序单步执行 看所用寄存器的变化状态是否符合要求 不符合则修改直到成 功为止 主要是对每个模块中 子程序进行调试 可利用伟福软件进行单步运行和断 点运行调试 通过检查拥护 CPU 现场 RAM 内容及 I O 口状态 检测呈现执行 结果是否符号设计要求 18 总结总结 本次毕业设计是我们三年大学所学专业综合运用的成果 可以说测转速的仪 器在国内外都很多 我所做的只是一个最简单的系统 在做的过程中必须对单片 机的硬件和软件知识有充分的了解和熟知 才能设计的时候条理清晰 理论与实 践相结合 硬件部分一定要考虑周到 不然很容易出现这样那样的问题 到时修改都是 件麻烦的事 用每一个元器件我都要考虑能否用这个 用其它的会不会更好 通 过几次反复的比较论证 这样不管从知识还是从能力方面讲都会有提高 软件部分的考虑要结合所学单片机编程的一般常识来思考 做到有目的的思 考问题 调试时要注意细节还要有耐心 特别是自己开始编写简单的程序时都不 是太熟悉 这时应该理论学习和工作实际紧密结合起来 互相参照 可以取得事 半功倍的效果 应该根据自己的知识结构和水平确定一个合理的 攻关 顺序 并大体上拟定一个进度表 根据自己完成的情况进行调整 如果碰到不理解的概 念 原理和方法 给学习带来困难 甚至无法做下去的时候 就要和导师进行沟 通 也许老师的一句话就会给自己很多的启示 编写源代码的时候最好是编写一 个小模块就进行调试 这样可以避免设计的最后出现太多的错误而乱成一团糟 一步步地做下去之后 你会发现要做出来并不难 只不过每每做一会儿会发现一 处错误要修改 就这样在不断的修改调试 再修改再调试 在这样理论与实践互 动过程中学到的知识 对以后的工作和学习来说都是有益而无害的 最后的工作是软件结合硬件进行调试 出错了就的多思考以求更大的突破 如果实在搞不定的话 只能请教老师了 他们会给我提出改进的方案 顺着他的 思路继续思考 受益匪浅 其实做什么事情都是一样只要有恒心 就一定能完成 虽说万事开头难 但 是只要我们多多研究多多向老师同学请教 再难的事情也会迎刃而解的 在这次 毕业设计的几个月中 使我深深地体会到团队合作精神的重要性 一个人是很难 做到的 只有大家在一起研究讨论才能完成 在对课题研究中 会遇到很多问题 有些是一个人无法解决的 这就要三个人一起研究 取长补短发挥每个人的优点 把大多数的问题都解决了 然后不懂的就去问老师 在此我特别感谢班主任给我的指导 感谢老师给我这样的机会锻炼 在设计 过程中 我通过查阅大量有关资料 与同学交流经验和自学 并向老师请教等方 式 使自己学到了不少知识 也经历了不少艰辛 但收获同样巨大 在整个课题 开发过程中我懂得了许多东西 也培养了我独立工作的能力 树立了对自己工作 能力的信心 相信会对今后的学习工作生活有非常重要的影响 而且大大提高了 动手的能力 使我充分体会到了在创造过程中的探索的艰难和成功的喜悦 虽然 这个课题还不是很完善 但是在设计过程中所学到的东西是这次毕业设计的最大 收获和财富 使我终身受益 19 元器件清单元器件清单 序号名称规格型号数量封装 1 单片机AT89C511DIP40 2 桥式整流器1 3 稳压管78051 4 电源插座1 5 电解电容 100UF 50V1RB 2 4 10UF 50V2 6 瓷片电容30PF2RAD0 1 7 独石电容0 11 8 按键3 9 LED 发光二极管1RAD0 1 10 晶振6MHz1XTAL1 11 电阻 2K4 RAD0 4 1008 10K1 2001 5101 12 三极管855012T0 92A 13 LED 数码管SM4105641 20 附录一 程序框图附录一 程序框图 21 22 附录二 硬件电路图附录二 硬件电路图 1234 A B C D 4321 D C B A Title NumberRevisionSize A4 Date 5 May 2006 Sheet of File I 硬件电路 图 MyDesign 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 AT89C51 C1 30p C2 30p C3 0 1 Y1 6MHz R1 200 R2 10K R3 510 L1 LED S1 C4 10U 25V C5 100U 50V C6 10U 50V VCC VCCGND GNDVCC Vin 1 GND 2 Vout 3 U47805 J2 J1 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS2 DPY 7 SEG DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS3 DPY 7 SEG DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS4 DPY 7 SEG DP a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp DS1 DPY 7 SEG DP 1 2 3 4 U3 VCC GND 12 U3A 74ALS05 VT1 8550VT2 8550 VT3 8550 VT4 8550 VT5 8550 VT6 8550 VT7 8550 VT8 8550 VT9 8550 VT10 8550 VT11 8550 VT12 8550 R4R5R6R7 R8R9R10R11 R12R13R14R15 GND GND VCC A1 A2 A3 A4 A1A2A3A4 B1 B2 B3 B4 B5 B6 B7 B8 B1B2B3B4 B5B6B7B8 C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8 C1 C2 C3 C4 C5 C6 C7 C8 23 附录三 软件程序清单附录三 软件程序清单 ORG0000H LJMPSTART 跳转到初始化程序 ORG0003H LJMPINT0 跳转到 INTO 中断入口地址 ORG0013H LJMPINT1 跳转到 INTO 中断入口地址 ORG0030H START MOVSP 6FH 设置堆栈指针 MOVIE 10000101B 初始化 MOVTMOD 10011001B MOVTCON 00000101B SETBTR0 启动定时 计数器 SETBTR1 MAIN MOVP1 0FFH 清显示 MOVP2 0FFH CLREX0 关中断 以运行中读数 CLREX1 MOVA 30H 将 T0 T1 暂存值相加 结果得双字节除数 ADDA 32H MOVR4 A MOVA 31H ADDCA 33H MOVR5 A SETBEX0 开中断 SETBEX1 MOVR0 00H 存除数 MOVR1 0A3H MOVR2 0E1H MOVR3 11H LCALLSH 42DIV 调用四字节 双字节子程序 MOV10H R0 存商 双字节 MOV11H R1 LCALLSBIN BCD 调用双字节转换成三字节 BCD 码子程序 MOVA 12H 取 BCD 码高字节 JZLOOP 判断高字节为 0 则跳转送显示 不为 0 则执行以下 ANLA 0FH 取第一位 高位 MOVDPTR DAT 表头首地址 MOVCA A DPTR 查表得七段码 MOVP1 A 送 P1 口显示 CLRP2 0 选通显示第一位 LCALLDELAY 调用延时子程序 SETBP2 0 关第一位显示 24 MOVA 13H 取第二位 SWAPA ANLA 0FH MOVCA A DPTR MOVP1 A CLRP2 1

温馨提示

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

评论

0/150

提交评论