Vous êtes sur la page 1sur 2

ASSIGNMENT -03

QUESTION:

Write a program to glow 8 LEDs one by one of one second in clockwise and then in
anticlockwise direction.

MACHINE PROGRAM CODE


CYCLE

1 MOV TMOD, #10H ; Timer 1 Mode 1, XTAL Frequency = 22 MHz


1 MOV P0, #0FFH ; Configuring P0 as input
1 MOV A, P0
1 MOV R2, #9 ; Counter for 8 LED's
1 MOV R1, #80H
1 MOV R3, #00H
1 SETB C

1 JUMP1: MOV R0, #28 ; For generating a delay of 1 sec


2 BACK1: ACALL DELAY
2 DJNZ R0, BACK1
2 ACALL FWD ;Clockwise glowing of 8 LEDs
2 DJNZ R2, JUMP1

1 MOV R1, #01H


1 MOV R2, #9
1 JUMP2: MOV R0,#28
2 BACK2: ACALL DELAY
2 DJNZ R0, BACK2
2 ACALL BACK ;Anti-Clockwise glowing of 8 LEDs
2 DJNZ R2, JUMP2

1 FWD: XRL A, R1 ;Glowing one LED at a time


1 MOV P0, A
1 MOV R3, A
1 MOV A, R1
1 RRC A
1 MOV R1, A
1 MOV A, R3
2 RET

1 BACK: XRL A, R1 ;Glowing one LED at a time


1 MOV P0, A
1 MOV R3, A
1 MOV A, R1
1 RLC A
1 MOV R1, A
1 MOV A, R3
2 RET

1 DELAY: MOV TL1, #00H


1 MOV TH1, #00H
1 SETB TR1
2 AGAIN: JNB TF1, AGAIN
1 CLR TF1
1 CLR TR1
2 RET

Total machine cycles: 54

SIMULATION USING PROTEUS

Vous aimerez peut-être aussi