使用INT 15H。MOV AH,86H是延迟。某资料上写参数CX:DX=千分秒,这十分令人费解,研究了一番,发现是是延时(CX*2^16+DX)个百万分之一秒,CXDX相当于作一个64位寄存器,CX高位,DX低位
就是一般的延时子程序就行.例如下面就是10MS方波,用示波器就可看到.可改变延时程序的参数即改变了方波的宽度.LOOP:SETBP1.0 CALLDELAY CLRP1.0 CALLDELAY SJMPLOOP DELAY1:MOVR5,#20 MOVR6,#248 DJNZR6,DJNZR5,$-2 RET END
相比于汇编语言的准确性c语言延时精确度如何提升 只要合理的运用,C还是可以达到意想不到的效果。很多朋友抱怨C效率比汇编差了很多,其实如果对Keil C的编译原理有一个较深入的理解,是可以通过恰当的语法运用,让生成的C代码达到最优化。即使这看起来不大可能,但还是有一些简单的原则可循的:1.尽量使用unsigned 型的数...