Anda di halaman 1dari 13

MODUL 1

ANTARMUKA MIKROKONTROLER DENGAN LED

Penyusun:
Gheavebileany Lae Mooy (230935604835)

FAKULTAS VOKASI
TEKNOLOGI REKAYASA SISTEM ELEKTRONIKA
UNIVERSITAS NEGERI MALANG
2024
MODUL I

ANTARMUKA MIKROKONTROLER DENGAN LED

TUJUAN

 Menjelaskan rangkaian antarmuka mikrokontroler dengan LED.


 Mempraktekkan pemrograman mikrokontroler untuk menyalakan dan mematikan
LED.

LED

Sebuah LED (Light Emitting Diode) adalah sebuah sumber cahaya yang terbuat dari
semikonduktor. Biasanya LED digunakan sebagai lampu indikator dalam beberapa piranti, dan mulai
banyak digunakan sebagai penerangan/lampu. Gambar 1.1 memperlihatkan bentuk fisik LED dan
simbol rangkaiannya.

(a) (b)
Gambar 1.1 LED (a) Bentuk fisik dan (b) Simbol elektronik

Untuk menyalakan sebuah LED perlu susunan rangkaian yang dapat dilihat pada Gambar 2.
Rangkaian tersebut berupa sebuah transistor yang difungsikan sebagai saklar dan dua buah resistor
untuk pembatas arus. Dalam modul I/O yang dipakai dalam praktikum, kedelapan rangkaian LED
tersebut dihubungkan ke sebuah soket jumper bernama OUTPUT.
R18
470
R19 Q9
PX.Y 2N3904
1k

R3
470 Gambar 1.2 Rangkaian LED

PERINTAH DASAR MENGELUARKAN DATA

Sebelum mulai menulis program dengan bahasa C, perlu diketahui bahwa mikrokontroler
ATmega8535 perlu diset isi register DDR dan PORT agar bisa digunakan sebagaimana mestinya,
seperti yang terlihat dalam Tabel 1.

Tabel 1 Konfigurasi Pengaturan Port I/O

DDR bit = 1 DDR bit = 0

PORT bit = 1 Output ; High Input; R pull up

PORT bit = 0 Output; Low Input, Floating

Untuk mengirim data byte dalam bentuk bilangan desimal ke PORTX (X=A, B, C, D) digunakan
statement

PORTX = desimal;

PORTB = 128;

Untuk mengirim data byte dalam bentuk bilangan biner ke PORTX (X=A, B, C, D) digunakan statement

PORTX = 0bdata;

PORTB = 0b10101010;

Untuk mengirim data per bit ke PORTX.Y (X=A, B, C, D, dan Y=0, 1, 2 , 3, 4, 5, 6, 7) digunakan
statement

PORTX.Y = data;

PORTB.1 = 0;
Dimana data bisa berupa 0 atau 1.

ALAT DAN BAHAN YANG DIGUNAKAN

 1 set PC/Laptop yang sudah berisi program Code Vision dan Proteus

PROSEDUR

1. Rangkailah komponen yang diperlukan seperti pada Gambar 1.3 dengan Proteus.
2. Buka program Code Vision AVR
3. Buat file baru dengan cara klik File>>New, atau klik icon Create a New File or Project,
atau ketik Ctrl + N. Ketika muncul dialog box, pilih Project pada File Type, kemudian
klik OK.

4. Ketika muncul dialog box untuk menanyakan apakah ingin menggunakan


CodeWizardAVR, klik No.
R1
470
R10 Q2
PA0 2N3904
10k

R2
470
R11 Q1
PA1 2N3904
1k

R3
470
R12 Q3
PA2 2N3904
U1 1k
1 40
PB0/T0/XCK PA0/ADC0 PA0
2 39
PB1/T1 PA1/ADC1 PA1
3 38
4
PB2/AIN0/INT2 PA2/ADC2
37
PA2 R4
PB3/AIN1/OC0 PA3/ADC3 PA3
5 36 470
PB4/SS PA4/ADC4 PA4
6
PB5/MOSI PA5/ADC5
35
PA5 R13 Q4

LED
7 34 2N3904
PB6/MISO PA6/ADC6 PA6 PA3
8 33 1k
PB7/SCK PA7/ADC7 PA7
14 22
PD0/RXD PC0/SCL
15 23
16
PD1/TXD PC1/SDA
24
R5
PD2/INT0 PC2
17 25 470
PD3/INT1 PC3
18
PD4/OC1B PC4
26
R14 Q5
19 27 2N3904
PD5/OC1A PC5 PA4
20 28 1k
PD6/ICP1 PC6/TOSC1
21 29
PD7/OC2 PC7/TOSC2
13
XTAL1
12
XTAL1
32
R6
XTAL2 XTAL2 AREF
9 30 470
Reset RESET AVCC
R15 Q6
ATMEGA8535 2N3904
PA5
1k
VCC

R7
XTAL1

XTAL2

470
R16 Q7
R9 PA6 2N3904
10k 1k
X1
Reset R8
CRYSTAL 4MHz 470
R17 Q8
C3 C1 C2 PA7 2N3904
4.7u 22p 22p 1k

Gambar 1.3 Rangkaian Antarmuka Mikrokontroler dengan LED

5. Ketika muncul window untuk menyimpan file, buat folder baru dengan nama
“praktikum” untuk menyimpan file.
6. Simpan file pada folder tersebut dan beri nama file prj dengan nama ”led“ dan klik
Save.
7. Kemudian muncul dialog box Configure Project. Pada tab C Compiler, subtab Code
Generation pilih chip ATmega8535 dan ubah Clock menjadi 4 MHz. Kemudian klik
OK.

8. Buat file Source baru dengan cara klik File>>New, atau klik icon Create a New File or
Project, atau ketik Ctrl + N. Kemudian muncul dialog box, pilih Source pada File Type,
kemudian klik OK. Kemudian Save as file Source itu dengan nama ”led“ dan simpan di
dalam direktori yang sama yaitu di dalam folder “praktikum”.

9. Hubungkan file Project dengan File Source dengan Cara klik Project>> Configure

10. Pada dialog box, klik Add pada tab Input Files. Kemudian pilih file yang sudah anda
simpan tadi dan klik Open. Kemudian klik OK.

11. Jika sudah ditambahkan, maka pada Code Navigator akan terlihat led.c.
12. Tambahkan file header

13. Buat program utama dan inisialisasikan PORTA sebagai output dan output value = 0

14. Tuliskan Program LED1 pada program utama di dalam while (1):
Program LED1

15. Compile program tersebut dengan cara klik Project>> Compile atau ketik F9.
16. Jika ada error , koreksi program yang error dan perbaiki. Jika sudah tidak ada yang
error build program tersebut dengan cara klik Project>> Build atau klik Shift + F9.
17. Pindah ke aplikasi Proteus. Klik dobel pada komponen mikrokontroler ATmega8535.
Lalu masukkan file led.hex yang sudah dihasilkan (biasanya terdapat pada folder atau
sub direktori..\Exe yang terdapat pada folder “praktikum“) ke dalam Program File di
Window Edit Component. Lalu klik Ok.\
18. Klik Run Simulation/F12 yang ada di menu Debug.
19. Amati nyala LED dan screenshot nyala LED tersebut.
20. Pindah ke aplikasi Code Vision AVR. Hapus Program LED1, kemudian tuliskan
program LED2 di dalam while (1):
Program LED2

21. Ulangi langkah 15-19.


22. Pindah ke aplikasi Code Vision AVR. Hapus program LED2, kemudian tuliskan
program LED3 di dalam while (1):
Program LED3

23. Ulangi langkah 15-19.


24. Pindah ke aplikasi Code Vision AVR. Hapus program LED3, kemudian tuliskan
program LED 4 di dalam while (1):
Program LED4

25. Ulangi langkah 15-19.


26. Pindah ke aplikasi Code Vision AVR. Hapus program LED4, kemudian tuliskan
program LED5 di dalam while (1):
Program LED5

27. Ulangi langkah 15-19.


DATA HASIL PERCOBAAN

1. Tampilan nyala LED Program LED1

2. Tampilan nyala LED Program LED2

3. Tampilan nyala LED Program LED3

4. Tampilan nyala LED Program LED4


5. Tampilan nyala LED Program LED5
ANALISIS DATA

1. Analisis program LED1 – LED5!

 Pada LED 1 mengikuti perintah PORTA= 0x0f yang berarti empat LED kiri akan mati
dan empat LED kanan akan menyala dan begitu sebaliknya dengan perintah
PORTA=0xf0, program ini jalan dengan waktu bergantian selama 1000ms atau 1 detik
dengan perintah delay_ms(1000);
 Pada LED 2 sama seperti LED 1 hanya saja LED 1 menggunakan bilangan heksa dan
LED 2 menggunakan bilangan biner
 Pada LED 3 dengan perintah PORTA=0x55 dan PORTA=0xaa dan menghasilkan
keluaran 01010101 & 10101010 dengan delay waktu 1000ms atau satu detik
 Pada LED 4 dengan perintah PORTA menggunakan bilangan biner, Dimana jika 1 (LED
menyala) dan jika 0 (LED mati) dengan delay waktu 1000ms
 Pada LED 5 kurang lebih sama dengan LED 4 dengan perintah PORTA menggunakan
bilangan biner, dimana jika 1 (LED menyala) dan jika 0 (LED mati) dengan delay
waktu 1000ms

2. Persamaan dan perbedaan program LED 1 dan program LED 2?

 Persamaannya yaitu nyala kedua LED itu sama dengan delay waktu 1000ms
 Perbedaannya yaitu pada penulisan perintah pada program LED 1 menggunakan
bilangan heksa dan pada LED 2 menggunakan bilangan biner

3. Instruksi apa yang digunakan untuk mengeluarkan data ke LED?

 PORTA

4. Mengapa ada jeda waktu sekitar 1 detik antara tampilan LED yang pertama dengan yang
berikutnya?

 Karena dalam program tersebut terdapat perintah delay_ms(1000) yang berarti ada
jeda 1000ms atau 1 detik

KESIMPULAN

Pada program ini perlu menggunakan instruksi PORT dengan maksud untuk menentukan pengaturan
fungsi PORT sebagai input maupun output. Pada program ini kita tahu bahwa untuk menggunakan
bilangan heksa maka diawali dengan 0x sedangkan bila menggunakan bilangan biner maka diawali
0b, serta terdapat perintah delay dengan maksud menjeda jalannya program.

Anda mungkin juga menyukai