-www.iamtechnical.com-

Runing LED's Using Assembly Language, Instruction MOV, SETB, CPL, DJNZ, ACALL, Time Delay 0.125 Second

Scrolling LED Display Using Microcontroller

Runing LED's Using Assembly Language, Instruction MOV, SETB, CPL, 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 time ACALL Delay = 0.125 Second  

;=================================================================
               ORG   0000H    
BACK:      MOV P1,#00H            ;Send Logic 0 Level to all Bits of Port 1 i.e 00H    
               SETB P1.0                 ;Set Port Bit 0 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL P1.0                   ;Complement Bit 0 of Port 1,High-to-Low
               SETB P1.1                 ;Set Port Bit 1 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL p1.1                   ;Complement Bit 1 of Port 1,High-to-Low
               SETB P1.2                 ;Set Port Bit 2 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL p1.2                   ;Complement Bit 2 of Port 1,High-to-Low
               SETB P1.3                 ;Set Port Bit 3 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL p1.3                   ;Complement Bit 3 of Port 1,High-to-Low
               SETB P1.4                 ;Set Port Bit 4 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL p1.4                   ;Complement Bit 4 of Port 1,High-to-Low
               SETB P1.5                 ;Set Port Bit 5 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL P1.5                   ;Complement Bit 5 of Port 1,High-to-Low
               SETB P1.6                 ;Set Port Bit 6 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL P1.6                   ;Complement Bit 6 of Port 1,High-to-Low
               SETB P1.7                 ;Set Port Bit 7 of P1 to HIGH
               ACALL DELAY            ;WAIT 0.125 Second
               CPL P1.7                   ;Complement Bit 7 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 !