Port B
Port B merupakan port I/O 8-bit bi-directional yang masing-masing pin-nya dapat dikonfigurasi secara individual. Masing-masing pin dalam port ini juga memiliki fasilitas berupa resistor pull-up internal yang berguna untuk memberikan kondisi yang tentu (tidak ngambang) pada saat dikonfigurasi sebagai input, tanpa harus memberikan resistor pull-up eksternal. Port B mempunyai tiga buah lokasi memori, lokasi memori tersebut adalah :
Data Register (PORTB), berlokasi pada $18 ($38). Register ini bisa ditulis/baca, lihat pada Tabel 2.1
Data Directional Register port B (DDRB), berlokasi pada $17 ($37). Register ini bisa ditulis/baca, lihat pada Tabel 2.1
Port B Input Pin (PINB), berlokasi pada $16 ($36). PINB bukanlah suatu register, namun pin-pin fisik pada hardware mikrokontroller. PINB ini hanya bisa dibaca, lihat pada Tabel 2.1
Tabel 2.1 – Register Port B
Beberapa pin pada Port B memiliki fungsi altenatif, yang bisa digunakan sesuai dengan kebutuhan, pin-pin tersebut adalah PB0, PB1, PB3, PB5, PB6, dan PB7. Fungsi altenatif Port B dapat dilihat pada Tabel 2.2
Tabel 2.2 – Fungsi Altenatif Port B
Port D
Port D memiliki tiga buah lokasi memori, yaitu PORTD, DDRD, dan PIND.
PORTD (Data Direction), berlokasi pada $12 ($32). Register ini bisa ditulis/baca, lihat Tabel 2.3
DDRD (Data Direction Register port D), berlokasi pada $11 ($31). Register ini bisa ditulis/baca, lihat Tabel 2.3
PIND (Port D Input Pins), berlokasi pada $10 ($10). PIND bukanlah register dan hanya bisa dibaca, lihat Tabel 2.3
Tabel 2.3 – Register Port D
Pin Port D memiliki fungsi altenatif, bisa dilihat pada Tabel 2.4
Tabel 2.4 – Fungsi Altenatif Port D
Register I/O
Register I/O merupakan register yang sangat penting karena register ini berfungsi untuk mengatur dan melakukan kontrol terhadap berbagai peripheral mikrokontroler. Register-register I/O dapat dilihat pada Tabel 2.5
Tabel 2.5 – Register I/O
Timer/Counter
AT90S2313 memiliki dua modul Timer/Counter, yaitu Timer/Counter0 (8-bit) yang dinamakan TCNT0 dan Timer/Counter1 (16-bit) yang dinamakan TCNT1L dan TCNT1H. Untuk mengatur kerja Timer/Counter perlu melakukan setting terhadap bit-bit dalam register I/O.
TCNT0 (Timer/Counter0 8-bit)
Register-register yang berhubungan dengan penggunaan Timer/Counter0 adalah TCCR0 (Timer/Counter0 Control Register), TIFR (Timer/Counter0 Interrupt Flag Register), dan TIMSK (Timer/Counter0 Interrupt Mask Register). Sumber clock untuk Timer/Counter0 dapat berasal dari clock CK, clock CK yang di prescaler, atau clock dari pin eksternal. Clock eksternal dapat digunakan sebagai sumber clock bagi TCNT0 melalui pin PD4/T0. Sinyal kendali untuk Timer/Counter0 diatur menggunakan register TCCR0. Hanya tiga bit dalam TCCR0 yang digunakan, yaitu CS00 (bit0), CS1 (bit1), CS (bit2). Bit-bit ini digunakan untuk menentukan nilai prescaler dan sumber clock yang digunakan. Lihat Tabel 2.6
Tabel 2.6 – Register TCCR0
Nilai pengaturan bit-bit dalam register TCCR0 ditentukan menurut Tabel 2.7
Tabel 2.7 – Pengaturan TCCR0
TCNT1H dan TCNT1L (merupakan 2 register Timer/Counter1 16-bit)
Register-register yang berhubungan dengan pengaturan Timer/Counter1 adalah TCCR1B, TIFR, dan TIMSK. Timer/Counter1 juga mendukung fungsi Output Compare menggunakan register Timer/Counter1. Selain itu, Timer/Counter1 juga dapat digunakan sebagai modul PWM 8-bit, 9-bit, atau 10-bit. Penggunaan Timer/Counter1 sebagai modul PWM akan melibatkan register OCR1.
Untuk fungsi Input Capture, Timer/Counter1 menyediakan capture dari isi Timer/Counter1 ke dalam register ICP. Pengaturan capture dilakukan menggunakan register kontrol TCCR1B.
Sensor LM35
Sensor LM35 adalah IC sensor suhu berupa rangkaian terpadu atau IC yang tegangan outputnya Vout sebanding dengan suhu Celcius (0C). Kepekaan sensor ini sama dengan 10mV/0C. rentang suhu tegangan dari 20C sampai 1500C. Bentuk fisik LM35 dan rangkaiannya dapat dilihat pada Gambar 2.4
Gambar 2.4 – LM35 dan Rangkaian
|