Mikrokontroler ATMega16 merupakan salah satu bagian dari kelompok ATMega dengan populasi pengguna yang cukup besar. Mikrokontroler ATMega16 memiliki flash 16k dan 32 jalur input output serta dilengkapi dengan ADC 8 kanal yang mempunyai resolusi 10 bit dan 4 kanal PWM. Mikrokontroler ATMega16 dilengkapi dengan built-in USB ISP programmer. Oleh karena itu, pemrograman dapat dilakukan dengan mudah cukup menghubungkan kabel USB ke komputer. Secara internal, mikrokontroler ATMega16 terdiri dari unit-unit fungsionalnya yaitu Arithmetic and Logic Unit atau ALU, himpunan register kerja, register dan dekode instruksi, dan pewaktu serta komponen kendali lainnya.
Baca juga : Mikrokontroler ATMega8535
Arsitektur ATMega16
Mikrokontroler ATMega16 ini menggunakan arsitektur Harvard sama seperti mikrokontroler ATMega8535. Namun, mikrokontroler ATMega16 ini dapat memisahkan memori program dari memori data, baik bus alamat maupun bus data. Hal tersebut membuat pengaksesan program dan data dapat dilakukan secara bersamaan. Mikrokontroler ATMega16 terdiri dari :
1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16 Mhz.
2. Memiliki kapasitas flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1 Kbyte.
3. Memiliki saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
4. CPU terdiri dari 32 buah register.
5. User interupsi internal dan eksternal.
6. Memiliki port antarmuka SPI dan port USART yang digunakan sebagai komunikasi serial.
7. Fitur peripheral
• Dua buah 8 bit timer atau counter dengan prescaler terpisah dan mode compare.
• Satu buah 16 bit timer atau counter dengan prescaler terpisah, mode compare, dan mode capture.
• Real-time counter dengan osilator tersendiri.
• Memiliki empat kanal PWM dan antarmuka komparator analog.
• 8 kanal, 10 bit ADC.
• Byte-oriented Two-wire Serial Interface.
• Watchdog timer dengan osilator internal.
Konfigurasi Pin ATMega16
Mikrokontroler ATMega16 memiliki jumlah pin sebanyak 40 buah. Mikrokontroler ini memiliki 8 pin untuk masing-masing port A, port B, port C dan port D.
Deskripsi Mikrokontroler ATMega16
1. VCC
VCC digunakan sebagai masukan positif catu daya sebesar 5V.
2. GND
GND digunakan sebagai pin ground.
2. Port A (PA7-PA0)
Port A berfungsi untuk input analog pada konverter A/D. Jika A/D konverter tidak digunakan, maka port A juga sebagai suatu port I/O 8 bit dua arah. Pin yang ada di port menyediakan resistor internal pull up. Port A adalah tri-stated dimana suatu kondisi reset menjadi aktif meskipun waktunya sudah habis.
3. Port B (PB0-PB7)
Port B adalah suatu pin I/O 8 bit dua arah dengan kisaran resistor internal pull up. Port B output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.
4. Port C (PC0-PC7)
Port C adalah suatu pin I/O 8 bit dua arah dengan resistor internal pull up. Port C output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.
5. Port D (PD0-PD7)
Port D adalah pin I/O 8 bit dua arah dengan resistor internal pull up. Port D output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.
• RESET (Reset input)
• XTAL1 (Input Oscillator)
• XTAL2 (Output Oscillator)
• AVCC adalah pin yang menyediakan tegangan untuk port A dan ADC.
• AREF adalah pin yang digunakan sebagai referensi analog untuk ADC.
Peta memori ATMega16
1. Memori Program
Arsitektur mikrokontroler ATMega16 mempunyai dua memori utama, yaitu memori program dan memori data. ATMega16 juga memiliki EEPROM untuk menyimpan data. ATMega16 memiliki 16 Kbyte On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Semua instruksi ATMega16 memiliki format 16 atau 32 bit. Jadi, memori flash diatur dalam 8k x 16 bit. Memori flash dibagi ke dalam dua bagian, yaitu bagian bootloader dan aplikasi. Bootloader adalah program kecil yang bekerja pada saat sistem dimulai dan dapat memasukkan seluruh program aplikasi ke dalam memori prosesor.
2. Memori Data SRAM
Memori data pada ATMega16 dibagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data terendah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang digunakan khusus untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter, fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk SRAM internal.
3. Memori Data EEPROM
Mikrokontroler ATMega16 terdiri dari 512 byte memori data EEPROM sebanyak 8 bi. Data dapat ditulis atau dibaca dari memori ini, ketika catu daya dimatikan. Data terakhir yang ditulis pada memori EEPROM masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.
4. Analog To Digital Converter
AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi, baik single ended input maupun differential input. Selain itu, ADC ATMega16 memiliki konfigurasi pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau (noise) yang amat fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri. ADC pada ATMega16 memiliki fitur-fitur antara lain :
• AREF adalah pin referensi analog untuk konverter A/D.
• Resolusi mencapai 10-bit.
• Akurasi mencapai ± 2 LSB.
• Waktu konversi 13-260μs.
• 8 saluran ADC dapat digunakan secara bergantian.
• Jangkauan tegangan input ADC bernilai dari 0 hingga VCC.
• Disediakan 2,56V tegangan referensi internal ADC.
• Mode konversi kontinyu.
• Interupsi ADC complete.
• Sleep Mode Noise canceler.
0 Komentar