radioku Fm

Rabu, 29 September 2010

Konstanta Variabel memory

c. Konstanta dan Variabel
Konstanta dan variabel merupakan
sebuah tempat untuk menyimpan
data yang berada didalam memori.
Konstanta berisi data yang nilainya
tetap dan tidak dapat diubah selama
program dijalankan, sedangkan
variabel berisi data yang bisa
berubah nilainya pada saat program
dijalankan. Untuk membuat sebuah
konstanta atau variabel maka kita
harus mendeklarasikannya terlebih
dahulu yaitu dengan sintaks sebagai
berikut:
Deklarasi Konstanta:
Const [tipe_data] [nama_kostanta] =
[nilai]
Deklarasi Variabel:
[tipe_data] [nama_variabel] = [nilai_
awal]
Pada deklarasi variabel, [nilai_awal]
bersifat opsional sehingga boleh diisi
boleh tidak. Nilai_awal merupakan
nilai default variabel tersebut dan
jika tidak diisi maka nilai defaultnya
adalah 0 (nol). Beberapa variabel
dengan tipe yang sama dapat
dideklarasikan dalam satu baris
seperti contoh berikut:
Char data_a, data_b, data_c;
d. Komentar
Komentar adalah tulisan-tulisan
yang tidak dianggap sebagai bagian
dari tubuh program. Komentar
digunakan untuk memberikan
penjelasan, informasi ataupun
keterangan-keterangan yang dapat
membantu mempermudah dalam
memahami kode program baik bagi
si pembuat program maupun bagi
orang lain yang membacanya.
Komentar yang hanya satu baris
ditulis dengan diawali ' / /'
sedangkan komentar yang lebih dari
satu baris diawali dengan '/*' dan
diakhiri dengan '*/'.
Selain digunakan untuk memberikan
keterangan program, komentar juga
dapat dipakai untuk membantu
dalam pengujian program yaitu
dengan menon-aktifkan dan
mengaktifkan kembali bagian
program tertentu selama proses
pengujian. Dengan cara seperti ini
tentu kita akan dapat lebih
menghemat waktu bila
dibandingkan dengan menulis dan
menghapus bagian program
tertentu berulang-ulang.
e. Preprosesor
Preprosesor digunakan untuk
mendefinisikan prosesor yang
digunakan, dalam hal ini adalah
untuk mendefinisikan jenis
mikrokontroler yang digunakan.
Dengan pengarah preprosesor ini
maka pendeklarasian register-
register dan penamaannya
dilakukan pada file lain yang
disisipkan dalam program utama
dengan sintaks sebagai berikut:
# include
Contoh:
# include
f. Pernyataan
Pernyataan adalah satu buah
intruksi lengkap yang berdiri sendiri.
Berikut adalah contoh sebuah
pernyatan:
PORTC = 0x0F;
Pernyataan diatas merupakan
sebuah intruksi untuk mengeluarkan
data 0x0F ke Port C.
g. Blok Pernyataan
Kumpulan beberapa pernyataan
yang berada dalam satu bagian
program disebut dengan blok
pernyataan. Satu blok pernyataan
ditandai dengan tanda '{' dan
diakhiri dengan tanda ' } '.
Contoh sebuah blok pernyataan:
{
PORTA=0X00; // pernyataan_1
PORTB=0X0f; // pernyataan_2
PORTC=0xFF; // pernyataan_3
}
h. Operator Pembanding
Operator pembanding adalah
operator yang digunakan untuk
membandingkan 2 buah data. Hasil
operator pembanding bukan berupa
nilai data tetapi hanya bernilai benar
('1') atau salah ('0') saja. Berikut
adalah tabel operator pembanding,
dapat dilihat pada tabel 2 operator
pembanding.
Tabel 2. Operator Pembanding
0perator Contoh Arti
= = x = = y Bernilai benar jika kedua
data sama dan bernilai salah jika
sebaliknya.
!= x!= y Bernilai benar jika kedua
data tidak sama dan bernilai salah
jika sebaliknya.
> x > y Bernilai benar jika data x lebih
besar dari y dan bernilai salah jika
sebaliknya.
< x < y Bernilai benar jika data x lebih kecil dari y dan bernilai salah jika sebaliknya. >= x > = y Bernilai benar jika data x
lebih besar atau sama dengan y dan
bernilai salah jika sebaliknya.
<= x < = y Bernilai benar jika data x lebih kecil sama dengan y dan bernilai salah jika sebaliknya. i. Operator Penugasan Operator penugasan digunakan untuk memberikan nilai atau memanipulasi data sebuah variabel. Berikut adalah operator yang termasuk dalam kategori operator penugasan, dapat dilihat pada tabel 3 operator penugasan. Tabel 3. operator penugasan Operator Keterangan = Operator untuk memberi nilai variabel. + = Operator untuk menambahkan nilai variabel - = Operator untuk mengurangi nilai variabel. * = Operator untuk mengalikan nilai variabel. / = Operator untukmembagi nilai variabel. % = Operator untuk memperoleh sisa pembagian. Selain operator penugasan diatas juga ada operator penugasan yang berkaitan dengan operasi bit dapat dilihat pada tabel 4. Tabel 4. contoh operator penugasan dengan operasi bit Operator Contoh Arti & = x & = 1 Variabel x di-AND-kan dengan 1 | = x | = 1 Variabel x di-OR-kan dengan 1 ~ = x ~ = 1 X = ~ (1) → x = 0xFE ^ = x ^ = 1 Variabel x di-XOR-kan dengan 1 << = x << = 1 Variabel x digeser kiri 1 kali >> = x >> = 1 Variabel x digeser
kanan 1 kali
j. Operator Penambahan dan
Pengurangan
Operator penambahan dan
pengurangan adalah operator yang
digunakan untuk menaikkan atau
menurunkan nilai sebuah variabel
dengan selisih, dapat dilihat pada
tabel 5 operator penambahan dan
pengurangan
Tabel 5. operator penambahan dan
pengurangan
Operator Keterangan
++ Operator untuk penambahan nilai
variabel dengan 1
-- Operator untuk pengurangan nilai
variabel dengan 1
k. Fungsi Pustaka
Bahasa C memiliki sejumlah fungsi
pustaka yang berada pada file-file
tertentu dan sengaja disediakan
untuk menangani berbagai hal
dengan cara memanggil fungsi-
fungsi yang telah dideklarasikan
didalam file tersebut. Dalam banyak
hal, pustaka-pustaka yang tersedia
tidak berbentuk kode sumber
melainkan dalam bentuk yang telah
dikompilasi. Pada saat proses linking,
ditulis oleh pemogram. Sintakas
untuk menggunakan fungsi pustaka
ini adalah sebagai berikut:
# include
Contoh:
# include
l. Pernyataan Nested IF
Pernyataan if bersarang (nested if)
adalah pernyataan if maupun if..else
dimana didalam blok pernyataan
yang akan dikerjakan terdapat
pernyataan if atau if..else lagi.
Contoh bentuk pernyataan if
bersarang 2-tingkat adalah sebagai
berikut:
if (kondisi_1)
{
if (kondisi_2)
{
// blok pernyataan_1 yang akan
dikerjakan
// jika kondisi_1 dan kondisi_2
terpenuhi
}
}
else
{
if (kondisi_3)
{
// blok pernyataan_2 yang akan
dikerjakan
// jika kondisi_1 dan kondisi_3
terpenuhi
}
}
m. Pernyataan While
Pernyataan while digunakan untuk
pengulangan sebuah pernyataan
atau blok pernyataan secara terus-
menerus selama kondisi tertentu
masih terpenuhi. Bentuk pernyataan
while adalah sebagai berikut.
while (kondisi)
{
// sebuah pernyataan atau blok
pernyataan
}
Jika pernyataan yang akan diulang
hanya berupa sebuah pernyataan
saja maka tanda { dan }bisa
dihilangkan.
n. Memanggil Assembler
Meskipun kita menggunakan bahasa
pemograman C, kita tetap bisa
menggunakan sintaks pemograman
assembler. Caranya adalah sebagai
berikut:
# asm
; intruksi-intruksi assembler
# endasm
2.7 PWM (Pulse Width Modulation)
Pulse Width Modulation (PWM)
adalah sebuah cara memanipulasi
lebar dari pulsa dalam perioda yang
konstan untuk mendapatkan
tegangan rata-rata berbeda.
Gambar 12. Sinyal PWM dengan
berbagai duty cycle
Pada gambar 12 menunjukkan tiga
sinyal PWM yang berbeda. Sinyal
yang paling atas menunjukkan sinyal
PWM dengan duty cycle 10%. Artinya
sinyal on selama 20% dari perioda
sinyal dan off selama 80 % sisanya.
Gambar yang lainnya menunjukkan
sinyal dengan duty cycle 50% dan
90%. Ketiga sinyal PWM tersebut
akan menghasilkan sinyal analog
yang berbeda. Sebagai contoh jika
supply tegangan sebesar 9V dan
duty cycle 20%, maka menghasilkan
1,8V.
Pada gambar 13 dapat dilihat
gambar pulsa PWM.
Gambar 13. Pulsa PWM
Keterangan gambar:
V0 : Tegangan Output (Volt)
VS : Tegangan Pulsa PWM (Volt)
t1 : Perioda pulsa high (Secon)
T : Periode pulsa (Secon)
Untuk membangkitkan sinyal PWM,
digunakan komparator untuk
membandingkan dua buah masukan
yaitu generator sinyal dan sinyal
referensi. Hasil keluaran dari
komparator adalah sinyal PWM yang
berupa pulsa-pulsa persegi yang
berulang-ulang. Durasi atau lebar
pulsa dapat dimodulasi dengan cara
mengubah sinyal referensi. Pada
gambar 13 (a). Komporator sinyal
PWM, (b). Referensi dan Sinyal PWm
(a)
(b)
Gambar 14. (a). Komparator sinyal
PWM
(b). sinyal Referensi dan sinyal PWM
2.8 LCD
LCD (Liquid Crystal Display) ialah
modul penampil yang banyak
digunakan karena tampilannya
menarik. LCD yang paling banyak
digunakan saat ini ialah LCD M1632
refurbish karena harganya cukup
murah. LCD M1632 merupakan modul
LCD dengan tampilan 2x16 (2 baris x
16 kolom) dengan konsumsi daya
rendah. Modul tersebut dilengkapi
dengan mikrokontroller yang
didesain khusus untuk
mengendalikan LCD. Chip HD44780
yang berfungsi sebagai pengendali
LCD memiliki CGROM (Character
Genarator Read Only Memory),
CGRAM (Character Generator Random
Access Memory), dan DDRAM (Display
Data Random Access Memory) . Pada
gambar 14 dapat dilihat konfigurasi
LCD
Gambar 15. Konfigurasi Pin LCD 2x16
2.9 Perangkat Lunak Pemrograman
CodeVisionAVR pada dasarnya
merupakan perangkat lunak
pemrograman mikrokontroler
keluarga AVR berbasis bahasa C. Ada
tiga komponen penting yang telah
diintegrasikan dalam perangkat
lunak ini: Compiler C, IDE dan
Program generator.
Berdasarkan spesifikasi yang
dikeluarkan oleh pengusaha
pengembangnya, Compiler C yang
digunakan hampir
mengimplementasikan semua
komponen standar yang ada pada
bahasa C standar ANSI (seperti
struktur program, jenis tipe data,
jenis operator, dan library fungsi
standar-berikut penamaannya).
Tetapi walaupun demikian,
dibandingkan bahasa C untuk
aplikasi komputer, compiler C untuk
mikrokontroler ini memiliki sedikit
perbedaan yang disesuaikan dengan
arsitektur AVR tempat program C
tersebut ditanamkan (embedded).
Khusus untuk library fungsi,
disamping library standar (seperti
fungsi-fungsi matematik, manipulasi
String, pengaksesan memori dan
sebagainya), CodeVisionAVR juga
menyediakan fungsi-fungsi
tambahan yang sangat bermanfaat
dalam pemrograman antarmuka AVR
dengan perangkat luar yang umum
digunakan dalam aplikasi kontrol.
Beberapa fungsi library yang
penting diantaranya adalah fungsi-
fungsi untuk pengaksesan LCD,
komunikasi I2C, IC RTC (Real time
Clock), sensor suhu LM75, SPI (Serial
Peripheral Interface) dan lain
sebagainya.
Untuk memudahkan pengembangan
program aplikasi, CodeVisionAVR
juga dilengkapi IDE yang sangat user
friendly (lihat gambar 15). Selain
menu-menu pilihan yang umum
dijumpai pada setiap perangkat
lunak berbasis Windows,
CodeVisionAVR ini telah
mengintegrasikan perangkat lunak
downloader (in system programmer)
yang dapat digunakan untuk
mentransfer kode mesin hasil
kompilasi kedalam sistem memori
mikrokontroller AVR yang sedang
diprogram.
Selain itu, CodeVisionAVR juga
menyediakan sebuah tool yang
dinamakan dengan Code Generator
atau CodeWizardAVR (lihat gambar
16). Secara praktis, tool ini sangat
bermanfaat membentuk sebuah
kerangka program (template), dan
juga memberi kemudahan bagi
programmer dalam
penginisialisasian register-register
yang terdapat pada mikrokontroler
AVR yang sedang diprogram.
Dinamakan Code Generator, karena
perangkat lunak CodeVision ini akan
membangkitkan kode-kode program
secara otomatis setelah fase
inisialisasi pada jendela
CodeWizardAVR selesai dilakukan..

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international voip calls