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

Simple Blinking LED Circuit Using 8052

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

;=================================================================

More From Iamtechnical.com

Advertisement: