實 習 六
兩 開 關 控 制 一 燈
.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埠為輸入)
CHECK: ;
測試B埠之0BIT有無輸入(OFF)LDB AL,PPI_PB ;
讀取PORT B之值;JBS AL,0,NO_KEY ;IF
第0BIT=1(無輸入)就跳至NO_KEYSJMP OFF ;0 BIT=0 (
按OFF)跳至關燈NO_KEY: ;
測試B埠之1BIT有無輸入(ON)JBS AL,1,CHECK ;IF
第1BIT=1(無輸入)就跳至CHECKON: ;
開燈之程式(第1 BIT=0)ORB BL,#10000000B ;
設定左邊第一燈亮STB BL,PPI_PA ;BL
送至PPI_PA輸出(亮燈)SJMP CHECK ;
回開關測試OFF: ;
關燈之程式ANDB BL,#01111111B ;
設定左邊第一燈熄STB BL,PPI_PA
SJMP CHECK
END