Upload
ramon-yuliansyah
View
236
Download
0
Embed Size (px)
DESCRIPTION
lap 2 mikro
Citation preview
A. Teori Dasar
OPERATOR HUBUNGAN (PERBANDINGAN)
Operator hubungan digunakan untuk membandingkan hubungan antara dua buah
operand /sebuah nilai atau variable. Untuk membandingkan hubungan antara dua buah
operand /sebuah nilai atau variable begitulah keguanaan dari operator hubungan
(perbandingan).
Operasi majemuk seperti pada tabel dibawah ini:
Tabel 2.1 Operator Hubungan
OPERATOR BITWISE (MANIPULASI PER BIT)
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di
memori. Operator bitwise dalam bahasa C di SDCC adalah sebagai berikut :
• << : Pergeseran bit ke kiri
• >> : Pergeseran bit ke kanan
• & : Bitwise AND
• ^ : Bitwise XOR (exclusive OR)
• | : Bitwise OR
• ~ : Bitwise NOT
• Pertukaran Nibble dan Byte
• Mengambil Bit yang paling Berbobot
PERULANGAN
Dalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang
berulangulang sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan
mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan.
Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah sampai
100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur perulangan dalam
bahasa C mempunyai bentuk yang bermacam-macam.
STRUKTUR PERULANGAN “ WHILE”
Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini
banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan
terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya
bernilai salah. Bentuk umum dari struktur kondisi ini adalah:
While (ekspresi)
{
Pernyataan_1
Pernyataan_2
}
Contoh:
#include <mega8535.h>
#include <delay.h>
void main()
{
char a=10;
DDRA=0xFF;
while(a>=0)
{
PORTA=a;
a--;
}
}
STRUKTUR PERULANGAN “FOR”
Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah
diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for
tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum
perulangan for adalah sebagai berikut :
for(inisialisasi; syarat; penambahan) pernyataan;
Keterangan:
Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
penambahan : pengatur perubahan nilai variabel kontrol.
Contoh
#include <mega8535.h>
#include <delay.h>
void main()
{
char a;
DDRA=0xFF;
for(a=10;a>=0;a--)
PORTA=a;
}
B. Alat dan Bahan
1. 1 set PC
2. 1 set software Code Vision
3. 1 set modul AVR
C. Gambar Rangkaian
Susunan PORT adari modul AVR adalah sebagai berikut
Skema LED pada modul AVR adalah sebagai berikut
PD
PB
PC
PA
SWITCH
LED
330 LED
Vcc
PA0
D. Langkah-Langkah Kerja
1. Buatlah program pada notepad simpan dengan format file .c
2. Buka aplikasi CodeVisionAVR klik file new pilih project ok
3. Klik add pilih project .c yang telah di simpan
4. Ganti chip pada C Compler dengan ATmega8535 ok.
5. Selanjutnya klik compile yang ada pada toolbar lihat hasil compile pada
bagian kiri.
6. Lalu jalankan aplikasi proteus dengan cara double klik pada IC pada
program file, pilih file yang akan dijalankan open.
7. Dan klik play untuk menjalankan program.
8. Awalnya Buka ISIS proteus, lalu pilih tombol ”p” yang ada pada
deviceCarilah pick devices dan klik, kemudian ketik atmega 8535, untuk
masuk ke kolom device lakukan doebel klik
9. Selanjutnya akan muncul 3 komponen (atmega 8535, LED,RES ), lalu
masukkan kelembaran kerja
10. Klik 2 kali lik di R1, rubah resistancenya menjadi 330 k
11. Di PA 90 sambungkan garis ke R1, maka mikrikontroler akan terhubung ke
R1
12. Kemudian dari R1 hubungan ke RES (d1)
13. Ambillah terminal mood, kemudian pilih tanda ground.
14. Pelaksanaan Program-nya
a. Untuk pertama buka codevision evalution
b. Klik new, pilih project, no, lalu simpan di sebuah folder yang diinginkan
c. Cari c compiler, buka atmega 8535 pada chip, dengan clock yang berbeda
d. Klik new, pilih tombol source
e. Salin program yang terdapat oada modul 1. Dan simpan
i. Program 1 / Soal 1
ii. Program 2 / Soal 2
iii. Program 3 / Soal 3
iv. Program 4 / Soal 4
E. Hasil Percobaan
i. Program 1 / Soal 1
PORT B LED
7 6 5 4 3 2 1 0
0X00 1 1 1 1 1 1 1 1
0xFF 0 0 0 0 0 0 0 0
ii. Program 2 / Soal 2
DDR PORT LED
7 6 5 4 3 2 1 0
DDRB 0X00 1 1 1 1 1 1 1 1
DDRB 0xFF 0 0 0 0 0 0 0 0
iii. Program 3 / Soal 3
DDRB PORT LED
7 6 5 4 3 2 1 0
DDRC 0X01 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 1
1 1 1 1 1 0 1 1
1 1 1 1 0 1 1 1
1 1 1 0 1 1 1 1
1 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
Pada saat nilai awal port dirubah menjadi 0x0F
DDRB
PORT LED
7 6 5 4 3 2 1 0
DDRC 0X01 1 1 1 1 1 1 1 1
1 1 0 0 0 0 1 1
1 0 0 0 0 1 1 1
0 0 0 0 1 1 1 1
0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 1
0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
iv. Program 4 / Soal 4
DDR PORT LED
7 6 5 4 3 2 1 0
DDRB 0XF0 0 0 0 0 1 1 1 1
DDRB 0x0F 1 1 1 1 0 0 0 0
F. Analisa
Tiap-tiap pin pada ATMega8535 bisa memiliki fungsi yang berbeda sesuai
dengan program yang diinputkan pada Micro tersebut.
#include <mega8535.h>
Perintah yang digunakan untuk penggunaan IC ATMega8535.
#include <delay.h>
Ini berarti akan menggunakan perintah delay pada program yang akan dibuat.
void main (void) {}
Menunjukkan bahwa perintah dibawah adalah perintah utama dengan tanpa
nilai.
kembalian (return).
delay_ms()
Perintah untu memberikan nilai jeda waktu dengan satuan ms (milisecond).
Program 1 / Soal 1
Pada program 1 ini semua LED hidup saat inputnya 0xFF,namun
pada saat inputnya dirubah menjadi 0x00 semua LED mati.
Program 2 / Soal 2
Ketika nilai delay dirubah kecepatan pergantian hidup LED
berubah.
Jika nilai delay semakin kecil maka kecepatan pergantian LED semakin
cepat, dan ketika nilai delay semakin tinggi kecepatan pergantian LED
semakin pelan.
Program 3 / Soal 3
o Saat LED 1 mati, LED 0,2,3,4,5,6,7 hidup,
o Saat LED 2 mati ,LED 0,1,3-7 hidup,
o Begitu seterusnya hingga LED 7 mati LED 1-6 hidup.
Program 4 / Soal 4
Pada program 4 ini kita menghidupkan 4 buah LED secara
berurut dan mematikan LED pada urutan selanjutnya. Seperti LED 0 s/d
3 hidup sedangkan LED 4 s/d 7 mati.
G. Kesimpulan
Semakin kecil angka yang dimasukkan pada delay, maka kecepatan pergantian
LED akan semakin cepat.
Pada praktek ini kita memberikan perulangan( if ,while ) pada program agar
mempermudah kita dalam bekerja tanpa perlu menginputkan nilai yang berkali-
kali
Untuk menghidupkan LED seperti diatas tergantung input yang kita masukkan
pada program yang dibuat pada ISIS,Input yang dimasukkan berupa bilangan
biner dan juga hexa
H. Daftar Pustaka
http://id.wikipedia.org/wiki/ATMega8535
Modul 2 Aplikasi Output Dasar