Arsitektur dan Cara Memprogram Mikrokontroller AVR

Sebelum kita belajar memprogram mikrokontroller AVR , sebaiknya kita pahami dulu skema dan arsitektur AVR dari Atmel ini, cara kerjanya, cara mengkonfigurasi register register, bagaimana cara menghubungkan dengan hardware luar ke AVR baru belajar cara menulis program.

Arsitektur Microcontroller AVR
Sekarang mari kita perhatikan gambar arsitektur AVR berikut ini :
Arsitektur disini merupakan susunan bagian bagian penyususn AVR.

Arsitektur seperti ini merupakan tipe arsitektur RISC , apa itu RISC? RISC adalah Reduced Instruction Set Computer, yang meminimalkan jumlah instruksi dengan cara meningkatkan kerumitan hardware internalnya , arsitektur ini juga disebut arsitektur harvard karena instruksi dan data dipindah / diletakan pada lokasi yang berbeda. Instruksi diletakan dibagian flash program memory PEROM sedangkan data diletakan di bagian memori SRAM atau EEPROM.


Sebagaimana mikrokontroller pada umumnya, instruksi dasar AVR berupa kode kode assembly. Setiap kode asembly memiliki kode hexadesimal yang tersimpan di bagian instruction Decoder, sehingga program yang dibuat telah dituliskan ke PEROM maka AVR dapat menjalankan instruksi tersebut.
Setiap instruksi yang tersimpan dalam PEROM memiliki alamat. AVR menggunakan register Program Komputer untuk menunjuk alamat tersebut. Insruksi tersebut diterjemahkan oleh Instruction Decoder.
Setelah proses decoding, AVR mengetahui berapa jumlah operan atau pelengkap instruksi tersebut. Operasi instruksi dapat berupa data di dalam SRAM, EEPROM, Register I/O. Bila sebuah instruksi membutuhkan operan maka operan tersebut dieksekusi oleh AVR lalu diproses secara Aritmetika atau Logika menggunakan ALU seperti pada komputer. Bila sebuah instruksi selesai dikerjakan, register memperbarui status dengan kondisi terakhir hasil eksekusi tsb.


Program yang kita buat lalu menguji isi register status sehingga dapat mengatur aliran suatu program atau menentukan bagaimana langkah selanjutnya yang akan dieksekusi.

Arsitektur Mikrokontroller AVR ini mempunyai modul modul internal seperti Interupsi eksternal, SPI Serial Peripheral Interface, TWI | Two Wire Interface, Analog Comparator dan ADC. Modul modul tersebut bekerja secara paralel dengan proses eksekusi instruksi diatas. Setiap modul memiliki register control dan status bernama ADCSRA yang digunakan untuk memilih frekuensi clock ADC, memilih chanel dan mendeteksi apakah proses ADC sudah selesai.

Selanjutnya yang perlu dipahami adalah bagaimana cara mengkonfigurasi register register AVR.
contohnya:
AVR memliliki 8 bit register bernama DDRC yang digunakan untuk memilih apakah pin pin pada port C akan difungsikan sebagai jalur input atau output.

misalnya pin 23 atau PC0 digunakan sebagai jalur input untuk mendeteksi penekanan tombol, maka  register DDRC bit0 harus ditulis logika 0 dan sebaliknya misalkan pin 24 PC1 digunakan sebagai output untuk menghidupkan LED atau motor, maka register DDRC bit ke 1 harus ditulis dengan logika 1 pada kondisi tertentu yang diinginkan.

Instruksi assembly yang digunakan untuk mengkonfigurasi register DDRC yaitu:

cbi     DDRC,0   ; mengenolkan DDRC bit ke 0
sbi     DDRC,1   ; mengeset DDRC bit ke 1

instruksi ini juga bisa ditulsikan dalam bahasa C :

DDRC &= ~(1<<PC0);
DDRC |= (1<<PC1);

kode instruksi tersebut disebut kode sumber / source code. Sebelum ditulis dalam PEROM dan dijalankan AVR kode ini harus diubah dahulu menjadi kode hexadecimal yang dilakukan oleh program compiler.

Pemrograman Mikrokontroller AVR menggunakan Software Bahasa Pemrograman

Bahasa pemrograman yang sering dipakai untuk menulis kode sumber mikrokontroller termasuk AVR ialah bahasa C walaupun bisa menngunakan bahasa lain, namun bahasa C merupakan bahasa program yang sudah mapan dan termasuk bahasa tingkat menengah. Bahasa ini dapat dengan mudah menangani logika program tingkat tinggi dan tingkat rendah. Bahkan bahasa C mengijinkan pembuat program untuk meyisipkan kode kode assembly, sehingga setidaknya supaya dapat menulis program anda harus menguasai arsitektur AVR dan sintak pemrograman.

Sekian dulu, selanjutnya mengenai lebih detail pemrograman dan contoh aplikasinya bisa dilanjutkan ke psotingan berikutnya,

Thanks,



Arsitektur dan Cara Memprogram Mikrokontroller AVR Rating: 4.5 Diposkan Oleh: budis

No comments:

Berlangganan Via Email