Wednesday, 18 December 2013

8051 development board Experiment 5: Digital tubes display 01234567 dynamically

ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:
CLR P2.0 ; select 1st digital tube
MOV P0,#28H ; display ‘0’
LCALL DELAY ; call delay
MOV P0,#0FFH ; turn off ‘0’
SETB P2.0
CLR P2.1 ; select 2nd digital tube
MOV P0,#7EH ; display ‘1’
LCALL DELAY
MOV P0,#0FFH
SETB P2.1
CLR P2.2 ; select 3rd digital tube
MOV P0,#0A2H ;display ‘3’
LCALL DELAY
MOV P0,#0FFH
SETB P2.2
CLR P2.3 ;
MOV P0,#62H ; display ‘3’
LCALL DELAY
MOV P0,#0FFH
SETB P2.3
CLR P2.4 ;
MOV P0,#74H ;
LCALL DELAY
MOV P0,#0FFH
SETB P2.4
CLR P2.5 ;
MOV P0,#61H
LCALL DELAY
MOV P0,#0FFH
SETB P2.5
CLR P2.6 ;
MOV P0,#21H ;
LCALL DELAY
MOV P0,#0FFH
SETB P2.6
CLR P2.7 ;
MOV P0,#7AH ;
LCALL DELAY
SETB P2.7
MOV P0,#0FFH
AJMP MAIN ;restart
DELAY: ;delay subroutine
MOV R7,#2
D1: MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END

No comments:

Post a Comment