Anda di halaman 1dari 24

LAPORAN PRAKTIKUM 3

MIKROKONTROLER dan ANTARMUKA

AVR - MIKROKONTROLLER

Disusun Oleh :
Evan Enza Rizqi
IK - 2A
3.34.12.0.10

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN ELEKTRO
POLITEKNIK NEGERI SEMARANG
2013/2014
I. Tujuan Instruksional Khusus
Setelah melakukan praktek ini, mahasiswa diharapkan mampu :
1. Mengetahui tentang mikrokontroller
2. Mengetahui jenis dan type mikrokontroller
3. Melakukan implementasi AVR dengan bentuk simulasi dan coding program

II. Dasar Teori


Pengertian Mikrokontroller
Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip.
Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM,
memori program, atau keduanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa
ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya
membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai
belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda
bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan
Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah
mahir membaca dan menulis data maka Anda dapat membuat program untuk
membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler
sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip
yang digunakan untuk mengontrol peralatan elektronik, yang menekankan
efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut “pengendali
kecil” dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan
komponen-komponen pendukung seperti IC TTL dan CMOS dapat
direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh
mikrokontroler ini.

Mikrokonktroler digunakan dalam produk dan alat yang dikendalikan secara


automatis, seperti sistem kontrol mesin, remote controls, mesin kantor,
peralatan rumah tangga, alat berat, dan mainan. Dengan mengurangi ukuran,
biaya, dan konsumsi tenaga dibandingkan dengan mendesain menggunakan
mikroprosesor memori, dan alat input output yang terpisah, kehadiran
mikrokontroler membuat kontrol elektrik untuk berbagai proses menjadi lebih
ekonomis. Dengan penggunaan mikrokontroler ini maka :
 Sistem elektronik akan menjadi lebih ringkas
 Rancang bangun sistem elektronik akan lebih cepat karena sebagian
besar dari sistem adalah perangkat lunak yang mudah dimodifikasi
 Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang
kompak

Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen


IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan
tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O).
Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah
komputer karena mikrokontroler sudah mengandung beberapa periferal yang
langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator,
konversi digital ke analog (DAC), konversi analog ke digital dan sebagainya
hanya menggunakan sistem minimum yang tidak rumit atau kompleks.
Agar sebuah mikrokontroler dapat berfungsi, maka mikrokontroler tersebut
memerlukan komponen eksternal yang kemudian disebut dengan sistem
minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem
clock dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan
sistem clock internal, sehingga tanpa rangkaian eksternal pun mikrokontroler
sudah beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan


perangkat keras dan perangkat lunak, yaitu:
1. sistem minimal mikrokontroler
2. software pemrograman dan kompiler, serta downloader

Yang dimaksud dengan sistem minimal adalah sebuah rangkaian


mikrokontroler yang sudah dapat digunakan untuk menjalankan sebuah
aplikasi. Sebuah IC mikrokontroler tidakakan berarti bila hanya berdiri
sendiri. Pada dasarnya sebuah sistem minimal mikrokontroler AVR memiliki
prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
1. prosesor, yaitu mikrokontroler itu sendiri
2. rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari
awal
3. rangkaian clock, yang digunakan untuk memberi detak pada CPU
4. rangkaian catu daya, yang digunakan untuk memberi sumberdaya

Pada mikrokontroler jenis2 tertentu (AVR misalnya), poin2 pada no 2 ,3 sudah


tersedia didalam mikrokontroler tersebut dengan frekuensi yang sudah
diseting dari vendornya (biasanya 1MHz,2MHz,4MHz,8MHz), sehingga
pengguna tidak perlu memerlukan rangkaian tambahan, namun bila ingin
merancang sistem dengan spesifikasi tertentu (misal ingin komunikasi dengan
PC atau handphone), maka pengguna harus menggunakan rangkaian clock
yang sesuai dengan karakteristik PC atau HP tersebut, biasanya menggunakan
kristal 11,0592 MHz, untuk menghasilkan komunikasi yang sesuai dengan
baud rate PC atau HP tersebut.

Perkembangan Mikrokontroller
Mikrokontroler pertama kali dikenalkan oleh Texas Instrument dengan seri
TMS 1000 pada tahun 1974 yang merupakan mikrokontroler 4 bit pertama.
Mikrokontroler ini mulai dibuat sejak 1971. Merupakan mikrokomputer dalam
sebuah chip, lengkap dengan RAM dan ROM. Kemudian, pada tahun 1976
Intel mengeluarkan mikrokontroler yang kelak menjadi populer dengan nama
8748 yang merupakan mikrokontroler 8 bit, yang merupakan mikrokontroler
dari keluarga MCS 48. Sekarang di pasaran banyak sekali ditemui
mikrokontroler mulai dari 8 bit sampai dengan 64 bit, sehingga perbedaan
antara mikrokontroler dan mikroprosesor sangat tipis. Masing2 vendor
mengeluarkan mikrokontroler dengan dilengkapi fasilitas2 yang cenderung
memudahkan user untuk merancang sebuah sistem dengan komponen luar
yang relatif lebih sedikit.

Saat ini mikrokontroler yang banyak beredar dipasaran adalah mikrokontroler


8 bit varian keluarga MCS51(CISC) yang dikeluarkan oleh Atmel dengan seri
AT89Sxx, dan mikrokontroler AVR yang merupakan mikrokontroler RISC
dengan seri ATMEGA8535 (walaupun varian dari mikrokontroler AVR
sangatlah banyak, dengan masing2 memiliki fitur yang berbeda2). Dengan
mikrokontroler tersebut pengguna (pemula) sudah bisa membuat sebuah
sistem untuk keperluan sehari-hari, seperti pengendali peralatan rumah tangga
jarak jauh yang menggunakan remote control televisi, radio frekuensi, maupun
menggunakan ponsel, membuat jam digital, termometer digital dan
sebagainya.

Jenis-jenis Mikrokontroller
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan
pada kompleksitas instruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
 RISC merupakan kependekan dari Reduced Instruction Set
Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas
yang lebih banyak.
 Sebaliknya, CISC kependekan dari Complex Instruction Set Computer.
Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas
secukupnya.

Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri dan jenis-


jenis mikrokonktroler yang telah umum digunakan, antara lain :

1. Keluarga MCS51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC.
Sebagian besar instruksinya dieksekusi dalam 12 siklus clock.
Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya
dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan
telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan
alamat dengan cara jalur pemilihan chip yang terpisah untuk akses program
dan memori data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah
mesin pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit
dapat dilakukan secara langsung dan secara efisien dalam register internal dan
RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC
(programmable Logic Control).

2. AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR
merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar
kode instruksinya dikemas dalam satu siklus clock. AVR adalah jenis
mikrokontroler yang paling sering dipakai dalam bidang elektronika dan
instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang
membedakan masing-masing kelas adalah memori, peripheral dan fungsinya.
Keempat kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga
ATMega dan AT86RFxx.

3. PIC
Pada awalnya, PIC merupakan kependekan dari Programmable Interface
Controller. Tetapi pada perkembangannya berubah menjadi Programmable
Intelligent Computer.
PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat
oleh Microchip Technology. Awalnya dikembangkan oleh Divisi
Mikroelektronik General Instruments dengan nama PIC1640. Sekarang
Microhip telah mengumumkan pembuatan PIC-nya yang keenam
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek
karena biayanya yang rendah, ktersediaan dan penggunaan yang luas, database
aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui
hubungan serial pada komputer.

III. Alat dan Bahan


1. PC Processor minimal Pentium IV atau lebih tinggi, dengan RAM minimal
512 MB
2. Sistem Operasi Windows XP/7/8
3. Proteus 7 Professional
4. Code Vision
IV. Langkah Kerja
1. Klik Menu Start, Pilih menu Proteus, dan pilih ISIS 7 Professional.

2. Maka akan muncul area kerja seperti berikut :

Kemudian, Klik P untuk menambah component


3. Muncul jendela Pick Devices, pada kolom Keywords masukkan nama
komponen yang ingin ditambahkan.

Komponen yang ditambahkan antara lain :


- RES
- SWITCH
- PULLDOWN
- LED RED
- ATMEGA8535
- INPUT
- GROUND

Seperti Berikut icon-iconnya:

(RES) (SWITCH)
(ATMEGA8535) (Resistor PULLDOWN)

(LED-RED)
Seperti berikut, ketika sudah ditambahkan komponennya :
4. Membuat Rangkain dengan AVR Mikrokontroller ATMEGA8535, seperti
berikut :

5. Jika sudah, lakukan coding program untuk ATMEGA8535 dengan aplikasi


CodeVisionAVR dengan cara klik menu start  kemudian pilih SubFolder
CodeVisionAVR Evaluation  pilih CodeVisionAVR C Compiler
Evaluation, seperti berikut :

6. Maka akan muncul loading program, seperti berikut :

7. Selanjutnya, maka akan muncul area kerja dari CodeVision AVR.


Kemudian Untuk membuat buat project baru, klik File  New (Ctrl + N),
seperti berikut.
8. Kemudian muncul window berikut, dan Pilih New Project  OK.

9. Selanjutnya muncul window confirm CodeWizardAVR, dan pilih YES.

10. Pada CodeWizardAVR, pilihlah AVR Chip Type dengan Type ATmega
dan OK.

11. Selanjutnya akan muncul area kerja CodeWizardAVR


12. Aturlah chip dengan ATmega8535 dan Clock menjadi 1 MHz

13. Kemudian Atur Port A pada Data Direction di Bit0 menjadi Out, seperti
berikut :
dan Pada Port B pada Data Direction di Bit0 menjadi In, seperti berikut :

14. Kemudian Tekan Generate Program, seperti berikut :

15. Maka akan muncul window letak dimana kita akan menyimpan source file
(*.c) , project (*.prj), dan CodeWizardAVR Project (*.cwp) tersebut, seperti
contoh :
16. Jika sudah, Maka akan tampil kode program yang telah digenerate,
kemudian edit coding program menjadi berikut :
#include <mega8535.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
// Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T
// State1=T State0=0
PORTA=0x00;
DDRA=0x01;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In
Func2=InFunc1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T
PORTB=0x00;
DDRB=0x00;

while (1)
{
if (PINB.0 && PINB.1)
PORTA.0 = 1;
else
PORTA.0 = 0;

}
}
Seperti berikut :
17. Jika sudah, lakukan compile dengan klik menu Project  compile (F9) dan
build dengan klik menu Project  Build (Shift + F9)

18. Maka pada folder project akan terbentuk file yang telah di build seperti
berikut :
19. Kembali membuka Program Proteus - ISIS 7 Professional yang telah kita
buat desainnya, kemudian kita double-klik komponen ATMEGA8535 yang
telah dipasang atau klik kanan Edit Properties (Ctrl+E), seperti berikut :

20. Pada window Edit Component, masukkan program yang telah dibuat pada
CodeVisionAVR, dengan memasukkan file program (*.hex) di folder Exe
pada Project yang telah kita buat, menjadi seperti berikut :
Kemudian, tekan tombol OK. Maka Komponen mikrokontroller
ATMEGA8535 sudah terinstall program dan bisa dijalankan.
21. Jika kita ingin menjalankan rangkaian komponen yang telah dibuat, tekan
tombol run, seperti berikut :

22. Maka rangkaian komponen dengan fungsi AND bisa dijalankan seperti
berikut :

V. Hasil Praktek dan Analisa


Desain rangkaian komponen yang telah dibuat :
Dari rangkaian diatas, kita telah memfungsikan komponen mikrokontroller
ATMEGA8535, dengan program CodeVisionAVR seperti berikut :
#include <mega8535.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
// Func1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T
// State1=T State0=0
PORTA=0x00;
DDRA=0x01;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In
// Func2=InFunc1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
// State1=T State0=T
PORTB=0x00;
DDRB=0x00;

while (1)
{
if (PINB.0 && PINB.1)
PORTA.0 = 1;
else
PORTA.0 = 0;

}
}

Keterangan :
PORT X  Output
PIN X  Input
DDRX  Arah , yaitu 1 = Output dan 0 = Input

Analisa Program :
Pada program CodeVisionAVR, kita telah membuat PORTA menjadi
Outputnya dengan nilai DDRA=0x01 dan inputan yaitu pada PINB.0 dan
PINB.1 sehingga untuk memfungsikan menjadi sebuah rangkaian and, kita bisa
menambahkan perintah if sebagai berikut :
if (PINB.0 && PINB.1)
PORTA.0 = 1;
else
PORTA.0 = 0;
Yaitu Jika PINB.0 dan PINB.1 diberi inputan, maka PORTA.0 (sebagai output)
akan bernilai 1, jika tidak PORTA.0 akan bernilai 0.

Jika dianalisa menggunakan tabel kebenaran menjadi berikut :


A B Output
0 0 0
0 1 0
1 0 0
1 1 1

Hasil pada Rangkaian :


1. Ketika kedua saklar dinyalakan (on)

maka LED akan menyala


2. Ketika salah satu saklar pada keadaan mati (off)
maka LED akan mati

3. Ketika semua saklar pada keadaan mati (off)

maka LED akan mati

Sehingga dari pernyataan kondisi dari rangkaian diatas, mikrokontroller


ATMEGA8535 dapat kita fungsikan menjadi program AND, yaitu output
akan bernilai 1 jika kedua inputan bernilai 1, jika tidak maka akan bernilai
0.
VI. Tugas
Membuat rangkaian komponen OR dengan menggunakan mikrokontroller
ATMEGA8535.
Desain Rangkaian :

Program CodeVisionAVR :
#include <mega8535.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization


// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In
// Func2=InFunc1=In Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=T
// State1=T State0=0
PORTA=0x00;
DDRA=0x01;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
// Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
// State1=T State0=T
PORTB=0x00;
DDRB=0x00;

while (1)
{
if (PINB.0 || PINB.1)
PORTA.0 = 1;
else
PORTA.0 = 0;
}
}
Seperti berikut :

Keterangan :
PORT X  Output
PIN X  Input
DDRX  Arah , yaitu 1 = Output dan 0 = Input

Analisa Program :
Pada program CodeVisionAVR, kita telah membuat PORTA menjadi
Outputnya dengan nilai DDRA=0x01 dan inputan yaitu pada PINB.0 dan
PINB.1 sehingga untuk memfungsikan menjadi sebuah rangkaian OR, kita bisa
menambahkan perintah if sebagai berikut :
if (PINB.0 || PINB.1)
PORTA.0 = 1;
else
PORTA.0 = 0;
Yaitu Jika PINB.0 atau PINB.1 diberi inputan, maka PORTA.0 (sebagai
output) akan bernilai 1, jika tidak PORTA.0 akan bernilai 0. Sehingga Lampu
LED akan menyala jika salah satu salar dalam keadaan On (tertutup).
Jika dianalisa menggunakan tabel kebenaran menjadi berikut :
A B Output
0 0 0
0 1 1
1 0 1
1 1 1

Hasil pada Rangkaian :


1. Ketika kedua saklar dinyalakan (on)

maka LED akan menyala


2. Ketika salah satu saklar pada keadaan hidup (on)

maka LED akan nyala


3. Ketika semua saklar pada keadaan mati (off)

maka LED akan mati


Sehingga dari pernyataan kondisi dari rangkaian diatas, mikrokontroller
ATMEGA8535 dapat kita fungsikan menjadi program OR, yaitu output
akan bernilai 1 jika salah satu inputan bernilai 1, jika tidak maka akan
bernilai 0.

VII. Kesimpulan
 Mikrokontroler adalah sebuah sistem komputer fungsional dalam sebuah chip.
Di dalamnya terkandung sebuah inti prosesor, memori (sejumlah kecil RAM,
memori program, atau keduanya), dan perlengkapan input output.
 Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan
pada kompleksitas instruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
o RISC merupakan kependekan dari Reduced Instruction Set
Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas
yang lebih banyak.
o Sebaliknya, CISC kependekan dari Complex Instruction Set Computer.
Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas
secukupnya.
 Pada praktek ini, kita bisa mengaplikasikan mikrokontroller dengan sebuah
program yang berasal dari kode program AVR.
 Kita bisa menginputkan program yang telah dibuat melalui CodeVisionAVR
ke dalam mikrokontroller dengan cara double-klik komponen mikrokontroller
kemudian memasukkan file program yang telah di compile dan dibuild pada
folder exe projectnya.

Anda mungkin juga menyukai