改变单片机输出频率的频率计算

基于单片机简易数字频率计设计方案(一)

系统框图如图1所示主要由AT89C52单片机、异或器件、LCD1602、电源等组成。

定时/计数器工作在方式1每产生一次定时器0中断,计数65536个脉冲此时的脉冲来自振荡器的12分频后的脉冲,其周期为1uS根据产生外部中断0时,定时器0中断的次数u以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为:T=(65536*u+X)us取其倒数即可求得待测方波的频率,小数点后保留两位即可使得频率精度为0.1HZ。

将两路同频不同相嘚方波信号进过鉴相器(即异或)后得到的脉冲宽度t与方波信号的周期T的比值(占空比)即对应为两信号的相位差,此时相位差

其中脈冲宽度的测量方法与方波周期的测量方法相同。相位差测量的原理图如下:

本设计中P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相應功能管脚相连接单片机正常工作时,都需要有一个时钟电路和一个复位电路本设计中选择了内部时钟方式和按键电平复位电路,来構成单片机的最小电路如图4所示。

频率、相位表的总体电路图如图5所示:

图5  频率相位表的总体电路图

基于单片机简易数字频率计设计方案(二)

本文利用前置分频器SAB6456A和高速数字分频器74HC390的分频功能结合新型的MSP430F449单片机,给出了一种新颖的、全自动的数显测量射频频率的设计方案

图1 信号的前端处理及分频电路

MSP430F449 采用16位RISC结构,具有丰富的片内外设和大容量的片内工作寄存器和存储器性能价格比很高。它的特点包括:

· 超低的功耗:能够在1.8V~ 3.6V的电压下工作;具有工作模式(AM)和5种低功耗模式(LPM)在低功耗模式下,CPU可以被中断唤醒响应时间小于6ps。

· 较强的运算能力:16位的RISC结构丰富的寻址方式;具有16个中断源,可以任意嵌套;在8MHz时钟驱动下指令周期可达125ns; 内部包含硬件乘法器和夶量寄存器以及多达64KB的Flash程序空间和2KB的RAM,为存储数据和运算提供了保证

· 丰富的片上外设:包括看门狗定时器,基本定时器比较器,16位定时器(TA、TB)串口0、1,液晶显示驱动器6个8位的I/O端口,12位ADC (最高采样率200kHz)等丰富的片上外设可以很方便地构建一个较为完整的系統。另外充分利用计数器的多路任意波形产生功能和中断控制功能,保证了一些复杂的时序控制任务的完成

·方便高效的开发环境:MSP430F449昰Flash型器件,片内有调试接口和电可擦写的Flash存储器可以先下载程序到Flash内,再在器件内通过软件控制程序的运行由JTAG接口读取片内信息供设計师调试。这种方式不需要仿真器和编程器调试十分方便。

SAB6456A是专为UHF/VHF设计的前置分频器内部的MCpin为分频控制端,可对频率范围为70MHz-1GHz的信号进荇64/256分频当MC pin开路时为64分频;当MC pin接地时为256分频。有较高的灵敏度和较强的谐波抑制能力

该设计主要分两部分:分频和计数。首先输入信號限幅后经SAB6456A分频,256分频后的信号再经两片74HC390高速分频器进行1000分频此时模拟信号变为低频数字信号,频率在10kHz以下;其次分频后的信号直接接入MSP430F449单片机,利用内部的16位定时器A来定时和计数该定时器可分为几个部分:计数器部分,捕获/比较寄存器及输出单元其中,计数器有4種工作模式3个捕获/比较寄存器。利用计数器的连续计数模式和上升沿捕获模式在定时器中断中计数N个脉冲信号时间,再除N得到频率

圖1为信号的前端处理及分频设计。输出后的信号再经两片SN74HC390分频SN74HC390是高速分频器件,最高分频频率为50MHz每片 SN74HC390可实现100分频,采用两片串联可實现对信号的1000分频,经分频后的数字信号频率较低约4kHz以下,可由单片机直接计数

图2为单片机外围电路,包括复位电路电源电路和单爿机工作必须的晶振。晶振有8MHz和32.768kHz两种8MHz 作为定时器A的计数器输入时钟源;32.768kHz 作为数码管的显示频率。74LS373为D型锁存器5V单电源供电,因输出电流足够大也可以直接驱动共阴极LG3631AH型数码管。

将分频的输出端OUT接至单片机的频率输入端程序开始先延时一段时间,待信号稳定开捕获中斷和定时器A,在定时器A 中断中计数N个脉冲测量结束后得到N个脉冲的时间,然后除N得到脉冲的频率乘以分频系数得到实际频率并显示,經过短暂延时后重新测量如此循环测量并显示。

在测量频率时为保证精度要关掉LED显示,所以对于频率较低的信号会发生LED闪烁的情况,解决办法是测量较少个脉冲以减少平均测量时间或减少延时

采用动态扫描显示,动态扫描显示的原理是:由P4向各个位轮流输出扫描信號使每一位瞬间只有一个数码管被选通,然后由P3向该位输入显示的字型码驱动该位字形段显示字形。这样在P3送出的码段和P4送出的位段的配合下,使各个数码管轮流显示各自的字形每位的显示时间要超过1ms,这样人眼就感觉不到闪烁了

yanshi(2,2);//可以修改这里的参数越夶表示延时越长,太小的话LED就会变暗

本文给出的硬件和软件均经过实践检验使用该测量仪器所测结果精度较高。该测量仪器价格较低結构简单,是一种经济型的频率测试仪

基于单片机简易数字频率计设计方案(三)

本数字频率计将采用定时、计数的方法测量频率,采鼡一个1602A LCD显示器动态显示6位数测量范围从1Hz—10kHz的正弦波、方波、三角波,时基宽度为1us10us,100us1ms。用单片机实现自动测量功能

基本设计原理是矗接用十进制数字显示被测信号频率的一种测量装置。它以测量周期的方法对正弦波、方波、三角波的频率进行自动的测量

频率测量仪嘚设计思路与频率的计算

频率测量仪的设计思路主要是:对信号分频,测量一个或几个被测量信号周期中已知标准频率信号的周期个数進而测量出该信号频率的大小,其原理如右图1所示

若被测量信号的周期为,分频数m1分频后信号的周期为T,则:T=m1Tx 由图可知: T=NTo

(注:To为標准信号的周期,所以T为分频后信号的周期则可以算出被测量信号的频率f。)

由于单片机系统的标准频率比较稳定而是系统标准信号頻率的误差,通常情况下很小;而系统的量化误差小于1所以由式T=NTo可知,频率测量的误差主要取决于N值的大小N值越大,误差越小测量嘚精度越高。

基本设计原理是直接用十进制数字显示被测信号频率的一种测量装置它以测量周期的方法对正弦波、方波、三角波的频率進行自动的测量。

所谓“频率”就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T内测得这个周期性信号的重复变化次數N则其频率可表示为f=N/T。其中脉冲形成电路的作用是将被测信号变成脉冲信号其重复频率等于被测频率fx。时间基准信号发生器提供标准嘚时间脉冲信号若其周期为1s,则门控电路的输出信号持续时间亦准确地等于1s闸门电路由标准秒信号进行控制,当秒信号来到时闸门開通,被测脉冲信号通过闸门送到计数译码显示电路秒信号结束时闸门关闭,计数器停止计数由于计数器计得的脉冲数N是在1秒时间内嘚累计数,所以被测频率fx=NHz

数字频率计(低频)的硬件结构设计

本频率计的数据采集系统主要元器件是单片机AT89C51,由它完成对待测信号频率嘚计数和结果显示等功能外部还要有分频器、显示器等器件。可分为以下几个模块:放大整形模块、秒脉冲产生模块、换档模拟转换模塊、单片机系统、LCD显示模块各模块关系图如图2所示:

该系统工作的总原理图如图3所示:

图3 数字频率计系统工作原理图

信号调理及放大整形模块

放大整形系统包括衰减器、跟随器、放大器、施密特触发器。它将正弦输入信号Vx整形成同频率方波Vo幅值过大的被测信号经过分压器分压送入后级放大器,以避免波形失真由运算放大器构成的射级跟随器起阻抗变换作用,使输入阻抗提高同相输入的运算放大器的放大倍数为(R1+R2)/R1,改变R1的大小可以改变放大倍数系统的整形电路由施密特触发器组成,整形后的方波送到闸门以便计数

由于输入的信號幅度是不确定、可能很大也有可能很小,这样对于输入信号的测量就不方便了过大可能会把器件烧毁,过小可能器件检测不到所以茬设计中采用了这个信号调理电路对输入的波形进行阻抗变换、放大限幅和整形,信号调理部分电路具体实现电路原理图和参数如下图4所礻:

本电路采用32768HZ晶体震荡器利用CD4060芯片经过14级分频得到2HZ的信号(),在经过CD4013双D触发器经过二分频得到0.5HZ的方波即输出秒脉冲信号使单片机進行计数。

图七 秒脉冲产生电路原理图

中级会员, 积分 251, 距离下一级还需 249 积汾

中级会员, 积分 251, 距离下一级还需 249 积分

回复:如何测试单片机的bus_clock的频率

回复:如何测试单片机的bus_clock的频率?


那么MC9S12系列单片机以及MPC56XX系列单片机有類似的引脚吗?如果有可否具体指出?谢谢斑竹!!

中级会员, 积分 251, 距离下一级还需 249 积分

中级会员, 积分 251, 距离下一级还需 249 积分

回复:如何测试單片机的bus_clock的频率

刚才查了一下MPC5602DRM也是有这个输出信号的,对应引脚为PA[0]不清楚你具体采用的那款芯片,不过建议你你直接在RM手册里搜索CLKOUT就能找到.

回复:如何测试单片机的bus_clock的频率

刚才查了一下MPC5602DRM也是有这个输出信号的,对应引脚为PA[0]不清楚你具体采用的那款芯片,不过建议你你矗接在RM手册里搜索CLKOUT就能找到.
在MPC5604B中有bus_clock时钟输出的引脚那么我就可以通过示波器测试bus_clock的时钟频率了吗?
在MC9S12XS128和MC9S12G128中均未找到此引脚那怎么知道單片机设置的频率是否为我需要得到的频率呢?

回复:如何测试单片机的bus_clock的频率

建议认真看看Clock的框图,PB0的ECLK就是你想要的时钟!
谢谢版主的耐心解答!谢谢!

高级会员, 积分 620, 距离下一级还需 380 积分

高级会员, 积分 620, 距离下一级还需 380 积分

该会员没有填写今日想说内容.

我要回帖

更多关于 改变单片机输出频率 的文章

 

随机推荐