MOV P1,#0FFH ;MAKE P1 INPUT LOOP: MOV A,P1 ;GET BINARY DATA MOV B,#100 ;PREPARE FOR DIVISION DIV AB ;DIVIDE BY 100 ORL A,#10000000B ;INCLUDE CONTROL BIT MOV R0,A ;STORE 100'S DIGIT IN R0 MOV A,B ;GET THE FRACTION MOV B,#10 ;PREPARE FOR DIVISION DIV AB ;DIVIDE BY 10 ORL A,#00100000B ;INCLUDE CONTROL BIT MOV R1,A ;STORE 10'S DIGIT IN R1 MOV A,B ;GET FRACTION ORL A,#00010000B ;INCLUDE CONTROL BIT MOV P3,A ;DISPLAY 1'S DIGIT CALL DELAY ;DELAY 1 MS MOV P3,R1 ;DISPLAY 10'S DIGIT CALL DELAY ;DELAY 1 MS MOV P3,R0 ;DISPLAY 100'S DIGIT CALL DELAY ;DELAY 1 1M SJMP LOOP ;KEEP DOING THIS DELAY: ;1 MILLISECOND DELAY ROUTINE MOV R4,#2 repeat: MOV R5,#230 repeatt: DJNZ R5,repeatt DJNZ R4,repeat RET |