有关固纬数字频率计软件子程序的设计
发布日期:2021-07-23 浏览次数:653
固纬数字频率计提供频率与周期测量,在高频与低频,均具有高解析度。频率范围在0.01Hz-1.3GHz,高灵敏度为10mVrms,1Hz档解析度为100nHz,可调式触发电平控制,具备显示锁定功能。 固纬数字频率计的软件子程序的设计:
1.键盘中断服务子程序
因频率计的测量项目较多,所以在系统初始化时,将默认测量项目设置为测频,且预置闸门时间设置为1ms。具体做法就是在主程序的系统初始化部分,将测频选择键的键值以及预置闸门时间设置代码写入单片机RAM单元中去。这样开机后即使用户没有选择任何测量项目键,也能进行频率测量。
2.软件计数器子程序
频率计所需要的不同闸门预置时间信号是由单片机产生的。由于预置闸门时间的范围很宽,max为10s,min为1ms,仅用单片机中的定时器硬件是不能实现的,需采用软硬件相结合的方法来实现。其具体实现方案为将C/T0定时器/计数器设置为由引脚高电平启动的方式定时器T0,初始化将其初值设为0。该计数器的启动过程如下:
主程序首先将单片机6脚置为高电平(逻辑1)发出预置闸门信号,该信号经同步电路而产生高电平的同步门信号,从而使单片机引脚变为高电平,C/T0定时器中的计数器就被启动开始计数。
3.数据处理子程序
当事件计数器和时间计数器的计数值NA,NB被读到单片机中后,通过调用数据处理子程序,根据过去读入并保存在单片机RAM单元中的测量项目的键值,预置闸门值代码,判断出所要测量的参数项目,对计数值NA,NB进行相应的处理,求出所测参数的值和单位,最后应将参数值转换为十进制数,再转换为驱动LED数码显示器的段码以及驱动三个单位符号指示灯之一的位码,作为显示子程序的输入数据,存放在9个RAM单元组成的显示缓冲区中。对计数值NA,NB的处理运算要用到除法和乘法,为了提高运算精度,应当采用浮点运算。显然,采用C语言来编写这些运算程序可大大提高编程效率。