;******************************
; ܣLEDҡҡ,12*48ַʾ
; LEDP3.4~p3.1ںP1  
; ˮؽP3.2
;ᴥP3.0
;******************************	
;  洢ռ
;******************************	
	ORG	0000H
	AJMP	START
	ORG	0003H	;ⲿж0ڵַ
	JMP	INT_0
	ORG	0030H
;******************************	
;  
;******************************	
START:	MOV	SP,#60H	;ջָ
	SETB	EA	;ж
	SETB	EX0	;ⲿж0
	SETB	IT0	;ⲿжϲ½ش
	SETB	20H.7	;Ƿʾı־λ,20H.7=0ʾ,20H.7=1ʾ
	CLR	20H.6	;Ƿ±־,20H.6=0ʾδ
	MOV	DPTR,#TAB1
	MOV	R0,#00H	;ָ

LOOP2:	LCALL	KEY_SCAN
	JB	20H.7,LOOP1
	MOV	P1,#0FFH 		;20H.7=0ʾ
	SETB	P3.1
	SETB	P3.5
	SETB	P3.3
	SETB	P3.4
	AJMP	LOOP2

LOOP1:	
LOOP3:	MOV	A,R0			;20H.7=1ʾ
	MOVC	A,@A+DPTR
	MOV	B,R0
	CJNE	A,#00H,LOOP0		;жǷһ
	INC	R0
	MOV	A,R0
	MOVC	A,@A+DPTR
	CJNE	A,#01H,LOOP5
	MOV	DPTR,#TAB1
	JMP	LOOP2
LOOP5:	MOV	R0,B	

LOOP0:	JB	ACC.0,ACC_0		;ʾ
	CLR	P3.1
	JMP	ACC0

ACC_0:	SETB	P3.1
ACC0:	JB	ACC.1,ACC_1
	CLR	P3.5
	JMP	ACC1

ACC_1:	SETB	P3.5
ACC1:	JB	ACC.2,ACC_2
	CLR	P3.3
	JMP	ACC2

ACC_2:	SETB	P3.3
ACC2:	JB	ACC.3,ACC_3
	CLR	P3.4
	JMP	ACC3

ACC_3:	SETB	P3.4
ACC3:	INC	R0
	MOV	A,R0
	MOVC	A,@A+DPTR
	MOV	P1,A
	INC	R0
	LCALL	DELAY
	MOV	A,R0
	CJNE	A,#96,LOOP3		;жǷһʾꣿ
	MOV	R0,#0
	JMP	LOOP2
;******************************	
;  ɨӳ
;******************************
KEY_SCAN:	
	JB	P3.0,EXIT		;жлİ
	LCALL	DELAY
	JB	P3.0,EXIT
       	JB	20H.6,EXIT3
	SETB	20H.6
	CLR	C
	MOV	A,DPL
	ADDC	A,#96
	MOV	DPL,A
	MOV	A,DPH
	ADDC	A,#0
	MOV	DPH,A
	JMP	EXIT3
EXIT:	CLR	20H.6
EXIT3:
	RET 
;******************************	
;  жϷ
;******************************
INT_0:	CLR	EA	
	CPL	20H.7
        MOV	R0,#0
	SETB	EA
	RETI
;******************************	
;  ʱӳ
;******************************
DELAY:	MOV	R7,#4
D1:	MOV	R6,#150
	DJNZ	R6,$
	DJNZ	R7,D1
	RET

;******************************	
;  ͼʾ
;******************************
TAB1:	 

; (0) (1) ħ(2) (3)  (4) ҡ(5) ҡ(6) (7)  (8)  (9) һ(10) (11)
; ƽ(12) (13)  (14) (15) (16) (17) (18)  (19) (20) (21) (22) (23)
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FH,0FEH,0F7H,0FDH,0FBH;
DB 0FDH,0FDH,0FEH,0FEH,0FDH,0FDH,0FDH,0FBH,0FEH,0F7H,0FFH,00FH;
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,01FH;
DB 0FDH,0EFH,0FBH,0F7H,0F7H,0FBH,0F7H,0FDH,0FBH,0FDH,0FDH,0FEH;
DB 0FDH,0FEH,0FBH,0FDH,0F7H,0FDH,0F7H,0FBH,0FBH,0F7H,0FDH,0EFH;
DB 0FEH,01FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;
DB 0FFH,00FH,0FEH,0F7H,0FDH,0FBH,0FDH,0FDH,0FEH,0FEH,0FDH,0FDH;
DB 0FDH,0FBH,0FEH,0F7H,0FFH,00FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;"δļ",0


DB 0F0H,000H,0F7H,0FEH,0F6H,0FEH,0F5H,0FEH,0F5H,06EH,0F5H,0F6H;
DB 0F6H,0FAH,0F7H,0FAH,0F7H,0FAH,0F6H,0FAH,0F5H,0F6H,0F5H,06EH;

DB 0F5H,0FEH,0F6H,0FEH,0F7H,0FEH,0F0H,000H,0FFH,0FFH,0FFH,0FFH;
DB 0F9H,08FH,0F6H,073H,0F6H,0FDH,0F1H,0FEH,0FBH,066H,0FBH,0EAH;

DB 0FBH,0EAH,0FBH,066H,0F1H,0FEH,0F6H,0FDH,0F6H,073H,0F9H,08FH;
DB 0FFH,0FFH,0FFH,0FFH,0F0H,000H,0F7H,0FEH,0F6H,0FEH,0F5H,0FEH;

DB 0F5H,06EH,0F5H,0F6H,0F6H,0FAH,0F7H,0FAH,0F7H,0FAH,0F6H,0FAH;
DB 0F5H,0F6H,0F5H,06EH,0F5H,0FEH,0F6H,0FEH,0F7H,0FEH,0F0H,000H;"δļ",0


DB 0FDH,0DFH,0F5H,0BFH,0F9H,001H,0FCH,0DFH,0FFH,0FFH,0FCH,00FH;
DB 0FDH,06FH,0F0H,001H,0FDH,06FH,0FDH,06FH,0FCH,00FH,0FFH,0FFH;"",0

DB 0FBH,07FH,0FBH,07FH,0FBH,043H,0FAH,057H,0F9H,057H,0F3H,057H;
DB 0F9H,043H,0FAH,07DH,0FBH,001H,0FBH,07FH,0FFH,07FH,0FFH,0FFH;"",1

DB 0FFH,0F9H,0F8H,007H,0FAH,07DH,0FAH,08DH,0F8H,02BH,0FAH,0A7H;
DB 0F2H,001H,0FAH,0ADH,0F8H,021H,0FAH,08DH,0FAH,071H,0FFH,0FFH;"ħ",2

DB 0FFH,039H,0FEH,0B3H,0F1H,0ABH,0FFH,09BH,0FEH,06BH,0FBH,0F1H;
DB 0FBH,0FFH,0FBH,0FDH,0FBH,0FDH,0FBH,0FDH,0F8H,003H,0FFH,0FFH;"",3

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;" ",4

DB 0FDH,0DDH,0FDH,0BDH,0F0H,001H,0FDH,06FH,0F9H,0A1H,0FAH,06DH;
DB 0FBH,06DH,0F5H,001H,0F6H,06DH,0F5H,061H,0FFH,0EFH,0FFH,0FFH;"ҡ",5

DB 0FDH,0DDH,0FDH,0BDH,0F0H,001H,0FDH,06FH,0F9H,0A1H,0FAH,06DH;
DB 0FBH,06DH,0F5H,001H,0F6H,06DH,0F5H,061H,0FFH,0EFH,0FFH,0FFH;"ҡ",6

DB 0FEH,09FH,0F0H,001H,0FEH,0BFH,0FFH,0EFH,0FAH,09BH,0FAH,02BH;
DB 0F0H,081H,0FAH,0ABH,0FAH,0ABH,0FAH,09BH,0FBH,0AFH,0FFH,0FFH;"",7

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;" ",8

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;" ",9

DB 0FFH,0BFH,0FFH,0BFH,0FFH,0BFH,0FFH,0BFH,0FFH,0BFH,0FFH,0BFH;
DB 0FFH,0BFH,0FFH,0BFH,0FFH,0BFH,0FFH,03FH,0FFH,0BFH,0FFH,0FFH;"һ",10

DB 0FFH,0BDH,0FEH,07DH,0F8H,0DDH,0FEH,0DDH,0FEH,0DDH,0F0H,001H;
DB 0FEH,0DDH,0FEH,0DDH,0FEH,0DDH,0FCH,0DDH,0FEH,0FDH,0FFH,0FFH;"",11

DB 0FFH,0BFH,0F7H,0BFH,0F5H,0BFH,0F6H,03FH,0F7H,0BFH,0F0H,001H;
DB 0F7H,0BFH,0F7H,03FH,0F4H,0BFH,0F7H,0BFH,0FFH,0BFH,0FFH,0FFH;"ƽ",12

DB 0FEH,0BDH,0F9H,0BDH,0FBH,0BDH,0FBH,08DH,0FAH,02BH,0F3H,0B3H;
DB 0FBH,0B7H,0FBH,08BH,0FBH,0BBH,0FAH,0BDH,0F9H,0BDH,0FFH,0FFH;"",13

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;" ",14

DB 0FEH,07DH,0FAH,0BDH,0FAH,0BBH,0F8H,0B5H,0FAH,005H,0F8H,0ABH;
DB 0F6H,0ABH,0F4H,0A5H,0F2H,0ADH,0F6H,0BDH,0FEH,07DH,0FFH,0FFH;"",15

DB 0FAH,0EFH,0FAH,0EDH,0FAH,0DDH,0F8H,001H,0F6H,0DBH,0FEH,0BBH;
DB 0F0H,017H,0FEH,0E7H,0F6H,0DBH,0FAH,0BDH,0FEH,0F1H,0FFH,0FFH;"",16

DB 0FFH,0FFH,0FCH,01FH,0FDH,0DFH,0FDH,0DFH,0FDH,0DFH,0F0H,001H;
DB 0FDH,0DFH,0FDH,0DFH,0FDH,0DFH,0FCH,01FH,0FFH,0FFH,0FFH,0FFH;"",17

DB 0FEH,0EFH,0FDH,0EFH,0F8H,02FH,0F7H,06FH,0FFH,06FH,0FEH,0C1H;
DB 0F0H,02FH,0FEH,0AFH,0FDH,0AFH,0FBH,0AFH,0FEH,02FH,0FFH,0FFH;"",18

DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;" ",19

DB 0FFH,0BDH,0FEH,07DH,0F8H,0DDH,0FEH,0DDH,0FEH,0DDH,0F0H,001H;
DB 0FEH,0DDH,0FEH,0DDH,0FEH,0DDH,0FCH,0DDH,0FEH,0FDH,0FFH,0FFH;"",20

DB 0FFH,0FFH,0FFH,0FFH,0F0H,001H,0F7H,07BH,0F7H,07BH,0F7H,07BH;
DB 0F7H,07BH,0F7H,07BH,0F7H,07BH,0F0H,001H,0FFH,0FFH,0FFH,0FFH;"",21

DB 0FEH,07FH,0F0H,001H,0FEH,0FDH,0FFH,05DH,0FDH,0DBH,0FDH,0D7H;
DB 0F0H,00FH,0FDH,0D7H,0FDH,0DBH,0FCH,01DH,0FFH,0DDH,0FFH,0FFH;"",22

DB 0FFH,0FBH,0FFH,037H,0F8H,0AFH,0FBH,09FH,0FBH,0BDH,0FBH,0BDH;
DB 0F4H,001H,0F7H,09FH,0F7H,0AFH,0FFH,037H,0FFH,0BBH,0FFH,0FFH;"",23

DB	00H,01H	;

end
