www.pudn.com > I2C_LCD_DISPIAY_PROGRAM.rar > I2C_LCD_DISPIAY_PROGRAM.asm


   
;IC:PCF8533 
;EXPLAIN:   SDA------P1.1    DATA 
;           SCL------P1.0    CLOCK 
       		ORG   0000H 
       		AJMP  MAIN 
		ORG   0030H 
 
	MAIN:   
	    J1:  MOV A,P2 
		JB  ACC.0,J1 
		LCALL STR 
		LCALL COFI 
		MOV DPTR,#M1 
		LCALL DISP 
		LCALL DELYS 
		LCALL STP 
		 
	   J2:  MOV A,P2 
		JB  ACC.0,J2 
                LCALL STR 
		LCALL COFI 
		MOV DPTR,#M2 
		LCALL DISP 
		LCALL DELYS		 
		LCALL STP 
		 
	 
            J3: MOV A,P2 
		JB  ACC.0,J3 
	        LCALL STR 
		LCALL COFI 
		MOV DPTR,#M3 
		LCALL DISP 
		LCALL DELYS 
		LCALL STP 
		 
 
          J4:  MOV A,P2 
		JB  ACC.0,J4 
                LCALL STR 
		LCALL COFI 
		MOV DPTR,#M4 
		LCALL DISP 
		LCALL DELYS 
		LCALL STP 
		 
		 
		LJMP MAIN 
 
		 
STR:		SETB P1.1	; 
		NOP 
		SETB P1.0	; 
		NOP 
		CLR  P1.1	;START CONDITION 
		NOP 
	        ;CLR P1.0 
		RET 
 
COFI:		MOV A,#01110000B;    ADDRESS 
		LCALL WCMD 
		MOV A,#10111111B;    COMMAND CONTINUE 
		LCALL WCMD 
		MOV A,#11001000B;    MODE SET 
		LCALL  WCMD 
		MOV A,#10111111B;    COMMAND CONTINUE 
		LCALL WCMD 
		MOV A,#00000000B;    LOAD DATA POINTER 
		LCALL  WCMD 
		MOV A,#10111111B;    COMMAND CONTINUE 
		LCALL WCMD 
		MOV A,#11100000B;    DEVICE SELECT 
		LCALL  WCMD 
		MOV A,#10111111B;    COMMAND CONTINUE 
		LCALL WCMD 
		MOV A,#11110000B;    BLINK 
		LCALL  WCMD 
		MOV A,#01111111B;    DATA CONTINUE 
		LCALL WCMD 
		RET 
 
STP:		CLR P1.0	; 
		NOP 
		CLR P1.1 
		NOP 
		SETB P1.0 
		NOP 
		SETB  P1.1	;STOP CONDITION 
		NOP 
		;CLR P1.0 
		RET 
DISP:           MOV R6,#050H 
       W1:      MOV A,#00H 
           	MOVC A,@A+DPTR 
                LCALL WCMD 
  		INC DPTR 
  		DJNZ R6,W1 
		RET 
 
WCMD:		MOV R4,#08H 
		MOV R0,A 
		CLR C 
	LAP1:	CLR P1.0 
		RLC A 
		MOV P1.1,C 
		NOP 
                SETB P1.0 
                NOP 
                DJNZ R4,LAP1 
		CLR P1.0  ; 
		NOP 
		SETB P1.0 ;  ACKNOWLEDGE BIT 
		NOP 
		CLR P1.0 
		NOP 
		RET 
 
DELYS:          MOV R5,#005H 
	 
	DELY1:	MOV R6,#0EEH 
	DELY2:	MOV R7,#0FFH 
        DELY3: 
                DJNZ R7,DELY3 
		DJNZ R6,DELY2 
		DJNZ R5,DELY1 
		RET 
 
M1:	  DB   0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 
          DB   0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 
          DB   0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 
          DB   0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH 
          
 
           
M2:	  DB   055H,055H,055H,055H,055H,055H,055H,055H,055H,055H 
	  DB   055H,055H,055H,055H,055H,055H,055H,055H,055H,055H 
          DB   055H,055H,055H,055H,055H,055H,055H,055H,055H,055H 
	  DB   055H,055H,055H,055H,055H,055H,055H,055H,055H,055H 
	         
	         
 
 
M3:       DB   00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH 
          DB   00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH 
          DB   00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH 
          DB   00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH,00FH 
 
M4:       DB   33H,33H,33H,33H,33H,33H,33H,33H,33H,33H 
          DB   33H,33H,33H,33H,33H,33H,33H,33H,33H,33H 
          DB   33H,33H,33H,33H,33H,33H,33H,33H,33H,33H 
          DB   33H,33H,33H,33H,33H,33H,33H,33H,33H,33H 
 
 
          END