
Site Search
Alternate Blinking LED's Using Assembly Language, Instruction MOV, DJNZ, ACALL, Time Delay 0.25 Second

Alternate Blinking LED's Using Assembly Language, Instruction MOV, DJNZ, ACALL, Time Delay 0.25 Second
;=================================================================
;Code Written by: Azhar Ahmed
; W W W . I A M T E C H N I C A L . C O M
;Crystal Frequency = 12MHz / 12 Machine Cycles = 1Mhz
;1/1MHz = 1 Microsecond
;(250 x 250 x 2 x 1Microsecond) x 2 times ACALL Delay = 0.25 Second
;=================================================================
ORG 0000H
BACK: MOV P1,#55H ;Load 55H in HEX or 01010101B in Binary at Port1
ACALL DELAY ;WAIT 0.125 Second
ACALL DELAY ;WAIT 0.125 Second
MOV P1,#0AAH ;Load AAH in HEX or 10101010B in Binary at Port1
ACALL DELAY ;WAIT 0.125 Second
ACALL DELAY ;WAIT 0.125 Second
SJMP BACK ;Make This Operation to Run Repeatedly
DELAY:
MOV R0,#250 ;Initialize the R0 Register With an Immediate Value 250
NEXT:
MOV R1,#250 ;Load R0 With 250 Value to Repeat the Loop for 250 Times
AGAIN:
DJNZ R1,AGAIN ;Internal Loop Repeates 250 Times
DJNZ R0,NEXT ;External Loop Repeates 250 Times
RET ;Return to Caller
END ;End of .asm File
;=================================================================