8051單片機(jī)中DPTR的擴(kuò)展設(shè)計(jì)
——
1 DPTR擴(kuò)展意義
為描述8051中的DPTR擴(kuò)展的意義,我們針對(duì)實(shí)現(xiàn)大規(guī)模數(shù)據(jù)轉(zhuǎn)移,分別對(duì)DPTR擴(kuò)展前后作了對(duì)比。為使對(duì)比更加清晰明了,提出了數(shù)據(jù)轉(zhuǎn)移執(zhí)行效率的概念。
數(shù)據(jù)轉(zhuǎn)移執(zhí)行效率v定義為進(jìn)行單字節(jié)數(shù)據(jù)轉(zhuǎn)移所耗費(fèi)的機(jī)器周期數(shù),即v=nt。其中,n表示所轉(zhuǎn)移數(shù)據(jù)字節(jié)數(shù);t表示所耗費(fèi)的機(jī)器周期,可設(shè)定其單位為字節(jié)/機(jī)器周期。
在未進(jìn)行DPTR擴(kuò)展的8051中,可通過(guò)設(shè)置地址緩沖區(qū)的方法來(lái)實(shí)現(xiàn)大規(guī)模的數(shù)據(jù)轉(zhuǎn)移。具體的例程如下:
MOVPRE:
MOV50H, #s_adrh
MOV51H, #s_adrl
MOV52H,#t_adrh
MOV53H,#t_adrl
MOVR2, #64
REMOVE:MOV DPH, 50H
MOV DPL, 51H
MOVX A, @DPTR
INC DPTR
MOV 50H, DPH
MOV 51H, DPL
MOV DPH, 52H
MOV DPL, 53H
MOVX @DPTR,A
INC DPTR
MOV 52H, DPH
MOV 53H, DPL
DJNZ R2, REMOVE
在此例程中,50H、51H用于存放數(shù)據(jù)源地址s_adr(s_adrh為高字節(jié), s_adrl為低字節(jié)),52H、53H用于存放數(shù)據(jù)目的地址t_adr(t_adrh為高字節(jié), t_adrl為低字節(jié)),實(shí)現(xiàn)將源地址起始64字節(jié)數(shù)據(jù)轉(zhuǎn)移至目的地址。在8051中,執(zhí)行n字節(jié)數(shù)據(jù)移位操作耗費(fèi)(14+28
評(píng)論