设计要求
(1)以MCS-51系列单片机为控制器件,用C语言进行程序开发,结合外围电子威廉希尔官方网站
,设计一款数字频率计;
(2)能够对1HZ~20MHZ正弦波、三角波、方波信号等周期信号的频率进行测量;
(3)测量误差:低于0.1%;
(4)频率测量结果采用LCD1602液晶显示;
系统概述
本设计给出了一种以AT89C52单片机为控制核心的数字频率计设计方案。方案由6个部分组成,分别是电源模块、单片机最小系统、信号放大模块、整形模块、分频模块和显示模块。
工作原理为:电源模块为整个系统提供稳定的5V工作电压,用户通过信号源输入周期性信号,输入信号经三极管威廉希尔官方网站 放大和施密特触发器整形后,变成单片机可以识别的方波,方波再通过分频威廉希尔官方网站 完成100倍分频。
当输入信号的频率低于200KHZ时,单片机直接读取并计算分频前单位时间(1S)内采集到的信号脉冲个数,即为信号频率;
当输入信号的频率超过200KHZ时,单片机读取计算的是经分频后的信号脉冲个数,然后再通过数据处理换算成实际频率。
最后,单片机将频率测量值输出到LCD1602显示器上实时显示。
Proteus仿真威廉希尔官方网站
原理图及PCB
实物制作图
仿真结果分析
打开Proteus仿真文件,文件后缀名为DSN。双击单片机,加载Program.hex文件(位于C程序文件夹内),运行仿真,结果如下所示。
仿真运行时,会弹出VSMCounter Timer和VSM Signal Generator两个窗口,VSM Counter Timer用于显示标准频率。
在仿真中,当被测信号电压大于5V时,VSM Counter Timer才会正常工作。这并不意味着,在实际频率计实物测试中,被测信号源电压要大于5V才行。
实际上,被测信号电压在几十mV,在示波器上一样可以查看显示,并不影响频率的测量,这只是仿真的局限性。
VSM Signal Generator用于调整被测信号的频率,它有四个旋钮,它们的功能用途如下表所示。
在仿真中,主要调节Centre和Frequency旋钮,设定好频率档位后,转动Centre旋钮改变频率,LCD1602显示器就会跟随显示。
当被测信号频率为几百、几千HZ时,其仿真结果如下所示。
频率测量误差计算为:
被测信号频率在几十、几百HZ时,频率能很快被测量出来;当频率达到KHZ时,由于单片机运算性能有限,可能需要花费几分钟才会有仿真结果。
当频率达到MHZ以上时,例如被测信号频率设定为1.17MHZ时,单片机运算花费12分钟左右,才计算出频率值。
频率测量误差计算为:
综上所述,本次频率计仿真设计满足量程、误差等要求。
C代码
//-------------------定时/计数器初始化--------------
void timer_init(void) //定时/计数器初始化
{
TMOD=0x66; //计数器0和计数器1工作工作方式2,自动重装初值
TH0=0; //计数器初值为0
TL0=0;
TR0=1; //计数器开始计数
ET0=1; //打开计数器0中断
TH1=0; //计数器初值为0
TL1=0; //资源获取,作者QQ:2327603104;
TR1=1; //计数器开始计数
ET1=1; //打开计数器1中断
RCAP2H=(65536-62500)/256; //在程序初始化的时候给RCAP2L和RCAP2H赋值,
RCAP2L=(65536-62500)%256; //TH2和TL2将会在中断产生时自动使TH2=RCAP2H,TL2=RCAP2L。
TH2=RCAP2H; //12M晶振下每次中断62.5ms(1s=1000ms=62.5ms×16)
TL2=RCAP2L;
ET2=1; //打开定时器2中断
TR2=1; //定时器2开始计时
EA=1; //开总中断
}
//------------------中断函数----------------------
void timer2(void) interrupt 5 //定时器2中断(62.5ms)
{
time++;
TF2=0; //定时器2的中断标志位TF2不能够由硬件清零,所以要在中断服务程序中将其清零
if (time==16) //定时1s时间到
{
time=0; //计时清0
EA=0; //关中断
fre=(long)count1*256+TL1; //count*256强制转换成long型,否则将不产生进位~先判断分频后(计数器1)
FLAG = 0;
if(fre<2000)//如果不到200KHz则读取分频前(计数器0)频率(200K÷100=2000)
{
fre = (long)count*256+TL0;
FLAG = 1;
}
资源内容
(1)基于51单片机的数字频率计设计论文完整版;
(2)C程序;
(3)Proteus仿真;
(4)原理图及PCB文件;
(5)Visio流程图文件;
(6)元器件清单;
(7)英文文献翻译;
(8)参考资料及文献;
资源截图
更多回帖