Sabtu, 10 Desember 2011

Perangkat Lunak dan Bahasa C


2.6.1 Bahasa C (6, 8)
Bahasa C adalah salah satu bahasa pemrograman yang memiliki tingkat High Level Language. Bahasa C lebih mudah dipahami karena bahasa C adalah bahasa pemrograman tingkat menengah yang banyak menggunakan bahasa manusia dalam perintah-perintahnya. Dibandingkan dengan bahasa Assembly yang masih menggunakan kode-kode mesin yang lebih sulit dipahami. Struktur penulisan program C biasanya terdiri dari:

a).                Bagian komentar keterangan program
Komentar digunakan untuk member keterangan pada program agar mudah dibaca dan akan diabaikan olehcompiler, dengan kata lain bagian komentar ini tidak akan dikompilasi dan tidak mempengaruhi program.

b).                Bagian preprocessor
Preprocessor #include biasanya digunakan untuk menyertakan file header (*.h) atau file libraryFile include berguna untuk memberitahu compiler agar membaca file yang di include-kan lebih dahulu agar compiler mengenali definisi-definisi yang digunakan dalam pogram agar tidak dianggap error.
Preprocessor #define digunakan untuk mendefinisikan konstanta atau makro.

c).                Bagian deklarasi variable global
Variabel global dideklarasikan di luar semua fungsi termasuk fungsi utama dan letaknya harus di atas. Sifat variabel global yaitu dapat diakses (dibaca/ditulis) oleh semua pernyataan (statement) dalam program.

d).               Bagian prototype fungsi
Prototype fungsi berguna untuk mendeklarasikan fungsi yang ditulis di bawah fungsi “main”. Jika kita membuat fungsi diatas fungsi main, maka fungsi tersebut tidak perlu dideklarasikan.



e).                Bagian fungsi utama/main
Fungsi utama adalah funsi pertama yang akan dieksekusi dengan urutan dari atas ke bawah dan akan loncat-loncat tergantung pada instruksi lompatan “goto” atau instruksi pemanggilan fungsi atau terjadi interupsi jika interupsi diaktifkan.

f).                 Bagian Subprogram/fungsi
Prototype fungsi yang telah dideklarasikan di atas fungsi “main” maka fungsi lengkapnya ditulis di bawah fungsi “main”. Cara penulisan fungsi dengan membuat prototype kemudian menuliskan fungsi lengkapnya di bawah fungsi “main” akan memudahkan programmer dalam menuliskan program yang besar.

Dalam penulisan program C, instruksi atau perintah hanya terbagi menjadi dua kategori, yaitu:

a).                Kategori deklarasi (declaration)
Deklarasi adalah membuat dan member tahu kepada compiler tentang sesuatu yang digunakan nanti dalam penulisan program agar digunakan semestinya dan tidak dianggap error atau tidak dikenal.

b).                Kategori pernyataan (statement)
Pernyataan adalah membuat instrksi-instruksi program dengan menggunakan keyword seperti instruksi-instruksi operasi aritmatika, logika, operasi bit, atau instruksi percabangan dan looping, atau pembuatan fungsi.

Komponen lain yang terdapat pada bahasa pemrograman C yaitu pengenal (indentifier) dan variabel. Pengenal digunakan untuk memberi nama variabel. Sedangkan variabel adalah tempat untuk menyimpan dan mengakses data yang mewakili memori dalam mikrokontroler. Variabel harus didefinisikan terlebih dahulu dengan tipe data beserta nama variabel sebagai pengenal yang akan digunakan.


Tabel.2.1 Jenis-jenis Tipe Data Variabel dan Kapasitasnya.
Tipe Data
Ukuran (bit)
Minimum
Maksimum
Char
8
-128
127
Unsigned char
8
0
255
Signed char
8
-128
127
Int
16
-32768
32767
Unsigned int
16
0
65535
Signed int
16
-32768
32767
Long int
32
-2147483648
2147483647
Unsigned long int
32
0
4294967295
Signed long int
32
-214748368
214748647
Float
32
±1.175e-38
±3.402e38

Beberapa pengendali aliran program yang dapat digunakan sebagai algoritma pada pemrograman bahasa C yaitu:

a).             Pengendali bersyarat
§    If (…) {…}
Digunakan untuk mengecek satu kondisi untuk satu blok jawaban.

§    If (…) {…} else {…}
Digunakan untuk mengecek satu kondisi untuk dua blok jawaban.

§    If (…) {…} else if (…) {…} else {…};
Digunakan untuk mengecek beberapa kondisi yang berkaitan.

§    While (…) {…}
Digunakan untuk perulangan/looping/iterasi jika kondisi yang diuji bernilai benar.

§    For (… ; … ; …) {…}
Digunakan untuk perulangan/looping/iterasi dengan kondisi dan syarat yang ditentukan.



§    Switch
Digunakan untuk menguji satu variabel dengan beberapa jawaban konstanta.

b).             Pengendali tanpa syarat
§    Goto
Digunakan untuk melompat ke baris program tertentu (dalam satu fungsi) yang telah diberi label.

§    Continue
Digunakan untuk melewati satu pernyataan atau blok jika dalam blok tersebut memakai pernyataan continue.

§    Break
Digunakan untuk keluar dari blok.

§    Super loop
Digunakan untuk memutar atau mengulang aliran program tanpa henti dari awal blok hingga akhir blok. Dapat menggunakan perintah while (1){…} atau for ( ; ; ) {…}.

2.6.2    CodeVisionAVR (6, 8)
CodeVisionAVR adalah salah satu alat bantu pemrograman (programming tool) yang bekerja dalam lingkungan pengembangan perangkat lunak yang terintegrasi (Integrated Development Environment, IDE). Seperti aplikasi IDE lainnya, CodeVision AVR dilengkapi dengan source code editor, compiler, linker, dan dapat memanggil Atmel AVR Studio untuk debugger-nya.  CodeVision AVR merupakan software C-Cross compiler, dimana program hanya dapat ditulis dalam bahasa C. CodeVision memiliki IDE (Integrated Development Environment) yang lengkap, dimana penulisan program, compilelink, danpembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan pada CodeVision, selain itu ada fasilitas mikrokontroler yang sudah diprogram. Tampilan awalCodeVision AVR ditunjukkan pada Gambar 2.27.


Gambar 2.27 Tampilan Awal CodeVisionAVR
Untuk memulai membuat project baru, pilih File New pilih File Type→Project, seperti pada Gambar 2.28.


Gambar 2.28 Membuat Project Baru.
Muncul tampilan konfirmasi seperti pada gambar 2.29 dan menanyakan apakah akan menggunakan CodeWizarduntuk membuat project baru, pilih Yes.

Gambar 2.29 Membuat Project Baru Menggunakan CodeWizardAVR.
Kemudian akan tampil konfigurasi USART, Analog Comparator, ADC, SPI, I2C, 1 Wire, 2 Wire (I2C), LCD, Bit-Banged,Project Information, Chip, Port, External IRQ, TimerCodeWizardAVR ini membantu untuk membuat konfigurasi program  yang akan dibuat. Misalnya untuk konfigurasi chip yang digunakan, pada pilihan tab chip seperti yang ditunjukkan pada gambar 2.30, terdapat kolom untuk memilih tipe mikrokontroler yang digunakan, pada penelitan ini digunakan tipe ATmega16. Kemudian terdapat kolom untuk menentukan berapa besar frekuensi clock yang diinginkan.
Gambar 2.30 Tampilan CodeWizardAVR untuk Tab Chip.
Pada tab ports terdapat kolom konfigurasi port mikrokontroler. Kolom data direction untuk mendefinisikan arah dari port A sampai port D apakah akan digunakan sebagai input atau sebagai output. Kolom pullup/output valuemendefinisikan kondisi internal pullup dan nilai kondisi logika output. Jika port digunakan sebagai input, maka kondisi yang diatur yaitu internal pullup diaktifkan atau tidak. Jika port digunakan sebagai output, maka kondisi yang diatur yaitu output berlogika 1 atau 0.  Gambar 2.31 menunjukkan konfigurasi port B.

Gambar 2.31 Tampilan CodeWizardAVR untuk Tab Ports.
Tab ADC digunakan untuk konfigurasi Analog to Digital Converter yang terdapat pada mikrokontroler. Opsi ADCEnable digunakan untuk memilih apakah ADC akan diaktifkan atau tidak. Opsi Use 8 bits untuk menentukan resolusi data hasil keluaran ADC, jika opsi ini dipilih maka output ADC memiliki resolusi 8 bit, jika tidak maka output ADC memiliki resolusi 10 bit. Opsi Interrupt dipilih jika ingin mengaktifkan fitur interupsi dari ADC. Kolom Volt.Ref untuk menentukan sumber tegangan referensi ADC. Kolom clock untuk menentukan frekuensi konversi ADC. Gambar 2.32 menunjukkan tab konfigurasi ADC.

Gambar 2.32 Tampilan CodeWizardAVR untuk Tab ADC.
Jika konfigurasi sudah dilakukan, maka pilih File|Generate Save & Exit, kemudian beri nama file source (*.c), fileproject(*.prj) dan file project CodeWizard(*.cwp). Kode-kode program yang dihasilkan codewizardAVR sebagai berikut:

#include
//deklarasi variable global ditambahkan disini
......
Void main(void)
{
//deklarasi variable local dapat ditambahkan disini
......
//Kode-kode yang dihasilkan oleh CodeWizardAVR
......
While(1)
{
//place your code here
//program utama dapat ditambahkan di sini
......
};
}

Jika program yang akan diisikan ke mikrokontroler telah selesai dibuat, maka program harus dikompilasi terlebih dahulu, dengan cara pilih Project | Compile, maka akan muncul seperti pada Gambar 2.33.

Gambar 2.33 Tampilan Hasil Compile Program.
Jika ada error, klik keterangan error atau warning yang terdapat pada bagian messages, kemudian letak kesalahan akan ditampilkan, perbaiki kesalahan tersebut dan compile kembali. Jika sudah tidak ada error, pilihProject|Build, maka akan muncul tampilan seperti pada Gambar 2.34



Gambar 2.34 Tampilan Hasil Build.
Untuk memasukkan program yang sudah dibuat ke mikrokontroler AVR ATMega16, harus dilakukan pengaturanjenis programmerProgrammer yang digunakan disini adalah tipe Atmel AVRISP MkII (USB) seperti pada Gambar 2.35.
Gambar 2.35 Pemilihan Jenis Programmer
Setelah memilih programmer, selanjutnya adalah memasukkan program ke mikrokontroler ATMega16, pilih Tools | Chips Programmer, maka akan muncul tampilan seperti pada Gambar 2.36. Kemudian pilih Program All.

Gambar 2.36 Tampilan Chip Programmer AVRISP MkII USB

Tidak ada komentar:

Posting Komentar