-www.iamtechnical.com-

Blinking LED Assembly Language Program Exactly 1 Second 'ON' and 'OFF' Using AT89C52 Microcontroller

Assembly Language Program For Blinking LED

Blinking LED Assembly Language Program Exactly 1 Second 'ON' and 'OFF' Using AT89C52 Microcontroller

;=================================================================
;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 8 times ACALL Delay = 1 Second  

;=================================================================
           ORG   0000H    
           SETB P1.0                   ;Set Port Bit 0 of P1 to HIGH
BACK: ACALL DELAY               ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second    
           ACALL DELAY              ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second
           ACALL DELAY              ;WAIT 0.125 Second
      
           CPL P1.0                     ;Complement Bit 0 of Port 1,High-to-Low
           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

Facebook Like For Iamtechnical.com !