Mikrokontroler ATMega32 merupakan mikrokontroler yang diproduksi oleh Atmel. Mikrokontroler tersebut memiliki clock dan kinerja hingga 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 berfungsi untuk memastikan pengeksekusian instruksi dilakukan dengan benar. CPU harus bisa mengakses memori, menangani interupsi, mengontrol peripheral dan melakukan kalkulasi serta memiliki 32 buah general purphose register yang membantu kinerja ALU.
Baca juga : Pengertian dan Penjelasan tentang Mikrokontroler ATMega8
b. Program Memori
ATMega32 memiliki kapasitas memori flash sebesar 32KB untuk menyimpan program. Flash memori
dibuat berukuran 16K x 16 karena lebar instruksi 16 bit atau 32 bit.
Arti dari "16K" yaitu alamat di flash memori yang bisa digunakan dimulai dari alamat 0 heksa hingga 3FFF heksa dan setiap alamatnya menyimpan instruksi 16
bit.
c. SRAM Data Memori
ATMega32 memiliki 2KB SRAM yang digunakan untuk menyimpan variabel. Ada tempat khusus
di SRAM yang senantiasa ditunjuk oleh register SP yaitu disebut dengan stack. Stack tersebut
digunakan untuk menyimpan nilai yang di push.
d. EEPROM Data Memori
EEPROM data memori yang dimiliki oleh 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
diinisialisasikan oleh sistem sesuai dengan nilai paramater tersebut ketika sistem
menyala pertama kali.
e. Interupsi
ATMega32 memiliki sumber interupsi sebanyak 21 buah. Ketika 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 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.
Baca juga : Mikrokontroler ATMega16
g. Clear Timer on Compare Match (CTC)
CTC atau clear timer on compare match merupakan salah satu mode Timer/Counter1. Selain itu ada normal mode, fastPWM mode dan juga phase correct PWM mode. Pada CTC mode, nilai TCNT1 akan menjadi
nol ketika nilai TCNT1 telah sama dengan OCR1A atau ICR1. Jika nilai top
ditentukan OCR1A dan interupsi diaktifkan untuk compare match A, maka ketika nilai
TCNT1 sama dengan nilai OCR1A interupsi akan 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.
0 on: "Mengenal Mikrokontroler ATMega32 "