根本不能保证是1ms,会有10%的误差,谈何精确!?
首先,连晶振频率都没说明,谈延时连个基准都没有 其次,没有main()程序,或没有调用delay1ms(void)的示范句,瞎子摸象 最要命的是,delay1ms(void)片时时间不定, OldTimerCounter = TimerCounter;这句执行时,TLO可能是255,也可能等于TH0, 也就是说T0中断可能马上发生,也可能过100us后才发生, while((TimerCounter-OldTimerCounter)<=10*1) 这句的待时间就变成 900US~1000US不定,误差这么大还说精确?
|