DAFTAR ISI Cover1 Daftar isi..2 Sekilas tentang AVR3 Fitur ATmega8535...5 Mikrokontroler ATmega16..7 Keistimewaan AVR ATmega168 Pin/Port ATmega16..9 Port I/O.10 Timer.12 Arsitektur Mikrokontroler13 Memory.14 Register..16 EEPROM17 Mikrokontroler AVR ATTiny84.19 Konfigurasi Pin Mikrokontroler AVR ATTiny84..20 Fitur mikrokontroler AVR ATTiny8421 Sumber Referensi23
Berbeda dengan mikrokontroler MCS-51 yang instruksinya bervariasi antara 8 bit sampai 32 bit dan dieksekusi selama 1 sampai 4 siklus mesin, dimana 1 siklus mesin membutuhkan 12 periode clock. Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx, ATMega, AT86RFxx dan ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja.
Pin-pin pada ATMega16 dengan kemasan 40-pin DIP (dual inline package) ditunjukkan oleh gambar 1. Guna memaksimalkan performa, AVR menggunakan arsitektur Harvard (dengan memori dan bus terpisah untuk program dan data).
Port sebagai input/output digital ATMega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf xmewakili nama huruf dari port sedangkan huruf n mewakili nomor bit.
I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam register DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input.Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output. Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
10
Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.
11
Bit 2 PUD : Pull-up Disable Bila bit diset bernilai 1 maka pull-up pada port I/O akan dimatikan walaupun register DDxn dan PORTxn dikonfigurasikan untuk menyalakan pull-up (DDxn=0, PORTxn=1).
Timer Timer/counter adalah fasilitas dari ATMega16 yang digunakan untuk perhitungan pewaktuan. Beberapa fasilitas chanel dari timer counter antara lain: counter channel tunggal, pengosongan data timer sesuai dengan data pembanding, bebas -glitch, tahap yang tepat Pulse Width Modulation (PWM), pembangkit frekuensi, event counter external..
12
Arsitektur Mikrokontroler
Arsitektur Mikrokontroler Mikrokontroler AVR RISC (Reduced Intruction Set Computing) / (komputasi set intruksi yang disederhanakan, pertama kali digagas oleh Jhon Cocke) adalah perangkat yang didesain untuk berjalan dengan cepat, dengan intruksi mesin yang disederhanakan. Sehingga dapat meningkatkan kinerja dari Mikrokontroler.
13
Mikrokontroler RISC dapat berjalan pada single cycle dari prosesor clock, yang berarti mikrokontroler AVR dengan clock 8 Mhz, dapat mengeksekusi 8 juta intruksi perdetiknya atau 8 MIPS (Million Instruction Per Second).
Memori
Bagian memori dari Mikrokontroler Atmel RISC berbasis harvard model, yang mana memori nya terbagi sehingga dapat meningkatkan kecepatan akses dan meningkatkan kapasitas. CPU membagi antarmuka untuk bagian kode memori Flash, bagian memori data, dan bagian memori EEPROM.
14
memori antara 16 bit pada setiap lokasi untuk menangani intruksi mesin yang khususnya single 16 bit word. Yang dimaksud non volatile yaitu: kde yang disimpan dalam memori tidak hilang meskipun mikrokontroler tidak dialiri listrik.
Memori Data
Memori data Atmel AVR khasnya terdiri dari 3 bagian memori baca / tulis terpisah, bagian terendah terdiri dari 32 register kerja umum,yang diiuti oleh 64 register I/O, yang diikuti oleh internal SRAM. Register kerja umum hanya digunakan untuk menyimpan variable local dan data temporal yang digunakan program pada saat dieksekusi dan juga digunakan untuk menyimpan data variabel global, 64 Register I/O digunakan sebagai antarmuka untuk perangkat I/O dan peripheral yang berada dipapan mikrokontroler. Dan internal SRAM digunakan sebagai area penyimpanan umum dan juga untuk prosesor stack.
15
Register register
Register kerja umum menempati 32 selterndah dalam data memori. Register ini kebanyakan digunakan seperti data penyimpanan dalam kalkulator, yang mana hanya disimpan sementara. Terkadang digunakan untuk menyimpan variable local dan variable global. Juga sebagai pengarah ke memori yang digunakan oleh prosesor. Singkatnya prosesor menggunakan 32 register sebagaimana program dieksekusi.
Register I/O
Setiap register memberikan akses ke register control atau register data I/O peripheral yang berada dalam mikrokontroler. Progremer lebih sering menggunakan I/O register sebagai antarmuka ke peripheral I/O dari mikrokontroler. Ukuran register I/O tergantung dari perangkat. Setiap register I/O nama, sebuah alamat I/O, dan alamat SRAM.
16
SRAM
Bagian SRAM dari memori digunakan untuk menyimpan bagian variable yang tidak dapat disimpan kedalam register dan untuk menyimpan prosesor stack.
Memori EEPROM
Bagian memori EEPROM adalah bagian memori baca / tulis yang non volatile , ini biasanya digunakan untuk menyimpan data yang tidak boleh hilang sat catu daya dilepas (mikrokontroler dimatikan) dan dipasang kembali (mikrokontroler dinyalakan). Ruang EEPROM dimulai dari 0X000 dan ke nilai maksimum tergantung spesifikasi mikrokontroler yang digunakan.
17
18
19
20
21
22
Sumber Referensi
-http//www.google.com -http//ilmukomputer.com -Buku mikrokontroler AVR ATmega dan pemrogramannya. -elektro-kontrol.blogspot.com -modul Mikrokontroler
23