sampul.docx
TRANSCRIPT
Tugas Praktikum IV
Dosen : ABD. JABBAR, ST., MT
PERCOBAAN 2SAKLAR SEBAGAI INPUT
O
L
E
H
ABD. AZIS NUR
210 180 066
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS MUHAMMADIYAH PAREPARE
2013/2014
TUGAS 2B
1. Buatlah program pencacah naik dan turun dengan input saklar push on dimana setiap kali saklar P1.0 ditekan maka nilai desimal LED ON bertambah satu dan kembali ke NOL setelah mencapai nilai 255, sebaliknya setiap kali saklar P1.1 ditekan maka nilai desimal LED ON berkurang satu dan kembali ke 255 setelah mencapai nilai NOL.
Jawab:
$mod51Org 0h
mov P2,0cekP10:
JB P1.0,cekP11 ;menguji bit P1.0,apakah berlogika 1acall tambah ;jika P1.0=0,maka led bertambah 1
cekP11:JB p1.1,cekP10 ;menguji bit P1.1,apakah berlogika 0acall kurang ;jika P1.0=0,maka led berkurang 1sjmp cekP10 ;lompat ke cekP1.0
tambah:kiri: mov P2,R0
acall delayJB P1.0,okracall delayINC R0CJNE R0,#255,kiri
okr: Ret
kurang:kanan: mov P2,R0
acall delayJB P1.1,okkacall delayDEC R0CJNE R0,#0,kanan
okk: Ret
delay: mov R3,#3dly1: mov R2,#100dly2: mov R1,#150
DJNZ R1,$DJNZ R2,dly2DJNZ R3,dly1Ret
End
2. Dengan menggunakan ADD dan SUBB, buatlah program yang jika saklar push on P1.0 ditekan maka nilai desimal LED ON bertambah 2 dan jika saklar push on P1.1 ditekan maka nilai desimal LED ON berkurang 2.
Jawab:
$mod51Org 0h
mov A,#1mov P2,A
cekP10:JB P1.0,cekP11 ;menguji bit P1.0,apakah berlogika 1acall tambah ;jika P1.0=0,maka led bertambah 2
cekP11:JB p1.1,cekP10 ;menguji bit P1.1,apakah berlogika 0acall kurang ;jika P1.0=0,maka led berkurang 2sjmp cekP10 ;lompat ke cekP1.0
tambah:kiri: mov P2,A
acall delayJB P1.0,okracall delayADD A,#2acall delay
okr: Ret
kurang:kanan: mov P2,A
acall delayJB P1.1,okkacall delaySUBB A,#2acall delay
okk: Ret
delay: mov R3,#3dly1: mov R2,#100dly2: mov R1,#100
DJNZ R1,$DJNZ R2,dly2DJNZ R3,dly1Ret
End