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