實 習 五
可 控 制 廣 告 燈
.INCLUDE
80C196KC.H ;定義各暫存器與I/O之位址.SYMBOLS
.CHIP
80196KC ;定義晶片編號.ORG
0A000H ;CCR暫存器的位址 LDB AL,#10000010B ;PPI_CW為單片上之8255位址﹐設定 STB AL,PPI_CW ;為82H (A、C埠為輸出;B埠為輸入)WAIT: ;
測試B埠之0BIT有無輸入 LDB AL,PPI_PB ;讀取PORT B之值 JBS AL,0,WAIT ;IF第0BIT為1(無輸入)就跳至WAITSTART: ;
左旋程式開始 LDB AL,#00000001B ;設為右邊第一燈 LEFT: STB AL,PPI_PA ;AL送到A埠 CALL DELAY ;延遲 SHLB AL,#1 ;AL之值左移1BITJNC LEFT ;IF C
旗標為0跳至LEFTSJMP 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跳至D1RET
副程式結束END