Mikrokontroler merupakan sebuah sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC, sehingga sering disebut
single chip microcomputer. Lebih lanjut, mikrokontroler merupakan sistem komputer yang mempunyai satu atau beberapa tugas yang sangat spesifik, berbeda dangan PC (Personal Computer) y
ang memiliki beragam fungsi. Perbedaan lainnya adalah perbandingan RAM dan ROM yang sangat berbeda antara komputer dengan mikrokontroler.
Mikrokontroler adalah sebuah system microprocessor dimana didalamnya sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chipyang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya menurut Winoto (2008:3).
Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri MCS-51. AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51 berteknologi CISC (Complex Instruction Set Computer). Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan periperal dan fungsi-fungsi tambahan yang dimiliki. Berikut ini penjelasan lebih lengkap mengenai Mikrokontroler ATMega8535:
A. Mikrokontroler ATMega8535
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan. Fitur-fitur tersebut antara lain:
- Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D
- ADC (Analog to Digital Converter)
- Tiga buah Timer/Counter dengan kemampuan perbandingan
- CPU yang terdiri atas 32 register
- Watchdog Timer dengan osilator internal
- SRAM sebesar 512 byte
- Memori Flash sebesar 8kb dengan kemampuan read while write
- Unit Interupsi Internal dan External
- Port antarmuka SPI untuk men-download program ke flash
- EEPROM sebesar 512 byte yang dapat diprogram saat operasi
- Antarmuka komparator analog
- Port USART untuk komunikasi serial.
B. Konfigurasi Pin ATMega8535
Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya digunakan sebagaiport paralel. Satu port paralel terdiri dari 8 pin, sehingga jumlah port pada mikrokontroler adalah 4 port, yaitu port A, port B, port C dan port D. Sebagai contoh adalah port A memilikipin antara port A.0 sampai dengan port A.7, demikian selanjutnya untuk port B, port C, port D. Diagram pin mikrokontroler dapat dilihat pada gambar berikut:
- Diagram Pin ATMega8535
Berikut ini adalah tabel penjelasan mengenai pin yang terdapat pada mikrokontroler ATMega8535:
Tabel Penjelasan pin pada mikrokontroler ATMega8535
Vcc | Tegangan suplai (5 volt) |
GND | Ground |
RESET | Input reset level rendah, pada pin ini selama lebih dari panjang pulsa minimum akan menghasilkan reset walaupun clocksedang berjalan. RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama minimal 2 machine cycle maka sistem akan di-reset |
XTAL 1 | Input penguat osilator inverting dan input pada rangkaian operasi clock internal |
XTAL 2 | Output dari penguat osilator inverting |
Avcc | Pin tegangan suplai untuk port A dan ADC. Pin ini harus dihubungkan ke Vcc walaupun ADC tidak digunakan, maka pinini harus dihubungkan ke Vcc melalui low pass filter |
Aref | pin referensi tegangan analog untuk ADC |
AGND | pin untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki analog ground yang terpisah |
Berikut ini adalah penjelasan dari pin mikrokontroler ATMega8535 menurut port-nya masing-masing:
1. Port A
Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A digunakan.Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin pada port A juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port A
Pin
|
Keterangan
|
PA.7 | ADC7 (ADC Input Channel 7) |
PA.6 | ADC6 (ADC Input Channel 6) |
PA.5 | ADC7 (ADC Input Channel 5) |
PA.5 | ADC4 (ADC Input Channel 4) |
PA.3 | ADC3 (ADC Input Channel 3) |
PA.2 | ADC2 (ADC Input Channel 2) |
PA.1 | ADC1 (ADC Input Channel 1) |
PA.0 | ADC0 (ADC Input Channel 0) |
2. Port B
Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan.Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port B
Pin
|
Keterangan
|
PB.7 | SCK (SPI Bus Serial Clock) |
PB.6 | VISO (SPI Bus Master Input/Slave Output) |
PB.5 | VOSI (SPI Bus Master Output/Slave Input) |
PB.4 | SS (SPI Slave Select Input) |
PB.3 | AIN1 (Analog Comparator Negative Input)OCC (Timer/Counter0 Output Compare Match Output) |
PB.2 | AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt2 Input) |
PB.1 | T1 (Timer/Counter1 External Counter Input) |
PB.0 | T0 (Timer/Counter0 External Counter Input)XCK (JSART External Clock Input/Output) |
3. Port C
Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri merupakan port inputatau output. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit).Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus di-setting terlebih dahulu sebelum portC digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel II.6:
Tabel Penjelasan pin pada port C
Pin
|
Keterangan
|
PC.7 | TOSC2 (Timer Oscillator Pin 2) |
PC.6 | TOSC1 (Timer Oscillator Pin 1) |
PC.1 | SDA (Two-Wire Serial Bus Data Input/Output Line) |
PC.0 | SCL (Two-Wire Serial Bus Clock Line) |
4. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung.Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port D
Pin
|
Keterangan
|
PD.0 | RDX (UART input line) |
PD.1 | TDX (UART output line) |
PD.2 | INT0 (external interrupt 0 input) |
PD.3 | INT1 (external interrupt 1 input) |
PD.4 | OC1B (Timer/Counter1 output compareB match output) |
PD.5 | OC1A (Timer/Counter1 output compareA match output) |
PD.6 | ICP (Timer/Counter1 input capture pin) |
PD.7 | OC2 (Timer/Counter2 output compare match output) |