新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)的匯編延時(shí)程序

單片機(jī)的匯編延時(shí)程序

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


評論


技術(shù)專區(qū)

關(guān)閉