LABORATORIUM PRATIKUM
MIKROKIONTROLER
EL
LAPORAN JOB 1
MIKROKONTROLER
“OUTPUT dari ATMEGA 8535 CVAVR”
DISUSUN OLEH :
ROOFID IRFIAN/2101032085
BAB II
Teori Dasar
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;
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:
ROOFID IRFIAN/2101032085
Gambar 3. Skematik Simulasi Modul LED
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
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
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
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 :
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