翻译8051微控制器C代码

Translating 8051 microcontroller C code

void extrint (void) interrupt 0 // external Interrupt to detect the heart pulse
{
  bt = tick;  // number of ticks are picked
  tick = 0;   // reset for next counting
}

void timer0 (void) interrupt 1 using 1 // Timer 0 for one second time
{
  TH0 = 0xdc; // The value is taken for Ssc/100 at crystal 11.0592MHz
  sec100++;   // It is incremented every Ssc/100 at crystal 11.0592MHz
  tick++;     // This variable counts the time period of incoming pulse in Sec/100

  if (tick >= 3500)
     {tick = 0;} // tick are limited to less than 255 for valid calculation

   if (sec100 >= 100) // 1 sec = sec100 * 100
   {
     sec++;
     sec100=0;
   }
 }

谁能解释一下上面代码的含义和作用。它是为 8051 微控制器编写的。

我从这里得到的 http://www.zembedded.com/heart-rate-beats-meter-with-microcontroller-at89c51-based-heartbeat-monitor/

没有上下文很难说。我猜如下:

timer0 中断例程每 100 秒调用一次。它在那里递增 tick 计数器,一旦它大于 3500,它就会重置为 0。sec 计数器似乎是第二个计数器,因为它每第 100 次调用 timer0 递增(每秒调用 100 次)。

extrint 似乎是在发生某些外部事件时调用的。它只是将 tick 的实际值复制到 bt 中(大概是为了进一步处理)并将 tick 重置为 0.