第1个回答 2009-09-28
楼上的算法忽略了循环外部的几条指令的执行时间,精度影响不大。
但是对循环内部的指令的执行时间,计算有误。
指令 DJNZ R3,$ 的指令周期为2个机器周期!
晶振频率为6MHz,则机器周期为2微秒;
Y=62248×2×2微秒=124496×2微秒=124.496×2毫秒=0.249秒。
第2个回答 2009-09-28
0FBH=251;
0F8H=248;
程序延时Y=248×251=62248;
晶振频率为6MHz,则机器周期为2微秒;
Y=62248×2微秒=124496微秒=124.496毫秒=0.124496秒。
第3个回答 2009-10-05
我利用wave6000将你的程序执行了一遍,晶振12M用时125244us,那么6M晶振就是125244*2=250488us=250.488ms
并且你的程序中,#0FB中0写成了O(字幕o)
计算方法:如zhouwude所说,很清楚
建议将分给他,我是抱着共同学习的目的来的