Mikrokontroler ATMega32

Mikrokontroler ATMega32 adalah mikrokontroler yang diproduksi oleh Atmel. Mikrokontroler ini memiliki clock dan kinerja sampai 16 MHz. Ukuran flash memorinya cukup besar, kapasitas SRAM sebesar 2 Kilobyte dan 32 buah port I/O yang sangat memadai untuk berinteraksi dengan LCD serta keypad.

a. Arsitektur CPU ATmega32


CPU memiliki fungsi utama yaitu memastikan pengeksekusian instruksi dilakukan dengan benar. CPU harus dapat mengakses memori, mengontrol peripheral, menangani interupsi dan melakukan kalkulasi serta terdapat 32 buah General Purpose Register yang membantu ALU bekerja.


b. Program Memori

ATMega32 memiliki 32KB flash memori untuk menyimpan program. Flash memori dibuat berukuran 16K x 16 karena lebar instruksi 16 bit atau bisa juga 32 bit. Arti dari "16K" yaitu alamat di flash memori yang bisa dipakai di mulai dari alamat 0 heksa sampai 3FFF heksa dan setiap alamatnya menyimpan 16 bit instruksi.

c. SRAM Data Memori

ATMega32 memiliki 2KB SRAM yang dipakai untuk menyimpan variabel. Tempat khusus di SRAM yang senantiasa di tunjuk register SP disebut stack. Stack tersebut digunakan untuk menyimpan nilai yang di push.

d. EEPROM Data Memori

EEPROM Data Memori yang dimiliki ATMega32 sebanyak 1024 byte. Data yang berada di EEPROM tidak akan hilang meskipun catuan daya ke sistem mati. EEPROM digunakan untuk menyimpan parameter sistem yang penting. Parameter dibaca dan system diinisialisasikan sesuai dengan nilai paramater tersebut saat sistem pertama kali menyala.

e. Interupsi


ATMega32
memiliki sumber interupsi sebanyak 21 buah. Saat interupsi diaktifkan dan terjadi interupsi maka CPU menunda instruksi sekarang dan melompat ke alamat rutin interupsi yang terjadi. Setelah selesai mengeksekusi semua instruksi yang ada di alamat rutin, interupsi CPU kembali melanjutkan instruksi yang sempat tertunda.

f. I/O Port

Ada 32 buah pin I/O yang terdapat pada ATMega32. Pin I/O tersebut digunakan untuk berinteraksi dengan sistem lain. Setiap pin I/O memiliki 3 register, yaitu DDxn, PORTxn dan PINxn. Untuk menentukan arah pin I/O menggunakan kombinasi nilai DDxn dan PORTxn.

g. Clear Timer on Compare Match (CTC)


CTC merupakan salah satu mode Timer/Counter1. Selain itu ada juga Normal mode, FastPWM mode dan Phase Correct PWM mode. Pada CTC mode nilai TCNT1 akan menjadi nol jika nilai TCNT1 telah sama dengan OCR1A atau ICR1. Jika nilai top ditentukan OCR1A dan interupsi diaktifkan untuk Compare Match A maka saat nilai TCNT1 sama dengan nilai OCR1A interupsi terjadi. CPU melayani interupsi ini dan nilai TCNT1 menjadi nol.

h. USART


USART berfungsi untuk general I/O. Selain itu, pin PD1 dan PD0 ATMega32 berfungsi untuk mengirim dan menerima bit secara serial. Pengubahan fungsi ini dibuat dengan mengubah nilai beberapa register serial. Untuk menekankan fungsi ini, pin PD1 disebut TxD dan pin PD0 disebut RxD. 


Posting Komentar

0 Komentar