Mikrokontroller Secara Umum
Mikrokontroller Secara Umum
Arsitektur Mikrokontroler
Accumulator (register A), merupakan salah satu register khusus yang berfungsi sebagai
operand umum proses aritmatika dan logika.
Program counter, merupakan salah satu register khusus yang berfungsi sebagai
pencacah/penghitung eksekusi program mikrokontroler
ALU (Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam mengerjakan
proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan pembagian) dan operasi
logika (AND, OR, XOR dan NOT)
Internal ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau
dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi
program (urutan-urutan instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca
secara berurutan.
Internal RAM, merupakan memori yang isinya dapat diubah atau dihapus. RAM pada
mikrokontroler biasanya berisi data-data variable dan register. Data yang tersimpan pada RAM
bersifat hilang jika catu daya yang diberikan hilang (mati).
Stack pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan
pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan merupakan data
yang pertama kali dibaca kembali (LIFO).
I/O port (serial dan parallel), merupakan sarana yang digunakan mikrokontroler untuk
mengakses peralatan di luar dirinya, memasukan dan mengeluarkan data.
Pin 10 – 17, Port 3 (P3.1 sampai dengan P3.7), merupakan port input/output delapan bit 8 dua
arah dengan internal pull-up. Setiap pin pada Port 3 ini memiliki fungsi khusus yang langsung
berhubungan dengan hardware, fungsi tersebut adalah sebagai berikut:
P3.0 : RXD, port input/penerimaan data pada komunikasi serial
P3.1 : TXD, port output/pengiriman data pada komunikasi serial
P3.2 : (INT0), input interupsi eksternal channel 0 (active low)
P3.3 : (INT1), input interupsi eksternal channel 1 (active low)
P3.4 : T0, input clock ekternal untuk timer 0
P3.5 : T1, input clock ekternal untuk timer 1
P3.6 : (WR), merupakan saluran untuk kendali penulisan (active low), saat mikrokontroler akan
menulis data ke memori/device luar
P3.7 : (RD), merupakan saluran untuk kendali pembacaan (active low), saat mikrokontroler akan
membaca data dari memori/device luar
Pin 21 – 28, merupakan port input/output delapan bit 8 dua arah dengan internal pull-up. Juga
dapat difungsikan untuk jalur alamat byte tinggi (A8 sampai dengan A15) pada penggunaan
memori luar.
Pin 29, (PSEN), Program Strore Enable (active low), sinyal pengontrol yang diberfungsi untuk
membaca program dari memori eksternal.
Pin 30, ALE atau (PROG) active low, address latch enable, berfungsi menahan sementara alamat
byte rendah pada proses pengalamatan ke memori eksternal
Pin 31, (EA) atau VPP, merupakan pin yang berfungsi untuk memilih program untuk
menjalankan mikrokontroler, jika EA = 0 atau di-ground-kan maka akan digunakan program
pada memori eksternal, jika EA = 1, maka akan digunakan program pada on chip flash.
Pin 32 – 39, Port 0 (P0.1 sampai dengan P0.7), merupakan port input/output delapan bit 8 dua
arah tanpa internal pull-up, sehingga dalam aplikasi harus ditambahkan resistor pull-up eksternal
pada masing-masing pin, resistor pull up bernilai 4.7K Ohm terpasang langsung ke VCC
Untuk memprogram suatu mikrokontroler terdapat banyak bahasa pemrograman yang dapat
digunakan. Bahasa pemrograman yang biasa digunakan dalam pemrograman mikrokontroler
terdahulu adalah Assembly. File bahasa Assembly (ASM) dapat dituliskan menggunakan
pengolah kata (misal Notepad), untuk kemudian dikompile menggunakan Assembler untuk
mendapatkan file HEX. File HEX inilah yang dimasukkan ke mikrokontroler menggunakan
perangkat lunak pemrogram (programmer) melalui perantaraan kabel paralel ataupun serial.
Gambar di bawah menunjukkan langkah-langkah pada pemrograman mikrokontroler secara
umum.
Saat ini telah dikembangkan beberapa kompiler untuk beberapa bahasa pemrograman tingkat
tinggi yang dapat digunakan pada pemrograman mikrokontroler. Untuk mikrokontroler keluarga
AVR perangkat lunak pemrograman yang dapat digunakan antara lain SDCC (Small Device C
Compiler) dari Sandepp Duta (http://sdcc.sourceforge.net), Bascom-AVR (Basic Compiler) dari
MCS Electronics (www.mcse.com), CodeVision AVR dari HP InfoTech
(http://www.hpinfotech.com), dan WinAVR (winavr.sourceforge.net) serta Arduino
(www.arduino.cc).
TUGAS