毕业设计(论文)-基于单片机的频率计及电压表的设计_第1页
毕业设计(论文)-基于单片机的频率计及电压表的设计_第2页
毕业设计(论文)-基于单片机的频率计及电压表的设计_第3页
毕业设计(论文)-基于单片机的频率计及电压表的设计_第4页
毕业设计(论文)-基于单片机的频率计及电压表的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

目目 录录 摘要 3 文献综述 4 第 1 章 频率 电压测量原理 5 1 1 频率测量原理 5 1 1 1 测周法 5 1 1 2 直接测频法 5 1 2 电压测量原理 5 1 2 1 施密特触发器型压控振荡器 5 1 2 2 电容交叉充 放电型压控振荡器 5 1 2 3 定时器型压控振荡器 5 第 2 章 系统概述 5 2 1 方案选择 5 2 2 系统组成 5 2 3 基本工作过程 5 2 4 量程自动切换 5 第 3 章 系统硬件电路的设计 5 3 1 电压 频率转换电路 5 3 2 单片机选型 5 3 3 信号预处理电路 5 3 3 1 小信号放大电路 5 3 3 2 整形电路 5 3 3 3 分频电路 5 3 3 4 程控选通电路 5 3 3 5 同步门逻辑控制电路 5 3 4 数据显示电路 5 第 4 章 制作调试 5 第 5 章 系统软件设计 5 5 1 系统软件框图 5 5 2 浮点算术运算程序 5 第 6 章 误差分析 5 6 1 1 误差 5 6 2 时基误差 5 6 3 周期测量法的误差 5 6 4 多周期同步法的误差 5 6 5 进一步提高频率测量精度的方案 5 第 7 章 结束语 5 致 谢 5 参考文献 5 附录一 程序清单 5 附录二 系统电路总图 5 基于单片机的频率计及电压表的设计 摘要摘要 介绍了一种以单片机 AT89C51 为核心 结合外围信号放大 整型 分频电路和模拟 电子开关以及电压 频率转换电路 实现频率 电压测量的设计原理及其硬件结构和软件设 计 讨论了提高系统测量准确度的方法 具有价格低 结构简单 测量误差小 可作为测 量仪器使用 关键词关键词 频率计 电压表 单片机 量程自动切换 移位寄存器 The design of the cyclometer and voltmeter based on the microcontroller Abstract Introduced one kind take monolithic integrated circuit AT89C51 as a core unifies the periphery signal to enlarge the truing the frequency dividing circuit and the simulation electronic switching as well as the voltage frequency switching circuit the realization frequency voltage measurement principle of design and its hardware architecture and software design Discussed enhanced the system survey accuracy the method Has the price lowly the structure simple the measuring error is small may take the metering equipment use Keywords Frequency counting Voltage table Single chip microcomputer Auto switch of the full scale Shift register 文献综述文献综述 1 1 电子测量概述 电子测量概述 从广义上讲 凡是利用电子技术来进行的测量都可以说是电子测量 从狭 义上来说 电子测量是在电子学中测量有关电的量值 与其他一些测量相比 电子测量具有以下几个明显的特点 测量频率范 围极宽 这就使它的应用范围很广 量程很广 测量准确度高 测量速 度快 易于实现遥测和长期不间断的测量 显示方式又可以做到清晰 直 观 易于利用计算机 形成电子测量与计算技术的紧密结合 随着科学技术和生产的发展 测量任务越来越复杂 工作量加大 测量速 度测量准确度要求越来越高 这些都对测量仪器和测试系统提出了更高的要 求 微机的出现为解决上述问题提供了条件 利用微机的记忆 存储 数学运 算 逻辑判断和命令识别等能力 发展了微机化和自动测试系统 近年来微机 和大规模集成电路发展很快 价格大幅下降 同时在测试系统中还解决了通用 接口母线标准化问题 使微机化仪器和自动测试系统得到了很大发展 正改变 着电子测量的面貌 7 2 2 电压表发展概况 电压表发展概况 电压测量是电子测量的一个重要内容 随着电子技术的发展 对电压测量 提出了一系列的要求 主要可概括为 应有足够宽的电压测量范围 应有 足够高的测量准确度 应有足够高的输入阻抗 应具有高的抗干扰能力 电压测量仪器总的可分为两大类 即模拟式和数字式的 模拟式电压表是 指针式的 用磁电式电流表作为指示器 并在电流表表盘上以电压 或 db 刻 度 数字式电压表首先将模拟量通过模 数 A D 变换器变成数字量 然后用 电子计数器计数 并以十进制数字显示被测电压值 模拟式电压表由于电路简单 价廉 特别是在测量高频电压时 其测量准 确度不亚于数字电压表 故在目前 在电压测量中仍将占有重要地位 8 数字式电压表在近年来以成为极其精确 灵活多用的电子仪器 并且价格 正在逐渐下降 数字式电压表能很好地与其他数字仪器相交接 因此在电压测 量系统的发展中是非常重要的 讨论数字式电压表的主要内容可归结为电压测 量的数字化方法 模拟量的数字化测量 其关键是如何把随时间作连续变化的 模拟量变换成数字量 完成这种变换的电路叫模 数变换器 所以 数字式电压 表可以简单理解为模 数变换器 10 自从 50 年代初期数字电压表问世以来 已经发展了许多种实现 A D 变换的 不同方法 下表提供了一些具有代表性的 A D 变换器及由它组成的数字式电压 表的概况 A D 变换 非积分式 积 分 式 斜坡电压式 伺服控制式 比 较 式 逐次逼近式 零平衡式 线性斜坡式 阶梯斜坡式 电压反馈型 V F 变换式 电位差计积分式 双斜式 多斜式 3 3 频率计发展概况 频率计发展概况 在电子技术领域内 频率是一个最基本的参量 频率与其他许多电参量的 测量方案 测量结果都有十分密切的关系 随着电子技术的发展 对电信号的 测量精度要求越来越高 目前在电子测量中 频率测量的精度是最高的 因 此 频率测量在测控系统中的作用日益重要 由于数字电路的飞速发展和数字集成电路的普及 电子计数器的应用已十 分普及 利用电子计数器测量频率具有精确度高 使用方便 测量迅速 以及 便于实现测量过程自动化等一系列突出优点 故已发展成为近代频率测量的重 要手段 在教学 科研 仪器测量 工业控制等方面都有广泛的应用 电子计数器是一种基础测量仪器 到目前为止已有 30 多年的发展史 早 期 设计师们追求的目标主要是扩展测量范围 提高测量精度 稳定度等 这 些也是人们衡量电子计数器的技术水平 决定电子计数器价格高低的主要依 据 目前这些基本技术日臻完善 成熟 随着科学技术的发展 用户对频率计也提出了新的要求 对于低档产品要 求使用操作方便 量程 足够 宽 可靠性高 价格低 而对于中高档产品 则要求有高分辨率 高精度 高稳定度 高测量速率 除通常频率计所具有的 功能外 还要有数据处理功能 统计分析功能 时域分析功能等等 或者包含 电压测量等其他功能 这些要求有的已经实现或者部分实现 但要真正完美的 实现这些目标 对于生产厂家来说 还有许多工作要做 而不是表面看来似乎 发展到头了 目前市场上的频率计产品也不少 但基本上都是采用普通 TTL 门电路或可 编程逻辑器件 PLD 作为信号处理系统的控制核心 存在结构杂 稳定性差 耗 电多 体积大 成本高 精度差的弊端 随后大规模专用 IC 出现 如 ICM7216 ICM7226 频率计专用 IC 使得频率计开发设计相对简单 调试容易 但这些芯片本身的工作频率不高 如 ICM7240 为 15MHz 左右 从而限制了产品 的工作频率提高 而且测量精度也受到芯片本身的限制 由于这些专用芯片不 具有智能接口 如果希望将该芯片嵌入到用户应用系统中来完成某一频率信号 的智能化测量 显示和测量数据传输等功能时将是十分困难的 使用灵活性欠 佳 且目前价格较高 7 6 6 本设计的目的与意义 本设计的目的与意义 这里介绍一种频率计 电压表 由单片机控制 结合外围信号放大 整型 分频电路和模拟电子开关以及电压 频率转换电路 实现频率 电压的测量 对 输入信号的频率范围自动判断并选择相应的测量方法 从而实现量程的自动转 换 数字显示 系统的智能化程度高 所需外围元件较少 扩展性强 测试准 确度高 测量的频率范围为 1Hz 999999Hz DC 电压测量范围 0 5V 频率测 量精度可达到 10 6 DC 电压测量精度可达到 0 1 可广泛应用于电子实验室 电子企业及科研场所 7 7 参考文献 参考文献 1 周航慈 单片机应用程序设计技术 北京 北京航空航天大学出版社 1991 2 李华等 MCS 51 系列单片机实用接口技术 北京 北京航空航天大学出版社 1993 3 余永权 ATMEL89 系列单片机应用技术 北京 北京航空航天大学出版社 2002 4 张友德等 单片微型机原理应用与实验 上海 复旦大学出版社 1996 5 何立民 MCS 51 系列单片机应用系统设计 北京 北京航空航天大学出版社 1999 6 胡汉才 单片机原理及其接口技术 清华大学出版社 1997 7 蒋焕文 孙续 电子测量 第 2 版 北京 中国计量出版社 1994 8 张学庄 廖翊希 电子测量与仪器 长沙 湖南科学技术出版社 1993 9 陆坤等 电子设计技术 成都 电子科技大学出版社 1997 10 阎 石 数字电子技术基础 第 4 版 北京 高等教育出版社 2002 第第 1 1 章章 频率频率 电压测量原理电压测量原理 1 11 1 频率测量原理频率测量原理 脉冲信号的频率是指在单位时间内由信号所产生的脉冲个数 即 fx N t 可以看出测量 fx必须将 N 或 t 两个量之一作为闸门或基准 对另一个量进行测 量 电子计数器直接测频法严格按照频率的定义进行测频 对 fx的测量是由电 路提供标准闸门信号即 t Tz Tz通常为 1s 或它的十倍百倍等 然后对 Tz内的 被测信号变化的次数进行计数 得到 Nx 即可得到 fx Nx Tz 对于低频信号 利用电子计数器直接测频 由 1 误差所引起的测频误差将会大到不可允许的 程度 例如 fx 10Hz T 1s 则由 1 误差引起的测频误差可达 10 所以 为 了提高测量低频时的准确度 采用的是测周法 即 Tx l fx t N 由电路提供标 准时基信号 Ts 将被测信号的周期作为闸门 将测量转化为对标准时基信号进 行计数 Tx nxTs 在数字电路中 标准闸门信号或标准时基信号由专门的电路提 供 利用 51 系列单片机 采用上述测量原理 标准闸门信号或标准时基信号可 由单片机内的定时 计数器提供 只需采用简单的程序控制就可测得对应的经过 信号预处理的 fx或 Tx 1 根据单片机 AT89C51 定时器 计数器 T0方式 1 结构图 如图 1 1 可知 T0计 数脉冲控制电路中 有一个方式电子开关 当 C T 0 时 方式电子开关打在上 面 以振荡器的十二分频信号作为 T1的计数信号 此时作为定时器用 C T 1 时 方式电子开关打在下面 此时以 T0 P3 5 引脚上的输人脉冲作为 T0的计数 脉冲 此时可对外界脉冲进行计数 C T 的状态可由 T0的方式寄存器 TMOD 进行 设置 定时 计数器 T1与之相类似 2 图 1 1 AT89C51 定时 计数器基本组成 1 1 11 1 1 测周法测周法 适用于低频信号 采用单片机内的一个定时 计数器 以单片机内的标准机 器周期作为标准时基信号 Ts 见图 1 2a 被测信号的周期作为信号闸门 由程 序控制开关对时基进行计数得 nx 因此被测信号周期为 Tx nxTs 3 图 1 2 测量原理示意图 多周期同步法由测周法发展而来 进一步提高了测量精度 其特点是标准 频率信号不是用来填充待测信号的周期 而是与待测信号分别输入到两个计数 器进行同步计数 见图 1 3 首先 由单片机 或相应控制电路 给出闸门开启 信号 此时计数器并不开始计数 而是等到被测信号的上升沿到来时 才真正 开始计数 然后 两级计数器分别对被测信号和标准信号计数 当单片机给出 闸门关闭信号后 计数器并不立即停止计数而是等到被测信号上升沿到来的时 刻才真正结束计数 完成一次测量过程 见图 1 2b 可以看出 实际闸门与参 考闸门并不严格相等 但最大差值不超过被测信号的一个周期 设对被测信号 的计数值为 Nx 对时基信号的计数值为 N0 时基信号的频率为 f0 则被测信号 的频率为 fx Nx N0f0 4 图 1 3 多周期同步法测频原理图 1 1 21 1 2 直接测频法直接测频法 适用于高频信号 充分利用单片机内的两个定时 计数器 一个作为定时 器 给出标准闸门信号 Tx 另一个作为计数器 对 fx的变化次数直接进行计数 得 Nx fx Nx Tz 见图 1 4 5 在计数器工作方式下 加至外部引脚的待测信号发生从 0 到 1 的跳变时计 数器加 1 这样在定时闸门信号的控制下可以用来测量待测信号的频率 将 51 单片机内的两个定时 计数器分别定义为 T0为计数器 T1为定时器 均采用方 式 1 即方式控制字 TMOD 为 51H 外部输入在每个机器周期被采样一次 检测 一次从到的跳变需要个机器周期 所以最大计数频率为 0 5MHz 定时计数没有 溢出的最大计数值为 65535 见图 1 2c 6 图 1 4 直接测频法原理框图 1 21 2 电压测量原理电压测量原理 电压 频率 V F 转换器能把输入信号电压转换成相应的频率信号 即它的 输出信号频率与输入信号电压值成比例 故又称为电压控制 压控 振荡器 VCO 从工作原理上看 压控振荡器大致可以分为三种类型 施密特触发器 型 电容交叉充放电型和定时型 10 1 2 11 2 1 施密特触发器型压控振荡器施密特触发器型压控振荡器 若将反相器输出的施密特触发器的输出电压经 RC 积分电路反馈到输入端 就能构成多谐振荡器 如果改用一个由输入电压 VI控制的电流源对输入端的电 容反复充 放电 如图 1 5a 所示 则充 放电时间将随输入电压而改变 这样 就可以用输入电压控制振荡频率 图 1 5 施密特触发器型压控振荡器的原理性电路和电压波形 a 电路结构 b 电压波形 由图 1 5b 的电压波形可以看出 当充 放电电流 I0增大时 充电时间 T1 和放电时间 T2随之减小 故振荡周期缩短 震荡频率增加 如果电容充和放电 的电流相等 则电容两端的电压 VA将是对称的三角波 10 1 2 21 2 2 电容交叉充 放电型压控振荡器电容交叉充 放电型压控振荡器 图 1 6 是用 CMOS 电路构成的电容交叉充 放电型压控振荡器的原理图 G1 和 G2用作电容充 放电的转换控制开关 而 G1和 G2的输出状态由触发器的状 态来决定 图 1 6 电容交叉充 放电型压控振荡器的原理图 电路的工作过程如下 设接通电源后触发器处于 Q 0 的状态 则 Tp1和 TN2 导通而 TN1和 Tp2截止 电流 I0经 Tp1和 TN2自左向右地向电容 Cex1充电 随着充 电过程的进行 VA逐渐升高 当 VA升至 G3的阈值电压 VTH时 触发器状态翻转为 Q 1 于是 Tp1和 TN2截止而 TN1和 Tp2导通 电流 I0转而经 TN1和 Tp2自右向左地 向电容 Cex1充电 随着充电过程的进行 VB逐渐升高 当 VB升至 G4的阈值电压 VTH以后 触发器又翻转为 Q 0 的状态 Cex1重新自左向右地充电 如此周而复 始 在输出端 Vo就得到了矩形输出脉冲 10 1 2 31 2 3 定时器型压控振荡器定时器型压控振荡器 现以 LM331 为例介绍定时器型压控振荡器的基本原理 图 1 7 是 LM331 的 电路结构简化图 电路由两部分组成 一部分是用触发器 电压比较器 C1和 C2 和放电管 T3构成的定时电路 另一部分是用基准电压源 电压跟随器 A 和镜 像电流源构成的电流源及开关控制电路 图 1 7 LM331 的电路结构框图 下面具体分析一下它的工作过程 刚接通电源时 CL和 CT两个电容上没有电 压 若输入控制电压 VI为大于零的某个值 则比较器 C1的输出为 1 而比较器 C2的输出为 0 触发器被置成 Q 1 状态 Q 端的高电平使 T2导通 Vo 0 同时镜 像电流源输出端开关 S 接到引脚 1 一边 电流 I0向 CL开始充电 而端的低电Q 平使 T3截止 所以 CT也同时开始充电 当 CT上的电压 VcT上升到 2 3Vcc时 则触发器被置成 Q 0 T2截 止 Vo 1 同时开关 S 转接到地 CL开始向 RL放电 而变为高电平后使 T3导Q 通 CT通过 T3迅速放电至 VCT 0 并使比较器 C2的输出为 0 当 CL放电到 VCL VI时 比较器 C1输出为 1 重新将触发器置成 Q 1 于是 VO又跳变成低电 平 CL和 CT开始充电 重复上面的过程 如此反复 便在 VO端得到矩形输出脉 冲 10 第第 2 2 章章 系统概述系统概述 2 12 1 方案选择方案选择 电压 频率转换器把输入电压信号转换成相应的频率信号 因此 系统的核 心是对频率计的设计 综合考虑频率测量精度 范围和测量反应时间的要求 把测量工作分为两种方法 对于 100Hz 以下的信号采用周期测量法 对于 100Hz 以上的信号采用多周期同步法进行测量 这样能保证较高的测量精度 2 22 2 系统组成系统组成 系统由单片机 AT89C51 电压 频率转换器信号 预处理电路 串行通信电 路 测量数据显示电路和系统软件所组成 其中信号预处理电路包含待测信号 放大 波形变换 波形整形和分频电路 系统硬件框图如图 2 1 所示 信号预 处理电路中的放大器实现对待测信号的放大 降低对待测信号的幅度要求 波 形变换和波形整形电路实现把正弦波样的正负交替的信号波形变换成可被单片 机接受的 TTL CMOS 兼容信号 分频电路用于扩展单片机的频率测量范围 图 2 1 系统硬件框图 系统软件包括测量初始化模块 显示模块 信号多周期同步法测量模块 量程自动转换模块 信号周期测量模块 定时器中断服务模块 浮点数格式化 模块 浮点数算术运算模块 浮点数到 BCD 码转换模块 系统软件框图如图 2 2 所示 图 2 2 系统软件框图 2 32 3 基本工作基本工作过程过程 本设计以 AT89C51 单片机为核心 利用它内部的定时 计数器完成待测信号 频率 周期的测量 单片机 AT89C51 内部具有 2 个 16 位定时 计数器 定时针数 器的工作可以由编程来实现定时 计数和产生计数溢出中断要求的功能 在构 成为定时器时 每个机器周期加 1 使用 12MHz 时钟时 每 l s 加 1 这样以 机器周期为基准可以用来测量时间间隔 在构成为计数器时 在相应的外引脚 发生从 1 到 0 的跳变时计数器加 1 这样在计数闸门的控制下可以用来测量待 测信号的频率 外部输人每个机器周期被采样一次 这样检测一次从 1 到 0 的 跳变至少需要 2 个机器周期 24 个振荡周期 所以最大计数速率为时钟频率的 1 24 使用 12MHz 时钟时 最大计数速率为 500KHz 定时 计数器的工作由相 应的运行控制位 TR 控制 当 TR 置 1 定时 计数器开始计数 当 TR 清 0 停止 计数 测周法 对于低频信号的测量 采用测周法 将单片机内定时 计数器 T0 定为 16 位定时器 对内部机器周期计数 即方式控制字为 01H 定时器的开关 由程序根据 P3 2口上的状态进行控制 检测到上升沿时开 T0计数 当紧接着的 另一个上升沿被检测到时关 T0计数 T0中的计数值为 nx 则被测信号周 Tx nxTs 在使用定时方法实现频率测量时 这时外部的待测信号通过频率计的预处 理电路变成宽度等于待测信号周期的方波 该方波同样加至定时 计数器的输入 脚 这时频率计的工作过程为 首先定时数器的计数寄存器清 0 然后检测方 波高电平是否加至定时 计数器的输入脚 当判定高电平加至定时 计数器的输 入脚 运行控制位 TR 置 1 启动定时 计数器对单片机的机器周期的计数 同 时检测方波高电平是否结束 当判定高电平结束时 TR 清 0 停止计数 然后从 计数寄存器读出测量数据 在完成数据处理后 由显示电路显示测量结果 图 2 3 计数原理 多周期同步法 T0为 l6 位计数器 T1为 l6 位定时器 对内部机器周期计 数 T0 T1分别受 INT0及 INT1 即 D 触发器的 Q 端 控制 即方式控制字为 09DH 待测信号分别输入至 T0及 D 触发器的 CLK 端 开始测量时 将单片机 P1 0口 即 D 触发器的 D 端 置 1 即参考闸门信号 一般来说 P1 0口状态 改变时 正处于某一周期的高电平或低电平处 触发器 Q 端的状态并不会立即 改变 即实际闸门信号 而是在下个脉冲的上升沿到来时变为高电平 T0与 T1 才开始启动 实现了二者的同步 在定时时刻到来后 将 P1 0清零 但触发器 的 Q 端仍将维持高电平状态 直至下一个的脉冲上升沿到达 在使用多周期同步法实现频率测量时 这时外部的待测信号为计数器 T0的 计数源 T1为 l6 位定时器 对内部机器周期计数 待测信号分别输入至 T0及 D 触发器的 CLK 端 频率计的工作过程为 首先定时 计数器的计数寄存器清 0 将单片机 P1 0口 即 D 触发器的 D 端 置 1 运行控制位 TR 置 1 启动定 时 计数器 然后运行软件延时程序 同时计数器 T0对外部的待测信号进行计 数 定时器 T1对内部机器周期计数 延时结束时 TR 清 0 停止计数 最后从计 数寄存器读出测量数据 在完成数据处理后 由显示电路显示测量结果 2 42 4 量程自动切换量程自动切换 量程自动切换过程由频率计量程的高端开始 如在 100KHz 999 999KHz 频 率范围 频率计每个工作循环开始时使用多周期同步法实现频率测量 并自动 选通 10 分频 完成测量后判断测量结果是否大于 10KHz 如果成立 将结果 10 后送去显示 本轮工作循环结束 否则将直接选通 继续进行测量判断 这时对应的频率测量范围为 100Hz 99 9999KHz 如果测量结果小于 100Hz 频 率计则使用测周法实现频率测量 首先频率计自动选通 10 分频 这时对应的频 率测量范围为 10Hz 99 9999Hz 完成测量后判断测量结果是否大于 1Hz 如果 成立 将结果 10 后送去显示 本轮工作循环结束 否则将直接选通 继续进 行测量判断 这时对应的频率测量范围为 1Hz 9 99999Hz 测量结果通过浮点 数运算模块将信号周期转换成对应的频率值 再将结果送去显示 这样无论采 用何种方式 只要完成一次测量即可 频率计自动开始下一个测量循环 因此 该频率计具有连续测量的功能 同时实现量程的自动转换 第第 3 3 章章 系统硬件电路的设计系统硬件电路的设计 3 13 1 电压电压 频率转换电路频率转换电路 555 定时器是一种多用途的数字 模拟混合集成电路 只要将 555 定时器 的 11和 12连在一起就能很方便地接成施密特触发器 然后在施密特触发器 的基础上再将 0经 RC 积分电路接回输入端就构成了多谐振荡器 见图 3 1 为了减轻门 G4的负载 在电容 C 的容量较大时不宜直接由 G4提供电容的 充 放电电流 为此 将 TD与 R1接成了一反相器 它的输出 Vo 与 Vo在高 低 电平状态上完全相同 将 Vo 经 R2和 C 组成的积分电路接到施密特触发器的输 入端同样也能构成多谐振荡器 10 如图 3 2 所示 本电路由 555 和 R1 RP1 C1组成的多谐振荡器及衰减电路 等组成 作为电压 频率转换器 电位器 RP1 决定当输入电压为 0V 时 使频率 计的读数为 0HZ RP2用于在输入电压为 5V 时 使频率计的读数调节到 50Hz 即满量程的调整 该电路可实现由频率计替代测量电压 可测量 0 5V 的直流 电压 通过增加衰减电路可进一步扩大测量范围 图 3 1 555 电路结构 图 3 2 电压 频率转换电路 3 23 2 单片机选型单片机选型 测量电路选用 AT89C51 作为频率计的信号处理核心 AT89 系列单片机是美 国 ATMEL 公司近年来推出的一种新型高性能低价位 低电压 低功耗的 8 位 CMOS 微型计算机 它的显著优点是 内含 FLASH 存储器 这在系统的开发过 程中 可随意进行程序修改 既便错误编程之后仍可以重新编程 故不存在废 品且大大缩短了程序的开发周期 同时在系统工作过程中能有效地保存数据信 息 采用静态时钟方式 节省电能 这对于降低便携式产品的功耗十分有 利 由于它是以 8031 核构成的 所以它与 MSC 51 系列单片机相兼容 这对 于熟悉 MSC 51 系列的广大用户来说 用 AT89 系列单片机取代 51 系列进行系统 设计是轻而易举的 1 图 3 3 AT89C51 单片机引脚图 AT89C51 包含 2 个 16 位定时钟数器 1 个具有同步移位寄存器方式的串行 输入出口和 4K 8 位片内 FLASH 程序存储器 16 位定时 计数器用于实现待测 信号的频率测量或者待测信号的周期测量 同步移位寄存器方式的串行输入出 口用于把测量结果送到显示电路 4K 8 位片内 FLASH 程序存储器用于放置系 统软件 89C51 与具有更大程序存储器的芯片管脚兼容 如 89C52 8K 8 位 或 89C55 32K 8 位 为系统软件升级打下坚实的物质基础 见图 3 3 2 3 33 3 信号预处理电路信号预处理电路 单片机是数字信号处理工具 输入单片机的信号必需是离散的数字信号或 者是脉冲信号 因此检测来的正弦信号必需经过预处理变为单片机能接受的 且是采集简便 计算工作量较少的信号 首先将信号通过滤波器滤去高频干扰 和低频漂移信号 同时也进行线性放大 使之变为一波形正规 幅值适当的正 弦信号 然后经过零比较器变为方波信号进入单片机 3 3 13 3 1 小信号放大电路小信号放大电路 此电路采用高速 宽频带运放 OP37 并采用反馈电路 不仅使放大倍数为 10 倍 并拓宽了频带 使测量频率范围更宽 OP37 最高工作频率可达 63MHz 见图 3 4 3 3 23 3 2 整形电路整形电路 比较放大电路也采用 OP37 将输入的非方波信号 如正弦波 三角波等 转换 为方波加以限幅 削波 再利用 7414 整形使其转换成 TTL 电平的信号 74LS 系列数字逻辑电路最高工作频率可达 45MHz 见图 3 5 图 3 4 小信号放大电路 图 3 5 整形电路 3 3 33 3 3 分频电路分频电路 分频电路采用十进制同步计数器 74160 第二级输出的方波加到 74160 的 CLK 当从 74160 的 TC 输出可实现 10 分频 多个 74160 的级连可以进一步扩展 测频范围 74LS 系列数字逻辑电路最高工作频率可达 45MHz 见图 3 6 图 3 6 分频电路 3 3 43 3 4 程控选通电路程控选通电路 程控选通电路采用 CMOS 器件中的四输入模拟开关 CD4052 实现自动转换量 程 模拟开关的选通线由单片机的 P1 7 P1 6脚控制 当 P1 7 P1 6全为 1 时 系 统自动选通直通电路测量 当 P1 7 P1 6为 10 时 系统选通 10 分频电路测量 因而大大简化了硬件电路 避免了手动的不便 见图 3 7 图 3 7 程控选通电路 3 3 53 3 5 同步门逻辑控制电路同步门逻辑控制电路 同步门逻辑控制电路由 D 触发器构成 由它来产生同步门信号 Ts 在测量 开始后 利用单片机的 P1 0作为预置门信号 Tg的输出线 当 P1 0 1 时 在被测 信号的上升沿作用下 D 触发器的输出 Q 1 使得单片机的 INT0 INT1同时为 1 启动单片机内部的定时 计数器开始工作 其中 T0对被测信号 fx进行计 数 T1对内部频标 f0进行计数 当预置门时间到达后 预置门关闭使得 P1 0 0 但 D 触发器的输出 Q 仍然为 1 因此两个计数器并不停止计数 直到随 后而至的待测信号的上升沿到来时 才使得 D 触发器的输出 Q 0 同步门关 闭 两个计数器才同时停止计数 见图 3 8 图 3 8 同步门逻辑控制电 3 43 4 数据显示电路数据显示电路 显示电路采用静态显示方式 频率测量结果经过译码 通过 89C51 的串行 口送出 串行口工作于模式 O 即同步移位寄存器方式 波特率为振荡频率的 十二分之一 器件执行任何一条将 SBUF 作为目的寄存器的命令时 数据便开始 从 RXD 端发送 在写信号有效时 相隔一个机器周期后发送控制端 SEND 有效 即允许 RXD 发送数据 同时 允许从 TXD 端输出移位脉冲 第一帧 8 位 数据 发送完毕时 各控制信号均恢复原状态 只有 TI 保持高电平 呈中断申请状 态 第一个 74LS164 把第一帧数据并行输出 LED1 显示该数据 然后 用软件 将 TI 清零 发送第二帧数据 第二帧数据发送完毕 LED1 显示第二帧数据 第一帧数据串行输入给第二个 74LS164 LED2 显示第一帧数据 依此类推 直 到把数据区内所有数据发送出去 应该注意 数据全部发送完后 第一帧数据 在最后一个 LED 显示 使用这种方法主程序可不必扫描显示器 从而单片机可 以进行下一次测量 这种方法也便于对显示位数进行扩展 见图 3 9 图 3 9 数据显示电路 转换模块采用的是 74LS164 芯片 即 8 位串行并行转换 能够节省 51 系列 单片机 I 0 资源 74LS 系列数字逻辑电路最高工作频率可达 45MHz 逻辑功能 如表 1 单片机串口输出数据从 A B 输入 CLR 信号用于清除输出数据 通常用 在移位完成时 内部数据移位依靠时钟 CLK 信号上升沿控制 见图 3 10 10 表 1 74LS164 逻辑功能表 输 入 输 出 CLR CLK A B Qa Qb Qh L X X X L L L H L X X Qa0 Qb0 Qh0 H 上升沿 H H H Qa0 Qg0 H 上升沿 L X L Qa0 Qg0 H 上升沿 X L L Qa0 Qg0 图 3 10 74LS164 引脚定义 第第 4 4 章章 制作调试制作调试 经过了方案设计 论证后 即开始了实物制作 调试过程 本着分层次 分模块逐级将连的原则 我尽可能仔细的焊接好每一个芯片 焊好一个模块测 试一个模块 确保没有虚焊 芯片间的连线尽可能的最短并相互平行 避免交 叉线 保证电路板的整洁 美观 完成电路板的焊接后 就开始加电测试 在测试工程中 发现原来设计的 信号预处理电路模块对输入信号的放大 整形过程有缺陷 原设计采用开关三 极管和带施密特触发的反相器完成对输入信号的放大 整形 应忽视了三极管 的门限电压 结果输出的 TTL 方波信号周期随输入的正弦波信号的幅度发生改 变 而且系统的输入阻抗低 灵敏度差 不得不更改设计 采用过零比较器来 完成输入信号的放大 整型 经实测重新设计的信号预处理电路模块具有信号 整形效果好 灵敏度高 满足系统的要求 在对电压 频率转换模块电路进行测试时发现 555 电路没有正常起振 两个 调节滑动变阻器失效 经仔细检查发现 滑动变阻器连接错误 被短接起来 拉 由此造成 555 电路工作不正常 只能才出拆除重新连接 为了测试显示电路是否工作正常 我编写了一小段显示 123456 的测试程 序 结果发现显示不正常 除 4 能正常显示以外其他都为一些乱码 经仔细检 查 原来移位寄存器 74LS164 与 LED 连接时高低位被接反 重新连线过于复 杂 只好更改程序 重新定义 LED 的段选码 基本解决了这个问题 第第 5 5 章章 系统软件设计系统软件设计 5 15 1 系统软件框图系统软件框图 系统软件设计采用模块化设计方法 整个系统由初始化模块 显示模块和 信号频率测量模块等各种功能模块组成 见图 5 1 上电后 进入系统初始化 模块 系统软件开始运行 在执行过程中 根据运行流程分别调用各个功能模 块完成多周期同步法测量 量程自动切换 周期测量和测量结果显示 图 5 1 系统软件框图 图 5 2 系统监控程序流程图 图 5 3 方式 0 发送时序图 图 5 4 T0溢出中断程序 图 5 5 T1溢出中断程序 5 25 2 浮点算术运算程序浮点算术运算程序 51 系列单片机属于微控制器 由于其 CPU 字长和指令功能的限制 它适用 于控制领域 在信号处理方面不很擅长 在本频率计中需要完成周期到频率的 换算 为保证测量结果的准确 这里应用了浮点数数学运算 浮点数用 3 个字 节组成 第一字节最高位为数符 其余 7 位为阶码 第二字节为尾数的高字 节 第三字节为尾数的低字节 待测信号周期的 3 个字节定点数首先通过截取 高 16 位 设置数符和计算阶码转换为上述格式的浮点数 然后浮点数算术运算 对其进行处理 获得用浮点数格式表达的信号频率值 浮点数到 BCD 码转换模 块把用浮点数格式表达的信号频率值变换成本频率计的显示格式 送到显示模 块显示待测信号的频率值 图 5 6 运算程序框图 第第 6 6 章章 误差分析误差分析 6 16 1 1 1 误差误差 在测频时 主门的开启时刻与计数脉冲之间的时间关系是不相关的 所以 他们在时间轴上的相对位置是随机的 这样 在相同的主门开启时间内 计数 器所计得的数却不一定相同 当主门开启时间 T 接近甚至等于被测信号周期 Tx 的整数 N 倍时 此项误差最大 若主门开启时刻为t0 而第 1 个记数脉冲出现在 tx 当 Tx t 0 时 这 时计数器计得 N 个数 而当 t 0 时 这就有两种可能的计数结果 若第一个 计数脉冲和第 N 个计数脉冲都能通过主门 则可计得 N 1 个数 也可能这两个 脉冲都没有能进入主门 则只能计得 N 1 个数 由此可知 最大的计数误差为 N 1 个数 可写成 N N 1 N 1 Tfx 从式中可知 不管计数值 N 为多少 其最大误差总是 1 个计数单位 故 称 1 个字误差 简称 1 误差 6 6 26 2 时基误差时基误差 时基信号一般由计数器内的振荡器产生 由于振荡器输出频率本身存在稳 定性和准确性方面的问题 比如 12M 晶体振荡器的输出频率相对于额定值 12MHz 略有误差 由它而得到的闸门时间也必有误差 从而使在这段闸门时间 内的计数数产生误差 7 6 36 3 周期测量法的误差周期测量法的误差 当待测信号频率小于 100Hz 时 直接测量的是信号的周期 周期测量的误 差表达式为 dT T dN N d 0 0 这里 dN N 为量化误差 d 0 0为晶振的频率稳定度 在进行周期测量时 进入单片机的信号频率小于 10Hz 使用 12MHz 时钟这时的最小计数值为 100000 待测信号的周期测量值通过浮点数数学运算变换成频率值 这时的误 差来源于浮点数数学运算和数制之间的转换所带来的误差 6 6 46 4 多周期同步法的误差多周期同步法的误差 当待测信号频率大于 100Hz 时 采用多周期同步法进行测量 多周期同步 法的误差表达式为 fx Nx f0 N0 2 由此可推得 fx f0 N0 Nx 3 设所测频率的准确值为 fx0 在一次测量中 由于 fx计数的起停时间是由 该信号的上升沿控制的 因此 在 Tg时间内对 fx的计数 Nx无误差 在此时间 内 f0的计数 N0最多相差一个脉冲 即 N0 l 则下式成立 fx Nx f0 N0 fx0 Nx f0 N0 N0 4 由此可分别推得 fx f0 N0 Nx fx0 f0 N0 N0 Nx 5 根据相对误差公式有 fx0 fx0 fx0 fx fx0 6 将式 3 和式 5 代人式 6 整理后可得 fx0 fx0 N0 N0 7 因为 N0 1 所以 N0 N0 1 N0 8 即相对误差 f fx0 fx0 1 N0 9 其中 N0 Ts f0 10 由上式可以得出结论 1 相对误差 f 与被测信号频率无关 2 增大 Tg或提高 f0 可以增大 N0 从而减小测量误差 提高测量精度 3 测量精度 与预置门宽度和标准频率有关 与被测信号频率无关 4 标准频率误差为 f0 f0 由于石英晶体的频率稳定度很高 标准频率误差很小 在系统时钟频率 f 12MHz 时 fo f 12 lMHz 由式 1O 可计算出不同 Ts时 的相对误差如表 2 所示 6 表 2 相对误差 6 56 5 进一步提高频率测量精度的方案进一步提高频率测量精度的方案 在时频测量方法中 多周期同步法是精度较高的一种 但仍然未解决 1 个字的误差 主要是因为实际闸门边沿与标频填充脉冲边沿并不同步 如图 6 1 所示 同步门时间 Ts s 相对误差 f 0 01 10 4 0 1 10 5 1 10 6 10 10 7 图 6 1 原理波形图 从图 6 1 可以得出 T NoT t2 t1 如果能准确测量出短时间间隔 t1 和 t2 也就能够准确测量出时间间隔 Tx 消除 1 个字的计数误差 从而进一 步提高精度 为了测量短时间间隔 t1和 t2 通常使用模拟内插法或游标法 与多周期同步法结合使用 虽然精度有很大提高 但终未能解决 1 个字的误 差这个根本问题 而且这些方法设备复杂 不利于推广 要得到精度高 时间 响应快 结构简单的频率和时间测量方法是比较困难的 从结构尽量简单同时 兼顾精度的角度出发 将多周期同步法与基于量化时延的短时间间隔测量方法 结合 实现了宽频范围内的等精度高分辨率测量 量化时延法测短时间间隔 光电信号可以在一定的介质中快速稳定的传播 且在不同的介质中有不同的延时 通过将信号所产生的延时进行量化 实现了 对短时间间隔的测量 其基本原理是 串行延迟并行计数 而不同干传统计 数器的串行计数方法 即让信号通过一系列的延时单元 依靠延时单元的延时 稳定性 在计算机的控制下对延时状态进行高速采集与数据处理 从而实现了 对短时间间隔的精确测量 其原理如图 6 2 所示 图 6 2 量化时延原理 量化时延思想的实现依赖于延时单元的延时稳定性 其分辨率取决于单位 延时单元的延迟时间 作为延时单元的器件可以是无源导线 有源门器件或其 它电路 其中 导线的延迟时间较短 接近光速传播的延迟 门电路的延迟时 间相对较长 考虑到延迟可预测能力 最终选择了 CPLD 器件 实现对短时间间 隔的测量 将短时间间隔的开始信号送入延时链中传播 当结束信号到来时 将此信号在延时链中的延时状态进行锁存 通过 CPU 读取 判断信号经过的延 时单元个数就可以得到短时时间间隔的大小 分辨率决定干单位延时单元的延 时时间 一般来讲 为了测量两个短时间间隔 使用两组延时和锁存模块 但 实际上 给定的软件闸门时间足够大 允许 CPU 完成取数的操作 即能够在待 测时间间隔结束之前取走短时间隔 t1对应的延时单元的个数 通过一定的控 制信号 可以只用一组延时和锁存单元 这样可以节省 CPLD 内部的资源 利用 多周期同步与量化时廷相结合的方法 计算公式为 T n0t0 nlt1 n2t1 7 式 7 中 n0为对填充脉冲的计数值 t0为填充脉冲的周期 即100ns nl为 短时间隔 t1对应的延时单元的个数 n2为短时间隔 t2对应的延时单元的个 数 t1为量化延迟器件延时单元的延迟量 4 3ns 这样 利用多周期同步法 实现了闸门和被测信号同步 利用量化时延法 测量了原来测不出来的两个短 时间间隔 从而准确地测量了实际闸门的大小 也就提高了测频的精度 9 第第 7 7 章章 结束语结束语 本文给出的硬件和软件均经过实践检验 使用该测量仪所测结果 易作它 用 且精度较高 该测量仪价格低 硬件部分结构简单且稳定 产品设计具有 一定的创新与适用性 不失为一种经济型的频率 电压测试仪 具有较大的实用 价值 在本文方案的基础上略加改进 即可增加脉宽 占空比 相位 转数等的 测量功能 还可添加上智能语音报数功能模块 使之更加直观和

温馨提示

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

评论

0/150

提交评论