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

8052-microcontroller-led-projects

Alternate Blinking LED's Using Assembly Language, Instruction MOV, DJNZ, ACALL, Time Delay 0.125 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 1 times ACALL Delay = 0.125 Second  

;=================================================================
               ORG   0000H    
BACK:      MOV P1,#55H             ;Load 55H in HEX or 01010101B in Binary at Port1    
               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
               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: