基于单片机的数字频率计的设计与实现内容摘要:

TXD(串行输出口) 0INT (外部中断 0) 1INT (外部中断 1) T0(定时器 0) T1(定时器 1) WR (外部数据存储器写选通) RD (外部数据存储器都选通) RST: 复位输入。 当振荡器工作时, RST 引脚出现两个机器周期的高电平 将 使单片机复位。 ALE/ PROG : 当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低 8 位字节。 当在 Flash 编程时还可以作为编程脉冲输出( PROG )。 一般情况下, ALE 是以晶振频率的 1/6 输出,可以用作外部时钟或定时目的。 但也要注意,每当访问外部数据存储器时将跳过一个 ALE 脉冲。 PSEN :程序存储允许时外部程序存储器的读选通信号。 当 AT89C51 执行外部程序存储器的指令时,每个机 器周期 PSEN 两次有效,除了当访问外部数据存储器时, PSEN 将跳过两个信号。 EA /VPP:外部访问允许。 为了使单片机能够有效的传送外部数据存储器从0000H 到 FFFH 单元的指令, EA 必须同 GND 相连接。 需要主要的是,如果加密位 1 被编程,复位时 EA 端会自动内部锁存。 当执行内部编程指令时, EA 应该接到 VCC 端。 XTAL1:振荡器反相放大器以及内部时钟电路的输入端。 XTAL2:振荡器反相放大器的输出端。 在本次设计中,采用 89C51 作为 CPU 处理器,充分利用其硬件资源,结合施密特触发器,分频器 74LS90, 四选一电路 74LS153, 译码器 74LS138,主要控制 五 大硬件模块。 下面还将详细说明。 AT89C51的定时 /计数器原理 计数器的容量 : 在实际应用中的计数器,其量程都是有一定大小的,计到一定程度后会达到一个满量程。 录音机上的计数器,电度表计量器都有一个最大值,经过一段时间计到最大值后,又会回到零重新计数。 AT89C51 单片机中有三个计数器,分别称为 T0, T1,和 T2,这三个计数器各由两个 8 位的 RAM 单元组成,即每个计数器都是 16 位计数器,最大计数量是 65536。 定 时: 单片机的计数器除了可以作为计数外,还可以做时钟。 一只手表,它的秒针走一圈计时为 1 分钟,如时间为 60 分钟也可以说是秒针走了 60 圈,所以时间就转化为秒针走的圈数。 可见,计数和时间之间的却相关,那就是秒针每一圈走动的时间正好是 1 分钟。 一般来说,只要计数脉冲的间隔相等,则计算脉冲的个数就代表了时间的长短。 由此可见,单片机中的定时起和计数起是一个概 念。 定时 /计数器的溢出: 有一个盛水的容器,用 100 滴大小一样的水滴可以将它盛满。 当容器为空时,一滴水一滴水地往容器中滴,滴到 100 滴水时,就刚好将容器盛满。 这时如果在滴一滴水带容器中,水就会溢出。 同样,定时 /计数器计到最大值时,如果再来一个脉冲,定时 /计数器的值就会回到零,这种现象叫定时 /计数器的溢 出。 当定时 /计数器产生溢出时,将定时 /计数器的中断标志位( TF0, TF1,TF2)置为 1, CPU 根据标志位的状态进行处理。 定时 /计数器的初值: 定时 /计数器的容量是 16 位,也就是最大的计数值为 65536,因 此,计数到65536 就会产生溢出。 在现实生活中,经常会有少于 65536 个计数值的要求,那我们就采用预置数的方法来解决这个问题。 例如,要计 100 个脉冲,那我们就先放进去 65436(即计数初值),再来 100 个脉冲就到了 65536 这个最大值。 定时也不需要定到最长时间,也可采用赋初值的办法来解决。 定时 /计数器的工作模式 AT89C51 的定时 /计数器共有 4 个特殊功能控制寄存器 TMOD, T2MOD,TCON, T2CON。 由软件将 TMOD, T2MOD, TCON, T2CON 相应位置 0 或置 1 来实现各定时器的操作模式和功能。 定时 / 计数器 (T0, T1)的工作方式寄存器 TMOD( 地址是 89H, 可以对它进行位寻址 ) 是一种可编程部件 , 在工作之前必须通过软件设定它的工作方式 , 即对工作方式寄存器 TMOD 中的每位进行设定 , 其中低 4 位用于决定 T0的工作方式 , 高 4 位用于决定 T1 的工作方式。 定时 / 计数器除了可以用软件设置为定时或计数外 , 还可以用软件设置不同的工作方式。 定时 / 计数器 T0, T1 有 4 种工作方式 ,在模式 0, 1 和 2 时 , T0和 T1 的工作模式相同。 在模式 3 时 , 两个定时器的模式不同 , 定时 / 计数器T2 有 3 种工作模式。 定时 / 计数器 的特殊功能控制寄存器 定时 / 计数器 (T0, T1)的方式控制寄存器 TMOD 的地址是 89H, 可以对它进行位寻址。 方式控制寄存器 TMOD 中各位的含义如 表 22 所示。 表 22 TMOD各位含义 GATE C/T M1 M0 GATE C/T M1 M0 定时 /计数器 T1 定时计数器 T0 1. M0和 M1工作方式控制位。 M0和 M1为工作方式控制位用来确定 4种工作方式 如表 23所示。 2. C/T定时 / 计数器方式选择位。 当 C/T=0时 , 设置为 定时方式 , 对机器周期进行计数。 当 C/T=1时 , 设置为计数方式 , 对外部信号进行计数 , 外部信号接至 T0()或 T1()引脚。 表 23 4种工作方式 M1M0 工作方式 说明 00 方式 0 13 位计数器 01 方式 1 16位计数器 10 方式 2 自动重装 8位计数器 11 方式 3 定时器 0:分为两个独立 8位计数器 定时器 1:对外停止计数 3. C/T 定时 / 计数器方式选择位。 当 C/T=0 时 , 设置 为定时方式 , 对机器周期进行计数。 当 C/T=1 时 , 设置为计数方式 , 对外部信号进行计数 , 外部信号接至T0()或 T1()引脚。 4. GATE 门控位 当 GATE=0 时 , 只要用软件使 TR0(或 TR1)置 1 就能启动定时器 T0(或T1)。 当 GATE=1 时 , 只有在 INT0(或 INT1)引脚为高电平的情况下 , 且由软件是TR0(或 TR1)置 1 时 , 才能启动 T0(或 T1)工作 , 这样可以实现对脉宽的测量。 定时 / 计数器 (T0,T1)的控制寄存器 定时 / 计数器 (T0, T1)的控制 寄存器 TCON 的地址是 88H, 可以对它进行位寻址。 设定好定时 / 计数器的工作方式后 , 它还不能立即进入工作状态 , 还要通过设置控制 TCON 中的某些位来启动它 , 要使定时 / 计数器停止运行 , 也可以通过设置 TCON 中的某些位来实现。 当定时 /计数器计满溢出或有外部中断请求时 , TCON 能标明溢出和中断情况。 控制 TCON 中各位的含义如 表 24 所示。 表 24 TCON 中各位的含义 D7 D6 D5 D4 D3 D2 D1 D0 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 TF1: 定时器 T1 溢出标志位。 当定时器 T1 溢出时 , 由硬件自动使 TF1 置1, 并向 CPU 申请中断 , CPU 响应中断后自动对 TF1 清零 , TF1 也可用软件清零。 TR1: 定时器 T1 运行控制位 .可由软件置 1(或清零 )来启动(或关闭)定时器 T1,使定时器 T1 开始计数。 用指令 SETB TR1(或 CLR TR1)使 TR1 置1(或清零 )。 TF0: 定时器 T0 溢出标志位。 其功能与 TF1 相同。 TR0: 定时器 T0 运行控制位。 其功能与 TR1 相同。 IE1: 外部中断 1 请求标志位。 IT1: 外部中断 1 触发方式控制位。 IE0: 外部中断 0 请求标志位。 IT0: 外部中断 0 触发方式控制位。 数字频率计设计的几种方案 测量频率的方法有很多种,主要分为模拟法和数字法两大类,因为本次设计的要求和环境,现在主要讨论数字法中的电子计数式的几种测频方法。 电子计数式的测频方法主要有以下几种:脉冲数定时测频法 (M 法 ) [4],脉冲周期测频法 (T 法 ),脉冲数倍频测频法 (AM 法 ),脉冲数分频测频法 (AT 法 ),脉冲平均 周期测频法 (M/T 法 ),多周期同步测频法。 下面是几种方案的具体方法介绍。 脉冲数定时测频法 (M 法 ):此法是记录在确定时间 Tc 内待测信号的脉冲个数 Mx,则待测频率为: Fx=Mx/Tc ( 2— 1) 脉冲周期测频法 (T 法 ):此法是在待测信号的一个周期 Tx 内,记录标准频率信号变化次数 Mo。 这种方法测出的频率是: Fx=Mo/Tx ( 2— 2) 脉冲数倍频测频法 (AM 法 ):此法是为克服 M 法在低频测量时精度不高的缺陷发展起来的。 通过 A 倍频,把待测信号频率放大 A 倍,以提高测量精度。 其待测频率为: Fx=Mx/ATo ( 2— 3) 脉冲数分频测频法 (AT 法 ):此法是为了提高 T 法高频测量时的精度形成的。 由于 T 法测量时要求待测信号的周期不能太短,所以可通过 A 分频使待测信号的周期扩大 A 倍,所测频率为: Fx=AMo/Tx ( 2— 4) 脉冲平均周期测频法 (M/T 法 ):此法是在闸门时间 Tc 内,同时用两个计数器分别记录待测信号的脉冲数 Mx 和标准信号的脉冲数 Mo。 若标准信号的频率为 Fo,则待测信号频率为: Fx=FoMx/Mo ( 2— 5) 多周期同步测频法:是由闸门时间 Tc 与同步门控时间 Td 共同控制计数器 计数的一种测量方法,待测信号频率与 M/T 法相同。 几种方案的优劣讨论 以上几种方法各有其优缺 点: 脉冲数定时测频法,时间 Tc 为准确值,测量的精度主要取决于计数 Mx 的误差。 其特点在于:测量方法简单,测量精度与待测信号频率和门控时间有关,当待测信号频率较低时,误差较大。 脉冲周期测频法 [5],此法的特点是低频检测时精度高,但当高频检测时误差较大。 脉冲数倍频测频法,其特点是待测信号脉冲间隔减小,间隔误差降低;精度比 M 法高 A 倍,但控制电路较复杂。 脉冲数分频测频法,其特点是高频测量精度比 T 法高 A 倍,但控制电路也较复杂。 脉冲平均周期测频法,此法在测高频时精度较高,但在测低频信号时精度较低。 多周期同步测 频法,此法的优点是,闸门时间与被测信号同步,消除了对被测信号计数产生的 177。 1 个字误差,测量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。 本次设计采用的方案 根据频率的定义 [6],频率是单位时间内信号波的个数,因此采用上述各种方案都能实现频率的测量。 但是本论文设计的是一个用单片机做为电路控制系统的数字式频率计,采用脉冲定时测频法,则在低频率的测量时误差会大一些。 采用脉冲周期测频法则测高频率时精度无法保证;采用脉冲数倍频测频法和脉冲数分频测频法则精度有所提高,但控制电路较复杂;采 用脉冲平均周期测频法则很难兼顾低频信号的测量;而采用多周期同步测频法,闸门时间与被测信号同步,消除了对被测信号计数产生的 177。 1 误差,测量精度大大提高,且测量精度与待测信号的频率无关,达到了在整个测量频段等精度测量。 本次设计由于个人水平有限,因此,本次设计根据需要,采用脉冲定时测频法。 本章小结 本章主 要介绍了数字频率计的多种设计方案并且对每个方案进行了大致的介绍及各自的优劣条件,还说明了最后所采用的设计方案:脉冲定时测频法。 本章是在做本次设计前的准备工作,通过查阅资料对各种方案的了解,我对频率计有了进一步的了 解 ,对本次设计的成功有很大的帮助。 第 3章 系统硬件设计 数字频率计工作原理 及结构框图 一般数字式频率计的原理 数字式频率计是测量频率最常用的仪器之一,其基本设计原理是首先把待测信号通过放大整形,变成一个脉冲信号,然后通过控制电路控制计数器计数,最后送到译码显示电路里进行显示,其基本构成框图如图 31 所示 [7]。 图 31 数字式频率计原理框。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。