Di dunia elektronika, hal yang tidak boleh diabaikan maupun dilupakan adalah melakukan pengecekan peralatan pendukung, untuk memastikan bahwa alat yang kita gunakan dapat bekerja dengan baik sesuai fungsinya, paket service itu sering dikenal dengan istilah kalibrasi.

Tak terkecuali saat kita sedang merancang suatu sistem untuk ditanamkan/dibenamkan/diembed ke dalam IC (Microcontroller ataupun Microprocessor) biasanya kita menggunakan indikator port sebagai pengujinya, untuk memastikan apakah program kita sudah berjalan sebagaimana mestinya.
Inilah alasan kenapa program ini dibuat, sehingga kita bisa memastikan bahwa port indikator yang kita gunakan berfungsi dengan baik, dan jika ada kerusakan, maka kita bisa melakukan troubleshooting lebih lanjut seperti; mengganti lampu indikator maupun mengecek konektornya, dll.
Source Code:
;-- BAB3_01.ASM -----------------------------------------------------------
;
; High Flip-Flop untuk Testing Port 1
; bundet.com
;--------------------------------------------------------------------------
#include <sfr51.inc>
ORG 0H ; program ditempatkan pada lokasi 0000H
;
MULAI:
MOV P1,00001111B ; LED P1.4 s/d P1.7 nyala (heksa= #0FH)
ACALL DELAY ; lakukan penundaan sesaat (sub. DELAY)
MOV P1,11110000B ; LED P1.0 s/d P1.3 nyala (heksa= #0F0H)
ACALL DELAY1 ; 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,#5H ; Isi Register R0 dengan 5 (5x ulang)
DELAY1: MOV R1,#0FFH ; Isi Register R1 dengan 255 (255x ulang
DELAY2: MOV R2,#0 ; Isi register R2 dengan 0 (256x 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/znSdXdbwvL0
Semoga bermanfaat & selamat belajar!