Mikrokontroller At-Mega 32A TINJAUAN PUSTAKA

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