I External Interupt Mikrokontroler ATmega128

Tabel 2. 5. Nilai clock dan prescaler pada Timer Counter 1 [5] CS0.2 CS0.1 CS0.0 Keterangan Timer Counter tidak aktif 1 Clock 1, Prescaler = 1 1 Clock 8, Prescaler = 8 1 1 Clock 64, Prescaler = 64 1 Clock 256, Prescaler = 256 1 1 Clock 1024, Prescaler = 1024 1 1 External clock pada pin T1, falling edge 1 1 1 External clock pada pin T1, rising edge

2.5.3 I

2 C – 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 data utama [5]. 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.8[5] Register TWCR digunakan sebagai pengatur operasi TWI. Register ini terdiri dari 8-bit data seperti ditunjukkan gambar. Gambar 2. 4. Register TWCR [5] Memberi logika high pada bit TWSTA menbuat perangkat menjadi master device pada jalur data. Perangkat akan mendeteksi keberadaan jalur data, apabila jalur data tersedia, maka perangkat akan menginisialisasi kondisi START. Apabila jalur data sedang digunakan oleh perangkat lain, maka perangkat akan menunggu sampai terdeteksi kondisi STOP kemudian menginisialisasi kondisi START dan mengambil alih jalur data. Sedangkan bit TWSTO digunakan untuk menginisialisasi kondisi STOP pada jalur data. Apabila perangkat diatur sebagai slave device, maka bit ini dapat digunakan untuk memulihkan kondisi eror. Bit TWEN digunakan untuk mengaktifkan antarmuka TWI. Saat TWEN bernilai 1, maka antarmuka TWI akan mengambil alih pin IO SDA dan SCL dan menggunakannya sebagai jalur data.

2.5.4 External Interupt

Mikrokontroler ATmega128 mempunyai delapan buah pin yang dapat digunakan sebagai external interrupt. Empat register utama digunakan sebagai pengatur kerja external interupt. Gambar 2. 5. Register EICRA [5] Register EICRA digunakan untuk mengatur kerja pin INT0 sampai INT3. Bit ISCn1 dan ISCn0 digunakan sebagai pengatur sinyal yang dapat digunakan sebagai perintah interupsi pada mikrokontroler, dengan huruf “n” menyatakan pin interupsi yang dituju. Tabel 2. 6. Pengaturan Bit ISCn1 dan ISCn0 [5] ISCn1 ISCn0 Keterangan Logika rendah pada pin INTn menyatakan interupsi 1 Reserved 1 Perubahan logika tinggi ke rendah pada pin INTn menyatakan interupsi 1 1 Perubahan logika rendah ke tinggi pada pin INTn menyatakan interupsi Gambar 2. 6. Register EICRB [5] Register EICRB digunakan untuk mengatur kerja pin INT4 sampai INT7. Bit ISCn1 dan ISCn0 digunakan sebagai pengatur sinyal yang dapat digunakan sebagai perintah interupsi pada mikrokontroler, dengan huruf “n” menyatakan pin interupsi yang dituju. Sinyal pada pin INTn akan diambil contohnya sampling sebelum dilakukan pengambilan keputusan interupsi. Sinyal yang panjangnya lebih besar dari sumber detak mikrokontroler akan digunakan sebagai sumber interupsi. Tabel 2. 7. Pengaturan Bit ISCn1 dan ISCn0 [5] ISCn1 ISCn0 Keterangan Logika rendah pada pin INTn menyatakan interupsi 1 Setiap perubahan logika pada pin INTn menyatakan interupsi 1 Perubahan logika tinggi ke rendah yang kedua kalinya pada pin INTn menyatakan interupsi 1 1 Perubahan logika rendah ke tinggi yang kedua kalinya pada pada pin INTn menyatakan interupsi Gambar 2. 7. Register EIMSK [5] Register EIMSK digunakan untuk mengaktifkan fungsi interupsi pada pin INTn. Apabila bit INTn pada register ini bernilai satu, maka pin INT pada mikrokontroler akan berfungsi sebagai sumber interupsi program.

2.5.5 EEPROM Electrical Erasable Programmable Read-Only Memory