Tool Program AVR

1. Kompilasi C ke hex
WinAVR adalah paket AVR-GCC untuk distribusi Microsoft Window. Sedangkan AVR-GCC adalah sekumpulan tool/alat/software yang digunakan untuk mengubah kode bahasa C ke bahasa yang dimengerti oleh mikrokontroller AVR yaitu (*.hex) intel.
Compiler C hanya menghasilkan file asm (.S) dari tiap file input (.C) lalu assembler mengubahnya kedalam file objek, dimana banyaknya kode objek sama dengan kode file asm. Kemudian linker menyatukan file-file objek dan fungsi-fungsi yang bersilangan diantara file objek dan mengambil/menghubungkan modul library c yang digunakan ke dalam sutu file objek yaitu file (.elf). Oleh avr-objcopy file (.elf) diubah menjadi file (.hex).
2. Instalasi WinAVR
Karena winAVR merupakan software open source, maka banyak programmer dengan bebas mengembangkan, sehingga winAVR terus diperbaharui. Versi terbaru winAVR dapat di download di www.sourceforge.net.
winAVR yang ane gunain buat meng-compile program-program yang ane buat adalah versi 20090313 yang ada ketika beli CD paket belajar AVR di aisi555.blogspot.com karena cocok dengan spesifikasi komputer ane yang 64 bit.
winavr icon
Ketika file sudah di download, klik 2x icon tersebut.
instalasi winAVR
Dan ikuti instruksi instalasi hingga selesai.
3. AVRstudio4

Adalah software firmware buatan atmel yang digunakan khusus untuk membuat program assembly dan simulasi mikrokontroller AVR. AVRstudio diperbaharui oleh atmel untuk versi terakhir silahkan download www.atmel.com.

Jika sudah di-download klik 2x icon AVRstudio4. Maka akan tampil :

avrstudio4
Jika ingin membuat program yang baru, klik >> New Project Continue reading

Mengenal Attiny2313

ATTiny 2313 merupakan mikrokontroller 8-bit AVR dengan kapasitas memory maksimum sebesar 2 Kbytes yang tersimpan didalam Memory Flash-nya. ATTIny 2313 merupakan chip IC produksi ATMEL yang termasuk golongan single chip microcontroller, dimana semua rangkaian termasuk memori dan I/O tergabung dalam satu paket IC. Dalam pemrogramannya kontroller ini dapat dijalankan menggunakan 2 bahasa yaitu bahasa Assembly atau bahasa C. Sehingga memungkinkan pengguna dapat mengoptimalkan kinerja sistem yang dibuat secara fleksibel.
attiny2313-ic
IC ATTiny 2313 ada 2 jenis yaitu jenis PDIP/SOIC (berbentuk prisma segi empat) dan jenis VQFN/MLF (berbentuk kotak) yang pada dasarnya memiliki fungsi yang sama, hanya saja memiliki bentuk yang berbeda.
attiny2313
Gambar di atas merupakan konfigurasi pin dari ATTiny 2313. Secara keseluruhan memiliki total 20 pin. Berikut adalah penjelasan secara garis besar dari konfigurasi pin-pin tersebut :
a. VCC 
Tegangan masukan digital sebesar 5 Volt.
b. GND 
Dihubungkan pada Ground. Referensi nol suplai tegangan digital.
c. PORT A (PA0…PA2) 
Pada PORT A hanya terdapat tiga(3) buah pin saja atau 3 bit pin I/O. Dimana PORT A ini, ketiga pin nya(seluruh pin PORT A) digunakan untuk keperluan membuat sismin. Yaitu PA.0 dan PA.1 untuk input clock (nama komponen adalah kristal), dan PA.2 untuk input tombol RESET.
d. PORT B (PB0…PB7)
Pada PORT B terdapat delapan(8) buah pin atau 8 bit pin I/O. Dan juga pada PORT B ini terdapat port SPI(Serial Peripheral Interface), yaitu pin komunikasi untuk men-download program secara serial syncronous dari komputer ke mikrokontroller, pin-pin tersebut adalah MOSI(PORTB.5), MISO(PORTB.6), SCK(PORTB.7).
e. PORT D (PD0…PD6) 

Pada PORT D terdapat delapan(7) buah pin atau 7 bit pin I/O.

f. RESET 
Reset berfungsi untuk menyusun ulang routing program dari awal. Biasanya RESET bersifat Active Low, yaitu aktif saat logika bernilai nol “0”. Sinyal LOW pada pin ini dengan lebar minimum 1,5 mikrodetik akan membawa mikrokontroler ke kondisi Reset, meskipun clock tidak running. Sinyal dengan lebar kurang dari 1,5 mikrodetik tidak menjamin terjadinya kondisi Reset.
g. XTAL 1 
XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating circuit.
h. XTAL 2 
XTAL2 adalah output dari inverting oscillator amplifier.

Deskripsi Hardware Mikrokontroler Atmega8/8535/16/32

Chip yang dijelaskan disini menggunakan kemasan PDIP, untuk kemasan yang lain (TQPF, QFN/MLF) tidak jauh berbeda, untuk lebih jelas silahkan merujuk datasheet.  Mikrokontroler yang digunakan disini menggunakan chip mikro buatan Atmel keluarga AVR (Alf Vegard &Risc) golongan Atmega khususnya Atmega8/16/32/8535 dengan bahasa pemrograman menggunakan bahasa C. Pemrograman menggunakan bahasa C akan dijelaskan pada post berikutnya.

Atmega8

atmega8

VCC  :  Tegangan supply
GND :  Ground
PortB (PB7..PB0) : Port I/O 8-bit dengan resistor pull-up internal tiap pin. Buffer portb mempunyai kapasitas menyerap (sink) dan mencatu (sorce)
 
Khusus PB6 dapat digunakan sebagai input kristal (inverting oscilator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan fuse-bit (ada dalam software programmer/downloader) yang digunakan untuk memilih sumber clock.
 
Khusus PB7 dapat digunakan output kristal (output inverting oscilator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Jika digunakan sumber clock yang dipilih dari oscilator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input counter.
 
Port C (PC5..PC0) :
Port I/O 7-bit ([PC6],PC5..PC0) dengan resistor pull-up internal tiap pin. Buffer Port C mempunyai kapaitas menyerap (Sink) dan mencatu (sorce).
 
RESET/PC6 :
Jika fuse bit RSTDISBL di “programed, PC6 digunakan sebagai pin I/O. Jika fuse bit RSTDISBL di “unprogramed”, PC6 digunakan sebagai pin RESET (aktif low)
 
Port D (PD&..PD0)
Port I/O 8-bit dengan resistor pull-up internal tiap pin.
 
AVcc :
Avcc adalah pin  tegangan catu untuk A/D conventer, PC3..PC0, dan ADC (7..6). Avcc harus dihubungkan ke Vcc walaupun ADC tidak digunakan. Jika ADC digunakan, maka Avcc harus dihubungkan dengan Vcc melalui “low pass filter”. Catatan : PC5,PC4 gunakan catu tegangan Vcc digital.

AREF : Untuk pin tegangan referensi analog untuk ADC.
 
ADC7..6 (TQPF, QFN/MLF):
Hanya ada pada kemasan TQPF dan QFN/MLF, ADC7..6 digunakan untuk pin input ADC. Continue reading

Konsep Mikrokontroler

ImageMikrokontroler adalah sebuah sistem microprosessor dimana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung  dan terintegrasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik pembuatnya.
Cara mudah mengoperasikan peralatan internal mikrokontroler seperti (timer/counter, ext, usart, dll) adalah mempelajari register-register pengendali peralatan tersebut.
Salah satu bahasa untuk memprogram mikrokontroler tersebut adalah menggunakan bahasa C. Mengapa ? Continue reading