網上看到很多程序即使初始化時已經設置為自動重裝,但是時間中斷函數里仍然有重新賦值語句,例如:
void Time0() interrupt 1
{
TH0 = (65535-15000)/256; //重新賦值語句
TL0 = (65535-15000)%256; //重新賦值語句
if(++tc0 == 10)
{
tc0 = 0;
P0 = _crol_(P0,1);
}
}
但是STC官網給出的一個例程卻沒有重新賦值語句:
void timer0_int (void) interrupt TIMER0_VECTOR
{
P17 = ~P17;
}
不知什么原因。
在高速運算時多兩個語句耗時很明顯。
|