實 習 三
控 速 左 旋 燈
.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,#01 ;
設為右邊第一燈 LDB BX,#16 ;DELAY時間變數之一 LDB CL,#8 ;減速8次 (8的燈) ROTATE: STB AL,PPI_PA ;AL送到A埠 LD DELY1,BXCALL DELAY ;
延遲 SHLB AL,#1 ;AL之值左移1BITSUBB BX,#2 ;
延遲減0.25 SecDJNZ CL,ROTATE ;IF CL
不為0跳至ROTATESJMP START
;
延遲副程式 (DELAY 0.25E-5 *DELY2 *DELY1 Sec)DELAY:
LD DELY2,#50000
DJNZW DELY2,$ ;IF DELY2
不為0跳至自己 DJNZW DELY1,DELAY ;IF DELY1不為0跳至DELAYRET
END