时间间隔计数器检定规程,时间间隔计数器

tamoadmin 成语解读 2024-06-08 0
  1. 八位频率计中十进制计数器的作用

不知道你用的是哪个品牌的PLC。

有的PLC有一条测频指令(SPD)

要是你的脉冲频率基本固定的话,也可以自己做一段程序,比如做一个定时中断,每次中断计算一下脉冲数的变化,然后定时中断的时间长除以脉冲数就是每个脉冲的时间。

时间间隔计数器检定规程,时间间隔计数器
(图片来源网络,侵删)

八位频率计中十进制计数器的作用

void dis_cnter(void) 显示计数器值子程序开始

{uchar i; 定义字符型局部变量i

P3_7=1;P3_6=1; 消隐有效,允许显示

for(i=0;i8;i++) 循环8次

{SBUF=SEG7[cnt];while(!TI);TI=0;} 根据8个单元的计数值查表发送显示

P3_7=0; 关闭消隐,正常显示

} 显示计数器值子程序结束

void cnter(void) 计数转换子程序开始

{uchar i; 定义字符型局部变量i

for(i=0;i7;i++) 循环8次

{if(cnt9){cnt=0;cnt[i+1]++;}}若计数器某位值大于9,则该位回0,

而高位被进位加1

------------------------------------

if(cnt[7]9){for(i=0;i8;i++)cnt=0;} 若计数器最高位值大于9,则计数器全清0

} 计数转换子程序结束

void pt_cnt(void) 输出控制子程序开始

{

if((cnt[0]==pre_cnt[0])&&(cnt[1]==pre_cnt[1])&&

(cnt[2]==pre_cnt[2])&&(cnt[3]==pre_cnt[3])&&

(cnt[4]==pre_cnt[4])&&(cnt[5]==pre_cnt[5])&&

(cnt[6]==pre_cnt[6])&&(cnt[7]==pre_cnt[7])) 若计数值等于预置值

out_flag=1; 输出标志置1

else out_flag=0; 否则输出标志置0

=================================================

if(out_flag)drv=0; 若输出标志为1,输出端(P3.4)置0,驱动光耦U2

else drv=1; 否则输出端(P3.4)置1

} 输出控制子程序结束

void main(void) 主程序开始

{ IE=0x84; 开放CPU中断,开放外中断1的中断

IT1=1; 置外中断1为边沿触发

while(1) 无限循环

{P3_6=0;P3_7=1; 禁止发送给显示器,消隐有效

SBUF=0x00;while(!TI);TI=0; 向IC2发送0x00,使IC2输出为全0

if((P3&0x24)!=0x24)keydown_flag=1; 检测P3.2、P3.5是否为高电平。

若不为高电平,说明有键按下,键被按下标志置1

else keydown_flag=0; 否则,键被按下标志置0

-------------------------------------------------------------------------------

SBUF=0xfe;while(!TI);TI=0; 向IC2发送0xfe

if(!P3_2)set_flag=!set_flag; 若P3.2为0,说明S9键按下,标志set_flag取反

==================================================

if(!set_flag){cnter();dis_cnter();pt_cnt();delay(100);}

若标志set_flag为0,调用计数、显示计数、输出控制的子程序

else {scan_key();dis_pre_cnter();delay(10);}

否则标志set_flag为1,调用扫描S1~S8键、显示预置值的子程序

=====================================================

if(keydown_flag)delay(300); 因有键按下,调用延时300mS子程序,

以免调整键值的速度过快

}

} 主程序结束

void extern_int1(void) interrupt 2 using 1 外中断1服务子程序

{

cnt[0]++; 计数器的最低位加1

}

八位频率计中十进制计数器起到以下几个作用:

1、计数:十进制计数器根据输入信号的频率进行计数,记录信号周期内的脉冲数量。通过持续计数,可以得出较准确的频率值。

2、显示:十进制计数器将计数结果转换为十进制数值,并以数字形式显示在频率计的显示屏上。这样用户可以直观地了解输入信号的频率水平。

3、刷新:十进制计数器通常以固定的时间间隔对显示屏进行刷新,更新显示的频率数值。刷新过程保证了频率计显示的准确性和稳定性。总的来说,十进制计数器作为八位频率计的一个组成部分,负责测量、记录和显示输入信号的频率数值,帮助用户了解和评估信号的频率特征。