		 	;Program for 5x7 COMMON CATHODE DOT MATRIX DISPLAY
		 

		                   ;P1      COL
		 	;P2      ROW
		 	
		 	ORG 0000H   		
			AJMP MAIN			
			ORG 0030H  
		MAIN:  	
		 	         
			  MOV P1,#00H
			  MOV P2,#00H
			  MOV DPTR,#TABLE
		LOOP3:      MOV R4,#50		
		LOOP2:      MOV R3,#250
	
		LOOP1:     MOV R1,#0H
			 MOV A,#00H
			 MOV B,#80H
		LOOP:	
			MOVC A,@A+DPTR
			CJNE A,#2FH,DO
			AJMP MAIN
	DO:	INC R1
			CPL A
			MOV P2,A
			MOV P1,B	
			CALL STAY
			MOV P2,#0FFH  ;row  
		   	MOV P1,#0FFH  ;col 
			CALL STAY
			MOV A,B
			RR A    
			MOV B,A 
			MOV A,R1
			CJNE  R1,#5H,LOOP    ;CHECK FOR FIFTH COLOUMN 
      		                  DJNZ R3,LOOP1
     		                  DJNZ R4,LOOP2
    		                  INC DPTR 
    		                  INC DPTR
         			INC DPTR
         			INC DPTR
         			INC DPTR
         			CALL DELAY
         			CALL DELAY
         			AJMP LOOP3
         
  			
						
	
	                  STAY:
	   		MOV R7,#20
	   	ST:	NOP
	      		DJNZ R7,ST
	     		RET
			
		DELAY:            	;100ms DELAY
			SETB PSW.4
			MOV R7,#200
		HDH:								
			MOV R6,#100
		HD:	NOP
			NOP
			NOP
			DJNZ R6,HD
			DJNZ R7,HDH	
			CLR PSW.4	
			RET
				
						
						   
	  


TABLE:        ;HEX ARRAY TO DISPLAY CHARACTERS 
DB		000H,000H,000H,000H,000H,	; 20 space		
DB		000H,000H,05fH,000H,000H,	; 21 !			
DB		000H,007H,000H,007H,000H,	; 22 "			
DB		014H,07fH,014H,07fH,014H,	; 23 #			
DB		024H,02aH,07fH,02aH,012H,	; 24 $			
DB		023H,013H,008H,064H,062H,	; 25 %
DB		036H,049H,055H,022H,050H,	; 26 &
DB		000H,005H,003H,000H,000H,	; 27 '
DB		000H,01cH,022H,041H,000H,	; 28 (
DB		000H,041H,022H,01cH,000H,	; 29 )
DB		014H,008H,03eH,008H,014H,	; 2a *
DB		008H,008H,03eH,008H,008H,	; 2b +
DB		000H,050H,030H,000H,000H,	; 2c ,
DB		008H,008H,008H,008H,008H,	; 2d -
DB		000H,060H,060H,000H,000H,	; 2e .
DB		020H,010H,008H,004H,002H,	; 2f /
DB		03eH,051H,049H,045H,03eH,	; 30 0
DB		000H,042H,07fH,040H,000H,	; 31 1
DB		042H,061H,051H,049H,046H,	; 32 2
DB		021H,041H,045H,04bH,031H,	; 33 3
DB		018H,014H,012H,07fH,010H,	; 34 4
DB		027H,045H,045H,045H,039H,	; 35 5
DB		03cH,04aH,049H,049H,030H,	; 36 6
DB		001H,071H,009H,005H,003H,	; 37 7
DB		036H,049H,049H,049H,036H,	; 38 8
DB		006H,049H,049H,029H,01eH,	; 39 9
DB		000H,036H,036H,000H,000H,	; 3a :
DB		000H,056H,036H,000H,000H,	; 3b ;
DB		008H,014H,022H,041H,000H,	; 3c <
DB		014H,014H,014H,014H,014H,	; 3d =
DB		000H,041H,022H,014H,008H,	; 3e >
DB		002H,001H,051H,009H,006H,	; 3f ?
DB		032H,049H,079H,041H,03eH,	; 40 @
DB		07eH,011H,011H,011H,07eH,	; 41 A
DB		07fH,049H,049H,049H,036H,	; 42 B
DB		03eH,041H,041H,041H,022H,	; 43 C
DB		07fH,041H,041H,022H,01cH,	; 44 D
DB		07fH,049H,049H,049H,041H,	; 45 E
DB		07fH,009H,009H,009H,001H,	; 46 F
DB		03eH,041H,049H,049H,07aH,	; 47 G
DB		07fH,008H,008H,008H,07fH,	; 48 H
DB		000H,041H,07fH,041H,000H,	; 49 I
DB		020H,040H,041H,03fH,001H,	; 4a J
DB		07fH,008H,014H,022H,041H,	; 4b K
DB		07fH,040H,040H,040H,040H,	; 4c L
DB		07fH,002H,00cH,002H,07fH,	; 4d M
DB		07fH,004H,008H,010H,07fH,	; 4e N
DB		03eH,041H,041H,041H,03eH,	; 4f O
DB		07fH,009H,009H,009H,006H,	; 50 P
DB		03eH,041H,051H,021H,05eH,	; 51 Q
DB		07fH,009H,019H,029H,046H,	; 52 R
DB		046H,049H,049H,049H,031H,	; 53 S
DB		001H,001H,07fH,001H,001H,	; 54 T
DB		03fH,040H,040H,040H,03fH,	; 55 U
DB		01fH,020H,040H,020H,01fH,	; 56 V
DB		03fH,040H,038H,040H,03fH,	; 57 W
DB		063H,014H,008H,014H,063H,	; 58 X
DB		007H,008H,070H,008H,007H,	; 59 Y
DB		061H,051H,049H,045H,043H,	; 5a Z
DB		000H,07fH,041H,041H,000H,	; 5b [
DB		002H,004H,008H,010H,020H,	; 5c Yen Currency Sign
DB		000H,041H,041H,07fH,000H,	; 5d ]
DB		004H,002H,001H,002H,004H,	; 5e ^
DB		040H,040H,040H,040H,040H,	; 5f _
DB		000H,001H,002H,004H,000H,	; 60 `
DB		020H,054H,054H,054H,078H,	; 61 a
DB		07fH,048H,044H,044H,038H,	; 62 b
DB		038H,044H,044H,044H,020H,	; 63 c
DB		038H,044H,044H,048H,07fH,	; 64 d
DB		038H,054H,054H,054H,018H,	; 65 e
DB		008H,07eH,009H,001H,002H,	; 66 f
DB		00cH,052H,052H,052H,03eH,	; 67 g
DB		07fH,008H,004H,004H,078H,	; 68 h
DB		000H,044H,07dH,040H,000H,	; 69 i
DB		020H,040H,044H,03dH,000H,	; 6a j 
DB		07fH,010H,028H,044H,000H,	; 6b k
DB		000H,041H,07fH,040H,000H,	; 6c l
DB		07cH,004H,018H,004H,078H,	; 6d m
DB		07cH,008H,004H,004H,078H,	; 6e n
DB		038H,044H,044H,044H,038H,	; 6f o
DB		07cH,014H,014H,014H,008H,	; 70 p
DB		008H,014H,014H,018H,07cH,	; 71 q
DB		07cH,008H,004H,004H,008H,	; 72 r
DB		048H,054H,054H,054H,020H,	; 73 s
DB		004H,03fH,044H,040H,020H,	; 74 t
DB		03cH,040H,040H,020H,07cH,	; 75 u
DB		01cH,020H,040H,020H,01cH,	; 76 v
DB		03cH,040H,030H,040H,03cH,	; 77 w
DB		044H,028H,010H,028H,044H,	; 78 x
DB		00cH,050H,050H,050H,03cH,	; 79 y
DB		044H,064H,054H,04cH,044H,	; 7a z
DB		000H,008H,036H,041H,000H,	; 7b <
DB		000H,000H,07fH,000H,000H,	; 7c |
DB		000H,041H,036H,008H,000H,	; 7d >
DB		010H,008H,008H,010H,008H,	; 7e Right ArP2 	->
DB		078H,046H,041H,046H,078H	; 7f Left ArP2	<-
DB 	2FH					

END

