- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于C8051F041的高精度频率计设计
2.1 C8051F041单片机
本系统中的C8051F041单片机是一款全集成的混合信号片上系统型MCU,具有32个数字I/O引脚和高精度可编程的24.5 MHz内部振荡器,以及64 KB在片FLASH存储器,同时片内还集成了一个CAN2.0B控制器、5个通用16位定时器、真正12位100 ksps的ADC、两个12位DAC以及硬件实现的SPI、SMBus/I2C和两个UART串行接口。
2.2 硬件电路
系统硬件主要由放大整形电路、键盘电路、LCD显示电路、RS232串口等部分组成。放大整形电路主要对待测信号(如正弦波、三角波、锯齿波、方波等)进行幅值放大,施密特整形为TTL电平的矩形波,同时去除噪声干扰。键盘电路采用独立键盘,可控制测频的启停和数据是否上传等。液晶显示电路采用16×2字符的LCDl602液晶显示,可配置成8位接口方式,以对测量频率进行同步显示。测量数据可通过RS232串口上传至上位机,并在上位机软件中保存。这种方式特别适用于长时间多次测量频率值的场合。
3 软件设计及调试
本系统的软件部分包括C805lF041单片机的主控程序和上位机软件。
3.1 C805lF041主控程序
主控程序可用C语言编写,采用定时器T2作为预置门控制器时间,定时器T1用于串口通信,计数器C3作为待测信号计数器,计数器C4作为基准频率计数器。在主控程序中,可将标准信号计数值N0定义为unsigned long int型变量,其计数范围为0~(232一1),即0~4.29496729-5x109。图3所示是其主程序流程图。
3.2 上位机VB软件
为了提高测量频率值的可分析性,本系统利用VB6.0提供的用于RS232串行通信的MSCOMM.OCX控件来编写上位机串口数据的采集和测频值的保存软件。软件可实时读取单片机测得的频率值,并在PC机显示。同时该软件还可将测量数据与系统时间共同保存,以便于多次测量时对数据的记录和分析计算。
4 结束语
本频率计在0~10 MHz的频率范围内具有相同的测量精度。考虑到测频的精度和稳定性,标准信号源应选用精度为10-8的lO MHz标准石英晶振,以提高测频精度,同时也可缩短测频时间。此外,利用C805lF单片机的性能优势,将等精度测频系统的主要部分用C805lF041实现,也简化了电路结构,缩短了测频时间,提高了系统设计的可靠性,具有较高的实用价值。
作者:杨明涛,杨海明,侯文,郑宾 来源:电子元器件应用