;In the Name of Allah ;Counter .INCLUDE "m32def.inc" LDI R16,0xFF OUT DDRB,R16 LDI R16,0x00 OUT SPL,R16 LDI R16,0x01 OUT SPH,R16 ;---------- ;Enabling Pull Up Resistor for the First Pin of Port A LDI R16,0x00 OUT DDRA,R16 LDI R16,0b00000000 OUT SFIOR,R16 LDI R16,0b00000001 OUT PORTA,R16 ;---------- LDI R20,0 LOOP: IN R16,PINA SBRC R16,0 ;The next line will be skipped if the switch is pushed. RJMP LOOP INC R20 OUT PORTB,R20 RCALL DELAY RJMP LOOP ;---------- ;Making 0.5 Second Delay .ORG 0x200 ;***1st Part: Making 1ms Delay*** DELAY: LDI R19,2 LDI R18,249 BEG1: LDI R17,4 BEG2: LDI R16,249 LOOP4: DEC R16 BREQ LOOP3 RJMP LOOP4 LOOP3: DEC R17 BREQ LOOP2 RJMP BEG2 ;***2nd Part: Repeating the First Part 500 times Resulting in 0.5 Second Delay *** LOOP2: DEC R18 BREQ LOOP1 RJMP BEG1 LOOP1: DEC R19 BREQ END LDI R18,250 RJMP BEG1 END: RET