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

                                          實 習 二

                                    左 右 旋 燈

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

.SYMBOLS

.CHIP 80196KC ;定義晶片編號

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

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

STB AL,PPI_CW ;80H (ABC埠為輸出)

START: ;主程式開始

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

LEFT:

STB AL,PPI_PA ;AL送到A

CALL DELAY ;延遲

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

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

LDB AL,#10000000B ;設為左邊第一燈

RIGHT:

STB AL,PPI_PA

CALL DELAY

SHR AL,#1 ;AL之值右移1BIT

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

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