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