Anda di halaman 1dari 19

ROOFID IRFIAN/2101032085

LABORATORIUM PRATIKUM
MIKROKIONTROLER

EL
LAPORAN JOB 1
MIKROKONTROLER
“OUTPUT dari ATMEGA 8535 CVAVR”

DISUSUN OLEH :

NAMA : ROOFID IRFIAN


NO BP : 2101032085
KELAS : 2D
SEMESTER :3
INSTRUKTUR : JULSAM, M.KOM.
ZULKA HENDRI S.T., MT

JURUSAN TEKNIK ELKTRO


PROGRAM STUDI D3 TEKNIK LISTRIK
ROOFID IRFIAN/2101032085
BAB I
TUJUAN

1. Mahasiswa mampu menjalankan aplikasi ProgISP


2. Mahasiswa mampu membuat program aplikasi menggunakan CVAVR
3. Mahasiswa mampu mensimulasikan program CVAVR ke dalam ProgISP
4. Mahasiswa mampu memahami dan menggunakan Papan PCB Rangkaian dengan benar

ROOFID IRFIAN/2101032085
BAB II
Teori Dasar

Pheriperal mikrokontroler keluarga AVR (ATMega16/8535) memungkinkan untuk diset sebagai


keluaran dan masukan. Pengaturan tersebut dapat dilakukan dengan bantuan Code Wizard AVR
pada salah satu port yang diinginkan. Penggunaan program secara langsung juga dapat dilakukan
untuk megatur fungsi dari pada setiap port pada mikrokontroler. Berikut gambaran secara umum;

Penulisan secara program:


PORTA=0xFF;
DDRA=0xFF;

Gambar.1a. Pengaturan Port Gambar.1b. Pengaturan PORT


Mikrokontroler Code Wizard secara program

Sebagai contoh pengaturan port-A pada gambar diatas (1a), menunjukkan pada data direction
sebagai Output memiliki nilai keluaran dua buah, yaitu 0 (low=0) dan 1 (high=+5V). Nilai
keluaran pengaturan port mikro menentukan nilai default awal dari keluarannya. Sedangkan
pengaturan port secara program (1b) seperti penulisan diatas, memiliki fungsi pada setiap
instruksi sebagai berikur;

PORTA=0xXX;  pengaturan terhadap nilai keluaran Port –A


0xFF  nilai keluaran Port-A pada setiap Bit = Tinggi (0b11111111)
0x00  nilai keluaran Port-A pada setiap Bit = Rendah(0b0000000)
0x0F  nilai keluaran Port-A pada 4 bit LSB = Tinggi dan 4 bit MSB = Rendah
(00001111)
DDRA=0xXX;  pengaturan terhadap fungsi port-A
0xFF  Nilai pengaturan port-A pada semua bit sebagai keluaran/output (0b11111111)
0x00  Nilai pengaturan port-A pada semua bit sebagai masukan/input (0b00000000)
0x0F  Nilai pengaturan port-A pada 4 bil LSB sebagai keluaran dan 4 bit MSB sebagai
masukan (0b00001111)

Kembali sebagai fungsi keluaran, dapat mempengaruhi kerja dari pada hardware atau
rangkaian yang nantinya akan diakses. Ada beberapa tipe kerja rangkaian untuk mengaksesnya,
yaitu Aktif LOW dan Aktif High. Aktif LOW merupakan kerja rangkaian yang dapat
dioperasikan/di –ON – kan dengan diberi logika rendah (“0”/0). Sedangkan Aktif HIGH
merupakan kerja rangkaian yang dapat dioperasikan/di-ON-kan dengan diberi logika tinggi
(“1”/+5V). Berdasarkan skematik dari kerja rangkaian diatas dapat digambarkan sebagai berikut;

ROOFID IRFIAN/2101032085
Gb. 2a. Rangkaian dengan kerja Aktif High 2b. Rangkaian dengan kerja Aktif Low

Pengaturan nilai keluaran setiap port disesuaikan dengan prinsip kerja rangkaian yang akan
dioperasikan. Secara logika untuk pengaturan nilai keluaran pada setiap port harus berkebalikan
dengan logika untuk menghidupkan/mengoperasikan rangkaian tersebut. Misalkan, rangkaian
LED aktif low, maka nilai keluaran pada CodeWizard harus diatur dengan nilai
1/Tinggi.Sedangkan sebaliknya, untuk rangkaian LED aktif high, maka nilai keluaran diatur
dengan nilai 0/Rendah. Modul Led yang digunakan dalam praktik memiliki kerja aktif low,
sehingga nilai keluaran port-A harus diatur menjadi Tinggi. Pengaturan tersebut dengan tujuan
untuk mematikan rangkaian saat pertama kali dihidupkan, atau bisa dikatakan tidak langsung
bekerja. Instruksi yang digunakan dalam CVAVR untuk meng-akses atau mengeluarkan data
(output) kesalah satu Port sudah baku. Ada dua macam peng-akses-an port, yaitu secara
bersamaan dan secara satu-persatu pin/bit. Sebagai contohnya adalah berikut ini (Akses ke -
PORTA); Instruksi CVAVR Secara bersamaan:

PORTA=0x0F;  pada 8 bit data PORTA akan mengeluarkan data 00001111


atau
PORTA=0b00001111;  pada 8 bit data PORTA akan mengeluarkan data 00001111
Instruksi CVAVR Secara per-bit:
PORTA.0=0;  Pada bit ke-0 PORTA akan mengeluarkan data 0 (low/0)
PORTA.3=0;  Pada bit ke-3 PORTA akan mengeluarkan data 0 (low/0)
PORTA.4=1;  Pada bit ke-4 PORTA akan mengeluarkan data 1 (high/+5V)
PORTA.7=1;  Pada bit ke-4 PORTA akan mengeluarkan data 1 (high/+5V)
dst.

Instruksi diatas dapat di ilustrasikan sebagai berikut:


B. Gambar Rangkaian Simulasi

ROOFID IRFIAN/2101032085
Gambar 3. Skematik Simulasi Modul LED

Tabel 1. Keyword Komponen

Nama Komponen Keyword ISIS


Mikrokontroler ATMega16 ATMEGA16
Resistor RES
LED LED-BIB

C. Contoh program
C.1. Program LED menyala semua secara bersama
#include <mega16.h>
void main(void)
{
……..
……..
while (1)
{
PORTA=0x00;
};
}

C.2. Program LED Led-1 On, Led-2 Off, Led-3 On, Led-4 Off, Led-5 On, Led-6 Off,
Led- 7 On, Led-8 Off
#include <mega16.h>
void main(void)
{
……..
……..
while (1)
{

ROOFID IRFIAN/2101032085
PORTA.0=0;
PORTA.1=1;
PORTA.2=0;
PORTA.3=1;
PORTA.4=0;
PORTA.5=1;
PORTA.6=0;
PORTA.7=1;
};
}
C.4. Program LED geser bergantian ke-kanan
#include <mega16.h>
#include <delay.h>
void main(void)
{
……..
……..
while (1)
{
PORTA=0b11111111;
delay_ms(1000);
PORTA=0b11111110;
delay_ms(1000);
PORTA=0b11111101;
delay_ms(1000);
PORTA=0b11111011;
delay_ms(1000);
PORTA=0b11110111;
delay_ms(1000);
PORTA=0b11101111;
delay_ms(1000);
PORTA=0b11011111;
delay_ms(1000);
PORTA=0b10111111;
delay_ms(1000);
PORTA=0b01111111;
delay_ms(1000);
};
}

BAB III

ALAT DAN BAHAN

ROOFID IRFIAN/2101032085
1. Laptop / Notebook / Komputer
2. Mikrokontroler Atmega8535
3. Aplikasi CVAVR
4. Aplikasi ProgISP
5. Board (papan pcb rangkaian)

BAB IV

LANGKAH KERJA

ROOFID IRFIAN/2101032085
1. Membuka aplikasi Code Vision AVR

Langkah yang pertama membuat projek baru, tetapi sebelumnya jika ada projek yg sudah
dibuat diharuskan close all terlebih dahulu agar tidak terkendala saat mengaktifkan programnya

2. Setalah membuka aplikasi CVAVR klik new-pilih projek

3. Setelah klik file, kemudian klik project untuk membuat program baru
4. Tekan Yes untuk menggunakan Wizard dan tekan No untuk tidak menggunkan wizard.
Pada praktek ini kita tidak menggunakan wizard dengan mengklik No

ROOFID IRFIAN/2101032085
5. Kemudian buat nickname file untuk menyimpan program dengan membuat folder baru

6. Kemudian setelah folder baru siap buat nama file hex sebanyak 3 kali
Seperti pada gambar dibawah ini

ROOFID IRFIAN/2101032085
7. Setalah mengklik Oke untuk menyimpan, kemudian pilih Atmega 8535 dan klik oke

8. Kemudian klik oke

ROOFID IRFIAN/2101032085
9. Kemudian buat progtram sesuai dengan job yang telah diberikan

10. Setelah membuat program, kemudian klik compire the project untuk melihat apakah ada
yang eror, dan jika tidak ada kilk oke

ROOFID IRFIAN/2101032085
11. Buka aplikasi ProgIsp untuk menghubungkan program ke papan pcb rangkaian.
Kemudian klik Load flash.

12. Setelah mengklik Load Flash, kemudian klik program yang telah dibuat tadi dengan
tanda program yaitu HEX dan klik Oke

ROOFID IRFIAN/2101032085
13. Setelah program dimasukan ke ProgIsp, kemudian klik Auto untuk menjalankan program

BAB V

LATIHAN MANDIRI

ROOFID IRFIAN/2101032085
D.1. Buatlah program untuk menyalakan LED geser bergantian kekiri!
D.2. Buatlah program untuk menyalakan LED geser bergantian kekanan -kekiri!
D.3. Aplikatif:
Buatlah program untuk menjalankan 3 buah motor nyala berurutan, dengan jeda waktu
Penyalaan antara motor satu dengan yang lain mendekati 5 detik(setelah ke 3 motor menyala
D.4. Aplikatif:
Buatlah program untuk menjalankan 3 buah motor nyala bergantian, dengan jeda waktu
penyalaan antara motor satu dengan yang lain mendekati 5 detik (setelah motor ketiga nyala,
kembali penyalaan pada motor kesatu)!

BAB VI

TABEL PERCOBAAN

Tabel percobaan D1

ROOFID IRFIAN/2101032085
L7 L6 L5 L4 L3 L2 L1 L0
1 NO DATA LED M M M M M H
2 0x02 M M M M M M H M
3 0x04 M M M M M H M M
4 0x08 M M M M H M M M
5 0x10 M M M H M M M M
6 0x20 M M H M M M M M
7 0x40 M H M M M M M M
8 0x80 H M M M M M M M
9 0xFF H H H H H H H H

Tabel percobaan D2

NO DATA LED
L7 L6 L5 L4 L3 L2 L1 L0
1 0x01 M M M M M M M H
2 0x02 M M M M M M H M
3 0x04 M M M M M H M M
4 0x08 M M M M H M M M
5 0x10 M M M H M M M M
6 0x20 M M H M M M M M
7 0x40 M H M M M M M M
8 0x80 H M M M M M M M
9 0x40 M H M M M M M M
10 0x20 M M H M M M M M
11 0x10 M M M H M M M M
12 0x08 M M M M H M M M
13 0x04 M M M M M H M M
14 0x02 M M M M M M H M
15 0x01 M M M M M M M H
16 0xFF H H H H H H H H

Keterangan :

Warna Hitam kode : M = mati

Warna Hijau kode: H = Hidup

BAB VII

ANALISA

ROOFID IRFIAN/2101032085
D1. Buatlah program untuk menyalakan LED geser bergantian kekiri!

Pada percobaan ini kita diminta untuk membuat program menyalakan LED geser bergantian
ke kiri, dimana langkah pertama kita yaitu dengan melakukan sesuai dengan langkah kerja yang
terdapat pada BAB IV.

Pada program diatas menggunakan DDRA=0xFF yaitu Nilai pengaturan port-A pada semua
bit sebagai keluaran/output. Sedangkan untuk PORTA=0x01 menandakan bahwa LED pertama
hidup dan untuk LED berikutnya akan hidup ketika delay LED pertama sudah habis maka LED
akan hidup geser bergantian kekiri dari LED bit 0 sampai LED bit 7. Delay_ms berfungsi untuk
menggatur waktu atau durasi pergeseran dari LED yang dibutuhkan.

D2. Buatlah program untuk menyalakan LED geser bergantian kekanan -kekiri!

Pada program diatas menggunakan DDRA=0xFF yaitu Nilai pengaturan port-A pada semua bit
sebagai keluaran/output. Sedangkan untuk PORTA=0x01 menandakan bahwa LED pertama
hidup dan untuk LED berikutnya akan hidup ketika delay LED pertama sudah habis maka LED
akan hidup geser bergantian kekiri dari LED bit 0 sampai LED bit 7 dan kemudian LED akan
hidup bergantian kekanan dari bit 7 sampai bit 0 . Delay_ms berfungsi untuk menggatur waktu
atau durasi pergeseran dari LED yang dibutuhkan dan waktu geser nya dapat kita sesuai dengan
ke ingin kita sendiri

D3. . Buatlah program untuk menjalankan 3 buah motor nyala berurutan, dengan jeda waktu
penyalaan antara motor satu dengan yang lain mendekati 5 detik (setelah ketiga motor nyala,
tetap dipertahankan posisi tersebut/tidak berulang)!

ROOFID IRFIAN/2101032085
Pada program ini kita hanya menggukan 3 buah LED saja sesuai dengan perintah pada job
sheet yang diberikan dan menggukan delay_ms untuk mengatur waktu atau durasi LED yang
dibutuhkan. Pada rangkaian kode nya harus sesuai dengan kode pada program supaya program
dapat berjalan dengan baik dan sesuai dengan yang diinginkan.

D4. Buatlah program untuk menjalankan 3 buah motor nyala bergantian, dengan jeda waktu
penyalaan antara motor satu dengan yang lain mendekati 5 detik (setelah motor ketiga nyala,
kembali penyalaan pada motor kesatu)!

Pada program ini kita hanya menggukan 3 buah LED saja sesuai dengan perintah pada job
sheet yang diberikan dan menggukan delay_ms untuk mengatur waktu atau durasi LED yang
dibutuhkan. Pada rangkaian kode nya harus sesuai dengan kode pada program supaya program
dapat berjalan dengan baik dan sesuai dengan yang diinginkan. Cara kerjanya dari LED 1 hidup
dan LED berikut nya hidup secara bergantian sampai LED 3, Setelah LED 3 mati akan kembali
ke awal yaitu LED 1 akan hidup.

BAB VII

ROOFID IRFIAN/2101032085
PENUTUP

A. Kesimpulan
Setelah melaksanakan praktikum,praktikan mendapat kesimpulan:
1.Fungsi PORTA=0Xff; merupakan logika high untuk PORTA agar kondisi awal Lampu
LED atau Motor DC padam
2.Logika 0 merupakan logika low yang diberikan pada PORTA sehingga lampu LED tidak
dapat menyala
3.Logika 1 merupakan logika high yang diberikan pada PORTA sehingga Lampu LED akan
menyala
4.Fungsi #include<delay.h> berfungsi untuk menyatakan bahwa pada program akan dibuat
jeda waktu pada program ini
5.Fungsi delay_ms(); merupakan fungsi yang menyatakan atau mengelola lama waktu suatu
LED atau Motor DC akan menyala sesuai jangka waktu diberikan.

B. Saran
Setelah melaksanakan praktikum, praktikan memberikan saran:
1. Pahami terlebih dahulu jenis program yang akan kita buat
2. Jangan tergesa – gesa dalam pengerjaan program pada Code Vision CVAVR yang dapat
mengakibatkan kesalahan.

ROOFID IRFIAN/2101032085

Anda mungkin juga menyukai