Sebuah program sederhana yang dibuat oleh seorang teknisi untuk menghibur adik-adiknya mungkin, atau malah menghibur dirinya sendiri yang terlalu lama kesepian. Yah efek samping seorang programmer yang terlalu lama berkutat dengan coding dan mesin, membuatnya lupa akan dunia nyata yang mana masih banyak para wanita membutuhkan kasih sayangnya 😃 "#aghiaag-uhuk".

Contoh Program Assembly Flip-Flop Port 0
Masih menggunakan device andalan yaitu 8051, dilengkapi dengan beberapa LED pada port 0 untuk menampilkan pola unik dari program berikut:
$MOD51 ; This includes 8051 definitions for the Metalink assembler
; Please insert your code here.
;---------------------------------------------------------------
;
; Lampu flip-flop pada Port 0
; #author: www.bundet.com
;--------------------------------------------------------------------------
ORG 0H ; program ditempatkan pada lokasi 0000H
;
MULAI: MOV P0,#00001111B ; LED P0.4 s/d P1.7 nyala (heksa= #0FH)
ACALL DELAY ; lakukan penundaan sesaat (sub. DELAY)
MOV P0,#11110000B ; LED P0.0 s/d P1.3 nyala (heksa= #0F0H)
ACALL DELAY ; lakukan penundaan sesaat (sub. DELAY)
SJMP MULAI ; ulangi lagi dari awal
;-subrutin DELAY-----------------------------------------------------------
;
; subrutin ini hanya sekedar melakukan penundaan sesaat dengan cara
; mengulangi proses (pengurangan isi register) hingga dicapai suatu
; kondisi tertentu
;
;--------------------------------------------------------------------------
DELAY: MOV R0,#2H ; Isi Register R0 dengan 2 (2x ulang)
DELAY1: MOV R1,#2H ; Isi Register R1 dengan 2 (2x ulang
DELAY2: MOV R2,#0 ; Isi register R2 dengan 0 (2x ulang)
DJNZ R2,$ ; R2=R2-1, jika R2 belum 0 ulangi lagi
DJNZ R1,DELAY2 ; R1=R1-1, jika R1 belum 0 ulangi DELAY2
DJNZ R0,DELAY1 ; R0=R0-1, jika R0 belum 0 ulangi DELAY1
RET ; Kembali ke pemanggil subrutin DELAY
END
Demo:
https://youtu.be/WJmqDDrd4vM
DOWNLOAD SCHEMATIC (117KB)