Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/01/00 10:47
Read: times


 
#1114 - RE: Urgent!
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


;*****************************************************
; 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_DIGIT2
CALL DISPLAY_DIGIT1

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
JZ READ_HI

CALL DEBOUNCE
SETB HI_FLAG
JNB LOW_FLAG, READ_LOW
JNB HI_FLAG, READ_HI

CALL CONFIG_PORT_OUT
INC DIGIT1
MOV A, DIGIT1
CJNE A, #0AH, NEXT1
MOV DIGIT1, #0H
MOV A, DIGIT1
NEXT1: CALL DISPLAY_DIGIT1
CJNE A, #0H, AGAIN

INC DIGIT2
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: MOV A, DIGIT2
ORL A, #10H
MOV DPTR, #OUTPORT
MOVX @DPTR, A
CALL DELAY
RET

DEBOUNCE: MOV R7, #66 ; WAIT FOR 0.1 SEC
DEL_ST1: MOV R6, #255
DEL_ST2: NOP
NOP
NOP
NOP
NOP
DJNZ R6, DEL_ST2
DJNZ R7, DEL_ST1
RET


DELAY: MOV R5, #35H
F: MOV R4, #07H
E: MOV R3, #0FFH
D: DJNZ R3, D
DJNZ R4, E
DJNZ R5, 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
MOV A, #00H
MOVX @DPTR, A
RET

;*****************************************************
; CONFIG OUTPUT PORTS
;*****************************************************
CONFIG_PORT_OUT: MOV DPTR, #CTRL_REG_PORT0
MOV A, #FFH
MOVX @DPTR, A
RET

END


List of 4 messages in thread
TopicAuthorDate
Urgent!            01/01/70 00:00      
RE: Urgent!            01/01/70 00:00      
RE: Urgent!            01/01/70 00:00      
RE: Urgent!            01/01/70 00:00      

Back to Subject List