2.3. Mikrokontroler ATmega 128
[12] ATmega128  merupakan  sebuah  mikrokontroler  CMOS  8-bit  berdaya  rendah  yang
berdasarkan  arsitektur  AVR  RISC  Reduced  Instruction  Set  Computing.  Mikrokontroler ATmega  128  merupakan  mikrokontroler  buatan  Atmel  Corporation  yang  memiliki  53  pin
dengan catu daya tunggal 4,5 – 5,5 volt..
a Saluran IO sebanyak 53 buah, yaitu Port A, Port B, Port C, Port D, Port E, Port F dan
Port G. b
ADC 10 bit sebanyak 8 saluran. c
Internal SRAM sebesar 4 kbyte.
d Memori flash sebesar 128 kBytes.
e Interupsi Eksternal.
f Port antarmuka SPI.
g EEPROM sebesar 4 kbyte.
h Dua buah port USART untuk komunikasi serial.
Gambar 2.10. Gambar konfigurasi pin ATmega 128
2.2.1. Port InputOutput
ATmega128  mempunyai  53  pin  IO  yang  terbagi  menjadi  tujuh  port  dan  mampu difungsikan  sebagai  masukan  atau  keluaran.  Setiap  pin  IO  mempunyai  tiga  register  yaitu
DDRxn, PORTxn dan PINxn yang nilainya tergantung dari aplikasi pin IO itu sendiri. Huruf “x”  mewakili  Port  IO tersebut,  sedangkan  huruf  “n”  mewakili  nomor  pin  IO  yang  dituju.
Untuk mengatur sebuah pin IO menjadi sebuah keluaran maka register DDR pada pin tersebut harus  diberi  logika  tinggi,  sedangkan  agar  berfungsi  sebagai  masukan,  maka  DDR  pada  pin
tersebut diberi logika rendah [13]. Saat berfungsi  sebagai pin  masukan,  maka register PINxn digunakan untuk  membaca
nilai  pada  pin  tersebut.  Sedangkan  saat  berfungsi  sebagai  sebuah  pin  keluaran,  register PORTxn digunakan untuk mengatur nilai keluaran pin IO tersebut.
2.2.2. – Two-Wire Serial Communication
Two-wire serial communication TWI adalah salah satu fitur yang sering dipakai pada
aplikasi  mikrokontroler.  TWI  memungkinkan  pengguna  untuk  terhubung  dengan  128 perangkat  yang  berbeda  dengan  hanya  menggunakan  dua  jalur  data,  SCL  sebagai  pengatur
clock dan SDA sebagai jalur utama.
Terdapat  lima  register  yang  digunakan  untuk  mengatur  penggunaan  TWI,  yaitu  TWI Bit  Rate  Register
TWBR,  TWI  Control  Register  TWCR,  TWI  Status  Register  TWSR, TWI Data Register TWDR, dan TWI Slave Address Register TWAR.
Register  TWBR  digunakan  sebagai  pengatur  bit  rate  dari  komunikasi  serial.  Nilai TWBR dapat dihitung dari rumus:
2.4
Register TWCR digunaakn sebagai pengatur operasi TWI. Register ini terdiri dari 8-bit data seperti ditunjukkan gambar 2.11.