2.5 Mikrokontroller At-Mega 32A
Dalam membangun suatu sistem elektronik  yang berbasis pada pengontrolan dan proses data, diperlukan sebuah  IC yang dapat bekerja sebagai otak,  dimana pada
IC  tersebut  akan di  tanamkan  algoritma program,  sehingga alat  tersebut mampu bekerja  sesuai  dengan  algoritme  yang  ditanamkan.  Konfigurasi  PIN  pada
microocntroller Atmega32 ditunjukkan pada gambar dibawah ini.
a b
Gambar 2.7  aKonfigurasi pin ATmega32, b Bentuk ATmega32 ATMEL, 2009
Sebagai  pengontrol dan  pengolah data kali ini digunakan  microcontroller 8  bit  produksi  ATMEL  jenis  ATmega32.  IC  ini  dipilih  karena  telah  memiliki
memori yang cukup besar yakni 32 kbyte flash. Sebagai pengontrol dan pengolah data kali ini digunakan microcontroller 8 bit produksi ATMEL jenis ATmega32.
IC  ini  dipilih  karena  telah  memiliki  memori  yang  cukup  besar  yakni  32  kbyte flash.
ATmega32 merupakan  microcontroller  dengan  arsitektur  RISC. Memiliki 32  register  dengan  fungsi  umum  yang  mana  setiap  regisiter-nya  memiliki
hubungan  secara  langsung  dengan  arithmetic  logic  unit  ALU,  sehingga memperbolehkan 2  register  yang independen dapat  di  akses dalam satu  instruksi
unggal dalam satu siklus clock. Arsitektur ini memiliki keistimewaan 10 kali lebih cepat dibandingkan microcontroller konvensional berbasis CISC.
Universitas Sumatera Utara
ATmega32  memiliki  fitur  sebagai  berikut,  antara  lain  yakni  memiliki  32 Kbytes  pada  memori  In-System  Programmable  Flash  Program    dengan
kemampuan    Read-While-Write,  1024  bytes  EEPROM,  2  Kbyte  SRAM,  32  kanal multi guna IO, 32 register multi guna.
ATMega32  memiliki  8  kanal  ADC  10  bit  yang  memungkinkan  untuk mengkonversi  sinyal  analog  menjadi  digital  yakni  sebanyak  8  kanal  dengan
resolusi  lebih  tinggi  dibandingkan  ADC  8  bit.  Memiliki  3  mode  timercounter yang  fleksibel  memungkinkan  microcontroller  untuk  melakukan  penghitungan
maupun  pewaktuan  sehingga  memungkinkan  untuk  mengukur  frekuensi  osilasi suatu  sinyal.  Serial  programmable  USART  juga  dimiliki  untuk  keperluan
komunikasi serial antar peralatan  muapun komputer. Masih banyak lagi beberapa kemampuan  ATmega32  yang  dapat  diaplikasikan  dengan  berbagai  keperluan.
Atmel  AVR  ATmega32  telah  di  dukung  oleh  bahasa  pemrograman  dan pengembangan  sistem  antara  lain:    C  compilers,  macro  assemblers,  program
debuggersimulators, in-circuit emulators, dan evaluation kits Isnen.M, 2014. Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga
ATtiny,  keluarga  AT90Sxx,  keluarga  ATMega  dan  AT89RFxx.  Pada  dasarnya yang  membedakan  masing-masing  kelas  adalah  memori,  peripheral,  dan
fungsinya.  Dari  segi  arsitektur  dan  instruksi  yang  digunakan,  mereka  bisa dikatakan  hampir  sama.  Oleh  karena  itu,  dipergunakan  salah  satu  AVR  produk
Atmel, yaitu ATMega32. Selain mudah didapatkan dan lebih murah, ATMega32 juga memiliki fasilitas  yang lengkap. Untuk tipe AVR ada 3 jenis  yaitu ATTiny,
AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan IO yang tersedia serta fasilitas lain
seperti  ADC,  EEPROM,  dan  lain  sebagainya.  Memiliki  teknologi  RISC  dengan kecepatan maksimal 16 MHz membuat ATMega32 lebih cepat bila dibandingkan
dengan  varian  MCS51.  Dengan  fasilitas  yang  lengkap  tersebut  menjadikan ATMega32  sebagai  mikrokontroler  yang  powerfull.  Adapun  blok  diagramnya
teradapat pada Gambar 2.8 Handinata, 2013.
Universitas Sumatera Utara
Gambar 2.8 Blok Diagram ATMega32
Mikrokontroler ATMega32 mempunyai jumlah pin sebanyak 40 buah, dimana 32 pin  digunakan  untuk  keperluan  IO  yang  dapat  menjadi  IO  sesuai  konfigurasi.
Pada 32 pin tersebut terbago atas 4 bagian Port, yang masing-masing terdiri dari 8 pin. Pin-pin yang lainnya digunakan untuk keperluan rangkaian osilator, suplay,
reset serta tegangan frekuensi untuk ADC. Berikut deskripsi Pin pada Atmega32. VCC
: berfungsi sebagai suplay digital 5 volt GND
: berfungsi sebagai ground Port A PA7..PA0
: Port A berfungsi sebagai masukan analog yang dapat
Universitas Sumatera Utara
dikonversi  ke  digital.  Port  A  juga  berfungsi  sebagai  kanal  inputoutput  dengan resistor pull-up internal, jika analog ke digital konverter tidak di gunakan dengan
mengatur fuse bit_nya. Port B PB7..PB0
:  Port  B  adalah  kanal  inputoutput  sebanyak  8  bit  dengan resistor  pull-up  internal.  Selain  itu  Port  B  memiliki  fungsi
khusus seperti di tuliskan pada Tabel 2.2.
Tabel 2.2. Fungsi-fungsi yang dimiliki PORT B, Atmega32
Sumber: ATMEL, 2009
Port C PC7..PC0 :  Port  C  juga  merupakan  kanal  8  bit  inputoutput  dengan
resistor  pull-up  internal.  Port  C  memiliki  fungsi  khusus seperti di tunjukkan pada Tabel 2.3.
Tabel 2.3. Fungsi-fungsi yang dimiliki PORT C, Atmega32
Sumber: ATMEL, 2009
Universitas Sumatera Utara
Port D PD7..PD0 : Port  D adalah kanal  inputoutput  sebanyak 8 bit dengan
resistor  pull-up internal. Selain itu Port D memiliki fungsi khusus seperti di tuliskan pada Tabel 2.4.
Tabel 2.4. Fungsi-fungsi yang dimiliki PORT D, Atmega32
Sumber: ATMEL, 2009
RESET :  merupakan  masukan  pulsa  untuk  me-reset  program  yang  sedang
berjalan. XTAL1
: jalur masukan ke osilasi penguat inverting dan merupakan masukan ke clock internal.
XTAL2 : jalur keluaran dari osilasi  penguat inverting.
AVCC :  AVCC  adalah  tegangan  suplay  untuk  port  A  maupun  ADC.
Apabila  ADC  tidak  di  gunakan,  pin  ini  harus  terhubung  secara eksternal  ke  VCC.  Jika  ADC  digunakan,  maka  pin  ini  sebaiknya
terhubung ke VCC melalui low pass filter. AREF
: AREF adalah tegangan referensi analog  untuk ADC. ATMEL, 2009
2.6 Arduino