50ms延時(shí);一般書(shū)上的程序DEL: MOV R7,#200LO: MOV R6,#123NOPL1: DJNZ R6,L1DJNZ R7,L0RET但是這個(gè)程序實(shí)際上延時(shí)50.001ms,多了一個(gè)機器周期,其實(shí)這個(gè)問(wèn)題是不可能由一個(gè)二重循環(huán)實(shí)現精確延時(shí)的,必須采用三重循環(huán)我的程序;DEL: MOV R5,#29L0: MOV R7,#22L1: MOV R6,#6L2: DJNZ R6,L2DJNZ R7,L1DJNZ R5,L0RET
此時(shí)精確延時(shí)50ms,并且三個(gè)寄存器里的數值是可以變化的,這里要討論的是,為什么不能,或說(shuō)不容易用一個(gè)二重循環(huán)去實(shí)現一些精確的延時(shí)程序,而三重循環(huán)確一般是可以的,在數學(xué)上,是一些函數數值的遍歷性,他與連續函數的因連續而具有的介值性有所不同,是不是也存在一些值,用三重循環(huán)也不能實(shí)現呢?于是我們開(kāi)始使用四重?充要條件是什么呢?
評論