Anda di halaman 1dari 13

LAPORAN PRAKTIKUM MIKROKONTROLER DAN PLC

“PEMROGRAMAN C MIKROKONTROLER DAN


PARALEL INPUT OUTPUT”

Disusun Oleh :

Nama : Lydia Radita Sinta N


NIM : 021600478
Prodi : Elektronika Instrumentasi
Jurusan : Teknofisika Nuklir
Dosen : Dr. Muhtadan

SEKOLAH TINGGI TEKNOLOGI NUKLIR


BADAN TENAGA NUKLIR NASIONAL
YOGYAKARTA
2018
I. TUJUAN
a. Praktikan mampu memahami Input output mikrokontroler AVR AT Mega.
b. Praktikan mampu memahami Input output AVR AT Mega.
c. Praktikan mampu membuat program dalam bahasa C untuk input
output Port mikrokontroler dan penerapannya.

II. ALAT DAN BAHAN


1. Minimum sistem Mikrokontroller ATmega8535.
2. Adaptor.
3. Komputer yang terinstall program CV AVR dan program untuk download.

III. DASAR TEORI


Atmel AT Mega8535/16/32 dilengkapi dengan empat buah 8-bit input output
(I/O) digital multiguna yaitu PORTA, PORTB, PORTC, dan PORTD. Semua
port ini juga memiliki fungsi alternatif yang akan dijelaskan kemudian. Pada
bab ini akan dibahas mengenai fungsi dasar port I/O digital. Selanjutnya pada
subbab berikut akan dibahas mengenai penggunaan port I/O dalam aplikasi led,
seven segmen, keypad, dan LCD.

Register Port

Setiap port dalam AT Mega8535 memiliki tiga buah register yang berkaitan yaitu

1. Data Register (PORTx), digunakan untuk menulis data keluaran port.

2. Data Direction Register (DDRx), digunakan untuk menentukan pin port


spesifik sebagai output (bernilai 1) atau sebagai input (bernilai 0).
3. Input Pin Address (PINx) digunakan untuk membaca data input dari port.
Gambar 1. Register-register port

Port mikrokontroler AVR dapat dikonfigurasi sebagai input atau output, dengan
cara mengubah isi I/O register DDRx. Bit-bit pada DDRx menentukan arah pin.
Setiap pin pada AVR juga memiliki internal pull-up, untuk mengaktifkannya
dilakukan dengan memberikan nilai 0xFF pada register PORTx.
Untuk membaca data pada salah satu port, dapat digunakan fungsi PINx,
sedangkan membaca data per pin pada suatu port maka ditentukan bit pin-nya yaitu
PINx.bit.

IV. TATA LAKSANA PERCOBAAN


1. Hubungkan port PIO pada AVR ATMega dengan modul penampil led.
2. Hubungkan port PIO yang lain pada AVR ATMega dengan modul switch.
3. Buatlah program-program berikut, kemudian download kedalam chip AVR.
4. Ubahlah beberapa variable pada program dengan nilai yang bervariasi,
kemudian amati hasilnya dan simpulkan dalam pembahasan.
5. Buatlah program sesuai tugas yang diberikan pada saat praktikum.

V. HASIL PRAKTIKUM
Terlampir

VI. PEMBAHASAN
Dalam praktikum pertama mata kuliah mikrokontroler dan PLC ini yaitu
mengenai Pemrograman C Mikrokonroler dan Paralel Input Output yang
mempunyai tujuan tujuan mampu memahami Input output mikrokontroler AVR AT
Mega, mampu memahami Input output AVR AT Mega dan mampu membuat
program dalam bahasa C untuk input output Port mikrokontroler dan penerapannya.
Pada Port I/O mempunyai tiga alamat memori yang digunakan untuk mengatur
konfigurasi setiap port I/O yaitu ;

a. Data Register (PORTx) yang digunakan untuk menyimpan data yang akan
ditulis/dikeluarkan ke port I/O pada saat dikonfigurasi.
b. Data Direction Register (DDRx) yang fungsikan untuk mendifinisikan port
sebagai input atau sebagai output.
c. Port Input Pin (PINx) yang digunakan untuk menyimpan data yang terbaca
dari port I/O pada saat konfigurasi sebagai input.

Pada praktikum kali ini dilakukan deteksi port dan memberikan keluaran kondisi
yang ditunjukkan oleh LED. Praktikum ini dilakukan dengan lima percobaan
dengan program yang berbeda-beda.

Sebelum masuk ke dalam program-program yang akan dibuat, kita harus


menginstall K-125 ke dalam PC yang akan kita gunakan. Cara penginstallan tidak
jauh berbeda dengan install pada umumnya. Tata cara yang harus adalah sebagai
berikut :
a. Harus dapat memastikan PC yang kita gunakan apakah berbasis 16 atau 32 Bit
karena tidak sembarang PC dapat digunakan. Yang dapat digunakan yaitu PC
yang berbasis 32 Bit, jika berbasis 16 Bit maka tidak dapat digunakan.
b. Melihat Device Manager pada PC yang digunakan, caranya My Computer klik kanan
c. Kemudian Pilih Device Manager -> Ports (COM & LPT)
Lihat Prolific USB-to-Serial Comm port di com berapa?
d. Untuk merubah Com port klik dua kali pada prolific USB-to-Serial Comm Port
kemudian pilih menu Port settings -> Advanced, pilihlah com pada COM PORT
Number (sebaiknya pilih antara 1-6)

Setelah dapat menginstall K-125 pada PC yangd iguanakan maka langkah selanjutnya
mengintall AVR Prog dengan langkahlangkah sebagai berikut :
a. Koneksikan K-125R pada computer PC/Laptop anda
b. Aktifkan program AVRProg (Pada programmer AVRProg hardware harus terpasang
terlebih dahulu) jika software dapat berjalan/terbuka maka K-125R telah terkoneksi/ter-
install dengan baik
c. Klik Browse dan kemudian pilih file hex yang ingin didownload
d. Pilih Device yang anda ingin download
e. Kemudian klik Program
Catatan: Jika K-125R tidak terkoneksi dengan AVR yang hendak didownload maka
akan tampil tulisan “Address: 0x0000, Expected: 0x940c, Received: 0xffff” (set pada
ATmega8535)
f. Klik Advanced untuk melakukan setting fuse bit dan lock bit

K-125R harus terlebih dahulu terpasang sebelum menjalankan program AVRprog,


jika mengalami error matikan tutup software kemudian pasang ulang K-125R dan
jalankan AVRProg.

Setelah hal-hal yang dilakukan diatas, maka langkah selanjutnya adalah menginstall
pada PROGRAM Code Vision AVR dengan langkah-langkah sebagai berikut :
a. Bukalah Program CodeVision AVR 1.25.9
b. Klik settings dan kemudian pilih Programmer
c. Kemudian pilih AVR Chip Programmer Type: Atmel AVRProg(AVR910)

d. Set boud Rate 115200bps dan pilih Communication Port yang terdeteksi.
e. K-125R Siap digunakan dalam CodeVision AVR.

Setelah beberapa yang dilakukan dalam penginstallan diatas maka langkah


selanjutnya yaitu dapat menggunakan aplikasi CvAVR dengan baik.

1. Program 1

Pada program yang dijalankan pada percobaan ini, dapat dilihat bahwa
Port D menjadi Output karena DDRx diatur pada port D sebagaimana pada
koding program ini tertulis DDRD dan diberi nilai 0xFF yang berniali 0 atau
low sehingga port D sebagai output. Selanjutnya koding PORTD = 0xFF berarti
bahwa port D menjadi active low, dimana keluarannya akan menyala (active)
ketika berlogika 0. Pada port D ini memiliki 8 pin keluaran dari POTD.0 hingga
PORTD.7 yang diatur sebagai berikut
 Pin 0 bernilai 0
 Pin 1 bernilai 1
 Pin 2 bernilai 1
 Pin 3 bernilai 1
 Pin 4 bernilai 0
 Pin 5 bernilai 1
 Pin 6 bernilai 1
 Pin 7 bernilai 1

Maka ketika program dijalankan, led yang akan menyala pada modul ada
pada led 0 dan led 4. Hal ini sesuai dengan hasil percobaan yang dilakukan
dimana hanya led 0 dan led 4 yang menyala. Maksud dari perintah while (1)
maka program tersebut akan melakukan perulangan atau looping hingga daya
mikrokontroler tidak tersedia

2. Program 2

Pada percobaan ini terdapat 2 Port yang digunakan yaitu Port A dan Port
D. Pada program tersebut diketahui bahwa Port A digunakan sebagai input dan
Port D digunakan sebagai output. ATMega8535 memfasilitasi setiap PORT I/O-
nya dengan fitur internal pull-up yang dapat diatur aktif/tidaknya. Fitur internal
pull-up diletakkan pada Port A yang dimana Port A ini diatur sebagai input.
Maka setiap pin pada Port A seolah tersambung ke Vcc melalui sebuah resistor,
sehingga pada kondisi tidak ada rangkaian lain yang terhubung dengan pin
tersebut maka logika yang terbaca berlogika high (1). Port A dihubungkan pada
switch/push button, dimana tugas Port A ini akan menghubungkan dan
menyalin data dari switch yang selanjutnya akan terhubung pada keluaran Port
D. Hasil yang tertampil setelah program 2 dijalankan adalah led yang ditekan
switchnya akan menyala. Dikarenakan program ini adalah active low, maka
ketika penekanan switch akan berlogika 0 yang menyebabkan led menyala.

3. Program 3

Pada program 3 diatas adalah program yang digunakan untuk running


LED yaitu LED akan menyala bergantian secara bergeser satu satu. Port
yang digunakan adalah port D yang digunakan untuk output. Program diatas
juga melibatkan delay sebesar 250ms. Jadi apabila program dijalankan, nilai
keluaran LED tidak langsung dimasukkan dalam port melainkan dengan
variabel A dengan nilai 1. Sehingga keluaran port D harus di invers dari
nilai A. Begitu nilai dikeluarkan pada port D, maka delay akan bekerja selama
250 ms kemudian nilai A ditambah 2 sampai berniali 128 dan kembali ke 1.
Nilai decimal ini diubah langsung pada port D menjadi biner sehingga menjadi
keluara pada LED.

4. Program 4

Pada program 4 tersebut pada dasarnya sama dengan program ke 3


hanya saja running LED akan melompat setiap nilai n yang kita set/tentukan,
pada program tersebut kami set nilai n = 2, maka ketika dieksekusi running
LED akan melompat sebanyak 2 kali atau 2 nilai. Dengan digunakan variabel
val diatur 1<<7 maka keluaran port D akan di invers dari “val” dan running
LED hanya akan berjalan pada output port 7 hingga 1 . Pada program tersebut
delay diatur sebesar 200 ms, yang berarti bahwa pada saat program diLoop
eksekusi program selanjutnya ditahan atau ditunda selama 200 ms. Ketika
nilai val sudah sama dengan 0, maka program akan kembali dieksekusi
dengan diberi nilai awal masukan.

\
5. Program 5
Pada program 5 tersebut kami membuat running LED yang berjalan
dari kanan dan kiri atau dari kedua ujung kemudian bertemu dititik tengah.
Pada praktikum program ke-5 ini port D dijadikan sebagai output, sedangkan
port B digunakan sebagai input. Pada program 5 ini kami juga membuat flip
flop untuk menyalakan dan mematikan LED secara serempak dengan
membaca input port B dan diteruskan sebagai output oleh port D.
Pada program ini berisi program dengan input port B dengan 2 kondisi
yaitu ketika pin B0=0 dan pin B1=0, dimana pin B0 digunakan untuk
menyalakan running LED dan pin B1 digunakan untuk menyalakan flip flop.
 PIN B0
Pada program running LED, program diset untuk dieksekusi
melakukan pengulangan sebanyak 3 kali (a) dimulai dari 0. Pada program
ini output D ditentukan akan bernilai high ketika program bernilai 0 karena
output D diset 0XFF. Program akan mengeksekusi running LED yang
menyala sesuai dengan nilai array yang kita atur untuk kemudian diubah
menjadi nilai biner dan menyalakan running LED sesuai data di bawah ini
:

no N Biner yang di panggil Biner invers


1 0 1000 0001 (129) 0111 1110
2 1 0100 0010 (66) 1011 1101
3 2 0010 0100 (36) 1101 1011
4 3 0001 1000 (24) 1110 0111
5 4 1111 1111 (255) 0000 0000

Pada saat program dijalankan pada pin B0 dimulai dari n=0,


maka program dimulai dari biner 1000 0001 (129) kemudian nilai
biner tersebut di inverskan menjadi 0111 1110. Pada program kami
atur delay atau waktu tunda sebesar 100 ms, dimana delay disini
berfungsi untuk menunda sejenak program untuk dieksekusi selama 100
ms untuk memanggil nilai n selanjutnya hingga n=4.
 PIN B1

No Desimal Biner
1 255 1111 1111
2 0 0000 0000
3 255 1111 1111
4 0 0000 0000

Pada program flip flop, program diset untuk melakukan


pengulangan sebanyak 2 kali. Pada flip flop ini, LED diatur/diset untuk
menyala secara serentak dan mati secara serentak juga. Ketika pin B1
ditekan maka program akan berjalan dan port D bernilai 0000 0000 maka
LED akan menyala dan di delay selama 100 ms. Jika mati port D akan
bernilai 1111 1111.

VII. KESIMPULAN
1. Pada percobaan 1, hasil yang dieksekusi pada program menghasilkan led yang
menyala pada pin 0 dan 4 pada Port D.
2. Pada percobaan 2, dengan adanya switch dan internal pull up maka led akan
menyala pada saat switch ditekan dimana saat itu pin berlogika 0.
3. Pada percobaan 3, lampu led menyala dengan delay 250 ms dari kanan menuju
kiri lalu kembali ke kanan.
4. Pada percobaan 4, lampu led menyala dengan delay 250 ms dari kanan ke kiri
lalu dari kiri ke kanan.
5. Pada percobaan 5, lampu led menyala dari bagian ujung hingga ke tengah lalu
menyala semua.

VIII. DAFTAR PUSTAKA


Muhtadan,dkk;2016;Yogyakarta; Petunjuk Praktikum Sistem Mikrokontroler
Paralel Input Output; STTN BATAN.
Yogyakarta, 11 Oktober 2018
Praktikan,

Lydia Radita Sinta. N


NIM. 021600476

Anda mungkin juga menyukai