Anda di halaman 1dari 12

LAPORAN PRAKTIKUM

Mikroprosesor dan Mikrokontroller

Disusun Oleh :

Nama : Deri Andany

NIM : 09011181621001

Kelas : SK6A

Dosen Pengampuh : Ahmad Zarkasi ,S.T., M.T

SISTEM KOMPUTER

FAKULTAS ILMU KOMPUTER

UNIVERSITAS SRIWIJAYA

2019
1). Judul Praktikum

 FLIP-FLOP

2). Tujuan

 Praktikan mampu membuat program input dan output rangkaian


Flip-Flop dengan menggunakan PPI (Programmable Peripheral
Interface) Port (Port A, Port B, dan Port C) pada DT-51 MinSys
dalam mode 0.

3). Peralatan yang digunakan

1. DT-51 Minsys.
2. DT-51 Trainer Board.
3. PC
4. Kabel X dan Kabel Y

4). Dasar Teori

PPI (Programmable Peripheral Interface) adalah interface yang bisa


deprogram dan memiliki kelebihan yaitu dapat digunakan sebagai input maupun
output ataupunm dua-duanya. PPI memiliki 3 port, masing-masing memiliki 8
terminal yaitu port A, B dan C (Port C dapat terbagi atas 2 yaitu port C upper 4
terminal dan Port C lower 4 terminal). Masing-masing port ini dapat berfungsi
sebagai input ataupun output, termasuk Port C lower dan upper difungsikan sama
atau beda. Fungsi ini terbentuk dari kondisi data bus yang diprogram. Konfigurasi
fungsi dari 8255 adalah diprogram oleh sistem software sehingga tidak diperlukan
oleh komponen gerbang logika eksternal untuk perangkat peripheral interface. PPI
Port juga berarti sebagai port ekspansi (tambahan) yang terdiri dari 3 port diatas.
Untuk Port A berada pada alamat 2000h, Port B berada pada alamat 2001h, dan
Port C berada pada alamat 2002h masing-masing port tersebut memiliki jalur data
input dan output selebar 8 bit.

Pada gambar PPI 8255 (Terlampir pada gambar 1) dapat diketahui bahwa :

1. Data bus buffer


Buffer bidirectional theree state ini digunakan untuk antar muka 8255 ke
sistem bus data,data dikirim dan diterima oleh buffer berdasarkan eksekusi
input atau output dari CPU. Kata kontrol dan status informasi juga dikirimkan
melalui buffer data bus.
2. Read/Write dan kontrol logik.
Fungsi dari blok ini adalah untuk mengatur semua pengiriman baik internal
maupun eksternal dari data dan kata kontrol. Blok ini menerima input dari
alamat CPU dan bus kontrol dan selanjutnya blok ini mengirimkan perintah ke
kedua group kontrol.
3. Chip Select
Chip Select, logika low pada pin input ini maka komunikasi antara 8255 dan
CPU akan enable.
4. Read
Read,logika low pada pin input ini maka 8255 akan mengirimkan data atau
status informasi ke CPU pada bus data.
5. Write
Logika low pada pin input ini maka CPU dapat menulis data atau kata
kontrol ke 8255
6. A0 dan A1
Port select 0 dan port select 1,sinyal input ini berhubungan dengan input RD
dan WR, mengontrol pemilihan satu dari tiga port atau register kontrol pin
tersebut umumnya dihubungkan ke least significant bus dari bus addres (A0 dan
A1)
7. Reset
Logika high pada pin input ini akan menyebabkan reset pada register kontrol
dan semua port (A,B,C) akan berfungsi dalam mode input.
8. Port A,B dan C
8255 terdiri dari tiga buah port 8 bit (A,B dan C). semuanya dapat
dikonfigurasikan dalam berbagai variasi fungsi bergantung pada sistem
software yang diberikan.

Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol


rangkaian elektronik dan umunya dapat menyimpan program didalamnya.
Mikrokontroler umumnya terdiri dari CPU (Central Processing Unit), memori, I/O
tertentu dan unit pendukung seperti Analog-to-Digital Converter (ADC) yang
sudah terintegrasi di dalamnya. Kelebihan utama dari mikrokontroler ialah
tersedianya RAM dan peralatan I/O pendukung sehingga ukuran board
mikrokontroler menjadi sangat ringkas.

Mikrokontroler MCS51 ialah mikrokomputer CMOS 8 bit dengan 4 KB


Flash PEROM (Programmable and Erasable Only Memory) yang dapat dihapus
dan ditulisi sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan
menggunakan teknologi high density non-volatile memory. Flash PEROM on-chip
tersebut memungkinkan memori program untuk diprogram ulang dalam sistem (in-
system programming) atau dengan menggunakan programmer non-volatile
memory konvensional. Kombinasi CPU 8 bit serba guna dan Flash PEROM,
menjadikan mikrokontroler MCS51 menjadi microcomputer handal yang fleksibel.

Tidak seperti sistem komputer, yang mampu menanganiberbagai macam


program aplikasi (misalnya pengolah kata, pengolah angkadan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu
program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan
RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar,
artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar,
sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang
kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang
besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau
Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan
sebagai tempat penyimpan sementara, termasuk register-register yang digunakan
pada mikrokontroler yang bersangkutan.

Kelebihan mikro kontroler sebagai system yaitu, Penggerak pada


mikrokontoler menggunakan bahasa pemograman assembly dengan berpatokan
pada kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah
dikerjakan sesuai dengan logika sistem (bahasa assembly ini mudah dimengerti
karena menggunakan bahasa assembly aplikasi dimana parameter input dan output
langsung bisa diakses tanpa menggunakan banyak perintah). Desain bahasa
assembly ini tidak menggunakan begitu banyak syarat penulisan bahasa
pemrograman seperti huruf besar dan huruf kecil untuk bahasa assembly tetap
diwajarkan. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan
I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga mikrokontroler
dapat dikatakan sebagai komputer mini yang dapat bekerja secara inovatif sesuai
dengan kebutuhan sistem. Sistem running bersifat berdiri sendiri tanpa tergantung
dengan komputer sedangkan parameter komputer hanya digunakan untuk download
perintah instruksi atau program. Langkah-langkah untuk download komputer
dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak
perintah. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan
memori dan I/O yang disesuaikan dengan kebutuhan sistem. Harga untuk
memperoleh alat ini lebih murah dan mudah didapat.

DT-51 Minimum System Ver 3.3 adalah evolusi dari versi sebelumnya (DT-
51 Minimum System Ver 3.0) yang merupakan alat pengembang mikrokontroler
keluarga MCS-51 berbasis AT89S51 dengan desain yang tetap cerdas dan tangguh.
DT-51 Minimum System Ver 3.3 mengalami perubahan disain PCB dan
menggunakan beberapa komponen SMD sehingga membuatnya semakin handal
serta lebih berkualitas. Tata letak komponennya pun sedikit berubah tetapi tetap
kompak dengan ukuran PCB yang sama seperti versi sebelumnya.
Mode pengalamatan Immediate Adalah sebuah bentuk pengalamatan paling
sederhana. Tidak ada referensi kemana-mana. Operand (data yang akan diolah)
benar-benar ada dalam instruksinya. Keuntungan dari mode pengalamatan ini
adalah Menghemat siklus instruksi sehingga proses keseluruhan menjadi cepat
(karena tidak memerlukan referensi memori). Mode Pengalamatan Register
melibatkan dan menggunakan register sebagai tempat untuk menyimpan atau
tempat data yang dimanipulasi. Mode Pengalamatan Direct (Langsung) Adalah
sebuah mode pengalamatan sederhana karena hanya memerlukan satu referensi
memory sebagai operandnya. Artinya operand (data yang akan diolah) diletakkan
di memory sehingga lebih besar dari operand yang "hanya" tertulis di instruksinya.
Mode Pengalamatan register Indirect Adalah sebuah mode pengalamatan yang
memerlukan lebih dari satu referensi (baik memory atau register) untuk mengambil
operand-nya. dalam mode ini, register digunakan untuk menunjuk lokasi dari
register yang lain. Kita dapat mengakses seluruh lokasi RAM yang lokasinya
ditunjukkan oleh isi register.

PPI-8255 dapat dioperasikan dalam 3 mode yaitu:


Mode 0 – Basic Input/Output
 Mode ini digunakan untuk input/output sederhana langsung ke port
I/O.Peralatan luar yang dihubungkan selalu siap untuk mengirimkan/menerima
data, sehingga mode ini tidak tergantung pada waktu.
 Semua port A, B dan C bisa bekerja pada mode ini. Port-port PPI hanya bisa
digunakan sebagai port input atau port output dari sistem mikroprosesor. Port
A dan port B masing-masing dapat digunakan sebagai 8 bit masukan saja atau
8 bit keluaran saja. Sedangkan port C dapat digunakan sebagai empat (4) bit
masukan atau empat (4) bit keluaran seperti port A dan port B.

Mode 1 – Strobe Input/Output


Mode ini digunakan untuk peralatan luar yang mempunyai data valid pada saat –
saat tertentu, sehingga diperlukan sinyal-sinyal pemicu (strobe) pada I/O agar data
segera dapat dikirim, sehingga mode ini tergantung pada waktu.
 Pada mode ini port A dan port B bisa ditentukan sebagai port masukan atau
keluaran data, sedangkan port C berfungsi sebagai pembawa sinyal
status.Transfer data mode ini merupakan sinyal terprogram bersyarat.

Mode 2 – Bidirectional Bus


 Mode ini mampu mengrim/menerima data dalam dua arah (bidirectional
handshake data transfer).
 Mode ini menyebabkan port A bisa berfungsi sebagai masukan sekaligus
keluaran yang dilengkapi dengan sinyal jabat tangan 5 bit dari port C sebagai
kontrol port A. Mode ini tidak tersedia untuk port B.
Kata Kendali (Control Word) merupakan pendefinisian mode dan port yang
akan digunakan dan prosesnya dilakukan oleh perangkat lunak.

Dari Tabel pemakaian PPI 8255 dan pada gambar (Terlampir pada gambar 2)
maka inisialisasi PPI 8255 adalah seperti yang ditunjukkan berikut ini

Keterangan
– D0 : PC0 – PC3 (port Clowwer), logika 0 = output
– D1 : PB0 – PB7 (port B), logika 1 = input
– D2 : Mode untuk port B, logika 0 = Mode 0
– D3 : PC4 – PC7 (port Cupper), logika 1 = input
– D4 : PA0 – PA7 (port A), logika 0 = output
– D5, D6 : Mode untuk port A, logika 0 = Mode 0
– D7 : Mode Set Flag, logika 1 = Aktif
Konfigurasi dari 24 jalur I/O ini bisa digunakan untuk masukan, keluaran, ataupun
biderectional ( dua arah ). Pada I/O yang dikontrol secara software akan lebih
mudah bila dibandingkan dengan pengontrolan secara hardware. Untuk memilih
port 8255 digunakan dua buah address pin, yaitu A1 dan A0, dengan kombinasi
sebagai berikut :

A1=0; A0=0; ==> memilih port A


A1=0; A0=1; ==> memilih port B
A1=1; A0=0; ==> memilih port C
A1=1; A0=1; ==> memilih Control Word ( CW )
CS harus dibuat rendah pada saat pembacaan atau penulisan pada PPI ini. Sinyal
reset bila aktif akan membersihkan seluruh register internal PPI dan membuat PPI
berfungsi dalam mode masukan ( mode input ). Pemilihan konfigurasi port masukan
atau keluaran pada IC 8255 ini dilakukan dengan cara mengirim control word
melalui D7 s/d D0 pada saat A1 dan A0 masing-masing berlogic 1
5). Prosedur Pratikum
1. Percobaan I: PPI Port sebagai Output
Persiapan:
 Hubungkan Port B DT-51 MinSys dengan “PORT OUTPUT” DT-51
Trainer Board menggunakan kabel tipe Y.
 Hubungkan Port A DT-51 MinSys dengan “PORT INPUT” DT-51
Trainer Board menggunakan kabel tipe Y.
 Hubungkan “CONTROL” DT-51 MinSys dengan “CONTROL” DT-51
Trainer Board (sebagai sumber tegangan) menggunakan kabel tipe X.
 Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial.
 Hubungkan DT-51 MinSys dengan sumber tegangan.

a. Program 1:
Ketiklah program berikut ini, assemble, download ke DT-51 MinSys,
dan amati hasilnya:

$mod51
CSEG
ORG 4000H
LJMP START
ORG 4100H
START:
MOV SP, #30H
MOV DPTR, #2003H
MOV A, #90H
MOVX @DPTR, A
MULAI:
MOV DPTR, #2000H
MOVX A, @DPTR
CJNE A, #0FH, MULAI
MOV A, #03H
KIRI:
MOV DPTR, #2001H
RR A
MOVX @DPTR, A
LCALL TUNDA
SJMP KIRI

TUNDA: DJNZ R0, TUNDA


DJNZ R1, TUNDA
RET
END

Jika tidak ada kesalahan, program tersebut akan menampilkan nyala LED berlogika
‘0FH’ dan akan bergeser ke kanan 1 bit selama delay yang diatur.
6). Hasil Pengamatan

 Penjelasan program 1:
Pada praktikum ini menggunakan Port A sebagai Input dan Port B
sebagai Output dihubungkan menggunakan kabel tipe Y. Berikut adalah
penjelasan program 1:

$mod51
CSEG : Untuk memilih lokasi memori
program

ORG 4000H : Menggunakan alamat awal


EEPROM DT51

LJMP START : Lompat (long) ke Label START


tanpa bersyarat dan tidak akan mengesekusi program setelahnya.

ORG 4100H : Alamat EEPROM DT-51

START: : Label Mulai


MOV SP, #30H : SP (Stuck Pointer) diisi dengan 30H

MOV DPTR, #2003H : Inisialisasi mengaktifkan CW /


Control Word

MOV A, #90H : Mengaktifkan PPI port A sebagai


Input dan Port B Output

MOVX @DPTR, A : Memindahkan isi akumulator ke


memori data eksternal yang alamatnya ditunjukkan oleh isi data pointer.

MULAI: : Label MULAI


MOV DPTR, #2000H : Inisialisasi mengaktifkan Port A
(2000H) sebagai Input

MOVX A, @DPTR : Memindahkan Input ke dalam


Accumulator / Menunjukan alamat memory (accumulator) untuk diakses

CJNE A, #0FH, MULAI : Membandingkan isi akumulator


dengan nilai 0FH, jika tidak sama lompat ke MULAI

MOV A, #03H : Memberikan nilai ‘0FH’ ke dalam


isi akumulator.

KIRI: : Label KIRI


MOV DPTR, #2001H : Inisialisasi mengaktifkan Port B
(2001H) sebagai Output.
RR A : Menggeserkan 1 bit ke kanan nilai
akumulator.

MOVX @DPTR, A : Memindahkan isi akumulator ke


memori data eksternal yang alamatnya ditunjukkan oleh isi data pointer.

LCALL TUNDA : Memanggil subrutin dan


menjalankan perintah di dalamnya kemudian kembali menjalankan
program dibawah instruksi LCALL tadi.

SJMP KIRI : Lompat (short) ke LOOP agar LED


tetap bekerja, asal jarak ke LOOP tidak lebih dari 127 byte

TUNDA: : Label TUNDA


DJNZ R0, TUNDA : Isi R0 (Register) dikurangi 1 dan
lompat ke TUNDA

DJNZ R1, TUNDA : Isi R0 (Register) dikurangi 1 dan


lompat ke TUNDA

RET : kembali dari suatu subrutin program


ke alamat terakhir subrutin tersebut di panggil.

END : Program selesai

Pada Percobaan untuk program 1, menggunaan PPI Port A sebagai


Input dan PPI Port B sebagai Output sehingga nilai untuk mendefinisikan
port pada PPI adalah ‘#90H’. Sama seperti praktikum sebelumnya, pada
program ini menggunakan instruksi LCALL. Instruksi LCALL akan
memanggil label yang tedapat dalam program yang disusun dengan dimulai
dengan Label dan diakhiri dengan RET (Return). Setelah instruksi dalam
label dieksekusi maka program akan kembali mengeksekusi program persis
di bawah instruksi LCALL tadi.
Pada program diatas juga menggukana instruksi DJNZ (Decrement
Register And Jump Id Not Zero) yang berfungsi untuk mengurangi nilai
register dengan 1 dan jika hasilnya sudah 0 maka instruksi selanjutnya akan
dieksekusi. Jika belum 0 akan menuju ke alamat kode dan diletakan ke
dalam subroutine DELAY. Subrutin DELAY, counter R0 dan R1
ukurannya diset sebagai default. Saat R0 dan R1 menjadi 0, kontrol menuju
instruksi RET, dimana dengan mengeksekusi RET ini alamat yang tadi
disimpan pada stack, dikeluarkan lagi (pop) dan diletakan kembali pada PC
(Program Counter). PC kemudian menunjukan alamat instruksi tepat di
bawah CALL dan program dilanjutkan kembali.
Yang berbeda dengan kode program sebelumnya, praktikum ini
terdapat instruksi RR (Rotate Right) yang berfungsi untuk memutar
(menggeser) accumulator ke kanan. Jadi LED yang mula yang berlogika
‘0FH’ atau berlogika ‘0000 1111’ dan kedelapan bit accumulator tersebut
akan diputar satu bit ke kanan.
7). Kesimpulan

 CJNE (Compare Jump Not Equal) bertujuan untuk membandingkan data


langsung dengan lokasi memori yang dialamati oleh register R atau
Akumulator A. apabila tidak sama maka instruksi akan menuju ke alamat
kode. Jadi dalam perintah CJNE ada 3 variable, yang dibandingkan, sebagai
pembanding, dan tujuan lompatan.
 Instruksi CALL digunakan untuk memanggil sebuah subrutin. Sebelumya
akan kita perjelas apa itu subrutin. Subrutin adalah sekumpulan/blok kode
instruksi yang memiliki tugas tertentu. Kumpulan instruksi dalam subrutin
tersebut bisa digunakan atau dijalankan dengan cara memanggil (CALL).
 RET (Return from subroutine) Intruksi RET berfungsi untuk kembali dari
suatu label program ke alamat terakhir subrutin tersebut di panggil.
 RR (Rotate Right), adalah instruksi untuk memutar (Rotate) Accumulator
ke Kanan (Right). Kedelapan bit accumulator akan diputar satu bit ke kanan.
Bit 0 akan dirotasi ke posisi bit 7. Instruksi ini tidak mempengaruhi flag
apapun juga.
8). Lampiran (jika ada)

Gambar 1. Pada saat bit berlogika 0000 1111 dan LED menyala 11111000

Anda mungkin juga menyukai