基于单片机的频率测量仪的设计内容摘要:
可以不使用外部上拉电阻。 当 P0 口用作普通 I/O 口 的时候,内部上拉电阻断开,外部必须连 接上拉电阻 ( ) [5]。 : P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口。 同时 也可以用作定时器 /计数器 2 的外部输入。 则可以用作定时器 /计数器 2 捕捉 /重装方式的触发控制 端。 : P2 口也是一个具有内部上拉电阻的 8 位双向 I/O 口。 当使用了外部存储器的时候 当做高 8 位的地址总线使用。 : P3 口也是一个具有内部上拉电阻的 8 位双向 I/O 口。 可以当做普通的 I/O 口使用。 为串口 1 是串口 1 数据接收端。 位串口 1 数据发送端。 位外部中断 0 输入端。 而 则是外部中断 1 输入端。 位定时器 /计数器0 的外部输入。 位定时器 /计数器 1 的外部输入。 RST:单片机复位脚。 从 RST 引脚施加一个 10us 加 24 个时钟周期的高电平,单片机进入复位状态,将 RST 脚拉回低电平后,单片机结束复位状态,并从用户程序区 0000H 处开始工作。 ALE:地址锁存允许信号输出端 /编程脉冲输入端,也可当做普通 I/O 口使用。 XTAL XTAL2:单片机的时钟输入引脚。 单片机定时器介绍 STC89C52RC 单片机内部具有 3 个 16 位的定时 /计数器 T0、 T1 与 T2, 它可以通过编程来获得自己所需要的功能。 定时 /计数器 T0 和 T1 还有 T2 的核心都是16 位 计数器 , TH0 与 TL0 是定时 /计数器 0 的 高 8 位和低 8 位; TH1 与 TL1 是定时 /计数器 1 的高 8 位和低 8 位。 定时器 \计数器的初值可以通过程序来设定 , 这样就可以得到所期望的计数值和定时时间。 当定时器 \计数器用 作定时器时, 定时器的寄存器的值在每 个机器周期 自动 加 1( 如果使用 12MHz 的外部晶振 , 每个机器周期是 12 个时钟周期,所以定时器 \计数器的脉冲频率是 1MHz,也就是每 1 微秒定时器 \计数器的寄存器自动加 1), 因为 外部 石英晶振的频率非常稳定,其波长和频率的波动很 小,这样就可以使用机器周期来测量时间 , 当定时器 \计数器用作 计数器时, 每个定时器 \计数器所对应的 外部引脚 产生下降沿的时候,定时器 \计数器的寄存器由硬件自动加 1,换句话说就是定时器 \计数器的时钟由外部信号提供 [6]。 通过这个原理就可以对被12 基于单片机的频率测量仪的设计 测信号进行计数。 外部输入 信号在 每个机器周期 会 被采样一次, 所以检测一个脉冲就需要两个机器周期,第一个机器周期和 第二个机器周期采样到的值不同,就说明电位发生了变化 ,所以最大计数速率 是外部晶振 频率的 1/24。 STC89C52RC单片机的时钟频率可以在 0Hz~40MHz 内自行 选择 ,当使用 12MHz 时钟时,最大计数速率约为 12MHz247。 24=500KHz。 该设计中使用 74LS161 构成了一个 256 分频的分频器,所示所能测量的频率 在不考虑器件响应 时间 的情况下理论 应 为 500KHz 256=128MHz。 由此可知 完全能够满足测量 ~15MHz 频率的 要求。 单片机部分电路设计 单片机要正常工作,需要两部分基本电路,它们分别是晶振电路和复位电路 [7]。 其电路如图 所示。 图 MCU 电路的设计 首先单片机上电之后需要复位才能正常运行。 单片机的复位方法是在 RST 引脚施加一个 24 个 时钟 周期加 10us 的高电平,单片机进入复位状态。 当单片机引脚RST 变成低电平,单片机 会 自动 结束复位状态 ,然后 并从 头开始执行用户的程序。 所以使用了一个 C4 和 R14,当系统得电之后, C4 通过 R14 进行充电,此时 RST处于高电平,当 C4 充电过程结束时, RST 变为低电平,此时单片机开始正常工作。 C2,C3,X1 构成了单片机的时钟电路,给单片机提供工作所需要的时钟, C2,C3 为负载电容,需要小于 47pF,这里选用了 22pF。 第三章 硬件设计原理 13 信号处理电路设计 高频滤波 一般被测信号都带有一定高频杂波,这会对测量结果造成影响,所以首先需要对被测信号进行滤波,这里可以使用低通滤波器,把被测信号的高频杂波滤去,以减少对测量结果的影响,所以使用了一个简单的 RC 网络组成的低通滤波器。 如图 所示。 当频率信号比较高的时候,对于低频信号来说, C1 相当于开路,对信号没有影响,但是对于高频信号来说, C1 则相当于短路,这样就可以滤去高频的杂波了。 过零比较电路 由于 频率测量仪 用途较广,经常会碰到小信号的测量。 所以这里遇到的问题是对信号进行放大和整形。 下面有 两个方案。 方案一:如图 所示。 这个方案使用两个三极管互补 ,以增大 放大 倍数,使三极管工作在饱和区而得到方波 ,由于两个三极管互补放大倍数是两个三极管放大倍数 β 的乘积,所以三极管 Q2 会趋于饱和状态,当做开关管使用。 当 INPUT为高电平的时候, Q1, Q2 导通,经过两个非门进行整形之后, OUTPUT 输出低电平。 反之,当 INPUT 为低电平的时候 Q1, Q2 截止,这时候 OUTPUT 输出为低电平。 这样就 完成了输入信号的放大和整形。 可以将小信号的三角波,锯齿波, 正弦波 等转换成 5V 幅度的标准的方波。 图 三极管搭建放大整形电路 图 低通滤波器 14 基于单片机的频率测量仪的设计 方案二:方案二是用了电压比较器 MAX9012 来进行波形的放大和整形。 其电路如图 所示。 美信的 MAX9012 是一个响应时间为 5ns 高速度的电压比较器,它 可以看作 是 放大倍数 为 “无穷大 ”的运算放大器,它的功能是比较两个电压的大小,比较结果用输出电压的高低电平来表示 [8]。 当正相端的电压 比 负相端的电压 高 ,输出高电平,当正相端的电压低于负 相端 的 电压 时 ,电压比较器输出低电平。 使用电压比较器的这个特性就可以把正弦波、三角波、锯齿波等波形转换成频率相同的方波,便于单片机进行测量。 其中 R11 和 R12 组成一个分压电路,得到一个 的参考电压,当输入信号低于 的时候,电压比较器输出高电平,当输入信号高于 的时候,电压比较器输出低电平。 R16 组成了一个正反馈,也就是所谓的迟 滞比较器,用来消除被测信号在参考电压附近抖动所造成的误差,并 缩短 高低电平转换的时间。 图 比较器构成的放大整形电路 方案一虽然没有使用集成芯片,但是它的响应速度非常快,准确度也很高,抗干扰能力也比较强,但是它有一个致命的缺点,因为是用三级管做放大整形,所以要求被测信号必须大于 ,这样测量信号的幅度就无法满足要求。 方案二使用了美信的高速电压比较器,成本上有一定的上升,抗干扰也没有方案一好,但是它响应范围宽,失调电压小于 2mv,能较好的满足使用要求,经过权衡选择了方案二作为本设计的信号放大和整形电路。 分频电路设计 第三章 硬件设计原理 15 74LS161 芯片介绍 74LS161 芯片管脚如图 所示。 74LS161 是常用的四位二进制可预置的同步加法计数器。 他可以灵活的运用在各种数字电路中,以及单片机系统 中 实现分频器等很多重要的功能。 D0D3 是预置数输入端,在 LOAD 为低电平、 CLK 的上升沿的时候 输出端 Q0Q3 等于 D0D3,这样就可以构成任意进制的分频器。 当 ENP为低电平的时候,输出保持不变。 MR 为清 0 端,当 MR 为 0 的时候输出和 RCO都清 0。 当 ENP,ENT,LOAD,MR都等于 1,在 CLK 的上升沿计数器正常计数,当溢出的时候进位 位 从 RCO 输出,以方便级联。 分频电路的设计 本设计采用两 片 74LS161 进行级联 [9],构成一个 256 分频的分频 器。 被测信号经过滤波整形之后,施加到第一片 74LS161( U2)的 CLK 脚进行计数。 当 U2溢出,也就是计数到 “1111”的时候,它的进位位 RCO 就输出一个脉冲给第二片74LS161( U3)的 CLK 脚。 由于 74LS161 的时钟脚是反相端,所以级联的时候需要加一个反相器。 U3 负责对 U2 的 RCO 脉冲进行计数,当 U3 也计数到 “1111”的时候,同样的也会在其进位端输出一个脉冲信号给单片机的。 单片机的 是计数器 0 的外部脉冲输入端, U3 的溢出次数就被计数器 0 记录了下来。 假设 T0的溢出次数为 H,则最后的脉冲总数 N 就为 N=H 256 65536+( TH0 256+TL0) 256+P0。 这样两片 74LS161 级联就构成了一个简单稳定的 256 分频的分频器。 这样做的优点是是不但能进行 256 分频,还能对没有到 256 的频率进行测量,误差小 , 使用方便。 假设单片机使用的晶振是 12M,它的计数器能测的频率上限大约为 500KHz 左右,而进过 256 分频之后,如果不考虑器件的频率特性,则其理论可测频率达到了 128Mhz 左右,完全能满足本次 毕业设计 要求的 ~15MHz 的性能指标。 其 74LS161 记录的分频电路图如图 所示。 图 74LS161 管脚图 16 基于单片机的频率测量仪的设计 图 74LS161 分频电路 测量结果显示电路设计 LCD1602 液晶介绍 这里使用了 LCD1602 液晶来对测量结果进行显示输出。 LCD1602 不像数码管那样需要不停的刷新显示,具有占用 MCU 资源较少的优点。 它是一个工业字符型液晶,能够同时显示 16x2 即 32 个字符。 是专门用来显示字母、数字、符号等的点阵型液晶模块。 LCD1602 由若干个 5 7 或者 5 11 等点阵字符 组成, 每个位上都能显示一个单独的字符,每个字符中间都会有一定的间隔。 LCD1602 液晶具有显示美观 、 内容丰富、超薄轻巧的特点, 可以被用在很多的电子产品当中。 芯片主要参数介绍 或 5V 工作电压,对比度可调,内含复位电路。 提供各种控制命令 ,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。 有 80 字节显示数据存储器DDRAM。 内建有 192 个 5X7 点阵的字型的字符发生器 CGROM。 8 个可由用户自定义的 5X7 的字符发生器 CGRAM。 器芯片管脚如图 所示。 图 LCD1602 液晶模块管脚 第三章 硬件设计原理 17 芯片管脚功能 第 1 脚: VSS 为 电源地。 第 2 脚: VCC 为电源正极 ,有 和 5V 两种产品。 第 3 脚: V0 是 LCD1602 液晶 对比度调整 输入引脚 , 在此引脚输入一个电压信号来调整对比度, 0V 的时候对比度最高,随着电压的升高,对比度下降。 (对比度过高 会造成显示不清晰,并会大幅度缩短使用寿命 , 实际使用的时候,可以在 这个引脚接 10K 的电位器,根据需要自行调整对比度 )。 第 4 脚: RS 是 寄存器选择 使能端 , 被置“ 1”的时候操作的是数据寄存器,被清 0 的时候,则 操作液晶内部的指令寄存器。 第 5 脚: RW 是 读写信号 端 , 被置 1 的时候,读数据或者读命令,同理当这个位被清 0 的时候,表示写命令或者写数据。 第 6 脚: E 端为使能端 ,高电平时读取 指令或者数据 , 下降沿的 时 候 执行指令。 第 7~ 14 脚: D0~ D7 是 LCD1602 液晶的数据接口,可以双向使用。 第 15~ 16 脚: 背光电源输入。 15 脚是 5V 或者 , 16 脚接地。 LCD1602 使用方法和常用命令 LCD1602 共 16 个管脚, 操作 LCD1602 最重要的管脚有三个 ,它们分别为:RS(数据命令选择端 ),R/W(读写选择端) ,E(使能信号); 程序的编写主要就是操作这三个管脚。 RS 为寄存器选择 端 ,高电平选择 操作 数据寄存器,低电平选择指令寄存器。 R/W 为读写选择,高电平 表示 进行读操作,低电平进行写操作。 E 端为使能端。 而 D0~D7 则 为 8 位双向数据线。 LCD1602 的操作分为四个部分。 它们分别是读状态、写指令、读数据、写指令。 首先,读状态的时候需要将数据命令选择端 RS 置低,以表示对 LCD1602 的命令寄存器进行操作,然后将读写选择端置 1,表示将要进行的操作是读取操作,接下来让使能信号 E 产生一个上升沿,此时所要读取的状态就从 LCD1602 的数据段 D0D7 进行输出。 当使用 LCD1602 之前需要对其进行初始化,而初始化液晶屏就必须得发送相应的指令,这就涉及到了写指令操作。 同理,写指令的时候需要先将数据选择端置 0,表示接下来还是对命令寄存器进行操作,然后把读写选择信号置 0,表示写操作,此时在 LCD1602 的 D0D7 端上加上所需要写的指令,在使18 基于单片机的频率测量仪的设计 能信号的上升沿写入到 LCD1602 内部。 接下来的读数据和写数据依次类推,这里就不进行赘述了。 LCD1602 常用指令的介绍。 下面介绍几个常用的命令。 0x01:清除显示指令。 这个指令将空位字符码 0x。基于单片机的频率测量仪的设计
相关推荐
但 8751 片内有 4K 的 EPROM,用户可以将自己编写的程序写入单片机的 EPROM 中进行现场实验与应用, EPROM 的改写同样需要用紫外线灯照射一定时间擦除后再烧写。 AT89C5 AT89S51 的比较 AT89C51 是 ATMEL公司推出的一种带 4K 字节闪速可编程 、 可擦除 、 只读存储器的低电压、高 性能 CMOS 8 位微控制器。 器件 用 ATMEL公司高密度
可靠。 如果 3 脚与地断开,输出端电压 Uo 将升高到与输入端 Ui相等的程度,有可能损坏负载。 但发现这种情况时,必须先关断电源,将 3 脚重新接地;绝对不允许在未关断电源的情况下重接 3 脚,否则有可能损坏稳压器。 三、 用 w7805 组成的 5 伏稳压电源 图 213 所示的电路,是用 W7805 组成的输出的电压为 5V、输出电流为 安的稳压电源。 图中电容 C集成稳压器 IC102
按一定的函数关系 (通常是线性关系 )转换成便于测量的物理量 (如电压、电流或频率等 )输出。 2.信号处理 即处理光电传感器采集到的低频信号的模拟电路 (包括放大、滤波、整形等 )。 3. 单片机电路 即利用单片机自身的定时中断计数功能对输入的脉冲电平进行运算得出心外部中断信号 光电传感器 低通放大器 比较器和振荡器 单片机 AT89C51 液晶 显示电路 外部晶振 稳压电路 率(包括
、非易失性存储技术制造,兼容标准 MCS51指令系统及 80C51 引脚结构,芯片内集成了通用 8位中央处理器和 ISP Flash 存储单元,功能强大的微型计算机的 AT89S51 可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51 具有如下特点: 40 个引脚, 4k Bytes Flash 片内程序存储器, 128 bytes 的随机存取数据存储器( RAM), 32
求,并作出快速响应、及时处理。 这是由片内的中断系统来实现的。 当中断请求源发出中断请求时,如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求。 中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。 图 6 为整个中断响应和处理过程。 图 6 中断响应和处理过程 6 数码管驱动模块 数码管是一种把多个 LED
控制器,可以根据室内温度状况自主的选择制冷还是制热,从而使室内的温度处于一个相对稳定的状态,为人们营造一个温馨 、 舒适的居家环境。 国内外温度控制器发展现状 温度控制器是信息技术的最前端产品。 从先前的模拟温度控制器到今天的数码控制器。 温控器的经历逐步向着智能化数字化的道路。 目前,温度传感器被广泛的应用在工业生产、科学事业研究和 生活等方面,需求量越来越大。 一般来说