Anda di halaman 1dari 12

TEORI

ATMega8535 mempunyai timer/counter yang berfungsi sebagai pencacah/pewaktuan.


Karena ATMega8535 mampu memakai crystal berfrekuensi sampai dengan 16 MHz
maka mikrokontroler ini dapat mencapai 16MIPS (Million Instruction per Second).

Pada mikrokontroler ATMega 8535 perlu diperhatikan pemilihan sumber clock. Hal ini
berhubungan dengan frekuensi yang kita inginkan. Jika kita ingin menggunakan
frekuensi 12MHz dengan sumber clock eksternal maka perlu dilakukan kalibrasi fuse bit
mikrokontroler dengan downloader, jika tidak maka mikrokontroler akan menggunakan
frekuensi dengan sumber clock internal sekitar 4 MHz.

PRESCALER

Timer pada dasarnya hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung
tersebut bisa sama dengan frekuensi crystal yang dipasang atau dapat diperlambat
menggunakan prescaler dengan faktor 8, 64, 256 atau 1024. Berikut penjelasannya:

Sebuah AVR menggunakan crystal dengan frekuensi 8 MHz dan timer yang digunakan
adalah timer 16 bit, maka maksimum waktu timer yang bisa dihasilkan adalah:

TMAX = 1/fCLK x (FFFFh+1) = 0.125uS x 65536 = 0.008192 S

Untuk menghasilkan waktu timer yang lebih lama dapat digunakan prescaler, misalnya
1024, maka maksimum waktu timer yang bisa dihasilkan adalah :

TMAX = 1/fCLK x (FFFFh+1) x N = 0.125uS x 65536 x 1024 = 8.388608 S

MACAM-MACAM TIMER/COUNTER

1. Timer/Counter 0

Merupakan 8 bit timer/counter, pengaturan Timer/Counter 0 diatur oleh TCCR0


(Timer/Counter control register 0) seperti berikut ini:

Register TCCR0

Bit 3 ~ 7 digunakan untuk setting PWM.

 Bit 2, 1, 0 (CS02, CS01, CS00): Clock select. Ketiga bit tersebut memilih sumber
clock yang akan digunakan oleh timer/counter.
2. Timer/Counter 1

Merupakan 16-bit timer/counter sehingga terdapat perbedaan cara pengaksesannya


dengan 8-bit timer/counter. 16-bit (1 word) timer/counter harus diakses dengan 8 bit high
dan 8 bit low.

Pengaturan Timer/Counter1 juga diatur oleh register TCCR1B.

Register TCCR1B

 Bit 2,1,0 (CS1 2:0): Clock Select. Ketiga bit tersebut (CS2/CS1/CS0) mengatur
sumber clock yang digunakan untuk Timer/Counter1.

3. Timer/Counter 2

Timer/Counter2 adalah 8-bit Timer/Counter, pengaturan pada Timer/Counter2 diatur oleh


TCCR2 (Timer/Counter Control Register 2).

Register TCCR2

 Bit 2,1,0 (CS22; CS21, CS20): Clock Select. Ketiga bit ini memilih sumber clock
yang akan digunakan oleh Timer/Counter.

Berikut konfigurasi bit clock select untuk memilih sumber clock


Konfigurasi Bit Clock Select

Register TIMSK dan TIFR

Selain register-register di atas, terdapat pula register TIMSK (Timer/Counter Interrupt


Mask Register) dan register TIFR (Timer/Counter Interrupt Flag Register).

Register TIMSK

 OCIEx: Output Compare Match Interrupt Enable. Jika bit tersebut diberi logika
1 dan bit I SREG juga berlogika 1, maka bisa dilakukan enable interupsi Output
Compare Match Timer/Counter x.
 TOIEx: Overflow Interrupt Enable. Jika diberi logika 1 dan bit I SREG juga
berlogika 1, maka bisa dilakukan enable interupsi Overflow Timer/Counter x.
 TCIE1: Timer/Counter 1, Input Capture Interrupt Enable

Register TIFR

 OCFx: Output Compare Flag. Bernilai 1 (set) jika terjadi compare match antara
Timer/Counter x dan data di OCRx (Output Compare Register x). OCFx di-clear
secara hardware ketika pengeksekusian corresponding interrupt handling vector.
Atau, jika diberi nilai 1 secara lagsung ke bit flag. Saat bit I SREG, OCIEx, dan
OCFx set (berlogika 1), maka Timer/Counter x Compare Match Interrupt
dieksekusi.
 TOVx: Timer/Counter x Overflow Flag. Bit ini akan set (bernilai 1) saat terjadi
overflow di Timer/Counter x. TOVx akan clear (bernilai 0) secara hardware saat
pengeksekusian corresponding interrupt handling vector. Atau, diberikan logika 1
ke bit flag. Saat bit i SREG, TOIEx (Timer/Counter x Overflow Interrupt Enable),
dan TOVx set, akan terjadi pengeksekusian Timer/Counter x Overflow Interrupt.
Pada mode PWM, bit ini set ketika Timer/Counter x mengubah arah perhitungan
hingga menuju nilai 0×00.

SETTING TIMER

Sebelum kita melakukan setting timer maka kita tentukan dahulu nilai delay yang kita
inginkan lalu bisa kita dapatkan nilai TCNTnya

TCNT : Nilai timer (Hex)

fCLK : Frekuensi clock (crystal) yang digunakan (Hz)

T timer : Waktu timer yang diinginkan (detik)

N : Prescaler (1, 8, 64, 256, 1024)

1+FFFFh : Nilai max timer adalah FFFFh dan overflow saat FFFFh ke 0000h

Fitur ATmega8535
Beberapa fitur yang disediakan ATmega8535
1. 1. Performa tinggi, termasuk mikrokontroler 8-bit AVR daya rendah.
2. Arsitektur RISC yang telah maju
o 130 instruksi kuat – Most Single Clock Cycle Execution
o 32 x 8 Register kerja multifungsi
o Operasi statis penuh
o Throughput hingga 16 MIPS pada 16 MHz
o Multiplier 2-cycle on-chip
3. Program nonvolatile dan data memori
o 8K bytes In-System Self-Programmable Flash dengan kemampuan 10.000
write/erase cycle
o 512 bytes EEPROM dengan kemampuan 10.000 wirte/erase cycle
o 512 bytes RAM internal
o Penguncian program untuk keamanan sistem
4. I/O dan paket
o 32 programmable I/O lines
o 40 pin PDIP, 44-lead TQFP, 44-lead PLCC, 44-pad QFN/MLF
5. Tingkat kecepatan
o 0 – 8 MHz untuk ATmega8535L
o 0 - 16 MHz untuk ATmega8535
6. Tegangan operasi
o 2,7 – 5,5 Volt untuk ATmega8535L
o 4,5 – 5,5 Volt untuk ATmega8535
7. Fitur spesial mikrokontrolernya
o Power-on reset dan deteksi programmable brown-out
o Osilator RC kalibrasi internal
o Interupt source external dan internal
o Enam mode Sleep: Idle, ADC noise reduction, Power-save, Power-down,
Stand-by, dan Extended Stand-by.
8. Fitur Pheripheral
o Dua timer/counter 8-bit dengan Separate Prescalers dan Compare Modes
o Satu timer/counter 16-bit dengan Separate Prescalers, Compare Modes,
dan Capture Modes.
o Counter real time dengan osilator terpisah
o Empat channel PMW
o 8 channel, 10-bit ADC
o Serial interface dwikabel byte-oriented
o Programmable serial USART
o Master/slave SPI serial interface
o On-chip analog comparator

1.1. MICROCONTROLLER VS MICROPROCESSOR


Microcontroller sebagai sebuah “one chip solution” pada dasarnya
adalah rangkaian
...terintregrasi (Integrated Circuit-IC) yang telah mengandung secara
lengkap berbagai
komponen pembentuk sebuah komputer. Berbeda dengan penggunaan
microprocessor yang masih memerlukan komponen luar tambahan
seperti RAM, ROM, Timer, dan sebagainya--untuk sistem
microcontroller, tambahan komponen diatas secara praktis hampir
tidak dibutuhkan lagi. Hal ini disebabkan semua komponen penting
tersebut telah ditanam bersama dengan sistem prosesor ke dalam IC
tunggal microcontroller bersangkutan. Dengan alasan itu sistem
microcontroller dikenal juga dengan istilah populer the real Computer
On a Chipkomputer utuh dalam keping tunggal, sedangkan sistem
microprocessor dikenal dengan istilah yang lebih terbatas yaitu
Computer On a Chip-komputer dalam keping tunggal.
Berdasarkan fungsinya, microcontroller secara umum digunakan untuk
menjalankan program yang bersifat permanen pada sebuah aplikasi
yang spesifik (misal aplikasi yang berkaitan dengan pengontrolan dan
monitoring). Sedangkan program aplikasi yang dijalankan pada sistem
microprosesor biasanya bersifat sementara dan berorientasi pada
pengolahan data.
Perbedaan fungsi kedua sistem diatas secara praktis mengakibatkan
kebutuhan minimal yang harus dipenuhi juga akan berbeda (misal
ditinjau dari kecepatan detak operasi, jumlah RAM, panjang register,
dan lain sebagainya). Hampir tidak dapat disangkal, dewasa ini akan
sukar dijumpai seseorang yang masih menggunakan komputer dengan
microprocessor berbasis 8 atau 16 bit (misal microprocessor 8088 dan
8086 produk perusahaan Intel). Mengapa demikian?, salah satu
alasannya— Perangkat lunak komputer yang beredar saat ini
umumnya mensyaratkan kecepatan CPU yang sangat tinggi (dalam
orde Mega bahkan GigaHz) serta memori dengan kapasitas sangat
besar (dalam orde MegaByte) yang mana hal tersebut tidak mungkin
dapat dipenuhi oleh sistem microprocessor lama tersebut. Sedangkan
untuk sistem
microcontroller, program yang dijalankan biasanya tidak memerlukan
sumber daya sebanyak dan sebesar itu. Untuk aplikasi kontrol
sederhana dan tingkat menengah, microcontroller yang digunakan
cukup berbasis 4 sampai 8 bit. Microcontroller dengan ukuran lebih
besar (misal 16 dan 32 bit) umumnya hanya digunakan untuk aplikasi-
aplikasi khusus pada bidang pengolahan citra atau bidang kontrol yang
memerlukan kepresisian tinggi.

1.2. PERKEMBANGAN MICROCONTROLLER


Pada awal perkembangannya (yaitu sekitar tahun 1970-an), sumber
daya perangkat keras serta perangkat lunak microcontroller yang
beredar masih sangat terbatas. Saat itu, sistem microcontroller hanya
dapat diprogram secara khusus dengan perangkat yang dinamakan
EPROM programmer. Sedangkan perangkat lunak yang digunakan
umumnya berbasis bahasa assembler yang relatif sulit dipelajari.
Seiring dengan perkembangan teknologi solid state dan perangkat
lunak komputer secara umum, saat ini pemrograman sistem
microcontroler dirasakan relatif mudah dilakukan,terutama dengan
digunakannya metode pemrograman ISP (In system Programming).
Dengan menggunakan metode ini kita dapat memprogram sistem
microcontroller sekaligus mengujinya pada sistem minimum atau
papan pengembang (development board) secara langsung tanpa perlu
lagi perangkat “pembakar“ program atau emulator secara terpisah.
Selain itu, ditinjau dari aspek perangkat lunak pemrogramannya,
dewasa ini banyak alternatif bahasa aras tinggi dari pihak ke-tiga, baik
gratis maupun komersil yang dapat digunakan.
Penggunaan bahasa aras tinggi ini (seperti Pascal, C, basic dan
sebagainya) selain akan menghemat waktu pengembangan, kode
program yang disusun juga akan bersifat lebih modular dan
terstruktur.
Bagi para pemula yang berminat memperdalam microcontroller baik
sekedar untuk tujuan penyaluran hobi atau kelak untuk tujuan yang
lebih profesional, dewasa ini banyak microcontroller dari berbagai
vendor yang dapat dijadikan sarana untuk berlatih (misal
microcontroller PIC produk Microchip, COP-8 produk National,
AT89S51/52 dan AVR produk Atmel, HC11 produk Motorola dan lain
sebagainya). Untuk memutuskan microcontroller mana yang akan
dijadikan sarana berlatih dan akan diperdalam secara serius, ada
baiknya hal-hal berikut ini dijadikan bahan pertimbangan :
- Apakah microcontroller tersebut mudah dijumpai dipasaran
- Apakah banyak dukungan pihak ketiga dalam penggunaan
microcontroller tersebut,
(misalnya perusahaan-perusahaan pembuat papan pengembang,
pemasok compiler
serta debbuger untuk pemrogramannya, dan sebagainya)
- Apakah banyak referensi dan contoh-contoh program untuk panduan
anda berlatih
(misalnya dari sumber-sumber internet dan buku)
- Apakah banyak forum-forum diskusi (terutama di Internet) tempat
anda dan
programer lain berbagi pengalaman.
Dengan berbagai macam kelebihan yang dimiliki serta hal-hal yang
menjadi bahan
pertimbangan diatas, dewasa ini microcontroller AVR 8 bit produk
perusahaan Atmel adalah salah satu microcontroller yang banyak
merebut minat kalangan profesional dan juga cocok dijadikan sarana
berlatih bagi para pemula. Hal ini selain karena ragam fitur yang
ditawarkan, juga disebabkan kemudahan untuk memperoleh
microcontroller tersebut (berikut papan pengembangnya) di pasaran
dengan harga yang relatif murah. Selain itu berkaitan dengan
rancangan arsitekturnya, microcontroller AVR ini juga cocok
diprogram dengan menggunakan bahasa pemrograman aras tinggi
(terutama bahasa C).

1.3 SEKILAS TENTANG MICROCONTROLLER KELUARGA AVR


Secara histories microcontroller seri AVR pertama kali diperkenalkan
ke pasaran sekitar tahun 1997 oleh perusahaan Atmel, yaitu sebuah
perusahaan yang sangat terkenal dengan produk microcontroller seri
AT89S51/52-nya yang sampai sekarang masih banyak digunakan
dilapangan. Tidak seperti microcontroller seri AT89S51/52 yang masih
mempertahankan arsitektur dan set instruksi dasar microcontroller
8031 dari perusahaan INTEL.
Microcontroller AVR ini diklaim memiliki arsitektur dan set instruksi
yang benar-benar baru dan berbeda dengan arsitektur microcontroller
sebelumnya yang diproduksi oleh perusahaan tersebut. Tetapi
walaupun demikian, bagi para programmer yang sebelumnya telah
terbiasa dengan microcontroller seri AT89S51/52, dan berencana untuk
beralih ke microcontroller AVR, maka secara teknis tidak akan banyak
kesulitan yang berarti, hal ini dikarenakan selain konsep dan istilah-
istilah dasarnya hampir sama, pemrograman level assembler-nya pun
relative tidak jauh berbeda.
Berdasarkan arsitekturnya, AVR merupakan microcontroller RISC
(Reduce Instruction Set Computer) dengan lebar bus data 8 bit.
Berbeda dengan sistem AT89S51/52 yang memiliki frekuensi kerja
seperduabelas kali frekuensi oscilator, frekuensi kerja microcontroller
AVR ini pada dasarnya sama dengan frekuensi oscilator, sehingga hal
tersebut menyebabkan kecepatan kerja AVR untuk frekuensi oscilator
yang sama, akan dua belas kali lebih cepat dibandingkan dengan
microcontroller keluarga AT89S51/52.
Dengan instruksi yang sangat variatif (mirip dengan sistem CISC-
Complex Instruction Set Computer) serta jumlah register serbaguna
(general Purpose Register) sebanyak 32 buah yang semuanya
terhubung secara langsung ke ALU (Arithmetic Logic Unit), kecepatan
operasi microcontroller AVR ini dapat mencapai 16 MIPS (enam belas
juta instruksi per detik) —sebuah kecepatan yang sangat tinggi untuk
ukuran microcontroller 8 bit yang ada di pasaran sampai saat ini.
Untuk memenuhi kebutuhan dan aplikasi industri yang sangat
beragam, microcontroller keluarga AVR ini muncul di pasaran dengan
tiga seri utama: tinyAVR, ClasicAVR (AVR), megaAVR. Berikut ini
beberapa seri yang dapat anda jumpai di pasaran:
-ATtiny13 AT90S2313 ATmega103
-ATtiny22 AT90S2323 ATmega128
-ATtiny22L AT90S2333 ATmega16
-ATtiny2313 AT90S4414 ATmega162
-ATtiny2313V AT90S4433 ATmega168
-ATtiny26 AT90S8515 ATmega8535

Keseluruhan seri AVR ini pada dasarnya memiliki organisasi memori


dan set instruksi yang sama (sehingga dengan demikian jika kita telah
mahir menggunakan salah satu seri AVR, untuk beralih ke seri yang
lain akan relative mudah). Perbedaan antara tinyAVR, AVR dan
megaAVR pada kenyataannya hanya merefleksikan tambahan-
tambahan fitur yang ditawarkannya saja (misal adanya tambahan ADC
internal pada seri AVR tertentu, jumlah Port I/O serta memori yang
berbeda, dan sebagainya). Diantara ketiganya, megaAVR umumnya
memiliki fitur yang paling lengkap, disusul oleh AVR, dan terakhir
tinyAVR.
Semua jenis AVR ini telah dilengkapi dengan memori flash sebagai
memori program. Tergantung serinya, kapasitas memori flash yang
dimiliki bervariasi dari 1K sampai 128 KB. Secara teknis, memori jenis
ini dapat diprogram melalui saluran antarmuka yang dikenal dengan
nama Serial Peripheral Interface (SPI) yang terdapat pada setiap seri
AVR tersebut. Dengan menggunakan perangkat lunak programmer
(downloader) yang tepat, pengisian memori Flash dengan menggunakan
saluran SPI ini dapat
dilakukan bahkan ketika chip AVR telah terpasang pada sistem akhir
(end system), sehingga dengan demikian pemrogramannya sangat
fleksibel dan tidak merepotkan pengguna (Secara praktis metoda ini
dikenal dengan istilah ISP-In System Programming – sedangkan
perangkat lunaknya dinamakan In System Programmer).
Untuk penyimpanan data, microcontroller AVR menyediakan dua jenis
memori yang berbeda:
EEPROM (Electrically Erasable Programmable Read Only Memory)
dan SRAM (Static
Random Access memory). EEPROM umumnya digunakan untuk
menyimpan data-data
program yang bersifat permanen, sedangkan SRAM digunakan untuk
menyimpan data
variabel yang dimungkinkan berubah setiap saatnya. Kapasitas simpan
data kedua memori ini bervariasi tergantung pada jenis AVR-nya (lihat
tabel 1). Untuk seri AVR yang tidak memiliki SRAM, penyimpanan
data variabel dapat dilakukan pada register serbaguna yang terdapat
pada CPU microcontroller tersebut.
Selain seri-seri diatas yang sifatnya lebih umum, Perusahaan Atmel
juga memproduksi beberapa jenis microcontroller AVR untuk tujuan
yang lebih khusus dan terbatas, seperti seri AT86RF401 yang khusus
digunakan untuk aplikasi wireless remote control dengan menggunakan
gelombang radio (RF), seri AT90SC yang khusus digunakan untuk
peralatan sistem-sistem keamanan kartu SIM GSM, pembayaran via
internet, dan lain sebagainya.

1.4 MICROCONTROLLER AVR DAN BAHASA C


Tak dapat disangkal, dewasa ini penggunaan bahasa pemrograman
aras tinggi (seperti C, Basic, Pascal, Forth dan sebagainya) semakin
populer dan banyak digunakan untuk memprogram sistem
microcontroller. Berdasarkan sifatnya yang sangat fleksibel dalam 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 oleh Dennis Ritchie dan Ken Thomson
pada tahun 1972, Bahasa C merupakan salah satu bahasa
pemrograman yang paling populer untuk pengembangan program-
program aplikasi yang berjalan pada sistem microprocessor
(komputer). Karena kepopulerannya, vendor-vendor perangkat lunak
kemudian mengembangkan compiler C sehingga menjadi beberapa
varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C
dan 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 pada pengembangan
fungsi-fungsi library serta fasilitas IDE (Integrated Development
Environment)–nya saja.
Relatif dibandingkan dengan bahasa aras tinggi lain, bahasa C
merupakan bahasa
pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan
berbagai aturan yang sifatnya kaku. Satu-satunya hal yang membatasi
penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata
kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam
program C kita dapat saja secara bebas menjumlahkan karakter huruf
(misal ‘A’) dengan sebuah bilangan bulat (misal ‘2’), dimana hal yang
sama tidak mungkin dapat dilakukan dengan menggunakan bahasa
aras tinggi lainnya. Karena sifatnya ini, seringkali bahasa C
dikatagorikan sebagai bahasa aras menengah (mid level language).
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, yaitu IAR
C).
Dengan beberapa kelebihan yang dimilikinya, saat ini CodeVisionAVR
produk Perusahaan Pavel Haiduc merupakan compiler C yang relative
banyak digunakan dibandingkan compilercompiler C lainnya.

1.5 SEKILAS TENTANG PERANGKAT LUNAK CODEVISIONAVR


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.
Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan
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 microcontroller 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 1.1). 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 diprogram. Selain itu,
CodeVisionAVR juga menyediakan sebuah tool yang dinamakan
dengan Code Generator atau CodeWizardAVR (lihat gambar 1.2).
Secara praktis, tool ini sangat bermanfaat membentuk sebuah
kerangka program (template), dan juga memberi kemudahan
bagi programmer dalam peng-inisialisasian register-register yang
terdapat pada
microcontroller 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. Secara
teknis, penggunaan tool ini pada dasarnya hampir sama dengan
application wizard pada bahasa-bahasa pemrograman Visual untuk
komputer (seperti Visual C, Borland Delphi, dan sebagainya)
Disamping versi yang komersil, Perusahaan Pavel Haiduc juga
mengeluarkan CodeVisionAVR versi Demo yang dapat didownload
dari internet secara gratis (lihat alamat URL:
http://www.hpinfotech.ro/) Dalam versi ini, memori flash yang dapat
diprogram dibatasi maksimal 2K, selain itu tidak semua fungsi library
yang tersedia dapat dipanggil secara bebas.

Anda mungkin juga menyukai