;********************************** ; SED7920 ;********************************** RS REG P3.0 E REG P3.1 R_W REG P3.7 STP REG P2.0 S_S REG P2.1 BCD EQU 01H CHAR_ADD EQU 7FH DPTRH EQU 01H DPTRL EQU 00H DT1 EQU 02H DT2 EQU 03H DT3 EQU 04H ;********************************** ORG 0H JMP START START: INITIAL: CLR E MOV A,#00111000B CALL WCOM MOV A,#00001100B ;Display ON/OFF = 00001DCB CALL WCOM ;Display ON,Cursor&Blink OFF MOV A,#00000110B ;Entry Mode Set = 000001IS CALL WCOM ;Increment & Shift OFF MOV A,#00000010B ;Return Home CALL WCOM MOV A,#00000001B ;Clear Display CALL WCOM ;Write 20H to DDRAM ;****************************************************** SHOW: MOV R6,#00H CALL F_C MOV DPTR,#G1 CALL GSHOW CALL STP_SC MOV R6,#00H CALL F_C CALL GSHOW1 CALL STP_SC MOV R6,#00H CALL F_C CALL GSHOW2 CALL STP_SC MOV R6,#00H CALL F_C CALL GSHOW3 CALL STP_SC MOV R6,#00H CALL F_C CALL GSHOW4 CALL STP_SC MOV R6,#00H CALL F_C CALL CSHOW CALL STP_SC MOV A,#01H CALL WCOM JMP SHOW ;****************************************************** CSHOW: CLR E MOV A,#00111000B CALL WCOM MOV A,#10000000B ;LINE1 00H CALL WCOM MOV DPTR,#S1 MOV R1,#64 ;1 WORD = 2 CLOOP1: MOV A,#00H MOVC A,@A+DPTR CALL WDATA INC DPTR DJNZ R1,CLOOP1 LCALL DELAY CALL STP_SC RET ;****************************************************** GSHOW: MOV A,#00111110B CALL WCOM MOV R5,#02H MOV R4,#00H MOV R2,#0 GLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM GLOOP2: MOV R3,#16 GLOOP3: MOV A,#00H MOVC A,@A+DPTR CPL A CALL WDATA INC DPTR DJNZ R3,GLOOP3 CALL DPTRADJ DJNZ R5,GLOOP2 MOV R5,#02H INC R2 CJNE R2,#32,GLOOP1 LCALL DELAY CALL STP_SC RET ;****************************************************** GSHOW1: MOV A,#00111110B CALL WCOM MOV R5,#02H MOV R4,#00H MOV R2,#0 $GLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP2: MOV R3,#8 $GLOOP3: MOV A,#55H CALL WDATA DJNZ R3,$GLOOP3 DJNZ R5,$GLOOP2 MOV R5,#02H INC R2 CJNE R2,#32,$GLOOP1 LCALL DELAY CALL STP_SC RET ;****************************************************** GSHOW2: MOV A,#00111110B CALL WCOM MOV R5,#02H MOV R4,#00H MOV R2,#0 $GLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP2: MOV R3,#16 $GLOOP3: MOV A,#AAH CALL WDATA DJNZ R3,$GLOOP3 MOV R3,#16 INC R2 MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP4: MOV A,#55H CALL WDATA DJNZ R3,$GLOOP4 INC R2 CJNE R2,#32,$GLOOP1 LCALL DELAY CALL STP_SC RET LCALL DELAY CALL STP_SC RET ;****************************************************** GSHOW3: MOV A,#00111110B CALL WCOM MOV R5,#02H MOV R4,#00H MOV R2,#0 $GLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP2: MOV R3,#16 $GLOOP3: MOV A,#FFH CALL WDATA DJNZ R3,$GLOOP3 MOV R3,#16 INC R2 MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP4: MOV A,#00H CALL WDATA DJNZ R3,$GLOOP4 INC R2 CJNE R2,#32,$GLOOP1 LCALL DELAY CALL STP_SC RET LCALL DELAY CALL STP_SC RET ;****************************************************** GSHOW4: MOV A,#00111110B CALL WCOM MOV R5,#02H MOV R4,#00H MOV R2,#0 $GLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP2: MOV R3,#16 $GLOOP3: MOV A,#CCH CALL WDATA DJNZ R3,$GLOOP3 MOV R3,#16 INC R2 MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP4: MOV A,#CCH CALL WDATA DJNZ R3,$GLOOP4 MOV R3,#32 INC R2 MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP5: MOV A,#33H CALL WDATA DJNZ R3,$GLOOP5 MOV R3,#32 INC R2 MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM $GLOOP6: MOV A,#33H CALL WDATA DJNZ R3,$GLOOP6 INC R2 CJNE R2,#32,$GLOOP1 LCALL DELAY CALL STP_SC RET ;******************************************************* DPTRADJ: CLR C CJNE R4,#00H,SUBER ADDER: MOV DPTRH,DPH MOV DPTRL,DPL MOV A,DPL ADD A,#240 JC CARRY ALOOP: MOV DPL,A INC DPH INC R4 RET SUBER: MOV DPH,DPTRH MOV DPL,DPTRL DEC R4 RET CARRY: INC DPH JMP ALOOP ;******************************************************** F_C: MOV A,#00111110B CALL WCOM MOV R2,#0 FLOOP1: MOV A,#80H ADD A,R2 CALL WCOM MOV A,#80H CALL WCOM MOV R3,#16 FLOOP2: MOV A,R6 CALL WDATA DJNZ R3,FLOOP2 INC R2 CJNE R2,#32,FLOOP1 RET ;******************************************************* CHK_BUSY: MOV P1,#0FFH ;SET PORT1=INPUT CLR RS ;SET IR MODE RS=0 SETB R_W ;SET READ MODE R/W=1 SETB E ;ENABLE LCM MOV C,P1.7 ;CHECK BUSY FLAGE(BIT7) CLR E JC CHK_BUSY RET ;****************************************************** WCOM: CALL CHK_BUSY CLR RS CLR R_W SETB E MOV P1,A CLR E RET ;******************************************************* WDATA: CALL CHK_BUSY SETB RS CLR R_W SETB E MOV P1,A CLR E RET ;********************************************************** DELAY: MOV DT1,R1 MOV DT2,R2 MOV DT3,R3 MOV R1,#0BH D1: MOV R2,#0FFH D2: MOV R3,#0FFH D3: DJNZ R3,D3 DJNZ R2,D2 DJNZ R1,D1 MOV R3,DT3 MOV R2,DT2 MOV R1,DT1 RET ;****************************************************************************** ; procedure of step by step and scan ;****************************************************************************** STP_SC MOV C,S_S JC STEP RET STEP: MOV C,STP MOV R5,#0FH LOPE: MOV R6,#0FFH LOPH: DJNZ R6,LOPH DJNZ R5,LOPE JNB S_S,LOUT JNC STEP LOUT: RET ;**********************************************************¤¤¤åª© S1: DB 020H,020H,020H,020H,057H,047H,031H,032H,032H,033H,032H,04DH,020H,020H,020H,020H DB 041H,042H,043H,044H,045H,046H,047H,048H,049H,04AH,04BH,04CH,04DH,04EH,04FH,050H DB 041H,042H,043H,044H,045H,046H,047H,048H,049H,04AH,04BH,04CH,04DH,04EH,04FH,050H DB 041H,042H,043H,044H,045H,046H,047H,048H,049H,04AH,04BH,04CH,04DH,04EH,04FH,050H G1: DB 0F7H,0BDH,0EFH,07BH,0DEH,0F7H,0BDH,0EFH DB 07BH,0DEH,0F7H,0BDH,0EFH,07BH,0DEH,0F7H DB 0F7H,0BDH,0EFH,07BH,0DEH,0F7H,0BDH,0EFH DB 07BH,0DEH,0F7H,0BDH,0EFH,07BH,0DEH,0F7H DB 0FFH,0BFH,0EFH,0FBH,0FEH,0FFH,0BFH,0EFH DB 0FBH,0FEH,0FFH,0BFH,0EFH,0FBH,0FEH,0FFH DB 0FFH,0BFH,0EFH,0FBH,0FEH,0FFH,0BFH,0EFH DB 0FBH,0FEH,0FFH,0BFH,0EFH,0FBH,0FEH,0FFH DB 03FH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FDH,055H,055H,055H,055H,05FH,0FFH,055H DB 055H,055H,055H,057H,0FFH,0F5H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0BCH,047H,0AAH DB 0AAH,0AAH,0AAH,0AFH,044H,07AH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,05DH,0D7H,055H DB 055H,055H,055H,057H,055H,075H,055H,055H DB 00EH,0AAH,0AAH,0AAH,0AAH,0BCH,057H,0AAH DB 0AAH,0AAH,0AAH,0AFH,055H,07AH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,05FH,057H,055H DB 055H,055H,055H,057H,055H,075H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0BCH,047H,0AAH DB 0AAH,0AAH,0AAH,0AFH,044H,07AH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,05FH,0FFH,055H DB 055H,055H,055H,057H,0FFH,0F5H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0BFH,0FFH,0AAH DB 0AAH,0AAH,0AAH,0AFH,0FFH,0FAH,0AAH,0AAH DB 03DH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 00EH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 03DH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 00EH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 03DH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 00EH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 03DH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FFH,0FFH,0FAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FFH,0FFH,0F5H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FFH,0E2H,03AH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FFH,0EEH,0B5H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 00FH,0E2H,0BAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FFH,0FAH,0B5H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FFH,0E2H,03AH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FFH,0FFH,0F5H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FFH,0FFH,0FAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 03DH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 00EH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0FDH,055H,055H,055H,055H,055H,055H,055H DB 055H,055H,055H,055H,055H,055H,055H,055H DB 0FEH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH DB 0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAH,0AAh END