51单片机的延时问题
51单片机在延时,用c来写代码,
void delay(unsigned int i)
{
while(--i);//执行一次--i是多长时间?
}
所用单片机为AT89s51,晶振为12MHZ,用这个程序来延时,精度有多高啊,调用此函数delay(35530)延时的时间多少啊;
汇编延时一秒的程序
delay:MOV R7,#10
D1: MOV R6,#200
D2: MOV R5,#248
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
所用单片机为AT89s51,晶振为12MHZ,一个指令周期为1us,时间的计算是怎样的,小弟对汇编不是很熟悉,