;Initilization $ NOMOD51 $ INCLUDE (REG515.inc) PUBLIC DISPLAY_STATUS EXTRN DATA(KEYCOUNT, TURN_1, TURN_180, KEYPAD_FLAG, DISPFLAG, CONTSIG1, CONTSIG2, COUNT, ADDSAVE1, ADDSAVE2, GO_MOVE_HIGH, GO_MOVE_LOW) EXTRN CODE(DLAYA, TURN_LEFT, TURN_RIGHT, FORWARD, BACKWARD,DLAYZ,ADCIN, LCDOUT, HEXTOA, RPMINCREASE1, RPMINCREASE2, RPMDECREASE1, RPMDECREASE2) ;EXTRN BIT() DISPSTAT SEGMENT CODE RSEG DISPSTAT USING 0 DISPLAY_STATUS: MOV A,DISPFLAG JNZ DISPLAYFUNC RET DISPLAYFUNC: MOV A,#5 MOV COUNT,A MOV A,#0 MOV DISPFLAG,A MOV A,#1AH ;CLEAR HOME LCALL LCDOUT ;*************MOTOR 2 SPEED************** CLR C MOV A,ADDSAVE2 ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#20h LCALL lcdout ;*************MOTOR 2 CONTROL************** MOV A,CONTSIG2 ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout ;*************MOTOR 1 SPEED************** CLR C MOV A,ADDSAVE1 ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#20h LCALL lcdout ;*************MOTOR 1 CONTROL************** MOV A,CONTSIG1 ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#0DH ;NEXT LINE CODE LCALL LCDOUT LCALL DLAYZ MOV A,#0AH LCALL LCDOUT ;*************MOTOR 2 DISTANCE************** CLR C MOV DPH,#77H ;DISTANCE MOTOR 2 HIGH ORDER BITS MOV DPL,#00H MOVX A,@DPTR ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV DPH,#76H ;DISTANCE MOTOR 2 LOW ORDER BITS MOV DPL,#00H MOVX A,@DPTR ;1st digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout ;************TURNING************** CLR C MOV DPH,#73H ;TURNING (180 DEGREE) MOV DPL,#00H MOVX A,@DPTR ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV DPH,#72H ;TURNING(1 DEGREE) MOV DPL,#00H MOVX A,@DPTR ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,#20h LCALL lcdout MOV A,#20h LCALL lcdout CLR C ;*************MOTOR 1 DISTANCE************** MOV DPH,#75H ;DISTANCE MOTOR 2 HIGH BITS MOV DPL,#00H MOVX A,@DPTR ;1st digit MOV B,#100 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV DPH,#74H MOV DPL,#00H MOVX A,@DPTR ;1st digit ;MOV B,#100 ;DIV AB ;MOV R0,#30h ;lcall hextoa ;MOV A,31h ;LCALL lcdout ;MOV A,B ;2nd digit MOV B,#10 DIV AB MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout MOV A,B ;3rd digit MOV R0,#30h lcall hextoa MOV A,31h LCALL lcdout RET END