|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
关于STC89C52单片机的延时程序,晶振12MHz,机器周期1us,程序如下:void Delay1ms() //@12.000MHz; \ B k" w2 Q, ~; ~& g( T
{/ q- t0 b& V0 V& Y6 i0 v: g) s
unsigned char i, j;1 |( k" ?$ Q' P; \1 J6 q" r: e" i* O
1 A9 e% `+ U4 G& z9 T0 |
0 Z# g' }" J) \2 w+ @! X& t i = 2; //1us
7 V1 c5 E2 j+ L4 W1 y0 c j = 239; //1us8 U3 ^. L5 h. t7 p
do5 x, _8 @# v8 v! v5 Q
{( C, K# `5 D( G9 M; i4 Q$ U
while (--j);
* O7 p$ w" k7 c) L5 X O } while (--i);
2 ^* A2 L6 Y; f2 v8 g}
! r( `+ P4 X7 Q! m& E8 G延时时间的计算:497*2+1+1+2+2=1000us=1ms# c; p3 K |2 [0 n3 g4 e
5 V3 o8 ]% ?) Y6 _! I2 C$ a t循环体执行了497次也即是497个机器周期,我不明白的为什么还要乘以2,还望告知,详细一点。
( I. ]7 @4 ?9 Q& f0 f% {. | |
|