Subscribe For Free Updates!

We'll not spam mate! We promise.

Monday 19 January 2015

Pengenalan Software Code Vision AVR (CV AVR)



Selamat berjumpa kembali di blog penulis. Pada postingan kali ini penulis akan melanjutkan dari postingan sebelumnya pada artikel Pengenalan Bahasa C. Untuk kali ini akan dibahas sedikit tentang software yang biasa digunakan untuk membuat dan memprogram chip mikrokontroler seri AVR. Tanpa berbasa-basi lagi mari kita lanjut tentang apa itu software CodeVisionAVR.

                CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler buatan Atmel seri AVR. Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded.

CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR, yang mengizinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan untuk membuat beberapa fungsi-fungsi tertentu. Dengan fasilitas  ini mempermudah para programmer pemula untuk belajar pemrograman mikrokontroler menggunakan CVAVR. Secara garis besar bagian-bagian CVAVR dapat diuraikan seperti gambar berikut ini:


Untuk memulai menulis program didalam software CVAVR terlebih dahulu melakukan langkahlangkah sebagai berikut:

1.      File > New > Pilih Project.



2.      Selanjutnya akan muncul window konfirmasi menggunakan AGP CodeWizardAVR > Yes.



3.      Window CodeWizardAVR digunakan untuk pengaturan PORT dan fasilitas sesuai dengan fungsi yang diinginkan.



4.      Setelah selesai dengan pengaturan pada CodeWizardAVR pilih File > Generate, Save and exit (catatan: pemeberian nama file sebanyak 3x, dengan nama file yang sama, hindari kalimat yang panjang, capital dan spasi).

5.      Selesai pemberian nama file, akan muncul window utama editor program seperti berikut:


 

Itulah sedikit pengetahuan tentang apa itu software CodeVisionAVR. Sekian postingan kali ini semoga bermanfaat bagi pembaca sekalian. Selamat berjumpa kembali pada postingan selanjutnya.

Pengenalan Bahasa C

Struktur Bahasa C pada CVAVR

Pada postingan kali ini akan dibahas mengenai salah satu jenis bahasa pemrograman yaitu Bahasa C. Bahasa C ini sering kali banyak digunakan pada mikrokontroler karena bahasa programnya menyerupai bahasa inggris. Penggunaan mikrokontroler yang diterapkan di berbagai alat rumah tangga, otomotif, sampai dengan kendali, membuat mikrokontroler mulai masuk didunia pendidikan. Banyak varian dan type dari mikrokontroler yang dipelajari dan digunakan di dunia pendidikan. Salah satu varian yang banyak dipelajari dan digunakan adalah produk dari ATMEL dengan type keluarga AVR. Banyak software yang dapat digunakan untuk memprogram mikrokontroler keluarga AVR, dengan bahasa pemrograman masing-masing.

Salah satu bahasa pemrograman yang dikembangkan atau digunakan dunia pendidikan adalah bahasa C dengan struktur dan kemudahan yang dimilikinya. Perkembangan bahasa pemrograman yang dimulai dari bahasa tingkat rendah (bahasa assembly/bahasa mesin) sampai dengan bahasa tingkat tinggi (salah satunya bahasa C). Bagi mikrokontroler bahasa assembly merupakan bahasa yang mudah untuk diterjemahkan bagi prosesornya, sehingga dikatakan sebagai bahasa tingkat rendah. Sedangkan bahasa tinggkat tinggi merupakan bahasa yang sulit diterjemahkan oleh prosesor yang ada di didalam mikrokontroler. Pemilihan bahasa C sebagai bahasa pemrograman untuk mikrokontroler dikarenakan mudah dipahami dan diterjemahkan bagi user atau programmer.

Bahasa C memiliki struktur pemrograman yang khusus, selain itu bahasa C memiliki sifat Case Sensitive. Artinya adalah bahwa penulisan kata/word program sangat sensitif dengan mendeteksi perbedaan kapital tidaknya huruf yang digunakan. Satu huruf yang berbeda pada satu kata yang diulang, menyebabkan software tidak akan bisa meng-compile seluruh program yang dibuat.

Setiap bahasa pemrograman memiliki type data masing-masing. Type data merupakan jangkauan suatu data yang mampu/dapat dikerjakan/diolah oleh mikroprosesor dalam program yang dibuat. Penggunaan type data ini juga harus sesuai kebutuhan dan disesuaikan dengan fungsi setiap data. Pemilihan penggunaan type data dapat mempengaruhi besarnya memory file yang dibuat. Berikut daftar type data yang dapat digunakan dalam pemrograman bahasa C :

 
            Penggunaan type data bersamaan dengan variable data yang akan digunakan. Penulisan type data sesuai struktur dapat dilihat sebagai berikut:

bit data_1;  terdapat variable dengan nama data_1 dengan type data bit int data_2;  terdapat variable dengan nama data_2 dengan type data integer.

Selain tipe data, bahasa C memiliki struktur penulisan akan simbol-simbol operasi aritmatik. Setiap penggunaan simbol-simbol aritmatik memiliki fungsi masing-masing. Berikut tabel simbol -simbol aritmatik yang digunakan dalam bahasa C:

 
Instruksi-instruksi bahasa pemrograman yang ada pada bahasa C tidak semuanya digunakan dalam pemrograman mikrokontroler. Struktur dan urutan penulisan program hampir sama untuk keduanya. Struktur bahasa C memiliki kepala program, dan tubuh program, sedangkan tubuh program bisa terdiri dari induk program dan anak program.

Berikut ini struktur sederhana dari pemrograman bahasa C:

 
Penggunaan struktur penulisan bahasa pemrograman bahasa C dapat terusun dari sebuah tubuh program yang dapat terdiri dari sebuah induk program dan satu atau lebih anak program. Anak program memiliki fungsi untuk mengerjakan satu blok program yang sering digunakan secara berulang-ulang. Anak program akan diakses oleh induk program sesuai dengan kebutuhan akan sub bagian program tersebut. Sedangkan kepala program berfungsi untuk menyertakan file acuan/library guna mengolah (Compile/Build) program yang telah dibuat.

Penulisan struktur bahasa C didalam CVAVR dapat dilihat seperti dibawah ini:

 
Deklarasi sebuah variable dapat digolongkan menjadi dua, yaitu local variable dan global variable. Local variable dipakai dan hanya dapat diakses pada sub program tempat mendeklarasikannya, sedangkan global variable dipakai dan dapat diakses seluruh bagian program. Inisialisasi PORT digunakan untuk memfungsikan PORT yang dituju sebagai masukan/keluaran serta nilai defaultnya. Sedangkan bagian sub rutin adalah blok program yang akan selalu dikerjakan terus-menerus oleh mikroprosesor selama mikrokontroler hidup.

Beberapa Instruksi-instruksi dalam bahasa C yang sering digunakan dapat ditulis sebagai berikut:

 
dan masih banyak instruksi program lainnya (ref: Pemrograman Bahasa C, Abdul Kadir).

Pada postingan selanjutnya akan dibahas mengenai apa itu Software Code Vision AVR(CVAVR) yang sering digunakan untuk mengcompile program yang telah dibuat. Software ini merupakan software pemrograman yang didesain untuk mikrokontroler seri AVR contohnya mikrokontroler buatan Atmel seperti ATMega 8, 16, 5835, dll. Artikel tentang Software Code Vision AVR(CVAVR) dapat anda baca pada postingan Pengenalan Software CodeVision AVR (CVAVR). Sekian postingan kali ini semoga bermanfaat bagi pembaca sekalian. Selamat berjumpa kembali pada postingan selanjutnya.

Sunday 11 January 2015

Pengenalan Mikrokontroler AVR ATMega8535

   Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard’s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer).

   Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri MCS-51. AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computer). Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, Keluarga ATmega, dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan periferal dan fungsi-fungsi tambahan yang dimiliki.

   ATmega8535 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATmega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATmega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah.

Arsitektur ATmega8535

   Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fitur-fitur tersebut antara lain:

Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D


   ADC (Analog to Digital Converter) dengan resolusi 10-bit sebanyak 8 saluran melalui Port A
  1. Tiga buah Timer/Counter dengan kemampuan perbandingan.
  2. CPU yang terdiri atas 32 register.
  3. Watchdog Timer dengan osilator internal.
  4. SRAM sebesar 512 byte.
  5. Memori Flash sebesar 8 kb dengan kemampuan Read While Write.
  6. Unit Interupsi Internal dan Eksternal.
  7. Port antarmuka SPI untuk mendownload program ke flash.
  8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.
  9. Antarmuka komparator analog.
  10. Port USART untuk komunikasi serial.
Konfigurasi Pin ATMega8535

   Mikrokontroler ATMega8535 mempunyai jumlah pin sebanyak 40 buah, dimana 32 pin digunakan untuk keperluan port I/O yang dapat menjadi pin input/output sesuai konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian (port), yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset, serta tegangan referensi untuk ADC.

Berikut ini adalah susunan pin-pin dari ATMega8535:
  • VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya.
  • GND merupakan pin ground.
  • Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC.
  • Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI.
  • Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, Komparator Analog, dan Timer Oscilator.
  • Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Komparator Analog, Interupsi Iksternal dan komunikasi serial USART.
  • Reset merupakan pin yang digunakan untuk mereset mikrokontroler.
  • XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan kristal, biasanya dengan frekuensi 11,0592 MHz).

Berbagai Layanan di Internet

Berbagai Layanan di Internet 

 WWW (World Wide Web) WWW merupakan layanan yang paling populer. Untuk mengakses layanan ini diperlukan aplikasi yang disebut web browser. Contoh web browser adalah Mozilla FireFox, Opera, Netscape Navigator, Internet Explorer dan banyak lagi yang lainnya. Protokol yang digunakan oleh WWW ini adalah HTTP (HyperText Transfer Protocol). Web sendiri adalah sebuah sistem dimana informasi dalam bentuk teks, gambar, video, audio dan sebagainya yang tersimpan dalam sebuah internet (hosting web server) yang dipresentasikan dalam bentuk hypertext. Konsepnya adalah menggunakan URL (Uniform Resource Locator) dengan format : [protokol]:[host].[nama_domain].[grup_domain] • [protokol] adalah protokol atau metode yang digunakan untuk mengakses informasi • [host] adalah nama standar untuk host yang memberikan layanan akses web • [nama_domain] adalah nama yang menunjukkan pemilik situs web, bisa berupa perorangan, perusahaan atau organisasi • [grup_domain] adalah kode geografis atau jenis/bidang organisasi pemilik web itu Contoh URL web adalah, http://www.amazinglight.info

File Transfer File Transfer memungkinkan para pengguna internet untuk melakukan pengiriman pengiriman (upload) atau penyalinan (download) file-file antara komputer lokal dengan komputer lain yang terhubung dalam jaringan internet. Protokol standar yang digunakan untuk keperluan ini disebut FTP (File Transfer Protocol). FTP dapat diakses dengan web browser, tetapi memiliki keterbatasan karena hanya dapat mengakses Anonymous FTP Server. Sedangkan untuk mengakses FTP yang khusus, diperlukan aplikasi atau progran yang bernamaFTP Client. Contohnya WS FTP, Cute FTP, FileZilla, Windows Commander dan sebagainya. Konsepnya sama dengan WWW yaitu menggunakan URL. Bedanya hanya pada protokol yang digunakan saja, jika pada web digunakan http://, pada FTP menggunakan ftp://.

 Telnet/Remote Login Telnet adalah layanan yang memungkinkan seorang pengguna internet untuk melakukan remote login ke suatu komputer jarak jauh. Layanan ini mengacu pada program atau protokol yang menyediakan fungsi login ke sebuah terminal (remote host) dalam jaringan internet. Remote Login ini juga memerlukan aplikasi dan program khusus agar dapat digunakan dan dimanfaatkan.

 Electronic Mail (Email) Email, kalau dalam istilah Indonesia adalah surat elektronik. Yaitu sebuah layanan yang memungkinkan seorang pengguna internet untuk saling berkirim pesan melalui alamat elektronik di internet. Email merupakan layanan yang populer dan terus berkembang. Protokol yang digunakan untuk pengiriman email adalah SMTP (Simple Mail Transport Protocol), sedangkan untuk menerima (men-download) email dapat menggunakan protokol POP (Post Office Protocol) atau IMAP (Inernet Message Access Protocol). Tetapi layanan email yang paling banyak digunakan adalah yang berbasis web atau sering disebut web based email yang dapat diakses melalui halaman web biasa menggunakan web browser. Perbedaan antara POP, IMAP dan Web based mail insya Allah saya posting pada tulisan lainnya.

 Internet Relay Chat (IRC) IRC adalah layanan komunikasi antara pengguna internet yang bersifat interaktif. Penggunaan layanan ini hampir sama seperti penggunaan telepon suara, bahkan sama dengan penggunaan SMS. Dengan IRC pengguna internet dapat “ngobrol” dengan pengguna lainnya dengan cara mengirim dan menerima pesan berupa teks. Layanan ini memerlukan aplikasi khusus seperti mIRC dan sejenisnya. Dengan aplikasi tersebut, pengguna masuk ke salah satu server IRC dan “ngobrol” dengan pengguna lain. 

Audio/Video Streaming Streaming adalah layanan yang langsung dapat mengeksekusi atau menjalankan data tanpa harus menunggu selesainya proses pengiriman data. Contohnya adalah layanan video YouTube atau layanan lainnya yang sejenis. Bahkan pada blog dan situs-situs pribadi juga sudah banyak yang memanfaatkan layanan ini untuk berbagai keperluan. Jadi dengan layanan ini, misalnya, jika ingin menonton cuplikan film, tidak harus men-download dulu baru nonton, tetapi langsung nonton sambil download. Mantap ya…

 Interaksi Elektronik Interaksi elektronik di sini mengacu pada kegiatan-kegiatan interaktif secara online melalui internet. Contohnya adalah kegiatan e-Banking, e-Commerce, e-Business, e-Government, e-Learning dan sebagainya. Kegiatan jual beli melalui internet dan belajar (sekolah) online, transaksi perbankan saat sudah bukan sesuatu yang aneh lagi. Semuanya memanfaatkan sistem elektronis yang interaktif. Ya… itulah beberapa dari sekian banyak macam layanan yang ada di internet. Sementara cukup dulu ya… Kita lanjutkan lagi di posting berikutnya dengan bahasan yang lain…