| Contoh Program Assembly Port 2 Sebagai Saklar Port 0 |
Dengan menjadikan kondisi port 2 toggle saklar untuk mematikan dan/atau menghidupkan LED pada port 0. #Microcontroller #8051
$MOD51 ; This includes 8051 definitions for the Metalink assembler
; Please insert your code here.
;- BAB3_10.ASM -------------------------------------------------------------------
;
; Simulasi penekanan tombol pd P2.0 sebagai toggle switch
; untuk menghidupkan/mematikan lampu pada Port 0
; author: www.gatewan.com
;---------------------------------------------------------------------------------
ORG 0H
MULAI:
MOV A,P2 ; Baca tombol P2 dan simpan di akumulator
CJNE A,#0FEH,MULAI ; Apakah tombol P2.0 ditekan? (=11111110)
; Tidak! Ulangi lagi dari awal
CJNE R0,#0,TERUS ; Ya! Apakah R0=0 (artinya lampu sedang mati)?
; Tidak! loncat ke proses mematikan lampu LED (TERUS)
MOV R0,#1 ; Ya! ubah status R0=1 (lampu menyala)
MOV P0,#0 ; dan hidupkan lampu LED di port 1
TUNGGU: ; Untuk menghindari bouncing
MOV A,P2 ; Tunggu hingga tombol P2.0 dilepas
CJNE A,#0FFH,TUNGGU ;
SJMP MULAI ; Ulangi lagi dari awal
TERUS:
MOV R0,#0 ; Ubah status R0=0 (lampu mati)
MOV P0,#0FFH ; dan matikan lampu LED di port 1
SJMP TUNGGU ; untuk menghindari bouncing, lompat ke TUNGGU
END
Demo :