siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitektur CISC Complex Instruction Set Computer di mana mikrokontroler MCS51
membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Selain itu mikrokontroler ATmega16 memiliki fitur yang lengkap ADC internal, EEPROM internal,
TimerCounter, Watchdog Timer, PWM, Port IO, komunikasi serial, Komparator, dan lain- lain, sehingga dengan fasilitas yang lengkap ini, programmer dan desaine r dapat
menggunakannya untuk berbagai aplikasi sistem elektronika seperti robot, otomasi industri, peralatan telekomunikasi, dan berbagai keperluan lain.
Fitur mikokontroler ATmega16 sebagai berikut [2] : a.
Mikrokontroler ATmega16 yang memiliki 8 bit dan kemampuan tinggi dengan daya rendah.
b. Arsitektur RISC dengan troughput mencapai 16 MIPS pada frekuensi 16 MHz.
c. Memiliki kapasitas Flash memori 16 KByte, EEPROM 512 Byte dan SRAM 1
KByte. d.
Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D. e.
Unit interupsi internal dan eksternal. f.
Fitur Peripheral yaitu tiga buah TimerCounter, Real Time Counter dengan Oscillator tersendiri, empat channel PWM, delapan channel 10-bit ADC,
Byteoriented Two-wire Serial Interface, Programmable Serial USART, antarmuka SPI, Watchdog Timer dengan oscillator internal, dan On-chip Analog
Comparator.
2.2.1. Konfigurasi Pin ATmega16
Gambar 2.1. Konfigurasi kaki pin ATmega16 [3] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Konfigurasi pin ATmega16 dengan kemasan 40 pin Dual In-line Package DIP dapat dilihat pada Gambar 2.13. dari gambar diatas dapat dijelaskan fungsi dari masing-
masing pin ATmega16 sebagai berikut. 1.
VCC merupakan pin yang berfungsi sebagai masukan catu daya 2.
GND merupakan pin Ground 3.
Port A PA0 – PA7 merupakan pin inputoutput dua arah full duplex dan selain itu merupakan pin masukan ADC
4. Port B PB0 – PB7 merupakan pin inputoutput dua arah full duplex dan
selain itu merupakan pin khusus, seperti dapat dilihat pada tabel 2.1. Tabel 2.1. Fungsi khusus port B
Pin Fungsi Khusus
PB0 XCK USART External Clock InputOutput T0 TimerCounter0 External Counter Input
PB1 T1 TimerCounter1 External Counter Input PB2 INT2 External Interupt 2 Input
AIN0 Analog Comparator Negative Input PB3 OC0 TimerCounter0 Output Compare Match Output
AIN1 Analog Comparator Negative Input PB4 SS SPI Slave Select Input
PB5 MOSI SPI Bus Master Output Slave Input PB6 MISO SPI Bus Master Input Slave Output
PB7 SCK SPI Bus Serial Clock
5. Port C PC0 – PC7 merupakan pin inputoutput dua arah full duplex dan
selain itu merupakan pin khusus, seperti dapat dilihat pada tabel 2.2. Tabel 2.2. Fungsi khusus port C
Pin Fungsi Khusus
PC0 SCL Two-wire Serial Bus Clock Line
PC1 SDA Two-wire Serial Bus Data InputOutput Line PC2 TCK Joint Test Action Grup Test Clock
PC3 TMS JTAG Test Mode Select PC4 TDO JTAG Data Out
PC5 TDI JTAG Test Data In PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 2.2. Lanjutan Fungsi khusus port C Pin
Fungsi Khusus PC6 TOSC1 Timer Oscillator pin 1
PC7 TOSC2 Timer Oscillator pin 2
6. Port D PD0 – PD7 merupakan pin inputoutput dua arah full duplex dan
selain itu merupakan pin khusus, seperti dapat dilihat pada tabel 2.3. Tabel 2.3. Fungsi khusus port D
Pin Fungsi Khusus
PD0 RXD USART Input Pin
PD1 TXD USART Output Pin PD2 INT0 External Interupt 0 Input
PD3 INT1 External Interupt 1 Input PD4 OC1B TimerCounter1 Output Compare B Match Output
PD5 OC1A TimerCounter1 Output Compare A Match Output PD6 ICP TimerCounter1 Input Capture Pin
PD7 OC2 TimerCounter2 Output Compare Match Output
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler
8. XTAL1 dan XTAL2, merupakan pin masukan external clock
9. AVCC merupakan pin masukan tegangan untuk ADC
10. AREF merupakan pin masukan tegangan referensi untuk ADC.
2.2.2. Pemrograman Mikrokontroler ATmega16