Selasa, 26 Mei 2015

CodeVisionAVR



CodeVisionAVR 


CodeVisionAVR adalah salah satu Software yang digunakan untuk memprogram AVR. CodeVisionAVR sangat mudah untuk digunakan, tinggal download kedalam IC yang akan diberi program. Kenapa sangat mudah digunakan karena CodeVision AVR ini sendiri sudah memiliki User Interface yang lumayan bagus sehingga memudahkan penggunanya, selain itu sendiri CodeVision AVR juga mempunyai banyak sekali fitur-fitur yang memang dikhususkan untuk pemrograman AVR.
CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman microcontroller keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program generator. 
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. 
Disamping library standar C, CodeVisionAVR C compiler memiliki librari lain untuk:
  • Modul LCD Alpanumerik
  • Delays
  • Protokol semikonduktor Maxim/Dallas
  • Dan lainnya
CodeVisionAVR juga memiliki CodeWizardAVR sebagaki generator program otomatis, yang memungkinkan kita untuk menulis, segala bentuk pengaturan Chip dalam waktu singkat, dan semua kode yang dibutuhkan untuk mengimplementasikan fungsi-fungsi seperti:

Pengaturan akses External Memory
Untuk chip-chip AVR yang memungkinkan koneksi memori eksternal SRAM, dapat juga mengatur ukuran memori dan wait state (tahap tunggu) dari memori ketika memori tersebut diakses.

Identifikasi chip reset source
Adalah suatu layanan dimana kita dapat membuat kode secara otomatis yang dapat mengidentifikasi kondisi yang menyebabkan chip di reset.

Inisialisasi port input/output
Pengaturan port-port yang kan dijadikan gerbang masukan dan keluaran dapat secara otomatis digenerate codenya. Yang kita lakukan hanya memilih port-port yang akan digunakan sebagai input atau output.

Inisialisasi Interupsi external
Pengaturan interupsi eksternal yang nantinya akan digunakan untuk menginterupsi program utama 

Inisialisasi timers/counters
Pengaturan timers yang berfungsi untuk mengatur frekwensi yang nantinya digunakan pada interupsi.

Inisialisasi timer watchdog
Pengaturan timers yang berfungsi untuk mengatur frekwensi yang nantinya digunakan pada interupsi, sehingga interupsi akan dilayani oleh suatu fungsi wdt_timeout_isr .

Inisialisasi UART(USART) dan komunuikasi serial 
Pengaturan komunikasi serial sebagai penerima atau pengirim data.

Inisialisasi komparasi analog
Pengaturan yang berkaitan dengan masukan data yang digunakan dalam aplikasi yang membutuhkan komparasi pada ADC nya.

Inisialisasi ADC
Pengaturan ADC(Analog-Digital Converter) yang berfungsi untuk merubah format analog menjadi format digital untuk diolah lebih lanjut.

Inisialisasi antarmuka SPI
Pengaturan chip yang berkaitan dengan Clock rate, Clock Phase, dan lainnya.

Inisialisasi antarmuka Two Wire BUS
Pengaturan Chip yang berhubungan dengan pola jalur komunikasi antara register yang terdapat pada chip AVR. 

Inisialisasi antarmuka CAN
Pengaturan chip yang lebih kompleks, yang dapat mengatur interupsi, transmisi data, timers, dan lainnya.

Inisialisasi sensor temperatur, thermometer, dan lainnya
Pengaturan yang berhubungan dengan sensor temperatur one wire bus, memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR.

Inisialisasi one wire bus
Pengaturan yang berhubungan dengan sensor temperatur yang memiliki fungsi-fungsi yang ada pada librari CodeVisionAVR. Seperti Maxim/Dallas Semiconductor.

Inisialisasi modul LCD
Pengaturan port-port yang kan digunakan sebagai penghubung dengan LCD alphanumerik.

Contoh cara kerja sebelum melakukan pemograman di AVR, dimana contoh disini adalah contoh pengaturan program agar mikrokontroler dapat berkomunikasi dengan komputer:

a. Memilih project baru dan melakukan penyetingan komponen yang digunakan pada board.
b. Pengaturan IC/Chip, pada chip yang kita harus dilakukan adalah IC apa yang kita gunakan, dalam
hal ini ATMEGA8535l dengan Clock 16 MHz. Clock ini harus di atur dengan ukuran 16 MHz, karena
pada komponen oksilator yang digunakan sebesar 16 MHz. 
c. Pengaturan ADC, pada ADC ini ada beberapa pilihan yang harus dipilih. diantaranya ADC Enable di
check list(v), Use 8 bit di check list(v), high speed di check list (v) dan Volt Ref dipilih ‘AVCC PIN’.
AVCC PIN berguna sebagai referensi tegangan pada ADC untuk nilainya sebesar 5 volt.
d. Pengaturan USART, usart ini yang nantinya menghubungkan rangkaian mikrokontroler dengan PC
(komputer). Langkah-langkah yang dilakukan dengan adanya pilihan Receiver di check list(v) dan
Transmitter di check list(v). Pengaturan receiver berfungsi apakah serial itu sebagai penerima
data, sedangkan transmitter berfungsi serial bisa digunakan sebagai pengiriman data


Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi IDE yang sangat user friendly . 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 microcontroller AVR yang sedang deprogram.
Integrated Development Environtment (IDE) telah diadaptasikan pada chip AVR yaitu In-System Programmer software, memungkinkan programmer untuk mentransfer program ke chip mikrokontroler secara otomatis setelah proses assembly/kompilasi berhasil. In-System Programmer software didesign untuk bekerja dan dapat berjalan dengan perangkat lunak lain seperti AVR Dragon, AVRISP, Atmel STK500, dan lain sebagainya.

Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya adalah kode program hasil kompilasi akan relative lebih besar (dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). 

Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien dalam mendekode serta mengeksekusi instruksi-instruksi yang umum dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut, yaituI ARC).

Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk memprogram sistem microcontroller AVR yang dapat dijumpai .

Dengan beberapa kelebihan yang dimilikinya, saat ini CodeVisionAVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative banyak digunakan dibandingkan compiler-compiler C lainnya. Bahasa C telah dikritisi secara meluas, dan banyak orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yang telah hadir, C tetap tak tersentuh. CodeVisionAVR adalah salah satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler.

seperti ini gambar tampilan setelah codevision AVR dibuka






Tidak ada komentar:

Posting Komentar