Re: 8051 baesd led blinking with 555 timer controlled proble
here you go.
connect your 555 pin3 to P3.1 timing of output sequence will be conrolled through
555ic.
Regards.
;************************************************************************************************
; 89c2051 BASED FALSHER
; PROGRAM NAME : FAL620.ASM
;************************************************************************************************
;
;
;************************************************************************************************
; PROGRAM ENTRY POINT
;************************************************************************************************
;
ORG 0000H ;System reset RST
AJMP MAIN
;
;************************************************************************************************
; EXTERNAL 0 INTERRUPT VECTOR AT 03H
;************************************************************************************************
; ORG 0003H
; MOV P1,#11111111B
; JNB P3.2,$
; MOV P1,#00000000B
; RETI
;************************************************************************************************
; MAIN PROGRAM
;************************************************************************************************
ORG 0030H ; PROGRAM ENTRY POINT
;************************************************************************************************
; SEQUENCE: 1
;************************************************************************************************
MAIN:
MOV P1,#0FFH ; INITALIZING PORTS
MOV P3,#0FFH
MOV SP,#30H
; SETB EX0
; SETB EA
; CLR IT0
MOV R0,#3
SEQ_1:
MOV A,#00000001B
CALL OUTPUT
MOV A,#00000010B
CALL OUTPUT
MOV A,#00000100B
CALL OUTPUT
MOV A,#00001000B
CALL OUTPUT
MOV A,#00010000B
CALL OUTPUT
MOV A,#00100000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00101000B
CALL OUTPUT
MOV A,#00100100B
CALL OUTPUT
MOV A,#00100010B
CALL OUTPUT
MOV A,#00100001B
CALL OUTPUT
MOV A,#00100011B
CALL OUTPUT
MOV A,#00100101B
CALL OUTPUT
MOV A,#00101001B
CALL OUTPUT
MOV A,#00110001B
CALL OUTPUT
MOV A,#00111001B
CALL OUTPUT
MOV A,#00110101B
CALL OUTPUT
MOV A,#00110011B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
DJNZ R0,SEQ_1
;************************************************************************************************
; SEQUENCE: 2
;************************************************************************************************
MOV R0,#3
SEQ_2:
MOV A,#00000001B
CALL OUTPUT
MOV A,#00000010B
CALL OUTPUT
MOV A,#00000100B
CALL OUTPUT
MOV A,#00001000B
CALL OUTPUT
MOV A,#00010000B
CALL OUTPUT
MOV A,#00100000B
CALL OUTPUT
MOV A,#00100001B
CALL OUTPUT
MOV A,#00100010B
CALL OUTPUT
MOV A,#00100100B
CALL OUTPUT
MOV A,#00101000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00110001B
CALL OUTPUT
MOV A,#00110010B
CALL OUTPUT
MOV A,#00110100B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
MOV A,#00111001B
CALL OUTPUT
MOV A,#00111010B
CALL OUTPUT
MOV A,#00111100B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
DJNZ R0,SEQ_2
;************************************************************************************************
; SEQUENCE: 3
;************************************************************************************************
MOV R0,#3
SEQ_3:
MOV A,#00010000B
CALL OUTPUT
MOV A,#00001000B
CALL OUTPUT
MOV A,#00000100B
CALL OUTPUT
MOV A,#00000010B
CALL OUTPUT
MOV A,#00000001B
CALL OUTPUT
MOV A,#00100001B
CALL OUTPUT
MOV A,#00010001B
CALL OUTPUT
MOV A,#00001001B
CALL OUTPUT
MOV A,#00000101B
CALL OUTPUT
MOV A,#00000011B
CALL OUTPUT
MOV A,#00100011B
CALL OUTPUT
MOV A,#00010011B
CALL OUTPUT
MOV A,#00001011B
CALL OUTPUT
MOV A,#00000111B
CALL OUTPUT
MOV A,#00100111B
CALL OUTPUT
MOV A,#00010111B
CALL OUTPUT
MOV A,#00001111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
DJNZ R0,SEQ_3
;************************************************************************************************
; SEQUENCE: 4
;************************************************************************************************
MOV R0,#3
SEQ_4:
MOV A,#00000001B
CALL OUTPUT
MOV A,#00000011B
CALL OUTPUT
MOV A,#00000111B
CALL OUTPUT
MOV A,#00001111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00001111B
CALL OUTPUT
MOV A,#00000111B
CALL OUTPUT
MOV A,#00000011B
CALL OUTPUT
MOV A,#00000001B
CALL OUTPUT
DJNZ R0,SEQ_4
;************************************************************************************************
; SEQUENCE: 5
;************************************************************************************************
MOV R0,#3
SEQ_5:
MOV A,#00100000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
MOV A,#00111100B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111100B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00100000B
CALL OUTPUT
DJNZ R0,SEQ_5
;************************************************************************************************
; SEQUENCE: 6
;************************************************************************************************
MOV R0,#3
SEQ_6:
MOV A,#00111111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
DJNZ R0,SEQ_6
;************************************************************************************************
; SEQUENCE: 7
;************************************************************************************************
MOV R0,#3
SEQ_7:
MOV A,#00111111B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
DJNZ R0,SEQ_7
;************************************************************************************************
; SEQUENCE: 8
;************************************************************************************************
MOV R0,#4
SEQ_8:
MOV A,#00000111B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
DJNZ R0,SEQ_8
;************************************************************************************************
; SEQUENCE: 9
;************************************************************************************************
MOV R0,#3
SEQ_9:
MOV A,#00000001B
CALL OUTPUT
MOV A,#00000011B
CALL OUTPUT
MOV A,#00000111B
CALL OUTPUT
MOV A,#00001111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111100B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00100000B
CALL OUTPUT
DJNZ R0,SEQ_9
;************************************************************************************************
; SEQUENCE: 10
;************************************************************************************************
MOV R0,#3
SEQ_10:
MOV A,#00100000B
CALL OUTPUT
MOV A,#00110000B
CALL OUTPUT
MOV A,#00111000B
CALL OUTPUT
MOV A,#00111100B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00001111B
CALL OUTPUT
MOV A,#00000111B
CALL OUTPUT
MOV A,#00000011B
CALL OUTPUT
MOV A,#00000001B
CALL OUTPUT
DJNZ R0,SEQ_10
;************************************************************************************************
; SEQUENCE: 11
;************************************************************************************************
MOV R0,#4
SEQ_11:
MOV A,#00111111B
CALL OUTPUT
MOV A,#00000000B
CALL OUTPUT
DJNZ R0,SEQ_11
;************************************************************************************************
; SEQUENCE: 12
;************************************************************************************************
MOV R0,#3
SEQ_12:
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
DJNZ R0,SEQ_12
;************************************************************************************************
; SEQUENCE: 13
;************************************************************************************************
MOV R0,#3
SEQ_13:
MOV A,#00011111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111110B
CALL OUTPUT
MOV A,#00111101B
CALL OUTPUT
MOV A,#00111011B
CALL OUTPUT
MOV A,#00110111B
CALL OUTPUT
MOV A,#00101111B
CALL OUTPUT
MOV A,#00011111B
CALL OUTPUT
DJNZ R0,SEQ_13
;************************************************************************************************
; JUMP TO START
;************************************************************************************************
JMP MAIN
;************************************************************************************************
; ROUTINE FOR OUTPUT THE SEQUENCE
;************************************************************************************************
;
OUTPUT:
XRL A,#0FFH ;IN CASE OF 2051 CIRCUIT
MOV P1,A
JNB P3.2,FULL
JB P3.1,$
JNB P3.2,FULL
JNB P3.1,$
JNB P3.2,FULL
RET
;************************************************************************************************
; ROUTINE FOR BREAK
;************************************************************************************************
;
FULL: MOV P1,#11000000B
JNB P3.2,$
MOV P1,#11111111B
RET
;************************************************************************************************
; END OF PROGRAM
;************************************************************************************************
END