| ??? 12/20/99 09:08 Read: times |
#1076 - Can anyone check the source code.. |
.SYMBOLS .CHIP 8051 .RSECT ;******************************************************* ; HI-LOW STATUS FLAG ;******************************************************* LOW_FLAG .REG 21H.0 HI_FLAG .REG 21H.1 ;******************************************************* ; 7-SEGMENT LED DISPLAY REGISTERS ;******************************************************* .ORG 30H DIGIT1 .DS 1 DIGIT2 .DS 1 DIGIT3 .DS 1 DIGIT4 .DS 1 ;******************************************************* ; MAIN PROGRAM ;******************************************************* .CODE .ORG 0H JMP MAIN .ORG 100H MAIN: MOV SP, #50H CALL CONFIG_PORT_OUT RESET: MOV DIGIT1, #0H MOV DIGIT2, #0H CALL DISPLAY_DIGIT1 CALL DISPLAY_DIGIT2 CHK_START: JNB P1.0, CHK_START AGAIN: CLR LOW_FLAG CLR HI_FLAG CALL CONFIG_PORT_IN READ_LOW: MOV DPTR, #INPORT MOVX A, @DPTR ANL A, #40H JNZ READ_LOW CALL DEBOUNCE SETB LOW_FLAG READ_HI: MOV DPTR, #INPORT MOVX A, @DPTR ANL A, #40H JNZ READ_HI CALL DEBOUNCE SETB HI_FLAG JNB LOW_FLAG, READ_LOW JNB HI_FLAG, READ_HI CALL CONFIG_PORT_OUT INC DIGIT1 ; COUNTER1 MOV A, DIGIT1 CJNE A, #0AH, NEXT1 MOV DIGIT1, #0H NEXT1: CALL DISPLAY_DIGIT1 MOV A, DIGIT1 CJNE A, #0H, AGAIN INC DIGIT2 ; COUNTER2 MOV A, DIGIT2 CJNE A, #0AH, NEXT2 JMP RESET NEXT2: CALL DISPLAY_DIGIT2 JMP AGAIN DISPLAY_DIGIT1: ANL DIGIT1, #0FH MOV A, DIGIT1 MOV DPTR, #OUTPORT MOVX @DPTR, A CALL DELAY RET DISPLAY_DIGIT2: ORL DIGIT2, #10H MOV A, DIGIT2 MOV DPTR, #OUTPORT MOVX @DPTR, A CALL DELAY RET DEBOUNCE: MOV R6, #28H H: MOV R5, #0FFH G: DJNZ R5, G DJNZ R6, H RET DELAY: MOV R4, #01H F: MOV R3, #05H E: MOV R2, #0FFH D: DJNZ R2, D DJNZ R3, E DJNZ R4, F RET ;*************************************************************************** ; PORT_CONFIG AND ADDRESS DECLARATION ;***************************************************** CTRL_REG_PORT0 .EQU 8000H INPORT .EQU 0E000H OUTPORT .EQU 0C010H ;*****************************************************; CONFIG INPUT PORTS ;***************************************************** CONFIG_PORT_IN: MOV DPTR, #CTRL_REG_PORT0 ;DPTR POINTING ON THE ADDRESS OF CONTROL PORT0 MOV A, #00H ;LOAD ACC WITH 00H MOVX @DPTR, A ;MAKE THE PORT0 INTO A INPUT PORT RET ;************************************************************************************************ ; CONFIG OUTPUT PORTS ;************************************************************************************************ CONFIG_PORT_OUT: MOV DPTR, #CTRL_REG_PORT0 ;DPTR POINTING ON THE ADDRESS OF CONTROL PORT0 MOV A, #FFH ;LOAD ACC WITH FFH MOVX @DPTR, A ;MAKE THE PORT0 INTO A OUTPUT PORT RET END |
| Topic | Author | Date |
| Can anyone check the source code.. | 01/01/70 00:00 | |
RE: Can anyone check the source code.. | 01/01/70 00:00 |



