




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 简易频率计的设计简易频率计的设计 中中 文文 摘摘 要要 频率测量是电子学测量中最为基本的测量之一 频率计主要是由信号输入和放大电路 单片机模块 分频模块及显示电路模块组成 AT89S52 单片机是频率计的控制核心 来完成 它待测信号的计数 译码 显示以及对分频比的控制 利用它内部的定时 计数器完成待测 信号频率的测量 在整个设计过程中 所制作的频率计采用外部分频 实现 10Hz 2MHz 的频率测量 而且 可以实现量程自动切换流程 以 AT89S52 单片机为核心 通过单片机内部定时 计数器的门 控时间 方便对频率计的测量 其待测频率值使用四位共阳极数码管显示 并可以自动切换 量程 单位分别由红 黄 绿 3 个 LED 指示 本次采用单片机技术设计一种数字显示的频率 计 具有测量准确度高 响应速度快 体积小等优点 关键词 频率计 单片机 计数器 量程自动切换关键词 频率计 单片机 计数器 量程自动切换 1 目录 第一章 前言 1 1 1 频率计概述 1 1 2 频率计发展与应用 1 1 3 频率计设计内容 1 第二章 系统总体方案设计 2 2 1 测频的原理 2 2 2 总体思路 3 2 3 具体模块 3 第三章 硬件电路具体设计 5 3 1 AT89S52 主控制器模块 5 3 1 1 AT89S52 的介绍 5 3 1 2 复位电路及时钟电路 6 3 1 3 引脚功能 7 3 1 4 单片机引脚分配 8 3 2 电源模块 9 3 2 1 直流稳压电源的基本原理 9 3 2 2 电源电路设计 10 3 3 放大整形模块 11 3 4 分频设计模块 11 3 4 1 分频电路分析 11 3 4 2 74LS161 芯片介绍 12 3 4 3 74LS151 芯片介绍 13 3 4 4 分频电路 14 3 5 显示模块 14 3 5 1 数码管介绍 15 3 5 2 频率值显示电路 15 3 5 3 档位转换指示电路 16 第四章 系统的软件设计 17 4 1 软件模块设计 17 4 2 中断服务子程序 18 4 3 显示子程序 19 4 4 量程档自动转换子程序 20 4 5 应用软件简介 20 4 5 1 Keil 简介 21 4 5 2 protues 简介 22 第五章 频率计的系统调试 23 5 1 硬件调试 23 5 1 1 电源模块调试 23 5 1 2 整形模块调试 24 2 5 1 3 分频模块调试 25 5 2 软件调试 25 5 2 1 Pouteus 软件调试 25 5 2 2 功能调试 26 5 3 系统调试 27 5 3 1 系统软件调试 27 5 3 2 系统软硬件调试 27 5 4 误差分析 28 第六章 总结 23 参考文献 24 致 谢 25 附录 1 0 第一章第一章 前言前言 频率测量是电子学测量中最为基本的测量之一 由于频率信号抗干扰性强 易于传输 因此可以获得较高的测量精度 随着数字电子技术的发展 频率测量成为一项越来越普遍的 工作 测频原理和测频方法的研究正受到越来越多的关注 1 11 1 频率计概述频率计概述 数字频率计是计算机 通讯设备 音频视频等科研生产领域不可缺少的测量仪器 它是 一种用十进制数字显示被测信号频率的数字测量仪器 它的基本功能是测量正弦信号 方波 信号及其他各种单位时间内变化的物理量 在进行模拟 数字电路的设计 安装 调试过程 中 由于其使用十进制数显示 测量迅速 精确度高 显示直观 经常要用到频率计 传统 的频率计采用测频法测量频率 通常由组合电路和时序电路等大量的硬件电路组成 产品不 但体积大 运行速度慢而且测量低频信号不准确 本次采用单片机技术设计一种数字显示的 频率计 测量准确度高 响应速度快 体积小等优点 1 1 21 2 频率计发展与应用频率计发展与应用 在我国 单片机已不是一个陌生的名词 它的出现是近代计算机技术的里程碑事件 单 片机作为最为典型的嵌入式系统 它的成功应用推动了嵌入式系统的发展 单片机已成为电 子系统的中最普遍的应用 单片机作为微型计算机的一个重要分支 其应用范围很广 发展 也很快 它已成为在现代电子技术 计算机应用 网络 通信 自动控制与计量测试 数据 采集与信号处理等技术中日益普及的一项新兴技术 应用范围十分广泛 其中以 AT89S52 为 内核的单片机系列目前在世界上生产量最大 派生产品最多 基本可以满足大多数用户的需 要 2 1 31 3 频率计设计内容频率计设计内容 利用电源 单片机 分频电路及数码管显示等模块 设计一个简易的频率计能够粗略的 测量出被测信号的频率 参数要求如下 1 测量范围 10HZ 2MHZ 2 用四位数码管显示测量值 3 能根据输入信号自动切换量程 4 可以测量方波 三角波及正弦波等多种波形 1 第二章第二章 系统总体方案设计系统总体方案设计 2 12 1 测频的原理测频的原理 测频的原理归结成一句话 就是 在单位时间内对被测信号进行计数 被测信号 通 过输入通道的放大器放大后 进入整形器加以整形变为矩形波 并送入主门的输入端 3 由 晶体振荡器产生的基频 按十进制分频得出的分频脉冲 经过基选通门去触发主控电路 再 通过主控电路以适当的编码逻辑便得到相应的控制指令 用以控制主门电路选通被测信号所 产生的矩形波 至十进制计数电路进行直接计数和显示 若在一定的时间间隔 T 内累计周期 性的重复变化次数 N 则频率的表达式为式 1 N fx T 图 1 说明了测频的原理及误差产生的原因 时基信号 待测信号 丢失 少计一个脉冲 计到 N 个脉冲 多余 比实际多出了 0 x 个脉冲 图 1 测频原理 在图 1 中 假设时基信号为 1KHZ 则用此法测得的待测信号为 1KHZ 5 5KHZ 但从图 中可以看出 待测信号应该在 5 5KHZ 左右 误差约有 0 5 5 5 9 1 这个误差是比较大 的 实际上 测量的脉冲个数的误差会在 1 之间 假设所测得的脉冲个数为 N 则所测频 率的误差最大为 1 N 1 100 显然 减小误差的方法 就是增大 N 本频率计要求 测频误差在 1 以下 则 N 应大于 1000 通过计算 对 1KHZ 以下的信号用测频法 反应的 时间长于或等于 10S 由此可以得出一个初步结论 测频法适合于测高频信号 频率计数器严格地按照公式进行测频 4 由于数字测量的离散性 被测频率在计 N f T 数器中所记进的脉冲数可有正一个或负一个脉冲的量化误差 在不计其他误差影响的情1 况下 测量精度将为 1 fA N 2 应当指出 测量频率时所产生的误差是由 N 和 T 俩个参数所决定的 一方面是单位时 间内计数脉冲个数越多时 精度越高 另一方面 T 越稳定时 精度越高 为了增加单位时间 内计数脉冲的个数 一方面可在输入端将被测信号倍频 另一方面可增加 T 来满足 为了增 加 T 的稳定度 只需提高晶体振荡器的稳定度和分频电路的可靠性就能达到 上述表明 在频率测量时 被测信号频率越高 测量精度越高 2 22 2 总体思路总体思路 频率计是我们经常会用到的实验仪器之一 频率的测量实际上就是在单位时间内对信号 进行计数 计数值就是信号频率 本文介绍了一种基于单片机 AT89S52 制作的频率计的设计 方法 所制作的频率计测量比较高的频率采用外部十分频 测量较低频率值时采用单片机直 接计数 不进行外部分频 该频率计实现 10HZ 2MHZ 的频率测量 而且可以实现量程自动切 换功能 四位共阳极动态显示测量结果 可以测量正弦波 三角波及方波等各种波形的频率 值 2 32 3 具体模块具体模块 根据上述系统分析 频率计系统设计共包括五大模块 单片机控制模块 电源模块 放 大整形模块 分频模块及显示模块 各模块作用如下 1 单片机控制模块 以 AT89S52 单片机为控制核心 来完成它待测信号的计数 译码 和显示以及对分频比的控制 利用其内部的定时 计数器完成待测信号周期 频率的测量 单片机 AT89S52 内部具有 2 个 16 位定时 计数器 定时 计数器的工作可以由编程来实现 定时 计数和产生计数溢出时中断要求的功能 因为 AT89C51 所需外围元件少 扩展性强 测试准确度高 2 电源模块 为整个系统提供合适又稳定的电源 主要为单片机 信号调理电路以及 分频电路提供电源 电压要求稳定 噪声小及性价高的电源 3 放大整形模块 放大电路是对待测信号的放大 降低对待测信号幅度的要求 整形 电路是对一些不是方波的待测信号转化成方波信号 便于测量 4 分频模块 考虑单片机外部计数 使用 12 MHz 时钟时 最大计数速率为 500 kHz 因此需要外部分频 分频电路用于扩展单片机频率测量范围 并实现单片机频率测量使用统 一信号 可使单片机测频更易于实现 而且也降低了系统的测频误差 可用 74161 进行外部 十分频 5 显示模块 显示电路采用四位共阳极数码管动态显示 为了加大数码管的亮度 使 3 用 4 个 PNP 三极管进行驱动 便于观测 综合以上频率计系统设计有单片机控制模块 电源模块 放大整形模块 分频模块及显 示模块等组成 频率计的总体设计框图如图 2 所示 微控制器 AT89S52 信号放大 整形 分频电路 驱动电路数码管显示 5V电源 图 2 频率计总体设计框图 4 第三章第三章 硬件电路具体设计硬件电路具体设计 根据系统设计的要求 频率计实际需要设计的硬件系统主要包括以下几个部分 AT89S52 单片机最小系统模块 电源模块 放大整形模块 分频模块及显示模块 下面将分 别给予介绍 3 13 1 AT89S52AT89S52 主控制器模块主控制器模块 3 1 1 AT89S52 的介绍 8 位单片机是 MSC 51 系列产品升级版 5 有世界著名半导体公司 ATMEL 在购买 MSC 51 设计结构后 利用自身优势技术 掉电不丢数据 闪存生产技术对旧技术进行改进和扩 展 同时使用新的半导体生产工艺 最终得到成型产品 与此同时 世界上其他的著名公司 也通过基本的 51 内核 结合公司自身技术进行改进生产 推广一批如 51F020 等高性能单片 机 AT89S52 片内集成 256 字节程序运行空间 8K 字节 Flash 存储空间 支持最大 64K 外 部存储扩展 根据不同的运行速度和功耗的要求 时钟频率可以设置在 0 33M 之间 片内 资源有 4 组 I O 控制端口 3 个定时器 8 个中断 软件设置低能耗模式 看门狗和断电保 护 可以在 4V 到 5 5V 宽电压范围内正常工作 不断发展的半导体工艺也让该单片机的功 耗不断降低 同时 该单片机支持计算机并口下载 简单的数字芯片就可以制成下载线 仅 仅几块钱的价格让该型号单片机畅销 10 年不衰 根据不同场合的要求 这款单片机提供了 多种封装 本次设计根据最小系统有时需要更换单片机的具体情况 使用双列直插 DIP 40 的封装 3 1 2 复位电路及时钟电路 复位电路和时钟电路是维持单片机最小系统运行的基本模块 复位电路通常分为两种 上电复位 图 4 和手动复位 图 5 RST 单单单 C1 R1 GND VCC RST 单单单 C2 R2 GND VCC R3 S SW PB 图 4 上电复位 图 5 手动复位 5 有时系统在运行过程中出现程序跑飞的情况 在程序开发过程中 经常需要手动复位 所以本次设计选用手动复位 高频率的时钟有利于程序更快的运行 也有可以实现更高的信号采样率 从而实现更多 的功能 6 但是告诉对系统要求较高 而且功耗大 运行环境苛刻 考虑到单片机本身用在 控制 并非高速信号采样处理 所以选取合适的频率即可 合适频率的晶振对于选频信号强 度准确度都有好处 本次设计选取 12 000M 无源晶振接入 XTAL1 和 XTAL2 引脚 并联 2 个 30pF 陶瓷电容帮助起振 AT89S52 单片机最小系统如图 6 所示 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 M OSI 6 P1 6 M ISO 7 P1 7 SC K 8 R ST 9 P3 0 R xD 10 P3 1 TxD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 W R 16 P3 7 R D 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 PSEN 29 ALE PR OG 30 EA VPP 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 VC C 40 U10 AT89S52 S3 SW PB 10K R 13 10uF C 12 12 Y2 XTAL 30pF C 10 30pF C 11 P20 P21 P22 P23 P24 P25 P26 P27 P30 P31 P32 P33 P34 P35 P36 P37 P00 P01 P02 P03 P04 P05 P06 P07 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 U9SHANGLA XTAL1 XTAL2 XTAL1 XTAL2 R ES R ES 5V 5V 5V 5V ADDR 0 ADDR 1 ADDR 2 C LEAR LED1 LED2 LED3 SPEKER 图 6 单片机最小系统原理图 3 1 3 引脚功能 VCC 电源电压 GND 地 P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻 辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 当访问外部程序和数据存储器时 P0 口也被作为低 8 位地址 数据复用 在这种模式下 P0 具有内部上拉电阻 在 flash 编程时 P0 口用来接收指令字节 在程序校验时 输出指令字节 程序校验时 需要外部上拉电阻 7 6 P1 口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 P1 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P1 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使 用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 此外 P1 0 和 P1 2 分别作定时器 计数器 2 的外部计数输入和定时器 计数器 2 的触发输入 P1 口功能 具体如表 1 所示 在 flash 编程和校验时 P1 口接收低 8 位地址字节 表 1 P1 口的第二种功能说明表 引脚号第二功能 P1 0T2 定时器 计数器 T2 的外部计数输入 时钟输出 P1 1T2EX 定时器 计数器 T2 的捕捉 重载触发信号和方向控制 P1 5MOSI 在系统编程用 P1 6MISO 在系统编程用 P1 7SCK 在系统编程用 P2 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P2 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 在访问外部程序存 储器或用 16 位地址读取外部数据存储器时 P2 口送出高八位地址 在这种应用中 P2 口使 用很强的内部上拉发送 1 在使用 8 位地址访问外部数据存储器时 P2 口输出 P2 锁存器的 内容 在 flash 编程和校验时 P2 口也接收高 8 位地址字节和一些控制信号 P3 口 P3 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲器能驱动 4 个 TTL 逻辑电平 对 P3 端口写 1 时 内部上拉电阻把端口拉高 此时可以作为输入口使用 作为输入使用时 被外部拉低的引脚由于内部电阻的原因 将输出电流 P3 口亦作为 AT89C51 特殊功能 第二功能 使用 P3 口功能如表 2 所示 在 flash 编程和校验时 P3 口也接收一些控制信号 表 2 P3 口的第二种功能说明表 引脚号第二功能 P3 0 RXD 串行输入 P3 1 TXD 串行输出 7 P3 2 外部中断 0 INT0 P3 3 外部中断 1 P3 4 T0 定时器 0 外部输入 P3 5 T1 定时器 1 外部输入 P3 6 外部数据存储器写选通 WR P3 7 外部数据存储器写选通 RD RST 复位输入 晶振工作时 RST 脚持续 2 个机器周期高电平将使单片机复位 看门狗 计时完成后 RST 脚输出 96 个晶振周期的高电平 特殊寄存器 AUXR 地址 8EH 上的 DISRTO 位可以使此功能无效 DISRTO 默认状态下 复位高电平有效 XTAL1 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2 振荡器反相放大器的输出端 3 1 4 单片机引脚分配 根据系统设计及各模块的分析得出 单片机的引脚分配如表 3 所示 表 3 单片机端口分配表 模 块端口功能 P0 0 P0 4 P2 0 P2 7数码管频率值显示 显示模块 P1 4 P1 6 LED 单位显示 P1 0 P1 2 通道选择 分频模块 P1 3 清零 3 23 2 电源模块电源模块 3 2 1 直流稳压电源的基本原理 直流稳压电源一般由电源变压器 T 整流 滤波及稳压电路所组成 8 基本框图如图 7 8 所示 图 7 直流稳压电源框图及波形 1 电源变压器T的作用是将220V的交流电压变换成整流滤波电路所需要的交流电压Ui 变压器副边与原边的功率比为P2 P1 n 式中n是变压器的效率 2 整流电路 整流电路将交流电压Ui变换成脉动的直流电压 再经滤波电路滤除较大 的波纹成分 输出波纹较小的直流电压U1 常用的整流滤波电路有全波整流滤波 桥式整流 滤波等 3 滤波电路 各滤波电路C满足RL C 3 5 T 2 式中T为输入交流信号周期 RL 为整流滤波电路的等效负载电阻 图9 滤波电路 4 稳压电路 常用的稳压电路有两种形式 一是稳压管稳压电路 二是串联型稳压电路 二者的工作原理有所不同 稳压管稳压电路其工作原理是利用稳压管两端的电压稍有变化 会引起其电流有较大变化这一特点 通过调节与稳压管串联的限流电阻上的压降来达到稳定 输出电压的目的 它一般适用于负载电流变化较小的场合 串联型稳压电路是利用电压串联 负反馈的原理来调节输出电压的 集成稳压电源事实上是串联稳压电源的集成化 9 3 2 2 电源电路设计 根据上述介绍设计 电源电路包括变压器 整流电路 滤波电路 稳压电路等模块组成 使用 LED 进行电源工作状态指示 LM78XX 系列三端稳压 IC 来组成稳压电源所需的外围元 件极少 9 电路内部还有过流 过热及调整管的保护电路 使用起来可靠 方便 而且 价格便宜 因此使用 LM7805 稳压芯片进行 5V 的电源电路设计 具体的 5V 电源电路如下图 10 所示 T1 Trans D1 Bridge 2200uF C2 100uF C4 0 1uF C3 0 1uF C5 D2 S1 SW SPST 220 R1 IN 1 2 OUT 3 GND U2LM 7805 220V 5V 图 10 5V 直流电源电路 3 33 3 放大整形模块放大整形模块 由于输入的信号可以是正弦波 三角波 而后面的闸门或计数电路要求被测信号为矩形 波 所以需要设计一个整形电路则在测量的时候 首先通过整形电路将正弦波或者三角波转 化成矩形波 在整形之前由于不清楚被测信号的强弱的情况 所以在通过整形之前通过放大 衰减处理 当输入信号电压幅度较大时 通过输入衰减电路将电压幅度降低 当输入信号电 压幅度较小时 前级输入衰减为零时若不能驱动后面的整形电路 则调节输入放大的增益 时被测信号得以放大 10 根据上述分析 放大电路放大整形电路采用高频晶体管 3DG100 与 74LS00 等组成 其中 3DG100 为 NPN 型高频小功率三极管 组成放大器将输入频率为 fx 的周期信号如正弦波 三 角波及方波等波形进行放大 与非门 74LS00 构成施密特触发器 它对放大器的输出波形信 号进行整形 使之成为矩形脉冲 11 具体放大整形电路如图 11 所示 10 5V Q10 3DG100 1K R 24 10 R 22 47K R 20 10K R 19 39K R 23 11 12 13 U7D 74LS00 1 2 3 U15A 74LS00 5 6 4 U15B 74LS00 47uF C 17 100uF C 18 47K R 21 D6 F1 Vx 图 11 放大整形电路 3 43 4 分频设计模块分频设计模块 分频电路用于扩展单片机频率测量范围 并实现单片机频率和周期测量使用统一信号 可使单片机测频更易于实现 而且也降低了系统的测频误差 可用 74161 进行分频 3 4 1 分频电路分析 本频率计的设计以 AT89S51 单片机为核心 利用他内部的定时 计数器完成待测信号周 期 频率的测量 单片机 AT89S51 内部具有 2 个 16 位定时 计数器 定时 计数器的工作 可以由编程来实现定时 计数和产生计数溢出时中断要求的功能 在定时器工作方式下 在 被测时间间隔内 每来一个机器周期 计数器自动加 1 使用 12 MHz 时钟时 每 1 s 加 1 这样以机器周期为基准可以用来测量时间间隔 在计数器工作方式下 加至外部引脚 的待测信号发生从 1 到 0 的跳变时计数器加 1 这样在计数闸门的控制下可以用来测量待测 信号的频率 外部输入在每个机器周期被采样一次 这样检测一次从 1 到 0 的跳变至少需要 2 个机器周期 24 个振荡周期 所以最大计数速率为时钟频率的 1 24 使用 12 MHz 时 钟时 最大计数速率为 500 kHz 因此采用 74LS161 进行外部十分频使测频范围达到 2MHz 为了测量提高精度 当被测信号频率值较低时 直接使用单片机计数器计数测得频率 值 当被测信号频率值较高时采用外部十分频后再计数测得频率值 这两种情况使用 74LS151 进行通道选择 由单片机先简单测得被测信号是高频信号还是低频信号 然后根据 信号频率值的高低进行通道的相应导通 继而测得相应频率值 11 3 4 2 74LS161 芯片介绍 74LS161 是常用的四位二进制可预置的同步加法计数器 12 可以灵活的运用在各种数字 电路 以及单片机系统种实现分频器等很多重要的功能 74LS161 引脚如图 12 所示 图 12 74LS161 引脚图 时钟 CP 和四个数据输入端 P0 P3 清零 MR 使能 CEP CET 置数 PE 数据输出端 Q0 Q3 以及进位输出 TC TC Q0 Q1 Q2 Q3 CET 表 4 为 74161 的功能表 表 4 74161 的功能表 清零 RD 预置 LD 使能 EP ET 时钟 CP 预置数据输入 A B C D 输出 Q0 Q1 Q2 Q3 L L L L L HL 上升沿 A B C DA B C D HHL 保 持 HH L 保 持 HHH H 上升沿 计 数 其中 RD 是异步清零端 LD 是预置数控制端 A B C D 是预置数据输入端 EP 和 ET 是计数使能端 RCO ET QA QB QC QD 是进位输出端 它的设置为多片集成计数 器的级联提供了方便 计数过程中 首先加入一清零信号RD 0 使各触发器的状态 为 0 即计数器清零 RD 变为 1 后 加入一置数信号 LD 0 即信号需要维持到下一 个时钟脉冲的正跳变到来后 在这个置数信号和时钟脉冲上升的共同作用下 各触发器 的输出状态与预置的输入数据相同 这就是预置操作 接着EP ET 1 在此期间 74161 一直处于计数状态 一直到EP 0 ET 1 计数器计数状态结束 从 74LS161 功能表功能表中可以知道 当清零端 CR 0 计数器输出 Q3 Q2 Q1 Q0 立即为全 0 这个时候为异步复位功能 当 CR 1 且 LD 0 时 12 在 CP 信号上升沿作用后 74LS161 输出端 Q3 Q2 Q1 Q0 的状态分别与并行数据输入端 D3 D2 D1 D0 的状态一样 为同步置数功能 而只有当 CR LD EP ET 1 CP 脉冲上 升沿作用后 计数器加 1 74LS161 还有一个进位输出端 CO 其逻辑关系是 CO Q0 Q1 Q2 Q3 CET 合理应用计数器的清零功能和置数功能 一片 74LS161 可以组成 16 进制以下的任意进制分频器 3 4 3 74LS151 芯片介绍 数据选择端 ABC 按二进制译码 以从 8 个数据 D0 D7 中选取 1 个所需的数据 只 有在选通端 STROBE 为低电平时才可选择数据 74LS151 有互补输出端 Y W Y 输出原码 W 输出反码 13 74LS151 引脚如图 13 所示 图 13 74151 管脚图 74LS151 的功能如下表 所示 其中 A B C 为选择输入端 D0 D7 为 数据输入端 STROBE 为选通输入端 低电平有效 W 为反码数据输出端 Y 为数据输出端 表 5 74151 功能表 13 3 4 4 分频电路 根据以上分析 采用 74LS161 和 74LS151 设计分频电路如图 14 所示 A 3 B 4 C 5 D 6 ENP 7 ENT 10 C LK 2 LOAD 9 M R 1 GND 8 VC C 16 R C O 15 Q3 11 Q2 12 Q1 13 Q0 14 U16 74161 X0 4 X1 3 X2 2 X3 1 X4 15 X5 14 X6 13 X7 12 A 11 B 10 C 9 E 7 GND 8 VC C 16 Y 5 Y 6 U14 74151 I11 1 I12 2 O1 3 I21 4 I22 5 O2 6 GND 7 O3 8 I31 9 I32 10 O4 11 I41 12 I42 13 VC C 14 U13 7400 5V C LEAR 5V P35 5V 5V C LEAR ADDR 0 ADDR 1 ADDR 2 F1 图 15 分频电路原理图 3 53 5 显示模块显示模块 显示模块由频率值显示电路和量程转换指示电路组成 频率值显示电路采用四位共阳极 数码管动态显示频率计被测数值 使用三极管 8550 进行驱动 使数码管亮度变亮 便于观 察测量 量程转换指示电路由红 黄 绿三个 LED 分别指示 Hz KHz 及 MHz 档 使读数简单 可观 14 3 5 1 数码管介绍 常见的数码管由七个条状和一个点状发光二极管管芯制成 叫七段数码管 根据其结构 的不同 可分为共阳极数码管和共阴极数码管两种 根据管脚资料 可以判断使用的是何种 接口类型 14 两种数码管内部原理如图 16 所示 图 16 两种数码管内部原理图 LED 数码管中各段发光二极管的伏安特性和普通二极管类似 只是正向压降较大 正向 电阻也较大 在一定范围内 其正向电流与发光亮度成正比 由于常规的数码管起辉电流只 有 1 2 mA 最大极限电流也只有 10 30 mA 所以它的输入端在 5 V 电源或高于 TTL 高电 平 3 5 V 的电路信号相接时 一定要串加限流电阻 以免损坏器件 3 5 2 频率值显示电路 数码管电路设计不加三极管驱动时 数码管显示数值看不清 不便于频率值的测量与调 试 因此加入三极管 8550 进行驱动数码管 使用 4 位数码管进行频率值显示 如果选择共 阴极数码管显示 则需要 8 个三极管进行驱动 而采用共阳极数码管则需要 4 个三极管驱动 为了节约成本 因此选用共阳极数码管进行动态显示 具体数码管设计电路如图 17 所示 A B C D E F G DP 1 2 3 4 U 7 LED Q 8550 Q 8550 Q 8550 Q 8550 4K7 R 4K7 R 4K7 R 4K7 R 5V P20 P21 P22 P23 P24 P25 P26 P27 P00 P01 P02 P03 图 17 数码管显示电路 15 3 5 3 档位转换指示电路 根据设计要求 采用红 黄 绿三个 LED 分别指示 Hz KHz 及 MHz 档 根据被测信号的 频率值大小 可以自动切换量程单位 无需手动切换 便于测量和读数 简单方便 具体设 计的档位转换 LED 指示电路如图 18 所示 D7 R ED D9 GR EEN D8 YELLOW 220 R 25 220 R 26 220 R 27 5V LED1 LED2 LED3 图 18 LED 档位指示电路 16 第四章第四章 系统的软件设计系统的软件设计 系统软件设计主要采用模块化设计 叙述了各个模块的程序流程图 并介绍了软件 Keil 和 Proteus 的使用方法和调试仿真 4 14 1 软件模块设计软件模块设计 系统软件设计采用模块化设计方法 整个系统由初始化模块 信号频率测量模块 自动 量程转换和显示模块等模块组成 系统软件流程如图 19 所示 频率计开始工作或者完成一次频率测量 系统软件都进行测量初始化 测量初始化模块 设置堆栈指针 SP 工作寄存器 中断控制和定时 计数器的工作方式 定时 计数器的 工作首先被设置为计数器方式 即用来测量信号频率 15 开始 系统初始化 频率测量 频率是否超过1KHz 硬件十分频 计数器计数 测频率值 测量数据 显示 N Y 图 19 系统软件流程总图 首先定时 计数器的计数寄存器清 0 运行控制位 TR 置 1 启动对待测信号的计数 计 数闸门由软件延时程序实现 从计数闸门的最小值 即测量频率的高量程 开始测量 计数 闸门结束时 TR 清 0 停止计数 计数寄存器中的数值经过数制转换程序从十六进制数转换 为十进制数 判断该数的最高位 若该位不为 0 满足测量数据有效位数的要求 测量值和 量程信息一起送到显示模块 若该位为 0 将计数闸门的宽度扩大 10 倍 重新对待测信号 的计数 直到满足测量数据有效位数的要求 定时 计数器的工作被设置为定时器方式 定 17 时 计数器的计数寄存器清 0 在判断待测信号的上跳沿到来后 运行控制位 TR 置为 1 以 单片机工作周期为单位进行计数 直至信号的下跳沿到来 运行控制位 TR 清 0 停止计数 16 位定时 计数器的最高计数值为 65535 当待测信号的频率较低时 定时 计数器可以对 被测信号直接计数 当被测信号的频率较高时 先由硬件十分频后再有定时 计数器对被测 信号计数 加大测量的精度和范围 4 24 2 中断服务子程序中断服务子程序 T0中断服务子程序流程如图20所示 测频时 定时器T0 工作在定时方式 每次定时50mS 则 T0 中断20 次正好为1秒 即T0用来产生标准秒信号 定时器T0 用作计数器 对待测信号计数 每秒钟的开始启动T0 每秒钟的结束关闭T0 则定时器T0 之值乘以分频系数就为待测信号 的频率 中断开始 关外部计数器 中断计数器装初值 开外部计数器 选择相应档位 判断计数是否为1s 中断返回 Y 图20 T0中断服务子程序 定时 计数器T1工作在计数方式 对信号进行计数 计数器1中断流程图如图21所示 18 中断开始 中断开始 计数器加1 图21 计数器1中断服务子程序 4 34 3 显示子程序显示子程序 显示子程序将存放在显示缓冲区的频率或周期值送往数码管上显示出来 由于所有 4 位 数码管的 8 根段选线并联在一起由单片机的 P2 口 控制 因此 在每一瞬间 4 位数码管会显 示相同的字符 要想每位显示不同的字符就必须采用扫描方法轮流点亮各位数码管 即在每一 瞬间只点亮某一位显示字符 在此瞬间 段选控制口 P2 输出相应字符 由 P0 0 P0 3 逐位轮 流点亮各个数码管 每位保持 1mS 在 10mS 20mS 之内再点亮一次 重复不止 利用人的视 角暂留 好像 4 位数码管同时点亮 数码管显示子程序流程如图 22 所示 开始 选择档位 数据各位分离 送数据显示 延时 结束 图 22 显示子程序流程图 19 4 44 4 量程档自动转换子程序量程档自动转换子程序 使用定时方法实现频率测量时 外部的待测信号通过频率计的预处理电路变成宽度等于 待测信号周期的方波 该方波同样加至定时 计数器的输入脚 P3 5 工作高电平是否加 至定时 计数器的输入脚 当判定高电平加至定时 计数器的输入脚 运行控制位 TR 置 1 启动定时 计数器对单片机的机器周期的计数 同时检测方波高电平是否结束 当判定 高电平结束时 TR 清 0 停止计数 然后从计数寄存器读出测量数据 由显示电路显示测量 结果 根据测量结果判断 进行频率计比较后 进行档位的自动切换 具体档位自动切换流 程图如图 23 所示 开始 测量频率值X 显示频率值 判断X值 X 1KHz X 1MHz 调用Hz档 调用MHz档 结束 N Y Y N 调用KHz档 图 23 量程档自动转换子程序 20 5 25 2 软件调试软件调试 5 2 1 Pouteus 软件调试 根据系统设计要求 进行 Keil 和 Proteus 系统仿真 不断调试程序 直到符合功能要 求 Proteus 总体仿真图 29 所示 图 29 频率计整体仿真图 5 2 2 功能调试 当测量频率值小于 1KHz 以下时 数码管显示频率值 并红色 LED 灯亮 作为 Hz 档单位 指示 例如输入信号 123Hz 仿真显示如图 30 所示 图 30 HZ 档频率仿真 当测量频率值大于且等于 1KHz 并小于 1MHz 时 数码管显示频率值 并黄色 LED 灯亮 作为 KHz 档单位指示 例如输入信号 456KHz 仿真显示如图 31 所示 21 图 31 KHZ 档频率仿真 当测量频率值大于 1MHz 时 数码管显示频率值 并绿色 LED 灯亮 作为 MHz 档单位指 示 例如输入信号 1 89MHz 仿真显示如图 32 所示 图 32 MHZ 档频率仿真 经上述测试 基本功能都以实现 可以测出波形频率值 并可以自动切换量程单位 符 合要求 5 35 3 系统调试系统调试 5 3 1 系统软件调试 经软件的调试 修改 再调试 如此反复 排除各种故障最终基本完成了设计所要求的 任务 由单片机内部定时器 计数器构成基本测量电路 外加整形和分频电路 由系统软件 设计可以测出 1HZ 5MHZ 的量程范围 可以实现量程档的自动转换 使用的动态显示测量时 会出现闪烁现象 但显示数值准确 稳定时显示不闪烁 软件仿真测量数据如下表 6 8 所 示 表 6 HZ 档的数据记录表 待测值 Hz 1050300450800888999 测量值 Hz 10503004508008881000 表 7 KHZ 档的数据记录表 待测值 KHz 1500055000125000225000425000825000925000 测量值 KHz 1555125225425825925 表 8 MHZ 档的数据记录表 待测信 MHz 1 1231 5581 7892 2343 3454 4565 567 22 测量值 MHz 1 1221 5581 7882 2343 3464 4585 568 5 3 2 系统软硬件调试 软件系统测试只能测试方波信号 外加硬件整形电路 可以测试正弦波 三角波等各种 波形的频率值 把各模块组合在一起 做成完整的频率计 实物图如图 33 所示 经过不断 的软硬件联合调试 修改程序和硬件 最终符合设计功能要求 图 33 频率计实物图 为了衡量这次设计的频率计的工作情况和测量精度 我们对系统进行了调试 用这次设 计的频率计对信号进行了测量 使用函数发生器输出各种波形 由实物频率计测得频率 记 录数据 实际测得频率范围没有仿真结果那么高 只能稍微超过 2MHz 实际记录数据如下 表 9 11 所示 表 9 HZ 档的数据记录表 待测值 Hz 10 328 9268 7324 8490 6678 3978 8 测量值 Hz 1029269325491678979 表 10 KHZ 档的数据记录表 待测值 KHz 15 2633 2860 12161 75308 8470 7912 1 测量值 KHz 15 333 360 2162 0309 0470 9912 4 表 11 MHZ 档的数据记录表 待测信 MHz 1 1231 3181 7271 8051 9562 0122 889 测量值 MHz 1 1231 3181 7281 8061 9572 013 测不出 5 45 4 误差分析误差分析 从记录的数据可以看出 系统软件仿真误差很小 在 10Hz 2MHz 范围内测量出来的频率 基本上就是输入信号的频率 在超出这个范围后 才出现很小的误差 但是在硬件调试中 可能是由于标准元器件本身误差 如随着时间的延长 其值相比出厂时产生误差 造成测量 结果没有软件仿真精确 同时手工焊接单片机最小系统 分频整形电路等也会带来一定的干 23 扰 造成信号的失真 从而导致测量精度下降 测量范围有所缩小 但是可以看出 误差在 允许范围内 所设计的电路基本符合要求 0 第六章第六章 总结总结 毕业设计已经结束 通过这次设计 我受益匪浅 毕业设计是一次综合性的实践 它将 各种知识结合到一起综合运用到实践上来扩展 弥补 串联所学的知识 通过本次毕业设计 我得到了很多收获 首先 了解了单片机的基本知识和在控制领域的作用和地位 其次掌握 了 C 语言的编写程序 学会了使用 PROTUTES 和 KEIL 的仿真来实现 同时掌握了如何收集 查阅 应用文献资料 如何根据实际需要有选择的阅读书籍和正确确定系统所要使用的元器 件的类型 再次 在精神方面锻炼了思想 磨练了意志 面对存在的困难首先分析问题根据 目的要求确定可实现的部分 定出那不准的方面找同学和老师讨论研究 再完善 再修改 再发现问题 再解决培养了自己的耐心 恒心及遇事不乱的精神 总之 我明白了理论和实 践之间存在的距离只有靠不断的思考不断的动手才能将所学的知识真正运用到实践上来 在 毕业设计中我的很多方面的能力都得到了提高 尤其在单片机软件编程方面让我感触颇深 我个人认为软件设计是个即灵活又细腻的工作 它要求耐心和细心去不断完善 同时还需要 有良好的逻辑思维能力 通过这次毕业设计 我分析问题和解决问题的能力有所提高 也巩 固了所学的知识 加深了对理论知识的理解 更重要的是锻炼自己的独立性 为我今后的工 作和学习打下坚实的基础 1 附件附件 3 3 频率计源程序 频率计源程序 include define SegmentP2 define sl P0 unsigned char cnt 定时 1s 计数 unsigned char d 4 对应数码管的各位 unsigned char level 档位 unsig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初级市场营销实战模拟题及解析
- 拉土车安全教育培训计划课件
- 抢险救援指挥培训课件
- 2025年模塑绝缘制品项目发展计划
- 2025年供配电测控保护装置项目合作计划书
- 抢救室工作制度课件
- 抛光岗位安全培训课件
- 期末真题卷(无答案) 2025-2026学年人教版四年级数学上册
- 吉林省第二实验高新学校2024-2025学年七年级下学期第一次月考生物试题(含答案)
- 北京市东城区广渠门中学2025-2026学年高三上学期开学考试数学试卷(含答案)
- 注册安全工程师考试道路运输和其他安全安全生产实务(初级)试卷与参考答案
- 客户关系管理课件 第1章 客户关系管理概述
- 数学-湖南省长郡中学2025-2026学年高二上学期暑假作业检测(开学)试题+答案
- 构建餐饮油烟共治格局的策略及实施路径
- 《MySQL数据库教程》课件第一章数据库概述
- 2025年“中央八项规定”精神学习知识竞赛测试题库及答案
- 2025年四川医疗卫生事业单位《卫生公共基础知识》考试真题及答案
- 1.1 空间和时间(教学课件)高中物理鲁科版必修第一册
- 2026届湖南省长沙市名校中考语文模试卷含解析
- 2025年中国药典培训试题及答案
- 部队兵器室管理课件
评论
0/150
提交评论