50ms延时;一般书上的程序
DEL: MOV R7,#200LO: MOV R6,#123NOPL1: DJNZ R6,L1DJNZ R7,L0RET可是这个程序实际上延时50.001ms,多了一个机器周期,其实这个问题是不可能由一个二重循环完成准确延时的,有必要选用三重循环我的程序;DEL: MOV R5,#29L0: MOV R7,#22L1: MOV R6,#6L2: DJNZ R6,L2DJNZ R7,L1DJNZ R5,L0RET
此刻准确延时50ms,而且三个寄存器里的数值是能够改变的,这儿要评论的是,为什么不能,或说不容易用一个二重循环去完成一些准确的延时程序,而三重循环确一般是能够的,在数学上,是一些函数数值的遍历性,他与接连函数的因接连而具有的介值性有所不同,是不是也存在一些值,用三重循环也不能完成呢?所以咱们开始使用四重?充要条件是什么呢?