8051单片机C代码的翻译
有人能解释一下上面的代码是什么意思和作用吗。它是为8051微控制器编写的 我从这里得到的8051单片机C代码的翻译,c,8051,C,8051,有人能解释一下上面的代码是什么意思和作用吗。它是为8051微控制器编写的 我从这里得到的 没有上下文很难说。我猜是这样的: timer0中断例程每100秒调用一次。在那里,它会增加勾号计数器,一旦大于3500,计数器就会重置为0。sec计数器似乎是第二个计数器,因为它每100次调用timer0(每秒调用100次)就会递增一次 extrint似乎在某些外部事件上被调用。它只是将勾号的实际值复制到bt(可能是为了进一步处理)并将勾号重置为0。eh?评论已经这么做了……@AnthonyLambert我
没有上下文很难说。我猜是这样的:
timer0
中断例程每100秒调用一次。在那里,它会增加勾号
计数器,一旦大于3500,计数器就会重置为0。sec
计数器似乎是第二个计数器,因为它每100次调用timer0
(每秒调用100次)就会递增一次
extrint
似乎在某些外部事件上被调用。它只是将勾号的实际值复制到bt
(可能是为了进一步处理)并将勾号重置为0。eh?评论已经这么做了……@AnthonyLambert我还是不明白。第一次与microcontrollers@kai:在继续之前,您可能应该对微控制器和C编程语言有所了解。我搜索了“8051微控制器pdf”,发现这个。。。也许你应该看看,然后也许你可以回来问一些问题。谢谢。一定会经历这一切
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;
}
}