l 單鍵控制多燈延時閃爍—延時子程序
ORG 0000H ; 程序開始
MAIN:
GUAN : 按P0.0口的狀態(tài)為0獲得的跳轉(zhuǎn)執(zhí)行指令—子程序
CPL C ;反轉(zhuǎn)P0.0口的狀態(tài)0為1
AJMP MAIN ; 延時結(jié)束后,短轉(zhuǎn)移跳轉(zhuǎn)到MAIN,重新開始 ,改變了的P0.0口的狀態(tài)便起作用了
ORG 0200H ; 從200H開始存放
DELAY: ; 延時子程序 — 這是一個非常有用、而且常見的一個子程序
F3:
F2:
F1:
END
程序說明:
每個口用字節(jié)賦值指令一次性的開關(guān)各個Pi口的外接器件。特別注意延時指令,在單片機的應(yīng)用中,經(jīng)常會使用延時特性。參見如下所述。
注意延時的本質(zhì)實際上是單片機在空運轉(zhuǎn),因此可以使用一個跳轉(zhuǎn)或多個跳轉(zhuǎn)的空運轉(zhuǎn),以便控制更長的延時。寄存器是與運算器直接打交道的存儲單元。
基本的延時子程序為
DELAY:
F1:
RET
l LED循環(huán)問題(跑馬燈、流水燈)
一種方式位輸出加延時子程序,二種方式字節(jié)輸出加延時子程序,三種方式字節(jié)數(shù)據(jù)表加延時子程序。
a) 單個按鍵與多個LED燈—數(shù)碼管(位操作—輸入與字節(jié)操作—輸出)—數(shù)表
l 單輸入與多輸出的電子線路—靜態(tài)特性
在單個LED燈的基礎(chǔ)上,添加多個LED燈或者用LED組燈來替代單個添加。從單個LED到LED組的硬件添加,再通過指令變化,可以感受到、可以發(fā)現(xiàn)數(shù)碼管的應(yīng)用方法,也可以體會到引用數(shù)組—數(shù)據(jù)表的好處。
l
多輸出電子線路的控制指令—動態(tài)特性
多輸出電子線路的控制指令—動態(tài)特性
通過硬件的變化,指令集—程序也在隨著變化?梢园l(fā)現(xiàn),添加延時指令,可實現(xiàn)LED閃爍;也就是用多燈。通過用位賦值指令并延時單個LED的開關(guān)時間,實現(xiàn)流水燈現(xiàn)象。也可以對每個口用位指令賦值,順序開關(guān);可以用字節(jié)指令送數(shù)據(jù),LOOP循環(huán)實現(xiàn)跑馬燈。還可以用數(shù)據(jù)組格式—數(shù)表格式,通過掃描實現(xiàn),等等。