Port A berfungsi sebagai input analog pada AD Konverter dan port IO 8-bit dua arah.
Port B, Port C, Port D adalah suatu port IO 8-bit dua arah dengan resistor internal pull-up
yang dipilih untuk beberapa bit. Pada rangkaian reset, waktu pengosongan kapasitor dapat
dihitung dengan persamaan 2.3.
T = R x C
2.3
2.4.3. Organisasi Memori AVR ATmega32
Mikrokontroler ATmega32 memiliki 3 jenis memori yaitu memori program, memori data dan EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.
2.4.3.1.Memori Program
Kode program disimpan dalam flash memory, yaitu memori jenis non-volatile yang tidak akan hilang datanya meskipun catu daya dimatikan [7]. Dalam ATmega32 terdapat
8Kbyte On-Chip di dalam sistem Memory Flash Reprogrammable untuk penyimpanan program. Untuk keamanan perangkat lunak, flash memori dibagi menjadi dua bagian, yaitu
boot program dan bagian aplikasi program [6].
2.4.3.2.Memori Data
Memori data adalah memori RAM Random Access Memory yang digunakan untuk keperluan program. Memori data terdiri dari 32 General Purpose Register GPR yang
merupakan register khusus yang bertugas untuk membantu eksekusi program oleh Arithmetic Logic Unit
ALU dan IO register dan additional IO register yang difungsikan khusus untuk mengendalikan berbagai peripheral dalam mikrokontroler antara lain pin, port, timercounter,
USART . ATmega32 memiliki kapasitas memori data sebesar 608 Byte yang terbagi menjadi 3
bagian yaitu register serba guna, register IO dan SRAM [8].
2.4.4. Interupsi
Interupsi adalah suatu kondisi dimana mikrokontroler akan berhenti sementara dari program utama untuk melayani instruksi-instruksi pada interupsi kemudian kembali
mengerjakan instruksi program utama setelah instruksi-instruksi pada interupsi selesai
dikerjakan [9].
Tabel 2.1. Hubungan PIN dan Interupsi [9]
Jenis interrupt PIN pada Atmega 32
INT0 PORTD.2
INT1 PORTD.3
INT2 PORTB.2
ATmega32 menyediakan tiga interupsi eksternal yaitu, INT0, INT1, dan INT2. Masing- masing interupsi tersebut terhubung dengan pin ATmega32 seperti ditunjukan pada Tabel 2.1.
Interupsi eksternal bisa dilakukan dengan memberikan logika 0 atau perubahan logika rissing edge
dan falling edge pada pin interupsi yang bersangkutan.
2.4.5. TimerCounter
Atmega 32 memiliki tiga modul timer yang terdiri dari dua buah timercounter 8 bit dan satu buah timercounter 16 bit. Ketiga modul ini dapat diatur dalam mode yang berbeda-
beda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu semua timercounter
juga dapat difungsikan sebagai pencacahan waktu seperti pada jam digital maupun untuk menghasilkan sinyal PWM Pulse Width Modulation yakni sinyal kotak
dengan frekuensi dan duty cycle yang nilainya bisa diatur [7].
2.4.5.1.Timercounter0
Timercounter 0 merupakan modul timercounter 8 bit dengan fitur sebagai berikut :
a. timercounter 1 kanal.
b. Auto reload yaitu timer akan dinolkan kembali saat match compare.
c. Dapat menghasilkan pulsa PWM pulse width modulation dengan glitch free.
d. Frequency generator.
e. External event counter.
f. Prescalar 10 bit untuk timer.
g.
Membangkitkan interupsi saat timer overflow dan atau match compare.