org0000h ajmpmain org0030h main: MOV dptr,#tab;將表頭地址送入DPTR MOV 30h,#00h;將30H清零 MOV a,30h;把30H中的數(shù)送入ACC中 loop: MOVc a,@a+dptr;查ROM中的表格并將所得結(jié)果送入ACC中 MOV p0,a;將查表所得結(jié)果送入P0口 inc 30h;將30H單元加一 MOV a,30h;將30H單元的的值送入ACC中 MOVc a,@a+dptr;查表并將所得的結(jié)果送入ACC中 MOV p2,a;將ACC中的值送入P2口 MOV r4,#10;給軟件計(jì)時(shí)器賦值 tt3: ;以下是延時(shí)程序延時(shí)時(shí)間為:10ms*100=1S lcall delay10ms;調(diào)用10MS延時(shí)程序 djnzr4,tt3;R4不等于零返回到TT3處循環(huán) inc 30h;將30H向上加一 MOV a,30h;將30H中的值送入ACC cjne a,#32,loop;ACC中的數(shù)若與32不相等則返回LOOP處循環(huán) ajmpmain;相等則返回到主程序處繼續(xù)循環(huán) delay10ms: ; 10ms 延時(shí)程序 MOV r6,#100 tt2: MOV r5,#50 djnz r5,$ djnz r6,tt2 ret
tab: dw 0ffffh,0000h,0ffffh,0000h dw 5555h,0aaaah,05555h,0aaaah dw 00ffh,0ff00h,00ffh,0ff00h dw 0cccch,3333h,0cccch,3333h
end
|
|