bab 1 mikrokontroller
TRANSCRIPT
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
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
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
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.
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
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
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
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
rangkaian terpadu. Jika sebagian elemen dihilangkan, yaitu I/O dan memori, maka
chip ini akan disebut sebagai mikroprosesor.
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
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
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.
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
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
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
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
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.
BAB IV
HASIL PERCOBAAN
BAB V
KESIMPULAN
DAFTAR PUSTAKA
www.wikipedia.com/ATMega8535
www.weblog/rohmadi.blogspot.com/flip-flop
www.harrysetia.blogspot.com/mikrokontroller
www.pustakanusantara/UniversitasSumateraUtara/.co.id
LAMPIRAN