24
LAPORAN PRAKTIKUM SISTEM MIKROPROSESOR, MIKROKONTROLER & PLC LAMPU BERJALAN MELALUI PORT 378H PC OLEH : NAMA : SRI WAHYUNI PUTRI T NIM : 1102100 PRODI : PEND. TEKNIK ELEKTRONIKA FAKULTAS TEKNIK UNIVERSITAS NEGERI PADANG

LAPORAN PRAKTIKUM 3 PLC.docx

Embed Size (px)

Citation preview

Page 1: LAPORAN PRAKTIKUM 3 PLC.docx

LAPORAN PRAKTIKUM

SISTEM MIKROPROSESOR, MIKROKONTROLER & PLC

LAMPU BERJALAN MELALUI PORT 378H PC

OLEH :

NAMA : SRI WAHYUNI PUTRI T

NIM : 1102100

PRODI : PEND. TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2013

Page 2: LAPORAN PRAKTIKUM 3 PLC.docx

A. TUJUAN PRAKTIKUM

1. Agar mahasiswa dapat membuat program untuk menampilkan data ke lampu LED yang

terpasang pada port 378H PC.

2. Agar mahasiswa dapat membuat program untuk menampilkan animasi FLIP-FLOP ke

lampu LED yang terpasang pada port 378H PC.

3. Agar mahasiswa dapat membuat program untuk menampilkan animasi LAMPU

BERJALAN ke lampu LED yang terpasang pada port 378H PC.

4. Agar mahasiswa dapat membuat program untuk menampilkan animasi LAMPU WIPER

ke lampu LED yang terpasang pada port 378H PC.

5. Agar mahasiswa dapat membuat program lampu berjalan dengan animasi lainnya ke

lampu LED yang terpasang pada port 378H PC.

B. ALAT DAN BAHAN

1. Komputer PC yang mempunyai port 378H

2. Indikator LED display

3. Software Editor.com, Masm.exe, Link.exe dan exe2bin.exe

C. TEORI SINGKAT

Komputer PC mempunyai port printer dengan alamat 378H, menggunakan soket DB25

dengan data 8 bit yang keluar pada pin no 2, 3, … 9. Urutan data pada pin dimulai dari D0,

D1,…. D7, seperti gambar berikut:

Gambar 1a. Photo Port 378H pada PC Gambar 1b. Diagram PIN Port 378H

pada PC

Page 3: LAPORAN PRAKTIKUM 3 PLC.docx

Port 378H bersifat keluaran keluaran, karena pada port ini dapat mengeluarkan data

untuk ditapilkan kea lat-alat luar. Pin yang bernama S3-S7 adalah port yang beralamat 379H

bersifat masukan, karna pada port 379H ini dapat dimaksukan data ke prosesor. Port ini

dinamakan juga port status, kerena berguna untuk memberitahukan status printer ke prosesor.

Perahtikan juga tanda pada S7 yang bergaris diatasnya, itu menandakan bahwa datanya

TERBALIK, kalau data yang masuk 1 maka yang sampai ke prosesor adalah 0, begitu

sebaliknya.Pin berikutnya adalah port 37aH yang diberi inisial C0-C3, yang bersifat

keluaran, bergunaka untuk mengonontrol printer oleh prosesor. Perahatikan juga C1 dan C3

datanya TERBALIK pula. Nomor pin untuk port 37aH adalah 1, 14, 16 dan 17.

Untuk menampilkan data pada LED yang tersambung ke Port 378H dapat digunakan

potongan program berikut :

mov al,10001001b ; isi AL dengan 89H

mov dx, 378H ; isi dx dengan alamat 378h

out dx,al ; masukan data al ke port 378H

Baris pertama mov AL,10001001B berarti isi register AL dengan data 89H. Penting !!

Data yang akan dikirim ke port PC harus diletakkan pada register AL terlebih dahulu. Baris

kedua adalah Mov DX,378 berarti tunjuk akamat 378H. Inngat Alamat port yang akan

dituju harus di tunjuk oeh register DX. Baris ketiga Out DX,AL, berarti keluarkan data yang

ada di register AL ke port yang ditunjuk oleh reister DX.

Untuk merealisasikan program ini digunakan bahasa Pemrograman assembler MASM

(Macro Assembler). Membuat program dengan bahasa asembley memerlukan program

EDITOR untuk menulis sintag program, MASM.EXE untuk mengompilenya, LINK.EXE

dan EXE2BIN.exe untuk merubah menjadi program bereksistensi com. Dengan demikian

sebelum memulai menulis program harus disiapkan 4 program sekaligus, yaitu :

Editor.com Masm.exe

Link.exe Exe2bin.exe

Page 4: LAPORAN PRAKTIKUM 3 PLC.docx

D. LISTING PROGRAM

PROGRAM 1; PROGRAM MENAMPILKAN DATA KE PORT 378H BY Edidas

Program1 segmentassume cs:program1org 100h

mulai: jmp jalanjalan: Mov al,00000100B

Mov dx, 378HOut dx,al

Program1 endsend mulai

PROGRAM 2

;PROGRAM MENAMPILKAN ANIMASI FLIP-FLOP KE PORT 378H BY Edidas

flip segmentassume cs:fliporg 100h

mulai: jmp jalan

delay proc near ; prosedur delay push cx ; Simpan nilai cx ke stack push bp mov bp,5555terus: mov cx,9999h ; Isi cx sekarang dg 9999h

hitung: loop hitung ;ulang sampai cx=0 dec bp jnz terus ; ulang sampai bp=0 pop bp ; keluarkan kembali nilai bp pop cx ret ; return (kembali ke program induk)delay endp ; Akhir prosedur delay

jalan: Mov Al,00001111bMov dx,378HOut dx,ALCall delay

mov ah,0Bh ; servis untuk mnghentkan int 21H ; dengan menekan sebarang tombol cmp aL,11111111b je berhenti

mov al,11110000b out dx,al call delay

jmp jalan

Page 5: LAPORAN PRAKTIKUM 3 PLC.docx

berhenti: int 20h

flip endsend mulai

PROGRAM 3;LAMPU BERJALAN MELALUI PORT 378H BY EDIDASLJAL segment assume cs:LJAL org 100h

start: jmp mulai

pembuka db ,13,10,' PROGRAM LAMPU BERJALAN PADA PORT378H PC db ,13,10,' Creaty by edidas' db ,13,10,,13,10,'Program ini baru untuk satu lampu' db ,13,10,'berjalan ke satu arah saja pada port 378H!' db ,13,10,'Anda Wajib mengembangkannya dengan variasi lain' db ,13,10,' seperti yang terdapat dalam Tabel pengamatan!' db ,13,10, ' OK...', ,13,10,,13,10,'$' delay proc near ; prosedur delay push cx ; Simpan nilai cx ke stack push bp mov bp,1111terus: mov cx,9999h ; Isi cx sekarang dg bp+9999h

hitung: loop hitung ;ulang sampai cx=0 dec bp jnz terus ; ulang sampai bp=0 pop bp ; keluarkan kembali nilai bp pop cx ret ; return (kembali ke program induk)delay endp ; Akhir prosedur delay

mulai: mov ah,0h mov al,3h ; Bersih layar int 10h

Mov ah,9h mov dx, offset pembuka ; Tampilkan kata pembuka int 21h

mov al,01h ; isi al mula-mula 01h lagi: mov dx,378h ; isi dx dgn alamat port B push ax ; simpan isi al ke dl dulu out dx,al ; keluarkan isi al ke port B

call delay ; panggil delay utk menunggu

mov ah,0Bh ; servis untuk keluar int 21H ; dengan menean sebarang tombol cmp aL,11111111b

Page 6: LAPORAN PRAKTIKUM 3 PLC.docx

je selesai

pop ax ; ambil data ax kembali ror al,1 ; putar bit al 1 ke kanan jmp lagi ; lompat ke lagi (ulang terus)

selesai: int 20h

LJAL ends end start

E. LANGKAH KERJA

1. Siapkan komputer dalam sistem operasi DOS

2. Jalankan program EDIT.COM

3. Ketiklah program1 mulai judul sampai ketemu kata-kata end…

4. Simpanlah file itu dengan nama prog1.asm

5. Compile program inisial.asm sehingga menjadi prog1.obj perintahnya : masm

prog1.asm

6. Link program prog1.obj sehingga menjadi prog1.exe perintahnya : link prog1.obj

7. Rubah inisial.exe menjadi prog1.com perintahnya : exe2bin prog1.exe prog1.com

8. Selesai mengompile kembali ke prompt DOS.

9. Setelah berada di prompt DOS ketikan PROG1 lalu tekan enter. Jika program anda

benar maka akan tampil data biner 4 ke LED, yang ditandai dengan menyalanya

lampu LED ke 3 dari kanan ( sesuai data pada AL= 00000100).

10. Lanjutkan dengan cara yang sama untuk PROGRAM 2. Jika Program anda benar

maka akan ditampilkan animasi FLIP-FLOP pada lampu LED.

11. Lanjutkan dengan cara yang sama untuk PROGRAM 3. Jika Program anda benar

maka akan ditampilkan animasi LAMPU BERJALAN pada lampu LED.

12. Lanjutkan dengan cara yang sama untuk PROGRAM 4 yang anda rancang sendiri

untuk menampilkan animasi LAMPU BERJALAN KE KIRI DAN KE KANAN pada

lampu LED ( animasi Wiper).

13. Kembangkan program anda untuk animasi lampu LED yang lain

Page 7: LAPORAN PRAKTIKUM 3 PLC.docx

F. HASIL PRAKTIKUM

PROGRAM LAMPU BERJALAN

LJAL segment

assume cs:ljal

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,500

terus: mov cx,9999h

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov ah,0h

mov al,3h

int 10h

mov al,01h

lagi: mov dx,378H

Page 8: LAPORAN PRAKTIKUM 3 PLC.docx

push ax

out dx,al

call delay

mov ah,0Bh

int 21h

cmp aL,11111111b

je selesai

pop ax

rol al,1

jmp lagi

selesai: int 20h

LJAL ends

end mulai

PROGRAM KEMBANG KEMPIS

kembang segment

assume cs:kembang

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,500

terus: mov cx,9999h

Page 9: LAPORAN PRAKTIKUM 3 PLC.docx

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov dx,378H

mov al,10000001b

out dx,al

call delay

mov al,01000010b

out dx,al

call delay

mov al,00100100b

out dx,al

call delay

mov al,00011000b

out dx,al

call delay

mov al,00100100b

out dx,al

call delay

mov al,01000010b

Page 10: LAPORAN PRAKTIKUM 3 PLC.docx

out dx,al

call delay

mov al,10000001b

out dx,al

call delay

XOR ax,ax

mov ah,0bh

int 21h

cmp al,11111111b

jz selesai

jmp jalan

selesai: int 20h

kembang ends

end mulai

PROGRAM KURA2 LAPAR KE KANAN

kura segment

assume cs:kura

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,500

Page 11: LAPORAN PRAKTIKUM 3 PLC.docx

terus: mov cx,9999h

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov dx,378H

mov al,11110001b

out dx,al

call delay

mov al,11110010b

out dx,al

call delay

mov al,11110100b

out dx,al

call delay

mov al,11111000b

out dx,al

call delay

mov al,11110100b

out dx,al

call delay

Page 12: LAPORAN PRAKTIKUM 3 PLC.docx

mov al,11110010b

out dx,al

call delay

mov al,11110001b

out dx,al

call delay

XOR ax,ax

mov ah,0bh

int 21h

cmp al,11111111b

jz selesai

jmp jalan

selesai: int 20h

kura ends

end mulai

PROGRAM KURA2 LAPAR KE KIRI

kura segment

assume cs:kura

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,500

Page 13: LAPORAN PRAKTIKUM 3 PLC.docx

terus: mov cx,9999h

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov dx,378H

mov al,10001111b

out dx,al

call delay

mov al,01001111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

mov al,00011111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

Page 14: LAPORAN PRAKTIKUM 3 PLC.docx

mov al,01001111b

out dx,al

call delay

mov al,10001111b

out dx,al

call delay

XOR ax,ax

mov ah,0bh

int 21h

cmp al,11111111b

jz selesai

jmp jalan

selesai: int 20h

kura ends

end mulai

PROGRAM KURA2 LAPAR KANAN DAN KIRI

kura segment

assume cs:kura

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,1000

Page 15: LAPORAN PRAKTIKUM 3 PLC.docx

terus: mov cx,9999h

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov dx,378H

mov al,10001111b

out dx,al

call delay

mov al,01001111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

mov al,00011111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

Page 16: LAPORAN PRAKTIKUM 3 PLC.docx

mov al,01001111b

out dx,al

call delay

mov al,10001111b

out dx,al

call delay

mov al,11110001b

out dx,al

call delay

mov al,11110010b

out dx,al

call delay

mov al,11110100b

out dx,al

call delay

mov al,11111000b

out dx,al

call delay

mov al,11110100b

out dx,al

call delay

mov al,11110001b

out dx,al

Page 17: LAPORAN PRAKTIKUM 3 PLC.docx

call delay

mov al,10001111b

out dx,al

call delay

XOR ax,ax

mov ah,0bh

int 21h

cmp al,11111111b

jz selesai

jmp jalan

selesai: int 20h

kura ends

end mulai

PROGRAM

kura segment

assume cs:kura

org 100h

mulai: jmp jalan

delay proc near

push cx

push bp

mov bp,1000

terus: mov cx,9999h

Page 18: LAPORAN PRAKTIKUM 3 PLC.docx

hitung: loop hitung

dec bp

jnz terus

pop bp

pop cx

ret

delay endp

jalan: mov dx,378H

mov bx,3

ulang:

mov al,10001111b

out dx,al

call delay

mov al,01001111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

mov al,00011111b

out dx,al

call delay

mov al,00101111b

out dx,al

call delay

Page 19: LAPORAN PRAKTIKUM 3 PLC.docx

mov al,01001111b

out dx,al

call delay

mov al,10001111b

out dx,al

call delay

dec bx

jnz ulang

mov bx,7

lagi:

mov al,11110001b

out dx,al

call delay

mov al,11110010b

out dx,al

call delay

mov al,11110100b

out dx,al

call delay

mov al,11111000b

out dx,al

call delay

mov al,11110100b

out dx,al

Page 20: LAPORAN PRAKTIKUM 3 PLC.docx

call delay

mov al,11110001b

out dx,al

call delay

mov al,10001111b

out dx,al

call delay

dec bx

jnz lagi

XOR ax,ax

mov ah,0bh

int 21h

cmp al,11111111b

jz selesai

jmp jalan

selesai: int 20h

kura ends

end mulai

G. KESIMPULAN

Fungsi bp pada program adalah untuk menentukan waktu untuk pergerakan lampu LED.

Jika waktu dirancang lambat, maka waktu akan lambat, namun pergerakan lampu pada

program akan bisa cepat jika waktu pada program diinputkan lebih cepat.

Pada praktikum, pergerakan lampu LED tergantung pada program yang diinputkan. Jika

program kura2 lapar ke kiri maka lampu LED akan berjalan dari kanan ke kiri sesuai dengan

waktu yang telah ditentukan pada program.