Jumat, 19 Agustus 2011

KONTROL DISPLAY LED BERBASIS AT89S51














Rangkaian kontrol display led bekerja sebagai berikut:

· SW 1 ditekan 8 LED menyala dari kiri ke kanan ( 8 LED tetap menyala dari kiri ke kanan walaupun SW1 sudah dilepas lagi)

· SW 2 ditekan 8 LED menyala dari kanan ke kiri ( 8 LED tetap menyala dari kanan ke kiri walaupun SW2 sudah dilepas lagi)

· SW 3 ditekan 8 LED akan mati (8 LED tetap mati walaupun SW3 sudah dilepas lagi)


Program Sebagai Berikut:

ORG 00H
MULAI:
JNB P0.2, GESER_KANAN
JNB P0.1, GESER_KIRI
JNB P0.0, MATI
CLR P0.2
SJMP MULAI

GESER_KANAN:
MOV P2,#11111110B
CALL DELAY
MOV P2,#11111101B
CALL DELAY
MOV P2,#11111011B
CALL DELAY
MOV P2,#11110111B
CALL DELAY
MOV P2,#11101111B
CALL DELAY
MOV P2,#11011111B
CALL DELAY
MOV P2,#10111111B
CALL DELAY
MOV P2,#01111111B
CALL DELAY
JNB P0.1,GESER_KIRI
JNB P0.0, MATI
SJMP GESER_KANAN

GESER_KIRI:
MOV P2,#01111111B
CALL DELAY
MOV P2,#10111111B
CALL DELAY
MOV P2,#11011111B
CALL DELAY
MOV P2,#11101111B
CALL DELAY
MOV P2,#11110111B
CALL DELAY
MOV P2,#11111011B
CALL DELAY
MOV P2,#11111101B
CALL DELAY
MOV P2,#11111110B
CALL DELAY
JNB P0.0,MATI
JNB P0.2,GESER_KANAN
SJMP GESER_KIRI

MATI:
MOV P2,#11111111B
JNB P0.2,GESER_KANAN
JNB P0.1,GESER_KIRI
SJMP MATI


DELAY: MOV R1,#01H
DELAY1: MOV R2,#01H
DELAY2: MOV R3,#01H
DJNZ R3,$
DJNZ R2,DELAY2
DJNZ R1,DELAY1
RET
END