Anda di halaman 1dari 10

LAPORAN PRAKTIKUM SENSOR DAN MIKROPROSESOR

LAPORAN 2
PEMROGRAMAN MENGGUNAKAN CODE VISION AVR
Diajukan untuk memenuhi salah satu tugas Praktikum Sensor dan Mikroprosesor yang
diampu oleh: Bapak Drs. Yoyo Somantri, S.T.,M.Pd.,

Disusun Oleh :
Kelompok 14
1. Raffi Erba 1701067
2. Sidiq Andika Maulana 1702825

PROGRAM STUDI PENDIDIKAN TEKNIK ELEKTRO


DEPARTEMEN PENDIDIKAN TEKNIK ELEKTRO
FAKULTAS PENDIDIKAN TEKNOLOGI DAN KEJURUAN
UNIVERSITAS PENDIDIKAN INDONESIA
BANDUNG
2020
A. KAJIAN TEORI

B. PRAKTIKUM MENGGUNAKAN TRAINER AVR


1. JOBSHEET 1 LED
a) Tujuan

Tujuan dari praktikum ini diantaranya :


1. Mempraktekan teori mikrokontroler yang telah didapat.
2. Mengetahui dan dapat mengimplementasikan pemrograman bahasa C
untuk mikrokontroler AVR ATMEGA 16.
3. Mengetahui dan dapat mempraktekan penggunaan software dan tools
program yang digunakan untuk membuat program untuk AVR ATMEGA
16.
4. Memahami input dan output pin mikrokontroler.
5. Membuat program blink LED, LED flip-flop dan LED berjalan.

b) Alat dan Bahan

1. Personal computer / Laptop.


2. Trainer AVR ATMEGA 16.
3. USB cable
4. Power supply

c) Langkah Kerja

1. Buka CodeVision AVR, lalu setting chip sesuai konfigurasi trainer.


2. Klik menu port lalu setting pada tab port A.
3. Setelah selesai mensetting klik menu program lalu generate, save and exit.
4. Simpan dalam satu folder lalu beri nama.
5. Pindahkan dipswitch modul LED pada posisi on di trainer AVR.

d) Praktikum

1. Buat LED berjalan secara bola balik kanan ke kiri atau sebaliknya.
2. Buat blink LED dengan 8 buah dengan posisi awal 4 LED hidup dan 4
LED mati, hidup secara bergantian.
Program LED Berjalan

.....
#include<delay.h>
.....
While (1)
{
PORTA=0b11111110;delay_ms(100);
PORTA=0b11111101;delay_ms(100);
PORTA=0b11111011;delay_ms(100);
PORTA=0b11110111;delay_ms(100);
PORTA=0b11101111;delay_ms(100);
PORTA=0b11011111;delay_ms(100);
PORTA=0b10111111;delay_ms(100);
PORTA=0b01111111;delay_ms(100);
PORTA=0b01111111;delay_ms(100);
PORTA=0b10111111;delay_ms(100);
PORTA=0b11011111;delay_ms(100);
PORTA=0b11101111;delay_ms(100);
PORTA=0b11110111;delay_ms(100);
PORTA=0b11111011;delay_ms(100);
PORTA=0b11111101;delay_ms(100);
PORTA=0b11111110;delay_ms(100);
}

Program Blink LED

....

#include<delay.h>

Void main(void)

....
While (1)

PORTA=255;

Delay_ms(1000);

PORTA=0;

Delay_ms(1000);

e) Analisa/Kesimpulan

Program diatas merupakan program dengan bahasa c untuk menyalakan LED dari
kanan ke kiri dan sebaliknya. Instruski ini “PORTA=0b11111110;delay_ms(100);” berarti
pada port a atau port LED pada trainer LED paling kanan akan menyala sementara yang
lainnya mati, karena telah diatur LED akan menyala pada kondisi 0. Jadi ketika posisi 0
bergeser pada program lLED pun akan bergeser. Sementara “PORTA=255;” berarti semua
lampu pada port A akan menyala dengan delay yang dapat diatur.

2. JOBSHEET 2 PUSHBUTTON
a) Tujuan

Tujuan dari praktikum ini diantaranya :


1. Mempraktekan teori mikrokontroler yang telah didapat.
2. Mengetahui dan dapat mengimplementasikan pemrograman bahasa C
untuk mikrokontroler AVR ATMEGA 16.
3. Mengetahui dan dapat mempraktekan penggunaan software dan tools
program yang digunakan untuk membuat program untuk AVR ATMEGA
16.
4. Memahami input dan output pin mikrokontroler.
5. Membuat program mengenai pushbutton.
b) Alat dan Bahan

1. Personal computer / Laptop.


2. Trainer AVR ATMEGA 16.
3. USB cable
4. Power supply

c) Langkah Kerja

1. Buka CodeVision AVR, lalu setting chip sesuai konfigurasi trainer.


2. Klik menu port lalu setting pada tab port C sebagai input, karena kita
menggunakan pushbutton pada port C lalu setting pada port A sebagai
output karena kita menggunakan modul LED pada port A.
3. Pindahkan dipswitch pushbutton dan LED pada posisi ON di trainer
AVR.
4. Save dalam satu folder dan beri nama.

d) Praktikum

Dalam satu program buat konfigurasi berikut :

1. Gunakan pushbtton pertama untuk menghidupkan dan mematikan LED.


2. Gunakan pushbutton kedua untuk menghidupkan LED berjalan.
3. Gunakan pushbutton ketiga untuk mematikan semua LED.

Hasil Program
....
while (1)
{
// Place your code here
if(PINC.0==0)
{
PORTA=0;
}
if(PINC.0==1)
{
PORTA=255;
}

if(PINC.1==0)
{
PORTA=0b11111110;delay_ms(100);
PORTA=0b11111101;delay_ms(100);
PORTA=0b11111011;delay_ms(100);
PORTA=0b11110111;delay_ms(100);
PORTA=0b11101111;delay_ms(100);
PORTA=0b11011111;delay_ms(100);
PORTA=0b10111111;delay_ms(100);
PORTA=0b01111111;delay_ms(100);
}
if(PINC.0==0)
{
PORTA=0;
}
}

e) Analisa/Kesimpulan
Program diatas merupakan program dengan bahasa c untuk menghidupkan dan
mematikan LED menggunakan pushbutton pertama. Instruksi “if(PINC.0==1)” lalu
“PORTA=255;” berarti LED pada port A akan menyala semua ketika pushbutton pertama
ditekan, begitu pula seterusnya. Ketika pushbutton kedua ditekan LED akan berjalan, dan
ketika pushbutton ketiga ditekan semua LED akan mati.
3. JOBSHEET 3 LCD 2x16
a) Tujuan

Tujuan dari praktikum ini diantaranya :


1. Mempraktekan teori mikrokontroler yang telah didapat.
2. Mengetahui dan dapat mengimplementasikan pemrograman bahasa C
untuk mikrokontroler AVR ATMEGA 16.
3. Mengetahui dan dapat mempraktekan penggunaan software dan tools
program yang digunakan untuk membuat program untuk AVR ATMEGA
16.
4. Menampilkan karakter / data ke LCD 2x16.
5. Membuat program mengenai LCD 2x16.

b) Alat dan Bahan

1. Personal computer / Laptop.


2. Trainer AVR ATMEGA 16.
3. USB cable
4. Power supply

c) Langkah Kerja

1. Buka CodeVision AVR, lalu setting chip sesuai konfigurasi trainer.


2. Klik pada pilihan “Alphanumeric LCD” ceklis pada pilihan “Enable
Alphanumeric LCD Support” lalu setting.
3. Pindahkan dipswitch LCD pada posisi ON di trainer AVR.
4. Save dalam satu folder dan beri nama.

d) Praktikum

1. Membuat penekanan input dari pushbutton untuk menghidupkan LED


dan tampilkan di LCD.
Hasil program

lcd_init(16);
lcd_gotoxy(3,0);
lcd_putsf("==WELCOME==");
delay_ms(5000);

while (1)
{
// Place your code here
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("Belajar LCD ");
lcd_gotoxy(0,1);
lcd_putsf("Mikrokontroler");
delay_ms(1000);
}
lcd_init(16);
lcd_clear();
while (1)
{
// Place your code here
if(PINC.0==1)
{
PORTA.0=1 ;
lcd_gotoxy(0,0);
lcd_putsf("LED 1 Hidup");
}
if(PINC.1==1)
{
PORTA.0=0;
lcd_gotoxy(0,0);
lcd_putsf("LED 2 Hidup");
}
if(PINC.3==1)
{
PORTA.3=0;
lcd_gotoxy(0,0);
lcd_putsf("LED 1 Hidup");
}
}
}

e) Analisa/Kesimpulan

Program diatas merupakan program dengan bahasa c untuk menampilkan tuilisan di


LCD ketika LED 1 menyala. Dengan menggunakan instruksi ketika LED menyala yaitu
“PORTA.3=0;” lalu “lcd_gotoxy(0,0);” maka ditampilkan tulisan LED 1 menyala yaitu
“lcd_putsf("LED 1 Hidup");”

4. JOBSHEET 4 ADC Menggunakan Input Potensio


a) Tujuan
b) Alat dan Bahan
c) Langkah Kerja
d) Praktikum (berisi soal dan jawaban)
e) Analisa/Kesimpulan

5. JOBSHEET 5 LDR
a) Tujuan
b) Alat dan Bahan
c) Langkah Kerja
d) Praktikum (berisi soal dan jawaban)
e) Analisa/Kesimpulan

6. JOBSHEET 6 BUZZER
a) Tujuan
b) Alat dan Bahan
c) Langkah Kerja
d) Praktikum (berisi soal dan jawaban)
e) Analisa/Kesimpulan

7. JOBSHEET 7 LM35
a) Tujuan
b) Alat dan Bahan
c) Langkah Kerja
d) Praktikum (berisi soal dan jawaban)
e) Analisa/Kesimpulan

C. REFERENSI

D. LAMPIRAN

Anda mungkin juga menyukai