實 習 八
七 段 顯 示 器
.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埠為輸出)START1:
LDB BL,#14 ;
顯示數量變數 LD DX,#TABLE ;TABLE之位址載入DXSTART2:
LDB AH,[DX]+ ;
讀取DX位址之值並DX加1STB AH,PPI_PA ;
輸出 CALL DELAY LDB AH,#0 ;清除顯示 STB AH,PPI_PACALL DELAY
DJNZ BL,START2 ;
SJMP START1
DELAY: ;
延遲副程式 (DELAY 0.5 Sec)LD DELY1,#4
D1:
LD DELY2,#50000
DJNZW DELY2,$ ;IF DELY2
不為0跳至自己 DJNZW DELY1,D1 ;IF DELY1不為0跳至D1RET ;
副程式結束.DATA ;
資料區TABLE: ;
定義顯示值 DB 01111111B ;8 DB 01111001B ;3 DB 00110011B ;4 DB 01111110B ;0 DB 01111110B ;0 DB 01110000B ;7 DB 000000001 ;- DB 01111111B ;8 DB 01111001B ;3 DB 00110011B ;4 DB 00110000B ;1 DB 01111110B ;0 DB 01111011B ;9 DB 00000001B ;-END