PENGERTIAN CODEVISIONAVR

Pengertian CodeVisionAVR 
CodeVisionAVR dalam dasarnya adalah software pemrograman microcontroller keluarga AVR berbasis bahasa C. Ada 3 komponen krusial yg sudah diintegrasikan dalam aplikasi ini: Compiler C, IDE dan Program generator. 

Berdasarkan spesifikasi yang dimuntahkan sang perusahaan pengembangnya, Compiler C yg dipakai hampir mengimplementasikan seluruh komponen standar yang terdapat dalam bahasa C baku ANSI (seperti struktur acara, jenis tipe data, jenis operator, serta library fungsi baku-berikut penamaannya). Namun andaipun demikian, dibandingkan bahasa C buat pelaksanaan personal komputer , compiler C buat microcontroller ini mempunyai sedikit disparitas yg disesuaikan menggunakan arsitektur AVR loka acara C tersebut ditanamkan (embedded). 

Khusus buat library fungsi, disamping library baku (misalnya fungsi-fungsi matematik, manipulasi String, pengaksesan memori dan sebagainya), CodeVisionAVR jua menyediakan fungsi-fungsi tambahan yg sangat berguna pada pemrograman antarmuka AVR dengan perangkat luar yg generik digunakan pada aplikasi kontrol. Beberapa fungsi library yang krusial antara lain adalah fungsi-fungsi buat pengaksesan LCD, komunikasi I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral Interface) dan lain sebagainya. 

Untuk memudahkan pengembangan acara aplikasi, CodeVisionAVR pula dilengkapi IDE yang sangat user friendly (lihat gambar 1.1). Selain pilihan menu-pilihan menu pilihan yg generik dijumpai dalam setiap perangkat lunak berbasis Windows, CodeVisionAVR ini sudah mengintegrasikan aplikasi downloader (in system programmer) yang bisa digunakan buat mentransfer kode mesin hasil kompilasi kedalam sistem memori microcontroller AVR yang sedang deprogram.

CodeVisionAVR 1.dua.4.9 merupakan suatu kompiler berbasis bahasa C, yg terintegrasi untuk memprogram dan sekaligus compiler aplikasi AVR (Alf and Vegard’s Risc processor) terhadap mikrokontroler menggunakan sistem berbasis window. CodeVisionAVR ini dapat mengimplematasikan hampir seluruh interuksi bahasa C yg sesuai menggunakan arsitektur AVR, bahkan masih ada beberapa keunggulan tambahan buat memenuhi keunggulan spesifikasi dari CodeVisionAVR yaitu hasil kompilasi studio debugger berdasarkan ATMEL. 

Integrated Development Environtment (IDE) telah diadaptasikan pada chip AVR yaitu In-System Programmer software, memungkinkan programmer buat mentransfer acara ke chip mikrokontroler secara otomatis sesudah proses assembly/kompilasi berhasil. In-System Programmer aplikasi didesign buat bekerja serta bisa berjalan dengan aplikasi lain misalnya AVR Dragon, AVRISP, Atmel STK500, serta lain sebagainya.

Disamping library baku C, CodeVisionAVR C compiler mempunyai librari lain buat:
  • Modul LCD Alpanumerik
  • Delays
  • Protokol semikonduktor Maxim/Dallas
  • Dan lainnya
CodeVisionAVR juga mempunyai CodeWizardAVR sebagaki generator program otomatis, yg memungkinkan kita buat menulis, segala bentuk pengaturan Chip dalam saat singkat, serta semua kode yg diperlukan untuk mengimplementasikan fungsi-fungsi misalnya:

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

Identifikasi chip reset source
Adalah suatu layanan dimana kita bisa menciptakan kode secara otomatis yg dapat mengidentifikasi kondisi yang mengakibatkan chip di reset.

Inisialisasi port input/output
Pengaturan port-port yang kan dijadikan gerbang masukan serta keluaran bisa secara otomatis digenerate codenya. Yang kita lakukan hanya memilih port-port yang akan digunakan menjadi input atau hasil.

Inisialisasi Interupsi external
Pengaturan interupsi eksternal yg nantinya akan digunakan buat menginterupsi acara primer 

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

Inisialisasi timer watchdog
Pengaturan timers yang berfungsi buat mengatur frekwensi yg nantinya dipakai dalam interupsi, sebagai akibatnya interupsi akan dilayani oleh suatu fungsi wdt_timeout_isr .

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

Inisialisasi komparasi analog
Pengaturan yg berkaitan dengan masukan data yg dipakai pada aplikasi yang membutuhkan komparasi pada ADC nya.

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

Inisialisasi antarmuka SPI
Pengaturan chip yg berkaitan dengan Clock rate, Clock Phase, serta lainnya.

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

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

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

Inisialisasi one wire bus
Pengaturan yg herbi sensor temperatur yang mempunyai fungsi-fungsi yang terdapat pada librari CodeVisionAVR. Seperti Maxim/Dallas Semiconductor.

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

Contoh cara kerja sebelum melakukan pemograman pada AVR, dimana model disini merupakan contoh pengaturan acara agar mikrokontroler dapat berkomunikasi dengan komputer:
a. Memilih project baru dan melakukan penyetingan komponen yang digunakan dalam board.
b. Pengaturan IC/Chip, pada chip yg kita wajib dilakukan adalah IC apa yang kita gunakan, dalam hal ini ATMEGA8535l dengan Clock 16 MHz. Clock ini wajib pada atur dengan ukuran 16 MHz, karena pada komponen oksilator yang dipakai sebesar 16 MHz. 
c. Pengaturan ADC, pada ADC ini ada beberapa pilihan yg harus dipilih. Antara lain ADC Enable pada check list(v), Use 8 bit di check list(v), high speed pada check list (v) dan Volt Ref dipilih ‘AVCC PIN’. AVCC PIN bermanfaat sebagai referensi tegangan pada ADC buat nilainya sebanyak lima volt.
d. Pengaturan USART, usart ini yang nantinya menghubungkan rangkaian mikrokontroler menggunakan PC (komputer). Langkah-langkah yg dilakukan menggunakan adanya pilihan Receiver di check list(v) serta Transmitter pada check list(v). Pengaturan receiver berfungsi apakah serial itu menjadi penerima data, sedangkan transmitter berfungsi serial mampu dipakai sebagai pengiriman data.

Untuk lebih jelas tampilan pengaturan yang disediakan oleh AVR dapat ditinjau pada gambar dibawah ini :

Gambar Form Pegaturan CodeVisionAVR

Selain bentuk konfigurasi hadware yang nantinya secara otomatis akan menciptakan sebuah instruksi layaknya perintah acara ke IC/Chip, adapula perintah acara yang kita ketik sendiri. 

Selain itu, CodeVisionAVR pula menyediakan sebuah tool yg dinamakan dengan Code Generator atau CodeWizardAVR (lihat gambar dua.1). Secara simpel, tool ini sangat bermanfaat membentuk sebuah kerangka program (template), dan pula memberi kemudahan bagi programmer dalam peng-inisialisasian register-register yg masih ada pada microcontroller AVR yg sedang diprogram. Dinamakan Code Generator, lantaran aplikasi CodeVision ini akan membangkitkan kode-kode program secara otomatis sesudah fase inisialisasi pada jendela CodeWizardAVR terselesaikan dilakukan. Secara teknis, penggunaan tool ini pada dasarnya hampir sama menggunakan application wizard pada bahasa-bahasa pemrograman Visual buat komputer (seperti Visual C, Borland Delphi, dan sebagainya).

Disamping versi yg komersil, Perusahaan Pavel Haiduc pula mengeluarkan CodeVisionAVR versi Demo yang dapat didownload dari internet secara perdeo (lihat alamat URL: //www.hpinfotech.ro) Dalam versi ini, memori flash yg bisa diprogram dibatasi aporisma 2K, selain itu tidak seluruh fungsi library yg tersedia dapat dipanggil secara bebas.

Seperti halnya belajar pemrograman komputer, agar mendapatkan pemahaman yg bertenaga dalam pemrograman microcontroller AVR, anda sebaiknya mencoba eksklusif menciptakan aplikasi program pada microcontroller tadi. Untuk tujuan latihan, perangkat lunak CodevisionAVR versi demo dalam dasarnya adalah wahana yg cocok serta sudah relatif memenuhi kebutuhan minimal anda. Gambar 1.4. Berikut memperlihatkan diagram blok yg mengilustrasikan alur pemrograman microcontroller AVR menggunakan CodevisionAVR yg dapat anda lakukan :

Gambar  Alur pemrograman microcontroller AVR menggunakan menggunakan CodevisionAVR


Seperti terlihat pada gambar dua.2, CodevisionAVR pada dasarnya telah mengintegrasikan komponen-komponen krusial pada pemrograman microcontroller AVR: Editor,Compiler C, assembler serta ISP (In System Programmer). Khusus menggunakan ISP, ada beberapa jenis perangkat keras programmer dongle (berikut papan pengembangnya) yang telah didukung oleh aplikasi CodevisionAVR ini, salah satu antara lain merupakan Kanda System STK 200/300 produk Perusahaan Kanda yang terhubung dalam saluran antarmuka port Paralel Komputer. 

Jika anda berencana menciptakan dongle yg kompatible menggunakan produk Kanda, rangkaiannya bisa ditinjau pada situs:http:\www.grandtonics.com. Atau apabila mau membeli sistem yg siap pakai (berupa dongle beserta papan pengembangnya), keliru satu produk pada negeri menggunakan harga yang relative murah adalah DT AVR nano/micro System dialamat URL:http//www.innovative_electronic.com., Sistem ini kompatibel dengan kanda System STK 200/300. Untuk tujuan-tujuan percobaan, produk innovative_electronic ini telah sangat memadai, selain gampang dihubungkan dengan modul-modul perangkat input/hasil, misalnya modul LCD, keypad, array LED, penggerak motor stepper, dan sebagainya, sistem ini jua sudah dilengkapi konverter TTL ke RS232 yg berguna untuk komunikasi microcontroller AVR menggunakan komputer. 

Berkaitan menggunakan perangkat lunak downloader, pada dasarnya anda bisa menggunakan perangkat lunak lain (pada luar CodeVisionAVR) buat keperluan transfer kode mesin kedalam sistem memori microcontroller AVR. Salah satunya merupakan ISP_AVR yang dibentuk oleh Holger Buss dan Ingo Busker berdasarkan Jerman. Perangkat lunak bersama rangkaian antarmukanya dapat di-download secara perdeo pada alamat URL: //www.mikrocontroller.com

MIKROKONTROLER AVR DAN BAHASA C
Tak bisa disangkal, dewasa ini penggunaan bahasa pemrograman aras tinggi (seperti C, Basic, Pascal dan sebagainya) semakin populer dan poly dipakai buat memprogram sistem microcontroller. Berdasarkan sifatnya yg sangat fleksibel pada hal keleluasaan pemrogram untuk mengakses perangkat keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya. 

Dikembangkan pertama kali sang Dennis Ritchie serta Ken Thomson dalam tahun 1972, Bahasa C adalah galat satu bahasa pemrograman yg paling populer buat pengembangan program-acara aplikasi yg berjalan pada sistem microprocessor (komputer). Lantaran kepopulerannya, vendor-vendor software lalu menyebarkan compiler C sebagai akibatnya menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C serta lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C (ANSI: American National Standards Institute) sebagai standar bakunya. Perbedaan antara compiler-compiler tersebut umumnya hanya terletak dalam pengembangan fungsi-fungsi library serta fasilitas IDE (Integrated Development Environment)–nya saja. 

Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C merupakan bahasa pemrograman yg sangat fleksibel serta tidak terlalu terikat menggunakan aneka macam anggaran yang sifatnya kaku. Satu-satunya hal yg membatasi penggunaan bahasa C dalam sebuah pelaksanaan adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, pada program C kita bisa saja secara bebas menjumlahkan karakter huruf (misal ‘A’) dengan sebuah bilangan bundar (misal ‘2’), dimana hal yang sama nir mungkin dapat dilakukan dengan memakai bahasa aras tinggi lainnya. Lantaran sifatnya ini, sering bahasa C dikatagorikan menjadi bahasa aras menengah (mid level language).

Dalam kaitannya menggunakan pemrograman microcontroller, Tak pelak lagi bahasa C ketika ini mulai menggeser penggunaan bahasa aras rendah assembler. Penggunaan bahasa C akan sangat efisien terutama buat program microcontroller yg ukuran relatif akbar. Dibandingkan dengan bahasa assembler, penggunaan bahasa C pada pemrograman memiliki beberapa kelebihan berikut: Mempercepat ketika pengembangan, bersifat modular dan terstruktur, sedangkan kelemahannya merupakan kode acara hasil kompilasi akan relative lebih akbar (dan menjadi konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi). 

Khusus pada microcontroller AVR, buat mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sebagai akibatnya arsitektur AVR ini efisien dalam mendekode dan mengeksekusi instruksi-instruksi yang generik dibangkitkan oleh compiler C (Dalam kenyataannya, pengembangan arsitektur AVR ini tidak dilakukan sendiri sang perusahaan Atmel tetapi terdapat kolaborasi dengan keliru satu vendor pemasok compiler C buat microcontroller tersebut, yaituI ARC).

Seperti halnya compiler C buat sistem microprocessor, pada pasaran terdapat beberapa varian compiler C buat memprogram sistem microcontroller AVR yg bisa dijumpai (lihat tabel dua.dua). 

Dengan beberapa kelebihan yang dimilikinya, waktu ini CodeVisionAVR produk Perusahaan Pavel Haiduc adalah compiler C yg relative banyak digunakan dibandingkan compiler-compiler C lainnya. 

Bahasa C sudah dikritisi secara meluas, serta poly orang dengan cepat menemukan masalahnya. Tapi sebagai bahasa yang sudah hadir, C tetap tidak tersentuh. CodeVisionAVR adalah galat satu yg memanfaatkan keunggulan C pada hal pemrograman mikrokontroler. Salah satu ungkapan menyatakan bahwa “jika engkau menciptakan software yang akan tetap layak suatu hari nanti, jangan belajar bahasa yg popular waktu ini, pelajarilah C”.

C tidak membatasi pandangan orang tentang sebuah bahasa pemrograman. C nir object oriented, namun kita bisa menerapkan konsep objek oriented padanya. Bukan juga bahasa fungsional, tetapi kita bisa bisa menerapkan pemrograman fungsional menggunakannya. Kebanyakan interpreter LISP dan skema interpreters-interpreters/compiler-kompiler ditulis dengan menggunakan C. Kita dapat memproses list memakai C, meski tak semudah memakai LISP. C jua memiliki fitur-fitur tambahan seperti rekursi, mekanisme menjadi tipe data kelas pertama, serta poly lagi. 

Banyak orang yg merasakan C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C adalah bahasa yg sederhana. Tapi karena kesederhanaan ini dipercaya kurang memadai sehingga membuat C diubahsuaikan sebagai perkenalan pertama ke termin bahasa tingkat tinggi yang kompleks yg memungkinkan kita mengontrol dengan baik apa yang kita program tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun hingga kita memerintahkan buat melakukan sesuatu. Bahasa yg terdapat adalah transparan, bahkan apabila beberapa fitur berdasarkan JAVA seperti garbage collection diikutsertakan pada implementasi C yang akan dipakai. Sebagai bahasa pemrograman, C tetap terdapat. Ini adalah inti menurut development dilingkungan system operasi UNIX. Dan jua inti berdasarkan revolusi mikrokomputer, diantara C++, Delphi, JAVA dan lainnya, C masih tetap bertahan,menggunakan karakteristiknya sendiri.

Pada beberapa tahun yang lalu, the Electrical and Computer Engineering Technology department di Purdue University sudah mempelajai bahasa pemrograman C sebagai bahasa yang dipilih buat mengenalkan mikrokontroler. Mengajarkan Bahasa tingkat tinggi pada ta’aruf mikrokontroler dalam surat keterangan suatu bahasa tingkat assembly adalah sesuatu yg paradoksal pada suatu intitusi yang memiliki acara yang sama. Penggunaan Bahasa tingkat tinggi memungkinkan buat focus pada materi serta konsep serta nir jemu menggunakan melihat detail listing assembly. Salah satu perbedaannya adalah bahasa tingkat tinggi memungkinkan buat menuliskan eksklusif nilai pada register, memindahkan data melalui multiple operations dengan assembly.

Just-in-time (JIT) mengajarkan metode yg digunakan untuk mengenalkan komponen baru pada Bahasa pemrograman C misalnya yg dibutuhkan. Pada prakteknya pokok perkara dipresentasikan, sesudah itu disusun algoritma serta dievaluasi. Setelah itu dituangkan kedalam gambar sebagai diagram alir proses. Lalu menggunakan mudah diterjemahkan kedalanm bahasa C. Misalnya itulah dasar menurut mikrokontroler.

Lebih menurut 10 tahun, beratus juta mikrokontroler, suatu mikrokomputer yg mengandung perangkat ini dan memori didalam suatu single integrated circuit (IC) bersama CPU, sudah disertakan dalam perkembangan produk-produk dari keyboard hingga system control automobile (Ayala, 2000). 

Bahasa taraf tinggi meningkat menjadi metodologi standar buat mikrokontroler terapan berdasar dalam perkembangan serta improvisasi jaman serta pasar dan dukungan perawatan yang sederhana (Myklebust, N.D.). Untuk permanen sejajar dengan perubahan jaman, bahasa taraf tinggi menjadi perlengkapan pada memperkenalkan mikrokontroler menjadi bagian dari kurikulum pada the Electrical and Computer Engineering Technology curriculum pada Purdue University, West Lafayette.

KEUNTUNGAN PEMROGRAMAN TINGKAT TINGGI
Telah dianggap pada era mikrokontroler ketika ini bahwa bahasa assembly adalah satu-satunya pilihan buat membuat kode buat suatu aplikasi.ruang yang sangat terbatas pada chip untuk data dank ode program tidak terjadi jika menggunakan bahasa taraf tinggi (Stewart & Miao, 1999). Sejarah bahasa tingkat tinggi menghasilkan ukuran kode yang lebih akbar dibandingkan assembly yang mempengaruhi kecepatan eksekusi. Selama beberapa tahun terakhir, compiler telah menyatakan kepada pasar dengan menjamin bahwa dapat menghasilkan kode seefisien assembly (Stewart & Miao, 1999).pada tahun-tahun berikutnya, compiler melakukan perkembangan yang lebih luas didunia mikrokontroler menggunakan meningkatkan fungsionalitas dan kecepatan.

Terdapat beberapa keunggulan memakai Bahasa tingkat tinggi diantaranya yaitu dapat memangkas ketika pembangunan aplikasi sebagai lebih singkat, kemudahan perawatan serta ringkas, kemudahan reuse kode. Bahasa taraf tinggi memungkinkan programmer untuk mengatasi objek yg kompleks tanpa khawatir tentang lebih jelasnya komponen prosesor dalam waktu acara berjalan. (Darnell & Margolis, 1991). Menulis program bahasa tingkat tinggi membebaskan programmer menurut kekhawatiran tentang lebih jelasnya tingkat rendah suatu acara (Reisdorph, 1998).

PEMROGRAMAN C DAN MIKROKONTROLER
Pembangunan Perangkat lunak dengan mikrokontroler membutuhkabn suatu pendekatan terstruktur dengna pemrograman. Banyak system terapan wajib berjalan 24 jam sehari, 7 hari pada satu minggu, serta 365 pada satu tahun. Mereka nir dapat pada reboot saat terjadi sesuatu kwesalahan. Untuk alas an ini, baris kode yang baik dipelajari serta melalui ujicoba menghasilkan taraf keutamaan yang baru dalam kenyataan mikrokontroler terapan (Lewis, 2002). Fasilitas bahasa C yang terstruktur serta disiplin(utuh) sebagai pendekatan dalam design program computer (Deitel & Deitel, 1992). Berdasar dalam MacKenzie, keuntungan mengadopsi pendekatan terstruktur pada pemrograman mencakup diantaranya: urutan operasi suatu program begitu sederhana buat ditelusuri melalui fasilitas debugging, urutannya yang terstruktur membuat gampang buat dijadikan sub rutin atau fungsi-fungsi, struktur yang terdapat sebagai dokumentasi sendiri dan memudahkan untuk menyebutkan memakai diagram alir, dan pemrograman yg terstruktur menghasilkan peningkatan produktifitas programer (1991).

Mungkin alasan yg paling memaksa buat memakai bahasa tingkat tinggi adalah menyimpan ketika programmer. Compiler C didukung sang pustaka(library) program C yg mengusung banyak fitur seperti matematika dan penanganan karakter. Menggunakan fungsi baku ini program-program Cmemudahkan programmer buat menulis, menguji coba serta mereka ulang versi yang sama (Ayala, 2000). Meskipun pustaka fungsi baku merupakan teknikal bukan bagian berdasarkan bahasa C, mereka didukaung tanpa terkecuali oleh system ANSI milik C (Deitel & Deitel, 1992).

Comments