Monday, June 11, 2012

Mikrokontroler AVR


Keluarga mikrokontroler AVR 8 bit RISC memiliki core architecture yang sama. Yang membedakan keluarga tinyAVR, megaAVR dan AVR XMEGA adalah fitur fitur yang diusungnya. Dengan demikian, tidak ada kesulitan berarti dalam hal pemrograman, ketika kita berpindah platform dari suatu keluarga ke keluarga yang lainnya.

1.1.Port input/output
Port I/O dapat di konfigurasi sebagai input atau output. Perubahan konfigurasi ini dilakukan dengan mengubah isi register DDR-Data Direction Register yang bersangkutan. Misalnya, port C di konfigurasi sebagai input, maka isi register DDRC=0x00. Sebaliknya, bila di konfigurasi sebagai output, maka isi register DDRC=0xFF.
Ketika mikrokontroler mengeluarkan logika HIGH (logika 1) pada sebuah pin I/O, besar tegangan minimum pada pin yang bersangkutan adalah 4.2 V, dengan kondisi tegangan catu (VCC) 5V. arus yang disediakan (current source) pada saat pin I/O ber logika HIGH (IOH) adalah 20 mA. Jumlah total IOH untuk semua port tidak boleh melebihi 200mA.
Ketika mikrokontroler mengeluarkan logika LOW (logika 0) pada sebuah pin I/O, besar tegangan minimum pada pin yang bersangkutan adalah 0.7 V, dengan kondisi tegangan catu (VCC) 5V. arus yang disediakan (current source) pada saat pin I/O ber logika HIGH (IOH) adalah 20 mA. Jumlah total IOH untuk semua port tidak boleh melebihi 200mA.



Setiap pin I/O mikrokontroler memiliki resistor pull-up internal (20k-50k) dan memiliki diode proteksi yang terhubung VCC dan Ground.
Bila pin I/O di konfigurasikan sebagai input, resistor pull-up internal dapat dipilih untuk diaktifkan atau tidak. Bila pin I/O di konfigurasikan sebagai output, resistor pulol-up internal tidak dapat  diaktifkan. Aktivasi resistor pull-up internal dilakukan dengan memberikan logika HIGH pada port atau pin yang bersangkutan.
Kondisi logika pada pin input dibaca melalui register PINxn. Bila membaca melalui register PORTxn, maka yang terbaca adalah logika pada register PORTxn(latch). Bila instruksi membaca kondisi logika pada register PINxn muncul tepat setelah instruksi menulis ke register PORTxn, maka diperlukan delay satu periode clock (dapat dilakukan dengan menyisipkan instruksi NOP) untuk sinkronisasi latch.
Ketika pin I/O di konfigurasi sebagai input, mikrokontroler akan membaca logika LOW untuk input tegangan 0 sampai dengan 0.2 x Vcc dan membaca logika HIGH untuk input tegangan 0.6xVcc sampai dengan Vcc.

1.2.System minimum mikrokontroler AVR
Gambar disamping adalah system minimum MikroAVR, yang menggunakan AVR ATmega8535, ATmega16 atau ATmega32. System sudah dilengkapi dengan koneksi USB ISP programmer, sehingga pemrograman dapat dilakukan dengan mudah.
Kebanyakan mikrokontroler saat ini, termasuk AVR, menggunakan teknik ISP in system programming, untuk memogramnya. Dengan cara ini, chip dapat di program tanpa harus melepasnya dari rangkaian aplikasi. Computer dan chip mikrokontroler dihubungkan dengan ISP programmer, yang umumnya, menggunakan standard AVR910 (k125).

Keluarga mikrokontroler AVR 8 bit RISC memiliki core architecture yang sama. Yang membedakan keluarga tinyAVR, megaAVR dan AVR XMEGA adalah fitur fitur yang diusungnya. Dengan demikian, tidak ada kesulitan berarti dalam hal pemrograman, ketika kita berpindah platform dari suatu keluarga ke keluarga yang lainnya.

1.1.Port input/output
Port I/O dapat di konfigurasi sebagai input atau output. Perubahan konfigurasi ini dilakukan dengan mengubah isi register DDR-Data Direction Register yang bersangkutan. Misalnya, port C di konfigurasi sebagai input, maka isi register DDRC=0x00. Sebaliknya, bila di konfigurasi sebagai output, maka isi register DDRC=0xFF.
Ketika mikrokontroler mengeluarkan logika HIGH (logika 1) pada sebuah pin I/O, besar tegangan minimum pada pin yang bersangkutan adalah 4.2 V, dengan kondisi tegangan catu (VCC) 5V. arus yang disediakan (current source) pada saat pin I/O ber logika HIGH (IOH) adalah 20 mA. Jumlah total IOH untuk semua port tidak boleh melebihi 200mA.
Ketika mikrokontroler mengeluarkan logika LOW (logika 0) pada sebuah pin I/O, besar tegangan minimum pada pin yang bersangkutan adalah 0.7 V, dengan kondisi tegangan catu (VCC) 5V. arus yang disediakan (current source) pada saat pin I/O ber logika HIGH (IOH) adalah 20 mA. Jumlah total IOH untuk semua port tidak boleh melebihi 200mA.



Setiap pin I/O mikrokontroler memiliki resistor pull-up internal (20k-50k) dan memiliki diode proteksi yang terhubung VCC dan Ground.
Bila pin I/O di konfigurasikan sebagai input, resistor pull-up internal dapat dipilih untuk diaktifkan atau tidak. Bila pin I/O di konfigurasikan sebagai output, resistor pulol-up internal tidak dapat  diaktifkan. Aktivasi resistor pull-up internal dilakukan dengan memberikan logika HIGH pada port atau pin yang bersangkutan.
Kondisi logika pada pin input dibaca melalui register PINxn. Bila membaca melalui register PORTxn, maka yang terbaca adalah logika pada register PORTxn(latch). Bila instruksi membaca kondisi logika pada register PINxn muncul tepat setelah instruksi menulis ke register PORTxn, maka diperlukan delay satu periode clock (dapat dilakukan dengan menyisipkan instruksi NOP) untuk sinkronisasi latch.
Ketika pin I/O di konfigurasi sebagai input, mikrokontroler akan membaca logika LOW untuk input tegangan 0 sampai dengan 0.2 x Vcc dan membaca logika HIGH untuk input tegangan 0.6xVcc sampai dengan Vcc.

1.2.System minimum mikrokontroler AVR
Gambar disamping adalah system minimum MikroAVR, yang menggunakan AVR ATmega8535, ATmega16 atau ATmega32. System sudah dilengkapi dengan koneksi USB ISP programmer, sehingga pemrograman dapat dilakukan dengan mudah.
Kebanyakan mikrokontroler saat ini, termasuk AVR, menggunakan teknik ISP in system programming, untuk memogramnya. Dengan cara ini, chip dapat di program tanpa harus melepasnya dari rangkaian aplikasi. Computer dan chip mikrokontroler dihubungkan dengan ISP programmer, yang umumnya, menggunakan standard AVR910 (k125).

No comments:

Post a Comment