sampul.docx

4

Click here to load reader

Upload: azis-kamera

Post on 13-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: sampul.docx

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

Page 2: sampul.docx

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

Page 3: sampul.docx

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