Anda di halaman 1dari 11

Percobaan I

I/O DASAR
M Adnan Zulkarnain (118130088)
Asisten : Rifki Yafi ( 13117049 )
Tanggal Percobaan : 20/03/2021
EL2209 Praktikum Sistem Mikroprosesor
Laboratorium Teknik Elektro
Institut Teknologi Sumatera

(paralel dan serial), timer, counter, memori RAM untuk


Abstrak— Pada praktikum Sistem mikroprosesor pada modul penyimpanan data saat eksekusi program, dan memori ROM
pertama berjudul I/O dasar terdapat 3 percobaan yaitu port B tempat dari mana perintah yang akan dieksekusi.
sebagai output, fasilitas delay pada AVR, port B sebagai output Mikrokontroler Atmega8535 termasuk salah satu jenis
dan port D sebagai input. Pada setiap percobaan memiliki mikrokontroller AVR RISC (Reduce Instruction Set Compiler),
parameter keberhasilan masing masing. Mikrokontroler IC
dalam penerapannya, instruksi yang dituliskan dikemas
ATMEGA 8535 pada percobaan ini akan dihubungkan pada LED
yang berjumlah 8 buah yang dihubungkan pada ATMEGA 8535 menjadi lebih simple dan secara umum ditulis dalam bentuk
dengan source coding yang decompile di CVAR dan source coding bahasa C, sehingga user dapat membuat aplikasi yang cukup
tersebut dimasukkan pada mikrokontroler ATMEGA 8535 dan banyak hanya dengan menggunakan beberapa perintah
menghasilkan nyala LED. instruksi saja. Mikrokontroller mempunyai performa tinggi dan
stabilitas yang kuat dan kemasan 40 pin (DIP40) sehingga
Kata Kunci — ATMEGA 8535, CVAVR, LED sangat cocok digunakan pada perancangan penampil ketikan
keyboard pada monitor VGA berbasis rangkaian resonansi.
I. PENDAHULUAN Adapun alasan menggunakan AVR ATMEGA8535 adalah
Pada modul pertama praktikum mikroprosesor berjudul sebagai :
tentang I/O dasar. Pada praktikum ini kita menggunakan
aplikasi proteus professional, CVAVR, dan khazama a. Kapasitas memori program sebesar 8 Kilo byte.
b. Kapasitas SRAM internal sebanyak 512 byte.
programmer. Pada modul ini kita dituntut untuk mengetahui
c. Kapasitas EEPROM internal sebanyak 512 byte.
pembuatan membuat aplikasi input dan output pada AVR
d. Timer/Counter 8 bit dengan separate prescaler dan mode
dengan menggunakan bahasa pemprograman C pada WinAVR. compare
Perlu diketahui I/O adalah input dan ouput dimana pengertian e. Timer/Counter 16 bit dengan separate prescaler, mode
input adalah aktifitas pengguna dengan program komputer yang compare
memungkinkan kita memberikan data kedalam program sedangkan f. 3 channel PWM
output adalah aktifiktas program komputer untuk mengeluarkan data
g. Serial USART programmable
kepada pengguna. Data tersebut dapat berupa text, file. Artianya pada
h. Analog Comparator
praktikum ini kita membuat aplikasi input dan output pada AVR
dengan menggunakan bahasa pemprograman C pada WinAVR dengan
pengaplikasian menggunakan IC ATMEGA 8535 dan lampu LED. B. Konfigurasi pin- pin ATMEGA 8535
Dan pada praktikum ini kita menggunakan data sheet ATMEGA 8535
Konfigurasi mikrokontroller digolongkan menjadi pin sumber
hal 51 dan 53.
Tujuan Praktikum modul kesatu adalah :
tegangan, pin osilator, pin control, pin I/0 dan pin untuk proses
• Praktikan memahami datasheet ATMega 8535
interupsi luar. Adapun konfigurasi pin ATMEGA8535
• Praktikan mampu membuat aplikasi input dan output
ditunjukkan dalam Gambar 2.1
pada AVR dengan menggunakan bahasa pemprograman
C pada WinAVR
• Praktikan memahami pengesetan fuse yang berkaitan
dengan penggunakan besar dan jenis kristal

II. LANDASAN TEORETIS


A. Mikrokontroler ATMEGA 8535
Mikrokontroller adalah suatu sistem komputer lengkap dalam
satu chip. Lengkap dalam artian memiliki unit CPU, port I/O
2.1 Konfigurasi pin pin AVR ATMEGA 8535
Fungsi dari masing-masing pin ATMEGA8535 sebagai:
• VCC merupakan pin yang brfungsi sebagai masukan
catu daya.
• GND merupakan pin Ground.
• Port A (PA0 – PA7) merupakan pin input/output dua
arah (full duplex) dan selain itu merupakan pin
masukan ADC.
• Port B (PB0 – PB7) merupakan pin input/output dua
arah (full duplex) pin yang mempunyai fungsi
khusus yaitu Timer/Counter, komparator Analog dan
SPI. Adapun fungsi pin dari Port B ditunjukkan
dalam gambar 2.2
Gambar 2.4 Fungsi khusus Port D

RESET merupakan pin yang digunakan untuk me-reset


mikrokontroler. Dan . XTAL1 dan XTAL2, merupakan pin
masukan external clock yang umumnya tediri dari crystal dan
rangkaian RC Karakteristik Mikrokontroller ATMEGA8535
adalah sebagai berikut
• High-performance, Low-power AVR 8-bit
Mikrokontroller
• 8K Bytes of In-System Self-Programmable Flash
Endurance: 10,000 Write/Erase Cycles
• 512 Bytes EEPROM Endurance: 100,000 Write/Erase
Cycles
• 32 Programmable I/O Lines
• Operating Voltages 4.5 - 5.5

III. METODOLOGI
Gambar 2.2 Fungsi khusus port B
A. Alat dan Bahan
Port C (PC0 – PC7) merupakan pin input/output dua arah (full • Laptop/ PC
duplex) pin yang mempunyai fungsi khusus, yaitu komparator • Aplikasi CVAVR dan Proteus Profesional
analog dan Timer Oscillator. Adapun fungsi pin dari Port C • Aplikasi khazama programmer
ditunjukkan dalam gambar 2.3
B. Langkah Kerja
1. Percobaan Port B sebagai output

Gambar 2.3 Fungsi khusus port C

Port D (PD0 – PD7) merupakan pin input/output dua arah (full


duplex) pin fungsi khusus yaitu komparator analog dan
interrupt eksternal serta komunikasi serial. Adapun fungsi pin
dari Port D ditunjukkan dalam gambar 2.4
IV. HASIL DAN ANALISIS
2. Percobaan Fasilitas Delay Pada AVR

A. Tugas 1 : Port B Sebagai Output

Sricpt coding pada percobaan 1.A.1

#include <mega8535.h>
void main(void)
{
DDRB = 0xFF; // Seluruh Port B dikonfigurasi sebagai
OUTPUT
PORTB = 0xFF; // Seluruh Port B bernilai ‘0’, maka LED
akan menyala
}

Gambar 4.1 Percobaan 1.A1

Sricpt coding pada percobaan 1.A.2


3. Percobaan Port B sebagai output dan Port D sebagai
input
#include <mega8535.h>
void main(void)
{
DDRB = 0xFF; // Seluruh Port B dikonfigurasi sebagai
OUTPUT
PORTB = 0x5B; // Seluruh Port B bernilai ‘0’, maka LED
akan menyala
}

Gambar 4.2 Percobaan 1.A2

Pada percobaan 1 ini kita melakukan percobaan port B sebagai


output untuk menghasilkan output led display sesuai dengan
script coding yang kita buat di software CVAR dan DDRB = 0xFF; //Seluruh Port B dikonfigurasi sebagai
mengaplikasian script coding tersebut pada proteus dengan OUTPUT
merancang rangkaian dengan menggunakan komponen IC PORTB = 0x57; // logika “1” NIM Tengku 87 biner 01010111
ATMEGA 8535 dan led sebanyak 8 buah lampu. Pada IC while(1)
ATMEGA 8535 kita menggunakan clock sebesar 4,000 . pada {
IC ATMEGA 8535 kita menggunakan port B untuk PORTB = 0x57; // LED menyala
dihubungkan pada lampu led dan dihubungkan pada ground. delay_ms(500);
Pada percobaan 1.A1 kita menggunakan script coding sama PORTB = 0xFF; // LED mati
pada modul dan mengubah nilai pada port B yaitu 0xFF dan delay_ms(500);
menghasilkan nyala 8 lampu led dan menandakan percobaan ini }
berhasil dan pada percobaan 1 A.2 kita mengubah script coding
pada input port B dengan merubah 3 angka NIM sekelompok
praktikum dan dirubah ke bilangan hexadecimal yaitu angka
091 dirubah menjadi 0x5B dan menghasilkan nyala lampu led
dengann beberapa lampu yang hidup yaitu lampu LED 1,2,4,
5,7 ini membuktikan bahwa input dari script coding di port B
dirubah ke bilangan hexadecimal mempengaruhi nyala lampu
yang menyala. Ini pada dasarnya I/O dasar Ketika sesuatu yang
diinputkan pada rangkaian akan mempengaruhi hasil dari
output nya.
B. Tugas 2 : Fasilitas Delay pada AVR
Script coding pada percobaan 1.B1

#include <mega8535.h>
Gambar 4.4 Percobaan 1.B2
#include <delay.h>
void main(void) Pada percobaan kedua ini kita melakukan percobaan fasilitas
{ delay pada percobaan ini masih sama dengan percobaan
DDRB = 0xFF; //Seluruh Port B dikonfigurasi sebagai pertama tetapi kita merubah script coding pada CVAVR dengan
OUTPUT penambahan delay pada port B sebesar 500 ms pada percobaan
PORTB = 0xFF; // Semua Port B mengeluarkan logika ‘1’ 1.B1 kondisi OUTPUT LED DISPLAY menyala bergantian
Sehingga LED tidak menyala. setiap (sekitar) 500 milidetik sesuai dengan kedua nilai PORTB
while(1) dan percobaan ini dianggap berhasil. Pada percobaan 1.B2 kita
{ melakukan percobaan dengan memasukan nilai biner NIM
PORTB = 0x00; // LED menyala teman sekelompok yaitu dengan logika “1” NIM 87 biner
delay_ms(500); 01010111 while(1) dan nilai hexadecimal pada port B dengan
PORTB = 0xFF; // LED mati nilai 0x57 dapat dilihat dalam hasil percobaan lampu led yang
delay_ms(500); menyala dengan kedap kedip yaitu lampu led nomor 2,4,6,7,8
} dengan masukan dihubungkan semua pada port B . pada
percobaan ini dapat kita lihat masukan angka biner dan
hexadecimal pada port B dapat berpengaruh pada hasil nyala
lampu led tersebut dan pada percobaan yang dilakukan berhasil.

C. Tugas 3 :Port B sebagai output dan port D sebagai input


Script coding percobaan 1.C1

#include <mega8535.h>
#include <delay.h>
void main(void)
{
Gambar 4.3 Percobaan 1.B.1 DDRB = 0xFF; // Seluruh port B dikonfigurasi sebagai output
PORTB = 0xFF;
Script coding percobaan 1.B.2 DDRD = 0x00; // Port D dikonfigurasi sebagai input
PORTD = 0x00;
#include <mega8535.h> #asm(“nop”)
#include <delay.h> while(1){
void main(void) PORTB = PIND ;// Membaca penekanan push-button di port
{ D
// dan outputnya dikeluarkan di port B.
} PORTB dimasukkan nilai dengan bit 1 semua sehingga port D diassign
} dengan bit 1 sehingga portA diassign dengan 0xFF. Pada body
program, digunakan variable I yang bertipe unsigned char sebagai
pengeset supaya output akan sesuai dengan input. Pada bagian portD
kita menggunakan permisalan while (1) dengan mengkonversi
bilangan 3 angka nim terakhir yaitu 58 dikonversi ke biner menjadi
01011000 maka output LED akan bertingkah seperti percobaan dengan
input yang sudah dilakukan Nilai PIND (8 bit biner) merupakan
representasi dari input switch yang mana jika switch tertentu aktif
(ON, yang mana terlihat dari LED pada switch menyala) maka bit yang
mewakili switch tersebut bernilai 1. Contohnya, jika SW0, SW1, SW3,
SW4, dan SW5 ON, maka nilai PIND adalah 0b00111011 yang artinya
keadaan ini memasuki kondisi 2. Nilai PIND ini kemudian akan
disimpan dalam variabel a untuk kemudian nilai variabel a ini akan
dibandingkan dalam body loop sehingga diperoleh kondisi 2 dalam
spesifikasi

V. SIMPULAN
Gambar 4.5 Percobaan 1.C1 keadaan logika 1
Pada Modul1 yang berjudul I/O dasar dapat disimpulkan
bahwa :
Script Coding Percobaan 1.C2 • Pada modul ini kita dapat mempelajari tentang I/O
#include <mega8535.h> dasar pada rangkaian LED , mengetahui IC ATMEGA
#include <delay.h> 8535, dan data sheet dari ATMEGA 85535,dan
void main(void) tentang PORT, PIN, clock dan register
{ • Mampu mengerti pengaplikasian input dan output pada
DDRB = 0xFF; // Seluruh port B dikonfigurasi sebagai output AVR dengan menggunakan bahasa pemprograman C pada
PORTB = 0x58;// Konversi NIM kawan M Adnan WinAVR
088(Desimal > 58 (Hexa) • Pada praktikum ini kita memahami cara kerja rangkaian
LED dengan menggunakan nilai biner dean bilangan
DDRD = 0x00; // Port D dikonfigurasi sebagai input
hexadecimal
PORTD = 0x00;
• Pada praktikum ini kita mengetahui kegunaan resistor pull-
#asm(“nop”) up pada percobaan 3 yaitu untuk mencegah nilai float pada
while(1){ kondisi high dengan menambahkan sebuah resistor pada jaur
//HEXA 58 dikonversi ke biner menjadi 01011000 sumber tegangan dan parallel dengan jalur input ke
If (PIND,7==0&& PIND,5==00&&PIND.1==0&&PIND,0 microcontroller
0==0){
PORTB = 0x58; // LED menyala Referensi
Delay_ms(200); }
{ [1]http://repository.usu.ac.id/bitstream/handle/123456789/286
Else (PIND,7==1&& PIND, 5==1&& PIND, 77/Chapter%20II.pdf;sequence=4
2==1&&PIND.1==1&&PIND. 0==1)
[2] HUTABARAT, MERVIN T., WASKITA ADIJARTO, DAN
Port B= 0xFF// Membaca Penekanan Push Button di port B
HARRY SEPTANTO, PRAKTIKUM SISTEM MIKROPROSESOR,
Delay_ms(200);
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT
}
TEKNOLOGI BANDUNG, BANDUNG, 2013
}
[3] http://eprints.undip.ac.id/67080/6/BAB_II.pdf

Gambar 4.5 Percobaan 1.C1 keadaan logika 0

Pada percobaan ketiga ini kita melakukan percobaan dengan


menggunkan port B sebagai output dan port D sebagai input dapat
dilihat dari codingan. Pada percobaan 1.C2 yang dijalankan DDRB
diset sebagai output dengan memasukkan nilai 0xFF sementara nilai
0x58 sementara DDRD diset sebagai input dengan memasukkan nilai
0x00 sehingga port D akan dijadikan sebagai pin input. Setelah itu nilai
LAMPIRAN
LINK VIDEO PRAKTIKUM
PERCOBAAN 1 A1 DAN 1A2
https://youtu.be/e-13rdgyMbg
https://youtu.be/67hCptX5jA4

PERCOBAAN 1 B1 DAN 1B2


https://youtu.be/4hRNkzvwVkk
https://youtu.be/BhKLU-WICxI

PERCOBAAN 1C1 DAN 1C2


https://youtu.be/9JyAc17uLgU
https://youtu.be/vrVw7qoIpL0

Anda mungkin juga menyukai