??? 09/20/04 15:34 Read: times |
#77720 - RE: Problem with my code Responding to: ???'s previous message |
We are to write two programs-one without debounce and one with it-even the program with debounce didn't work. It looked like this:
.ORG 2000H MOV A,#9FH ;SET UP MOV DPTR,#0F803H ; PORT A MOVX @DPTR,A ; AS AN INPUT MOV A,#89H ;SET UP MOV DPTR,#0F903H ; PORT E MOVX @DPTR,A ; AS AN OUTPUT MOV 40H,#00 ;CLEAR FLAG-IS LED ON/OFF MOV A,#0FFH MOV DPTR,#0F901H ;POINT TO PORT E MOVX @DPTR,A ;TURN OFF ALL LED ATTACHED TO PORT E DELAY:ACALL DLY250 ;CALL DELAY(SWITCH BOUNCE) READ:MOV DPTR,#0F800H ;POINT TO PORT A MOVX A,@DPTR JNZ DELAY ; MOV A,40H ;MONITOR FLAG JNZ CLEAR ; INC 40H ;SET FLAG MOV DPTR,#0F901H ;POINT TO PORT E MOV A,#0FEH ; MOVX @DPTR,A ;TURN ON LED SJMP DELAY CLEAR:DEC 40H ;CLEAR FLAG MOV DPTR,#0F901H ;POINT TO PORT E MOV A,#0FFH ; MOVX @DPTR,A ;TURN OFF LED SJMP DELAY DLY250:MOV R3,#3 LOOP:MOV R4,#150 LOOP1:MOV R5,#255 LOOP2:NOP DJNZ R5,LOOP2 DJNZ R4,LOOP1 DJNZ R3,LOOP RET |