a.
Program
1
$mod51
CSEG ; untuk
memilih lokasi memori program
ORG
4000H ; menggunakan alamat
awal EEPROM DT51
LJMP
START ; lompat jarak
jauh tanpa syarat kondisi Ke Label Mulai
ORG
4100H ; Alamat EEPROM DT-51
START: ;
Label mulai
MOV
SP,#30H ; mengisi
SP dengan 30H
SETB
P1.0 ; Kirim logika ‘1’ Set bit port 1.0 aktif
CLR P1.1 ;Kirim logika ‘0’ ke P1.1 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.1 NonAktif
SETB
P1.2 ; Kirim logika ‘1’ Set bit port 1.2 aktif
CLR P1.3 ; Kirim logika ‘0’ ke P1.3 intruksi menjadikan bit menjadi ‘0’/reset set bit port 1.3 NonAktif
SETB P1.4
SETB
P1.5
SETB P1.6 Kirim logika ‘1’set
bit port aktif
SETB
P1.7
SJMP
$ ;stanby(short
jump)
END ;Selesai
Dari program
diatas dapat kita simpulkan bahwa program diatas merupakan program bahasa
assembly dengan metode pengalamatan bit untuk program port 1 sebagai output
yang mana pengesetan intruksi berdasarkan perbit yaitu intruksi SETB P1.0 Yang
berarti set bit pada port 1.0 aktif dan lampu led berarti menyala,dan CLR
P1.3(intruksi bit yang menyatakan bit tidak aktif/reset dan berlogika 0 maka
lampu led padam.
b.
Program
2
$mod51
CSEG ; untuk
memilih lokasi memori program
ORG 4000H ; menggunakan alamat awal EEPROM DT51
LJMP
START ; lompat jarak
jauh tanpa syarat kondisi Ke Label Mulai
ORG 4100H ;Alamat EEPROM DT-51
START: ;
Label mulai
MOV SP,#30H ; mengisi SP dengan 30H
SETB C ; Instruksi untuk mengeset bit C/operand(atau logika 1)
MOV
P1.0,C ; Kirim Data pada
Accumulator ke Port 1
MOV P1.1,C
MOV P1.2,C Kirim
Data pada Accumulator ke Port 1
MOV P1.3,C
CLR C ;intruksi untuk mereset suatu bit menjadi nol
atau logika ‘0’
MOV P1.4,C
MOV P1.5,C sehingga pengiriman data
pada Accumulator ke port 1 menjadi
berlogika ‘0’/ lampu mati
MOV P1.6,C
MOV P1.7,C
SJMP $ ; stanby
END ;selesai
Pada program kedua di percobaan 1
sebenarnya sama dengan program satu yaitu dengan pengalamatan bit tetapi di
program 2 ini set bitnya langsung ke alamat/operand bukan perport dan
selanjutkan ke MOV P1.0- dan seterusnya sehingga Instruksi
ini akan mengisi suatu data ke port dan melanjutkanya ke port lain tetapi
apabila di perjalanan program ada intruksi CLR C maka set bit pada alamat akan
tereset atau berlogika ‘0’ maka pengisian data port selanjutnya juga akan
tereset atau berlogika ‘0’ yang menyebabkan lampu LED mati atau berlogika 0.
Dari kedua
program diatas dapat kita simpulkan bahwa setelah memahami kedua program diatas
maka praktikan sudah bisa membuat suatu program Output menggunakan port 1 dari
DT-51 Minsys dengan cara mengakses port 1 secara per bit maupun per byte.
No comments:
Post a Comment