回首頁ㄌ 向上一網頁 8096 實習一 8096 實習二
         8096 實習三 8096 實習四 8096 實習五 8096 實習六 8096 實習七 8096 實習八

                         實 習 五

          可 控 制 廣 告 燈

.INCLUDE 80C196KC.H ;定義各暫存器與I/O之位址

.SYMBOLS

.CHIP 80196KC ;定義晶片編號

.ORG 0A000H ;CCR暫存器的位址

LDB AL,#10000010B ;PPI_CW為單片上之8255位址﹐設定

STB AL,PPI_CW ;82H (AC埠為輸出;B埠為輸入)

WAIT: ;測試B埠之0BIT有無輸入

LDB AL,PPI_PB ;讀取PORT B之值

JBS AL,0,WAIT ;IF0BIT1(無輸入)就跳至WAIT

START: ;左旋程式開始

LDB AL,#00000001B ;設為右邊第一燈

LEFT:

STB AL,PPI_PA ;AL送到A

CALL DELAY ;延遲

SHLB AL,#1 ;AL之值左移1BIT

JNC LEFT ;IF C旗標為0跳至LEFT

SJMP START ;JUMP START (C=1)

 

DELAY: ;延遲副程式 (DELAY 0.25 Sec)

LD DELY1,#2

D1:

LD DELY2,#50000

DJNZW DELY2,$ ;IF DELY2不為0跳至自己

DJNZW DELY1,D1 ;IF DELY1不為0跳至D1

RET 副程式結束

END