想用定时器写一个延时,初始化程序如下:
/**********************
* TIMER 初始化
**********************/
void TIM_INIT(void)
{
_tmpc = 0x00;
//TM0 模块初始化
_tm0c0 = 0b01010000; //计数器频率1MHz
_tm0c1 = 0b11000000; //计数模式
_tm0al = 100; //100us定时计数值
_tm0ah = 0; //100us定时计数值
_t0on = 1;
_t0ae = 1;
_mf0e = 1; //Timer0 interrupt
_emi=1;
}
那么接下来怎么写呢?
void Delay(unsigned int nop_step)
{
while(nop_step != 0)
{
nop_step--;
}
}
这样的延时程序应该不精确吧 |