理论教育 基于捕捉功能的频率计设计

基于捕捉功能的频率计设计

时间:2023-10-19 理论教育 版权反馈
【摘要】:CCP1模块捕捉模式的信号输入引脚是RC2,信号电平为标准TTL电平信号。编程实现频率计的功能,即在4位数码管W1上显示当前信号发生器SG1产生信号的频率,设频率小于10000。程序运行效果是W1显示的数字与F1显示的数字基本相同。

基于捕捉功能的频率计设计

CCP1模块捕捉模式的信号输入引脚是RC2,信号电平为标准TTL电平信号。若信号不是标准的TTL信号,还需要在信号接入RC2之前加入调理电路,使信号调理为TTL电平后再输入给RC2。

下面通过编写一个简单的频率计来学习CCP1模块捕捉模式的编程方法。

【例12-1】电路图如图12-2所示。编程实现频率计的功能,即在4位数码管W1上显示当前信号发生器SG1产生信号的频率,设频率小于10000。

电路图在光盘位置:“\Example\Chapter12\S121\Freqmeter.DSN”。

978-7-111-33274-9-Chapter12-10.jpg

图12-2 基于CCP1模块捕捉模式的频率计电路图

题意分析

●4位数码管W1的字形用B口,位选用D口低4位,可以直接使用前几章编写的4位数码管扫描显示模块来实现,但本章为了方便读者初次阅读,在本例的代码列表中加入了此模块的源代码

●RC2连接了两个设备:信号发生器SG1和频率计F1。SG1用来产生某种波形,本例中为简单起见,设为方波,且振幅为5V,如图12-3所示。F1采用频率计方式运行,用来显示当前信号频率,用做参考值与W1显示内容作比较。当程序运行时,单击F1即可显示F1的配置窗口,如图12-4所示。

978-7-111-33274-9-Chapter12-11.jpg

图12-3 信号发生器SG1的状态设定图

978-7-111-33274-9-Chapter12-12.jpg

图12-4 频率计F1的状态设定图

●根据刚刚学习的知识,用RC2可以使用CCP1模块的捕捉功能实现相邻两次上升沿时间间隔的测量,此时间间隔就是输入信号的周期。由于主频是4MHz,即每个指令周期为1µs,若预分频比为1∶1,测量周期结果的单位就是µs,用1000000除以测量周期结果就得到了信号的频率。

●由于其捕捉到跳变后会使CCP1IF置位,既可以采用查询方式,也可以采用中断方式处理。本例采用中断方式。

●在中断方式下,把相邻两次中断时的捕捉值求差就得到了此信号的周期(单位是1µs),进而就能得到信号频率。但测量信号频率很高时,其中断发生的频率也很高,如果不做处理,则会严重影响数码管扫描效果。为了降低中断发生的频率,在中断过程中测得一次频率后就关闭CCP1模块中断,然后当数码管扫描函数执行完毕后再打开CCP1模块中断,这样就解决了中断频率过高的问题。

设计过程(www.daowen.com)

1)用MPLAB新建项目S121,语言工具选择为“HI-TECH Universal Toolsuite”,保存在“C:\S121”文件夹下。

2)新建main.c文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-13.jpg

978-7-111-33274-9-Chapter12-14.jpg

978-7-111-33274-9-Chapter12-15.jpg

3)新建seg74.h文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-16.jpg

4)新建seg74.c文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-17.jpg

978-7-111-33274-9-Chapter12-18.jpg

5)新建delay.h文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-19.jpg

6)新建delay.c文件并加入项目中,其内容如下所示。

978-7-111-33274-9-Chapter12-20.jpg

7)程序录入完毕后,保存并成功编译出S121.cof。然后用调试工具Proteus VSM加载Freqmeter.DSN。启动VSM后运行程序。程序运行效果是W1显示的数字与F1显示的数字基本相同。

这里解释一下为什么W1显示速度比F1显示快,但是W1显示的频率值没有F1的准确。这是因为两者的算法和测量精度不同。程序中采用的是简单的倒数算法,即已知一个周期,求其倒数就得到了频率,但由于主频是4MHz,最小测量单位是1µs,使测量结果存在微小硬件误差。而频率计F1采用的是记录一段时间(如1s)内的脉冲次数来测量信号频率,其测量精度高于本例程序,这样其准确率高,但显示刷新速度较慢。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈