27
LAPORAN PRAKTIKUM TEKNIK ELEKTRO – 2 ( ET 3058 ) MIKROKONTROLER NAMA MAHASISWA :ABDUL AZIZ NIM :2211091028 KELOMPOK : 2 (Dua) PRODI/SMT/T.A :S1-Elektro/VI/2012

Bab 1 Mikrokontroller

Embed Size (px)

Citation preview

Page 1: Bab 1 Mikrokontroller

LAPORAN PRAKTIKUM

TEKNIK ELEKTRO – 2

( ET 3058 )

MIKROKONTROLER

NAMA MAHASISWA :ABDUL AZIZ

NIM :2211091028

KELOMPOK : 2 (Dua)

PRODI/SMT/T.A :S1-Elektro/VI/2012

LABORATORIUM ELEKTRO

UNIVERSITAS JENDERAL ACHMAD YANI

CIMAHI

2012

Page 2: Bab 1 Mikrokontroller

Lembar Pengesahan Asisten

Di Kumpulkan Tanggal ………………………..

Asisten

Dede Iskandar

NIM : 22110

Di Kumpulkan Kembali Tanggal ……………………………

Asisten

Dede Iskandar

NIM : 22110

LABORATORIUM ELEKTRO

UNIVERSITAS JENDERAL ACHMAD YANI

CIMAHI

2012

Page 3: Bab 1 Mikrokontroller

BAB I

PENDAHULUAN

I.1. Tujuan

Mengetahui rangkaian minimum sistem Mikrokontroler ATMEGA8535

Mengenal software pemrograman Mikrokontroler ATMEGA8535

Mengenal instruksi-instruksi pada Mikrokontroler ATMEGA8535

Dapat mengakses Port pada Mikrokontroler

I.2. Alat dan Bahan

Mikrokontroler ATMEGA8535

Software pemrograman Mikrokontroler ATMEGA8535

8 Buah LED yang terhubung dengan Mikrokontroler ATMEGA8535

8 tombol push button yang terhubung dengan Mikrokontroler

ATMEGA8535

Page 4: Bab 1 Mikrokontroller

BAB II

TINJAUAN PUSTAKA

II.1. Teori Dasar

Mikrokontroller AVR

AVR adalah mikrokontroler RISC (Reduce Intstruction Set Compute) 8 bit

bit berdasarkan arsitekstur harvard, yang dibuat oleh atmel pada tahun 1996. AVR

mempunyai kepanjangan advanced versatile RISC atau alf and vegard’s RISC

procesor yang berasal dari dua nama mahasiswa Norwegian Institute Of

Technology (NTH), yaitu Alf-Egil Bogen dan Vegard Wollan.

AVR memiliki keunggulan dibandingkan dengan mikrokontroller lain,

keunggulan mikrokontroller AVR yaitu AVR memiliki kecepatan eksekusi

program yang lebih cepat karena sebagian besar intruksi dieksekusi dalam satu

siklus clock, lebih cepat dibandingkan mikrokontroller ATMEGA8535 yang

memiliki arsitektur cisc ( complec instruction set compute ) dimana

mirokontroller ATMEGA8535 membutuhkan 12 siklus clock untuk mengeksekusi

satu intruksi . selain itu mikrokontroller AVR memiliki fitur yang lengkap (ADC

internal, eeprom internal, timer/counter, wotchdog timer, pwm, port I/O,

komunikasi serial, komparator, ic, dll). Sehingga dengan fasilitas yang lengkap ini

programmer dan desainer dapat dapan menggunakannya untuk berbagai aplikasi

sistem elektronika. Secara umum mikrokontroller AVR dapat dikelompokan

menjadi 3 kelompok, yaitu keluarga AT90Sxx, keluarga ATMega, dan keluarga

Attiny.

Pemograman mikrokontroller AVR dapat menggunakan low level

language (assembly) dan high level language (C, Basic, Pascal, JAVA, dll)

Tergantung compiler yang digunakan.

Arsitektur ATMega8535

Fitur fitur yang dimiliki ATMega8535 adalah sebagai berikut :

1. Mikrokontroller AVR 8 bit yang memiliki kemampuan tinggi, dengan

daya rendah.

Page 5: Bab 1 Mikrokontroller

2. Arsitektur RISC dengan troughput mencapai 16 MIPS pada frekuensi 16

MHz.

3. Memiliki kapasitas flash memori 8 Kbyte, EEPROM 512 Byte dan SRAM

1 Kbyte.

4. Saluran I/O sebanyak 32 buah, yaitu port A, port B, Port C, dan Port D.

5. CPU yang terdiri atas 32 Register.

6. Unit Interupsi internal dan eksternal.

7. Port UASRT untuk komunikasi serial.

8. Fitur peripheral

Tiga buah timer/counter dengan kemampuan perbandingan.

2 buah timer/counter 8 bit dengan prescaler terpisah dengan mode

compare.

1 buah timer/counter 16 bit dengan prescaler terpisah mode

compare dan capture.

Real time counter dengan Oscillator tersendiri.

4 channel PWM.

8 channel ADC 10 bit.

Byte – oriented two – wire serial interface.

Programable serial USART.

Antarmuka SPI.

Watchdog TIMER dengan Oscillator internal.

Onchip Analog Comparator.

Konfigurasi pin ATMega8535

Page 6: Bab 1 Mikrokontroller

Fungsi dari masing masing pin ATMega8535 sebagai berikut :

1. VCC merupakan pin yang berfungsi sebagai masukan catu

daya.

2. GND merupakan pin ground.

3. Port A(PA0....PA7) merupakan pin I/O dua arah dan pin

masukan ADC.

4. Port B (PB.....PB7) merupakan pin I/O dua arah dan pin fungsi

khusus.

Tabel Fungsi Khusus Port B

5. Port C (PortC0…PortC7) merupakan pin input/output dua arah

dan pin fungsi khusus, seperti dapat dilihat pada tabel dibawah

ini.

Tabel Fungsi Khusus Port C

Page 7: Bab 1 Mikrokontroller

6. Port D (PortD0…PortD7) merupakan pin input/output dua arah

dan pin fungsi khusus, seperti yang terlihat pada tabel dibawah

ini.

Tabel Fungsi Khusus Port D

7. RESET merupakan pin yang digunakan untuk me-reset

mikrokontroler

8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.

9. AVCC merupakan pin masukan tegangan untuk ADC.

10. AREFF merupakan pin masukan tegangan referensi ADC.

II.2. Teori Tambahan

Mikrokontroler adalah suatu single chip yang didalamnya terdapat

mikroprosesor, RAM, ROM, TimerMdan I/O Port dalam satu kesatuan, sehingga

dalam menggunakannya tidak diperlukan penambahan RAM, ROM, Timer dan

I/O Port. Mikrokontroler juga ada yang memiliki Address Bus sehingga

memungkinkan mikrokontroler untuk menambahkan RAM, ROM, I/O Port dan

Timer.

ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel

untuk keluarga AVR yang diproduksi secara masal pada tahun 2006. Karena

Page 8: Bab 1 Mikrokontroller

merupakan keluarga AVR, maka ATMega8535 juga menggunakan arsitektur

RISC.

Secara singkat, ATMega8535[1] memiliki beberapa kemampuan:

1. Sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16

MHz.

2. Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM

(Electrically Erasable Programmable Read Only Memory) sebesar 512

byte.

3. Memiliki ADC (Pengubah analog-ke-digital) internal dengan ketelitian 10

bit sebanyak 8 saluran.

4. Memiliki PWM (Pulse Wide Modulation) internal sebanyak 4 saluran.

5. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.

6. Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik.

Untuk melakukan pemrograman dalam mikrokontroler AVR, Atmel telah

menyediakan software khusus yang dapat diunduh dari website resmi Atmel.

Software tersebut adalah AVRStudio. Software ini menggunakan bahasa

assembly sebagai bahasa perantaranya. Selain AVRStudio, ada beberapa software

pihak ketiga yang dapat digunakan untuk membuat program pada AVR. Software

dari pihak ketiga ini menggunakan bahasa pemrograman tingkat tinggi seperti

bahasa C, Java, atau Basic. Untuk melakukan pemindahan dari komputer ke

dalam chip, dapat digunakan beberapa cara seperti menggunakan kabel JTAG atau

menggunakan STNK buatan Atmel.

Konsep Sistem Mikrokontroler

Digambarkan sistem komputer dengan bagian yang dikelilingi oleh garis

putus-putus. Bagian inilah yang menyusun mikrokontroler. Bagian yang

dilingkupi kotak bagian bawah adalah gambar lebih detail dari susunan bagian

yang dilingkupi garis putus-putus. Kristal tidak termasuk dalam sistem

mikrokontroler tetapi diperlukan dalam sirkuit osilator clock.

Suatu mikrokontroler dapat didefinisikan sebagai sistem komputer yang

lengkap termasuk sebuah CPU, memori, osilator clock, dan I/O dalam satu

Page 9: Bab 1 Mikrokontroller

rangkaian terpadu. Jika sebagian elemen dihilangkan, yaitu I/O dan memori, maka

chip ini akan disebut sebagai mikroprosesor.

Page 10: Bab 1 Mikrokontroller

BAB III

PROSEDUR PERCOBAAN

Rangkaian lampu LED

Rangkaian minimum untuk menghidupkan 8 LED melalui Port B ditunjukan pada

Gambar 3.1. yang perlu diperhatikan adalah konfigurasi rangkaian LED yaitu

Common Anode (CA) artinya untuk menghidupkan LED pada Port B, port B

harus dikirim atau diberi logika ‘0’.

Hasil pemasangan komponen rangkaian lampu LED

Pemograman Menyalakan Lampu LED

Setelah rangkaian LED di buat dan dihubungkan dengan port paralel

mikrokontroller, maka sekarang saatnya anda membuat program yang di gunakan

untuk menghidupkan LED tersebut.program sebagai berikut ini

Page 11: Bab 1 Mikrokontroller

Cara kerja program:

Pada program Program LED Menyala, di perlukan deklarasi register dan

delay untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi register,

maka program akan masuk ke dalam program utama. Di dalam program utama,

terdapat variabel karakter yang berfungsi untuk menyimpan data angka 0x000.

Data 0x00 digunakan untuk menyalakan LED karena LED di pasang common

anoda Data tersebut akan di keluarkan oleh mikrokontroller dengan menggunakan

PORTC. Data tersebut di simpan dalam variabel a yang dideklarasikan sebagai

char. Data tersebut dikeluarkan dengan menggunakan PORTC sehingga harus

dideklarasikan PORTC sebagai output dengan DDRC=0xFF. Instruksi while

merupakan instruksi perulangan, sehingga mikrokontroller akan mengeluarkan

data yang di simpan oleh variabel karakter secara terus menerus.

Pemrograman LED Berkedip

Setelah membuat dan menjalankan program menyalakan lampu LED,

maka sekarang saatnya Anda membuat program kedua yang digunakan untuk

menghidupkan LED berkedip.

Cara kerja program:

Pada program Program LED Berkedip, terlihat menggunakan

mikrokontroller ATMEGA8535, sehingga di perlukan deklarasi register untuk

mikrokontroller jenis ATMEGA8535. Di dalam program utama, terdapat variabel

Page 12: Bab 1 Mikrokontroller

karakter yang berfungsi untuk menyimpan data 00 dan FF. Data tersebut akan di

keluarkan oleh mikrokontroller dengan menggunakan port 0. Instruksi while

merupakan instruksi perulangan.

Pemrograman LED Flip Flop

Setelah membuat dan menjalankan program menyalakan lampu LED

berkedip,maka sekarang saatnya Anda membuat program ketiga yang digunakan

untuk menghidupkan LED flip-flop 1.

Program sebagai berikut ini

Cara kerja program:

Pada program LED Flip-Flop di perlukan deklarasi register untuk

mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi register, maka

program akan mendeklarasikan waktu 1 sekon. Waktu tersebut berfungsi

untuk waktu tunda. Kemudian mikrokontroller akan mengeksekusi

program utama. Di dalam program utama, terdapat variabel karakter yang

berfungsi untuk menyimpan data 0x00F dan 0x0F0. Data tersebut akan di

keluarkan oleh mikrokontroller dengan menggunakan port B.

Page 13: Bab 1 Mikrokontroller

Pemrograman LED Berjalan Kekanan

Setelah membuat dan menjalankan program menyalakan lampu LED flip-

flop, maka sekarang saatnya Anda membuat program yang digunakan untuk

menghidupkan LED berjalan kanan. Program LED berjalan kekanan ini

dijalankan pada hardware nyala LED berlogika tinggi atau logika 1. jika

menggunakan logika rendah maka LED bukan menyala tetapi akan mati. Program

LED berjalan kekanan menggunakan operasi geser kanan. Operasi geser kiri akan

menggeser bit-bit kekanan sehingga bit 0 akan berpindah ke bit 1 dan bit 1 akan

berpindah ke bit 2 dan seterusnya.

Program sebagai berikut ini

Cara kerja program:

Pada program Program LED berjalan Kekanan di perlukan deklarasi

register untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi

register, maka program akan mendeklarasikan waktu kurang lebih 1 sekon.

Kemudian mikrokontroller akan mengeksekusi program utama. Di dalam program

utama, terdapat variabel karakter yang berfungsi untuk menyimpan data 0x01.

Data tersebut akan di keluarkan oleh mikrokontroller dengan menggunakan port

0. kemudian mikrokontroller menjalankan operasi geser kanan. Diantara operasi

geser kiri dan mengeluarkan data di PORTB tersebut terdapat waktu tunda kurang

Page 14: Bab 1 Mikrokontroller

lebih 1 sekon. Didalam program utama terdapat pernyataan while(1). Pernyataan

itu berfungsi untuk melakukan looping secara terus – menerus.

Pemrograman LED Berjalan Kekiri

Setelah membuat dan menjalankan program menyalakan lampu LED

berjalan kekanan, maka sekarang saatnya Anda membuat program yang

digunakan untuk menghidupkan LED berjalan kekiri. Program LED berjalan

kekanan menggunakan operasi geser kiri. Operasi geser kiri akan menggeser bit-

bit kekanan sehingga bit 7 akan berpindah ke bit 6 dan bit 6 akan berpindah ke bit

5 dan seterusnya.

Program sebagai berikut ini.

Cara kerja program:

Pada program Program LED berjalan ke kiri di perlukan deklarasi register

untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi register, maka

program akan mendeklarasikan waktu kurang lebih 1 sekon. Kemudian

mikrokontroller akan mengeksekusi program utama. Di dalam program utama,

terdapat variabel karakter yang berfungsi untuk menyimpan data 0x01. Data

tersebut akan di keluarkan oleh mikrokontroller dengan menggunakan port 0.

kemudian mikrokontroller menjalankan operasi geser kekiri. Diantara operasi

geser kiri dan mengeluarkan data di PORTB tersebut terdapat waktu tunda kurang

Page 15: Bab 1 Mikrokontroller

lebih 1 sekon. Didalam program utama terdapat pernyataan while(1). Pernyataan

itu berfungsi untuk melakukan Looping secara terus menerus.

Pemrograman LED Berjalan Bolak-Balik

Setelah membuat dan menjalankan program menyalakan lampu LED

berjalan menyala kekiri, maka sekarang saatnya Anda membuat program ketuga

yang digunakan untuk menghidupkan LED bolak balik. Program LED bolak balik

menggunakan operasi pernyataan geser kanan dan geser kiri.

Program sebagai berikut ini

Page 16: Bab 1 Mikrokontroller

Cara kerja program:

Pada program menyalakan LED dari kiri ke kanan di perlukan deklarasi

register untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi

register, maka program akan mendeklarasikan waktu kurang lebih 1 sekon. Waktu

tersebut berfungsi untuk waktu tunda. Waktu tunda itu tidak tidak akurat.

Kemudian mikrokontroller akan mengeksekusi program utama. Di dalam program

utama, terdapat variabel karakter yang berfungsi untuk menyimpan data 0x01.

Data tersebut akan di keluarkan oleh mikrokontroller dengan menggunakan port

0. kemudian mikrokontroller menjalankan operasi geser kanan. Diantara operasi

geser kiri dan mengeluarkan data di port 0 tersebut terdapat waktu tunda kurang

lebih 1 sekon. Didalam program utama terdapat pernyataan while(1). Pernyataan

itu berfungsi untuk melakukan Looping secara terus menerus.

Pemrograman Pembacaan 8 Buah Tombol

Setelah rangkaian tombol dibuat dan dihubungkan dengan port pararel

mikrokontroller, maka sekarang saatnya Anda membuat program pembacaan

tombol.

Program sebagai berikut ini

Page 17: Bab 1 Mikrokontroller

Cara kerja program:

Pada program pembacaan 8 buah tombol, di perlukan deklarasi register

untuk mikrokontroller jenis ATMEGA8535. Setelah mendeklarasi register, maka

program akan masuk ke dalam program utama. Di dalam program utama,

mikrokontroller akan membaca PORT C. Data dari PORT C akan dimasukan ke

dalam variabel, Kemudian data yang ada di variabel tersebut akan dikeluarakan

pada PORT B oleh mikrokontroller. Didalam program utama terdapat pernyataan

while(1). Pernyataan itu berfungsi untuk melakukan Looping secara terus

menerus.

Page 18: Bab 1 Mikrokontroller

BAB IV

HASIL PERCOBAAN

Page 19: Bab 1 Mikrokontroller

BAB V

KESIMPULAN

Page 20: Bab 1 Mikrokontroller

DAFTAR PUSTAKA

www.wikipedia.com/ATMega8535

www.weblog/rohmadi.blogspot.com/flip-flop

www.harrysetia.blogspot.com/mikrokontroller

www.pustakanusantara/UniversitasSumateraUtara/.co.id

Page 21: Bab 1 Mikrokontroller

LAMPIRAN