實 習 二
左 右 旋 燈
.INCLUDE
80C196KC.H ;定義各暫存器與I/O之位址.SYMBOLS
.CHIP
80196KC ;定義晶片編號.ORG
0A000H ;CCR暫存器的位址 LDB AL,#80H ;PPI_CW為單片上之8255位址﹐設定 STB AL,PPI_CW ;為80H (A、B、C埠為輸出)START: ;
主程式開始 LDB AL,#00000001B ;設為右邊第一燈 LEFT: STB AL,PPI_PA ;AL送到A埠 CALL DELAY ;延遲 SHLB AL,#1 ;AL之值左移1BITJNC LEFT ;IF C
旗標為0跳至LEFTLDB AL,#10000000B ;
設為左邊第一燈 RIGHT: STB AL,PPI_PACALL DELAY
SHR AL,#1 ;AL
之值右移1BITJNC RIGHT ;IF C
旗標為0跳至RIGHTSJMP 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