Anda di halaman 1dari 9

UNIVERSITAS NEGERI PADANG MATAKULIAH : Praktik Mikroprosesor

PROGRAM STUDI : Teknik Elektronika TOPIK : Operasi Input Output


JUDUL : Pemrograman Mikroprosesor sebagai
JENJANG PROGRAM / SEMESTER : D3/ V Pembaca Tombol pada Port PPI

PERTEMUAN KE : 13 NOMOR : 13/ PMM/2020


A.Tujuan
1. Agar mahasiswa dapat membuat rangkaian pembaca tombol C pada PPI
8255 untuk pemilih program yang akan dijalankan mikroprosesor.
2. Agar mahasiswa dapat membuat program pembaca tombol C PPI 8255
untuk pemilih program yang akan dijalankan mikroprosesor.
3. Agar mahasiswa dapat membuat program lampu LED berjalan pada port A
serta dapat dipilih dari port C dengan cara menekan switch pada PPI 8255.
4. Agar mahasiswa dapat membuat program gerakan motor stepper unipolar
dengan animasi lainnya pada port B serta dapat dipilih dari port C dengan cara menekan
switch pada PPI 8255.

B. Teori Pendukung
Di dalam IC PPI 8255 alamat setiap port akan berurutan dari dari yang rendah ke yang
tinggi mulai dari port A, B, C terus ke port control. Misalnya kalau port pertama diberikan
alamat 300h maka dapat dipastikan :
1. Port A mempunyai alamat 00h
2. Port B mempunyai alamat 02h
3. Port C mempunyai alamat 04h
4. Port Control mempunyai alamat 06h

Untuk membuat PPI 8255 dapat bekerja maka yang pertama sekali diprogram adalah
port Control. Sekali diprogram port control memegang data yang dimasukkan kepadanya
sampai data baru masuk ke alamat port Control itu. Data yang ada di dalam port Control
menentukan fungsi port A, B, C dan mode transfer data.
Untuk dapat memprogram port Control maka perlu diperhatikan arti masing-masing bit
yang tedapat di dalamnya (Control Word) sebagai berikut :

D7 D6 D5 D4 D3 D2 D1 D0
Port C
Mode set Port C Mode
Mode selection Port A Port B Bawah
Flag Atas (CH) selection
( CL)
D7 : 0 = data diset perbit 1 = data di set berkelompok ( d7……d0)
D6+D5 : 00 = Mode 0 01 = mode 1 10 atau 11 = Mode 2
D4 : 0 = Port A sebagai Output 1 = Port A sebagai input
D3 : 0 = Port C atas sebagai Output 1 = Port C atas sebagai input
--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 1 dari 9
D2 : 0 = Mode 0 group A 1 = = Mode 1 group A
D1 : Port B sebagai Output 1 = Port B sebagai input
D0 : 0 = Port C bawah sebagai Output 1 = Port C bawah sebagai input

Contoh : Percobaan berikut yang akan dilakukan adalah membuat port A dan B sebagai
keluaran dan port C sebagai masukan .Program untuk menginisialisasi supaya
port A, B sebagai keluaran dan port C sebagai masukan (Control Word =
10001001b atau 89h
Portk equ 06h
mov al,10000000b ; isi AL dengan 80h
mov dx, portk ; isi dx dengan alamat 6h
out dx,al ; masukan data al ke port Control

Keterangan : Inisialisasi port PPI adalah bahwa port pertama beralamat 00h dan portControl
diberi nama portk yang alamatnya sudah pasti 6h
LED
D2
D3
D4
ad[0..15}
ad[0..15] D5
U3 U1
AD0 3 2
AD0 34
D0 PA0
4 D6
D0 Q0 AD1 33 3
AD1 4 5 D1 PA1
AD2 7
D1 Q1
6
AD2 32
D2 PA2
2 D7
D2 Q2 AD3 31 1
AD3 8 9 D3 PA3
AD4 13
D3 Q3
12
AD4 30
D4 PA4
40
D8 BAT1
D4 Q4 AD5 29 39
AD5 14 15 D5 PA5 12V
D5 Q5 AD6 28 38
AD6 17 16 D6 PA6
D6 Q6 AD7 27 37
AD7 18 19 D7 PA7
D7 Q7
1
5
RD PB0
18 U2
OE 36 19
11 WR PB1 9
LE 9 20 COM
A0 PB2 1 16
8 21 1B 1C
74HC373 A1 PB3 2 15
35 22 2B 2C
RESET PB4 3 14
23 3B 3C
PB5 4 13
VCC 6 24 4B 4C
CS PB6 5 12
ad[0..15] 25 5B 5C
PB7 6 11 +88.8
6B 6C
U4 7
7B 7C
10
14
21 PC0
RESET AD[0..15] 15
22 PC1 ULN2003A
READY A[16..19] 16
0

24 PC2
INTA/QS1 17
18 25 PC3
INTR ALE/QS0 13
31 34 PC4
HOLD/GT1 BHE 12
30 27 PC5
HLDA/GT0 DT/R/S1 11
23
TEST DEN/S2
26 PC6
10 S1
17 32 PC7
NMI RD
33 29
MN/MX WR/LOCK
19
CLK M/IO/S0
28
8255A
S2
8086
S3

S4

Gambar 1. Rangkaian Mikroprosesor 8086 dengan Port PPI 8255 Sebagai


Seabagai Pembaca Tombol

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 2 dari 9
Gambar 2. Kontruksi Motor Stepper Unipolar
Tabel 1. Data Input Untuk Pilihan Animasi Led atau Motor Stepper Unipolar
Port PPI
Langkah ke PC3 PC2 PC1 PC0 Animasi LED dan Motor
1 1 1 1 0 Led Jalan ke Kanan
2 1 1 0 1 Led Jalan Bolak-balik (Wiper)
3 1 0 1 1 Motor Stepper Berputar kearah CW
4 0 1 1 1 LED dan Motor Stepper berhenti

C. Alat dan Bahan

1. Komputer PC dengan OS Windows XP atau Windows 10 .… 1 buah

2. Software aplikasi Proteus ………..………………………….. 1 buah

3. Software DOS BOX (jika SO Komputer anda Windows 10) ….. 1 buah

4. Software Compiler (EDIT.com, MASM.exe, LINK.exe DAN EXE2BIN.exe) … 1 set

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 3 dari 9
D. Listing Program : pilih.asm
; Program 1: Memprogram Mikroprosesor mov dx,portb
; 8086 unutk Membaca Tombol pada Port C mov al,00000010b
; untuk Memilih program yang akan ;dijalankan out dx,al
call delay
ppi segment
assume cs:ppi mov dx,portb
org 100h mov al,00000100b
out dx,al
Mulai: jmp pilih call delay
delay proc near
push bp mov dx,portb
push cx mov al,00001000b
mov bp,50 out dx,al
ulang: mov cx,400 call delay
lagi: loop lagi
dec bp push ax
jnz ulang mov dx,portc
pop cx in al,dx
pop bp mov cl,al
ret cmp cl,11111110b
delay endp jz pilih
pop ax
porta equ 00h mov dx,portb
portb equ 02h jmp motorcw
portc equ 04h
portk equ 06h ledkanan: mov dx,porta
mov al,00000001b
pilih: push ax
xor ax,ax lagiled: out dx,al
mov dx,portk call delay
mov al,89h rol al,1
out dx,al push ax
mov dx,portc
mov dx,portc in al,dx
in al,dx mov cl,al
mov cl,al cmp cl,11111101b
cmp al,11111110b pop ax
jz ledkanan jz pilih
mov dx,porta
cmp al,11111101b jmp lagiled
jz motorcw
berhenti: INT 20H
cmp al,11110111b ppi ends
jz berhenti end mulai
pop ax
jnz pilih

motorcw: mov dx,portb


mov al,00000001b
out dx,al
call delay

D. Langkah Kerja.
1. Siapkan komputer dalam sistem operasi DOS (atau menggunakan DOSBOX) !
--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 4 dari 9
2. Buatlah skema rangkain mikroprosesor 8086 sebagai kontroler LED pada port A dan
motor stepper bipolar pada port B serta Switch S1,S2,S3,S4 pada port C pada port
PPI 8255, seperti Gambar 1. !
3. Jalankan program EDIT.COM
4. Ketiklah program pilih.ASM
5. Simpanlah file itu dengan nama pilih.ASM
5. Compile program pilih.ASM sehingga menjadi pilih.obj
perintahnya : masm pilih.ASM
6. Link program pilih.objsehingga menjadi pilih.exe
perintahnya : link pilih.obj
7. Rubah pilih.exe menjadi pilih.com
perintahnya : exe2bin pilih.exe pilih.com
8. Upload program pilih.com ke IC Mikroprosesor 8086 dengan cara mengklik diatas
symbol IC itu.
9. Jalankan program pilih dan amati keadaan putaran motor stepper bipolar pada port B.
dan animasi LED di Port A.
10. Kembangkan program anda untuk model pergerakan motor stepper bipolar pada port B
serta gabungan dengan program LED pada port A, dalam suatu program assembler pada
PPI 8225 seperti yang ada pada table 1.

NO PORT A PORT B PORT C Analisis Anda

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 5 dari 9
LED Jalan Kanan

1 Motor Stepper OFF 11111110

Putaran Motor
stepper kontinyu ke
arah CW
2 LED OFF 11111101

3 LED WIPER Motor Stepper OFF 11111011

4 LED OFF LED OFF 11110111

………………….. ……………. …………


5 ……………..
( Kreasi Anda ….
TABEL1: PENGAMATAN Gerakan Motor Stepper

E. Tugas Dan Pertanyaan

1. Kembangkan program berbagai animasi LED dan putaran motor stepper bipolar
pada port-port PPI 8225 minimal sebanyak macam yang terdapat dalam Tabel Pengamatan
diatas.

ppi segment
assume cs:ppi
org 100h
--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 6 dari 9
mulai: jmp pilih
delay proc near
push bp
push cx
mov bp,50
ulang: mov cx,400
lagi: loop lagi
dec bp
jnz ulang
pop cx
pop bp
ret
delay endp

porta equ 00h


portb equ 02h
portc equ 04h
portk equ 06h

pilih: push ax
xor ax,ax
mov dx,portk
mov al,89h
out dx,al

mov dx,portc
in al,dx
mov cl,al
cmp al,11111110b
jz ledkanan

cmp al,11111101b
jz motorcw

cmp al,11111011b
jz ledwiper

cmp al,11110111b
jz berhenti

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 7 dari 9
pop ax
jnz pilih

motorcw: mov dx,portb


mov al,00000001b
out dx,al
call delay
mov dx,portb
mov al,00000010b
out dx,al
call delay

mov dx,portb
mov al,00000100b
out dx,al
call delay

mov dx,portb
mov al,00001000b
out dx,al
call delay

push ax
mov dx,portc
in al,dx
mov cl,al
cmp cl,11111110b
jz pilih
pop ax
mov dx,portb
jmp motorcw

ledkanan: mov dx,porta


mov al,00000001b

lagiled1: out dx,al


call delay
rol al,1
push ax
mov dx,portc
in al,dx

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 8 dari 9
mov cl,al
cmp cl,11111101b
pop ax
jz berhenti
mov dx,porta
jmp lagiled1
ledwiper: mov dx,porta
mov al,00000001b

lagiled2: out dx,al


call delay
ror al,1
push ax
mov dx,portc
in al,dx
mov cl,al
cmp cl,11111011b

push ax
mov dx,portc
in al,dx
mov cl,al
cmp cl,11110111b
pop ax
jz berhenti
mov dx,porta
jmp lagiled2

berhenti: INT 20H


ppi ends
end mulai

2. Buat laporan anda dengan baik dan rapi dan dikumpulkan ke elearning !
3. Demonstrasikan program yang telah anda buat sebelum file-nya diserahkan ke
dosen Anda.
***** SELAMAT BEKERJA SEMOGA SUKSES *****

--------------------------------------------------------------------------------------------------------------------------------------
Dibuat Oleh Dr.Eddas, MT
Job 13. Memprogram uP 8086 untuk Membaca Tombol pada Port C PPI 8225 Halaman 9 dari 9

Anda mungkin juga menyukai