614771539
0263-588406949
导航

用PIC16F87X单片机实现高分辨率频率计的一种方法

发布日期:2022-07-07 00:13

本文摘要:1章节随着电子技术的很快发展,以单片机为掌控核心的掌控器件,早已全面渗透到测试仪器和计量测验的各个方面。同时,频率计作为一种常用工具,在工程技术和无线电测量、计量等领域的应用于十分普遍。本文讲解了一种以PIC16F87X系列单片机为控制器的高分辨率频率计的构建方法。该方法设计的频率计主要用来测量脉冲频率。 它使用LCD图形液晶显示,清晰度低,可用范围广,可外接晶体频率源,具备测量速度快、分辨率低的优点。

nba买球正规官方网站

1章节随着电子技术的很快发展,以单片机为掌控核心的掌控器件,早已全面渗透到测试仪器和计量测验的各个方面。同时,频率计作为一种常用工具,在工程技术和无线电测量、计量等领域的应用于十分普遍。本文讲解了一种以PIC16F87X系列单片机为控制器的高分辨率频率计的构建方法。该方法设计的频率计主要用来测量脉冲频率。

它使用LCD图形液晶显示,清晰度低,可用范围广,可外接晶体频率源,具备测量速度快、分辨率低的优点。2设计原理PIC16F877A单片机内部构建有捕猎/较为/脉宽调制PWM(CCP)模块。当CCP工作在捕猎(capture)方式时,可捕猎外部输入脉冲的下降沿或上升沿,并产生适当的中断。

PIC16F877A单片机内部还构建了定时器/计数器模块,在本方案中使用其中的TMR1作为定时器,该定时器的工作原理是通过TMR1寄存器对TMR1H:TMR1L从0000H递减到FFFFH,之后再行回到0000H时,不会产生高位阻塞,并且将不会设置阻塞中断标志位TMR1IF为I,同时引发CPU中断号召。在均匀分布的脉冲序列中,脉冲频率值相等单位时间内再次发生的脉冲次数。根据这个原理,可以使用PIC16F87X系列单片机(本文以PIC16F877A型单片机为事例)内置定时器模块TMR1计时,同时用于CCP模块的捕猎功能,每间隔n(n=1,4,16)个脉冲捕猎一次并产生中断,记录第1个和第(m-1)*n+1个脉冲来临时的定时器计时t1和tm,如图1右图。图1脉冲捕猎示意图用被捕猎的脉冲次数除以第1次和第(m-1)*n+1次脉冲之间间隔的时间才可获得脉冲频率值。

因此,脉冲频率值计算公式为:3被测频率值范围在测试过程中,必须特别注意的是,两次CCP中断的时间间隔必需小于1次中断服务的继续执行时间。否则,如果在中断服务程序继续执行时又再次发生CCP中断,就无法长时间工作。根据上述条件,则有:由上式获得:式中:  SCCP回应捕猎方波倍数。  fx回应被测频率t  TCYC回应系统时钟周期。

  N回应中断所须要大于指令周期数。原作:SCCP=16,N=40,TCYC=4/20MHz=0.2us,则:fx2,000,000Hz由此可知,实际频率测量范围在0-2MHz之间。若需测量更大频率,可以根据必须在待测频率和CPU的CCP口之间终端适当倍数的分频器,每终端一个1/n倍分频器,可测频率范围可不断扩大n倍(如图2右图)。如在待测频率和CCP口之间终端三个1/10倍分频器,则有界频率范围为0~2GHz。

图2CPU外接示意图4程序设计4.1中断程序中断程序流程图如图3右图。图3中断子程序流程图中断服务子程序如下:voidinterruptTMRI_CCP2_ini(void){if(TMR1IF==I)//辨别否定时器中断{TMRIIF=0;//TMR1中断标志位清0TMR1ON=0;//重开TMR1TMR1L=0x00;//设置TMR1数据寄存器初始值0x0bdcTMR1H=0x00;TMR1ON=1;?//打开TMR1time_count++;//定点计数器减半1}if(CCP2IF==1)//辨别否CCP2中断{if(ccp_count==0){TMR1IE=1;//容许TMR1中断TMR1IF=0;//TMR1中断标志位清0T1CON=0x30;//设置1:8方波,重开TMR1TMR1L=0x00;//TMR1数据寄存器清零TMR1H=0x00;TMR1ON=1;//打开TMR1中断}CCP2IF=0;//CCP2中断标志位清0ccp_count++;//脉冲计数器特1}}4.2测试过程程序程序流程图如图4右图。图4主程序流程图测试过程程序如下:unsignedlongmeasure_course(unsignedcharcatch_mode){time_count=0;//定点计数器清零ccp_count=O//脉冲计数器清零GIE=1;//容许全局中断PEIE=1;//容许外围中断TRISC1=0;//CCP2(RC1)输出CCP2IE=1;//容许CCP2中断CCP2IF=0;//CCP2中断标志位清0CCP2CON=catch_mode;//设置捕猎脉冲模式e();//中断开始while(1)//等候定点中断,时间到则解散if(ccp_count==2)break;di();//中断完结TMR1ON=0;//重开TMR1CCP2CON=0x00;//重开CCP2CCP2IE=0;//重开CCP2中断CCP2IF=0;//CCP2中断标志位清0TRISC1=0;//CCP2(RC1)输入TMR1IE=0;//重开TMR1中断TMR1IF=O;//TMR1中断标志位清0PEIE=0;//重开外围中断GIE=0;//重开全局中断}5性能评价传统的频率测量方法有两种:一是测量周期欲频率,这样对被测频率信号的信噪比拒绝低,否则就不会产生较小的误差;另一种是计算出来单位时间内所产生脉冲数量,虽然这种方法对信噪比拒绝不低,但是表明分辨率受到限制,并且不会产生1的误差。本方案抛弃了传统的测量方法,使用测量脉冲个数及计算出来被测脉冲所经历时间的方法,完全避免了传统方法的弊端。

在本方案中,CPU接外频标(如图2右图),测量误差仅有为时基误差,而较好的外频标的误差一般大于10-9,因而测量结果的有效数字最多平均8位以上,使得低频测量与高频测量的有效位数完全一致。6结语经过测试试验,用于该方法研制的频率计具备测量准确度低、使用方便、平稳可信的优点,可应用于计量测试领域。同时由于用于软件掌控,电路结构非常简单,用于硬件较少,使得成本便宜且携带方便,因此也可普遍应用于工农业生产和居民生活中,具备推展价值。


本文关键词:用,PIC16F87X,单片机,实现,高分辨率,频率计,的,nba买球正规官方网站

本文来源:nba买球正规官方网站-www.jnsxjzs.com