电路总图
图8电路总图
五 程序设计
等精度频率计的软件设计主要由主程序、分频选择程序、显示程序组成。 等精度频率计的算法设计:
根据设计要求频率范围是10HZ~100MHZ,当频率为10HZ时,T=100000us,高电平为50000us,0.1%的误差为100us,由单片机产生的基准频率为1MHZ,T0=1us,最大误差为1us,计数个数为50000(方式1),满足设计要求。当频率增加到1KHZ时,产生的误差刚刚能达到设计要求,这时计数个数为500。当频率大于1KHZ时(即计数个数小于500)就需要将被测频率分频后再测量,如当频率为10KHZ时,先计算计得的脉冲数等于50,小于了500,所以将10KHZ的信号10分频得到1KHZ,这时就满足要求了。
106?10i 最后得到的频率 f=2n其中n为计得的脉冲个数,i为分频的次数。 主程序:
主程序首先对系统环境初始化,设置分频选通信号P2=0x00,选通0通道。设置T0工作方式,采用硬件启动方式,GATE=1,当INT0和TR0同时为1时启动计时,计数方式为方式1(16位),TH0和TL0都置零。当外部中断INT0=1时等待,当外部中断为0时启动T0即TR0=1,当INT0一直为0时就等待,一旦INT0=1就启动计数同时等待,当INT0为0时跳出并关闭T0即TR0=0。这样就计得高电平期间基准脉冲个数,当脉冲个数小于500时就选择10分频信号,即P2自加1,同时记录分频一次;如果分频后脉冲个数还小于500则再次分频,直到计数个数大于500。其示意图如图9所示,主程序流程图如图10所示。
相关推荐: