ORG 0000H
AJMP MAIN
ORG 0031H
MAIN:
MOV SP,#40H; 緩存首地址
MOV P0,#00H; 初始化行
MOV P1,#00H; 初始化塊
MOV P2,#00H; 初始化列
MOV A,#00H; 初始化暫存器
MOV R0,#00H; 初始化數(shù)據(jù)指針
DAA: MOV A,R0;
MOV DPTR,#HTABLE
MOVC A,@A+DPTR; 對行數(shù)據(jù)緩存
MOV DPTR,#TABLE; 對行數(shù)據(jù)進行解碼
MOVC A,@A+DPTR;
MOV 20H,A; 解碼后的行數(shù)據(jù)進入行緩存器
MOV A,R0
MOV DPTR,#LTABLE
MOVC A,@A+DPTR; 對列數(shù)據(jù)緩存
MOV DPTR,#TABLE
MOVC A,@A+DPTR; 解碼列數(shù)據(jù)
MOV 21H,A; 解碼后的列數(shù)據(jù)進入行緩存器
MOV A,R0
MOV DPTR,#ZTABLE
MOVC A,@A+DPTR; 對塊數(shù)據(jù)緩存
MOV DPTR,#TABLE
MOVC A,@A+DPTR; 解碼塊數(shù)據(jù)
MOV 22H,A; 解碼后的列數(shù)據(jù)進入行緩存器
ACALL AAA; 執(zhí) 行行列塊掃描
INC R0; 下一數(shù)據(jù)做準(zhǔn)備
CJNE R0,#05H,DAA; 數(shù)據(jù)是否超值
MOV R0,#00H; 超值重新復(fù)位數(shù)據(jù)
SJMP DAA; 對下一數(shù)據(jù)進行操作
* ******************************************************************************************************************************************************以下為行列塊定義·掃描·以及解碼,行列塊數(shù)據(jù)。*中得內(nèi)容以及“*”將不出現(xiàn)在匯編編譯器。
*********************************************************************************************************************************************************
H1 BIT 00H
H2 BIT 01H
H3 BIT 02H
L1 BIT 08H
L2 BIT 09H
L3 BIT 0AH
Z1 BIT 10H
Z2 BIT 11H
Z3 BIT 12H
AAA:JB H1,AAB
JB H2,AAC
JB H3,AAD
AAE: RET
AAB:MOV P0,20H;
ACALL BAA
SJMP AAE
AAC:MOV P0,20H;
ACALL BAA
SJMP AAE
AAD:MOV P0,20H;
ACALL BAA
SJMP AAE
BAA:JB L1,BAB
JB L2,BAC
JB l3,BAD
BAE: RET
BAB:MOV P2,21H;
ACALL CAA
SJMP BAE
BAC:MOV P2,21H;
ACALL CAA
SJMP BAE
BAD:MOV P2,21H;
ACALL CAA
SJMP BAE
CAA:JB z1,CAB
JB Z2,CAC
JB Z3,CAD
RET
CAB:MOV P1,22H;
RET
CAC:MOV P1,22H;
RET
CAD:MOV P1,22H;
RET
TABLE:DB 00H, 01H,02H,04H,08H,10H,20H,40H,80H; 解碼翻譯
HTABLE :DB 01H,02H,01H,01H,01H,03H------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(省略N個行特征碼); 行特征碼
LTABLE :DB 01H,01H,03H,02H,02H,01H ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(省略N個列特征碼);
ZTABLE :DB 01H,03H,02H,03H,03,02H ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(省略N個塊特征碼); 塊特征碼
end