问题测量两个脉冲之间的时间

Z

zanor

Guest
只是为了好玩
, 我想为我的汽车数字转速表。但是我无法取得准确的读数。
我用示波器测量应该有〜0,06802721秒当我之间的发动机怠速脉冲(14,7赫兹)。“TMR_count”在我的源代码应该是66后。但我得到61。这是〜0.00512秒速度太慢,为什么?
在计时器有一些延误/中断操作我不知道?

我使用的一个面包板1 PIC16F84a。请问“长”的方式从晶体的微芯片慢下来?电缆是〜3-4厘米...

这是我的代码,在MikroC格式。
代码:#包括<built_in.h> / /对于卢();&喜();= 0整合酶;

廉政TMR_count = 0; / / 1X的= 0.001024秒

廉政TMR_value = 0; / / 1X的= 0.000004秒

廉政转速= 0;

浮动时间= 0;无效中断()(

如果(INTCON.INTF)



如果(1“= 63)



TMR_value = TMR0;

TMR0 = 0;时间=(TMR_count * 0.001024) (TMR_value * 0.000004); / /时间两火花

转速=(1 /次)* 60; / /转速,2卷取机和浪费火花= 1火花/革命EEPROM_WRITE(一,TMR_count);

一 ;

EEPROM_WRITE(一,TMR_value);

一 ;TMR_count = 0;



INTCON.INTF = 0;



如果(INTCON.T0IF)



TMR_count ;

INTCON.T0IF = 0;



)无效的main()(

门= 0;

特里沙= 0b00001000;

PORTB的= 0;

TRISB = 0b00000001;PORTB.B3 = 1;

Delay_MS(1000);

PORTB.B3 = 0;INTCON.RBIF = 0;INTCON.GIE = 1; / /允许中断

INTCON.INTE = 1; / /启用包中断

INTCON.T0IE = 1; / /允许定时器0 owerflow中断OPTION一= 0x81; / /上拉禁用!而(1);)

 
执行的EEPROM写在你的中断在一个疲惫的EEPROM函数的结果
, 至少在几个小时的时间误差也很大。

 
有限体积说:

执行的EEPROM写在你的中断在一个疲惫的EEPROM函数的结果,至少在几个小时的时间误差也很大。
 

Welcome to EDABoard.com

Sponsor

Back
Top