
Program Assembly Mengeluarkan Data Biner ke Port
$mod51
;------------------------------------
; MENGELUARKAN DATA BINER KE PORT 1
;------------------------------------
Main:
MOV P1,#00000001B ; Port 0 sebagai Output dan diisi 1 pada bit 0
LCALL DELAY500MS
MOV P1,#00000010B ; Port 0 sebagai Output dan diisi 1 pada bit 1
LCALL DELAY500MS
MOV P1,#00000100B ; Port 0 sebagai Output dan diisi 1 pada bit 2
LCALL DELAY500MS
MOV P1,#00001000B ; Port 0 sebagai Output dan diisi 1 pada bit 3
LCALL DELAY500MS
MOV P1,#00010000B ; Port 0 sebagai Output dan diisi 1 pada bit 4
LCALL DELAY500MS
MOV P1,#00100000B ; Port 0 sebagai Output dan diisi 1 pada bit 5
LCALL DELAY500MS
MOV P1,#01000000B ; Port 0 sebagai Output dan diisi 1 pada bit 6
LCALL DELAY500MS
MOV P1,#10000000B ; Port 0 sebagai Output dan diisi 1 pada bit 7
LCALL DELAY500MS
SJMP Main ; Kembali ke Main
;---------------
; delay 500 ms
;---------------
DELAY500MS:
PUSH ACC
PUSH 00H
MOV A,#032H ; 500 milli second
X10MS: CALL DELAY10MS
DJNZ ACC,X10MS
POP 00H
POP ACC
RET
;-------------
; DELAY 10 ms
;-------------
DELAY10MS:
PUSH ACC
PUSH 00H
MOV 00H,#050H
D10MS1: MOV A,#0C8H
DJNZ ACC,$
DJNZ R0,D10MS1
POP 00H
POP ACC
RET
END
Semoga bermanfaat & selamat belajar!