Anda di halaman 1dari 23

Akademi Manajemen Informasi dan Komunikasi (AMIK) TEKNIK KOMPUTER dan INFORMATIKA BINA SARANA INFORMATIKA

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

Sekilas Tentang AVR


Arsitektur mikrokontroler jenis AVR pertamakali dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler AVR kemudian dikembangkan lebih lanjut oleh Atmel. Seri pertama AVR yang dikeluarkan adalah mikrokontroler 8 bit AT90S8515, dengan konfigurasi pin yang sama dengan mikrokontroler 8051, termasuk address dan data bus yang termultipleksi. Mikrokontroler AVR menggunakan teknologi RISC dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya. Pada awal era industri komputer, bahasa pemrograman masih menggunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam pemrograman para desainer komputer kemudian mengembangkan bahasa pemrograman tingkat tinggi yang mudah dipahami manusia. Namun akibatnya, instruksi yang ada menjadi semakin komplek dan membutuhkan lebih banyak memori. Dan tentu saja siklus eksekusi instruksinya menjadi semakin lama. Dalam AVR dengan arsitektur RISC 8 bit, semua instruksi berukuran 16 bit dan sebagian besar dieksekusi dalam 1 siklus clock.

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.

Karakteristik mikrokontroler AVR seri ATMega8535


Fitur ATMega8535 Fitur yang tersedia pada ATMega 8535 adalah : Frekuensi clock maksimum 16 MHz Jalur I/O 32 buah, yang terbagi dalam PortA, PortB, PortC dan PortD Analog to Digital Converter 10 bit sebanyak 8 input Timer/Counter sebanyak 3 buah CPU 8 bit yang terdiri dari 32 register Watchdog Timer dengan osilator internal SRAM sebesar 512 byte Memori Flash sebesar 8 Kbyte dengan kemampuan read while write Interrupt internal maupun eksternal Port komunikasi SPI EEPROM sebesar 512 byte yang dapat diprogram saat operasi Analog Comparator Komunikasi serial standar USART dengan kecepatan maksimal 2,5 Mbps

Peta Memori ATMega8535


ATMega8535 memiliki dua jenis memori yaitu Data Memory dan Program Memory ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data. Program Memory ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertamakali diaktifkan. Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ.

Mengenal Mirokontroler AVR ATmega16


AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving, ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. ATMega16. ATMega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya versus kecepatan proses.

Beberapa keistimewaan dari AVR ATMega16 antara lain:


1. Advanced RISC Architecture 130 Powerful Instructions Most Single Clock Cycle Execution 32 x 8 General Purpose Fully Static Operation Up to 16 MIPS Throughput at 16 MHz On-chip 2-cycle Multiplier 2. Nonvolatile Program and Data Memories 8K Bytes of In-System Self-Programmable Flash Optional Boot Code Section with Independent Lock Bits 512 Bytes EEPROM 512 Bytes Internal SRAM Programming Lock for Software Security 3. Peripheral Features Two 8-bit Timer/Counters with Separate Prescalers and Compare Mode Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes

Gambar 1 Pin-pin ATMega16 kemasan 40-pin

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

Tabel 1 Konfigurasi pin port

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.

Kode Memori Flash


Memori flash merupakan block dari memori flash yang dimulai dari 0X000 dan ukurannya tergantung dari mikrokontroler yang digunakan. Memori flash merupakan memori non volatile dan digunakan untuk menyimpan kode eksekusi dan konstanta. Karena kode kode tersebut akan digunakan kembali meskipun mikrokontroler tidak terhubung ke catu daya. Ruang

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

Mikrokontroler AVR dari keluarga RISC (Reduce Instruction Set Computing)

18

Mikrokontroler AVR ATTiny84


Mikrokontroler AVR dari keluarga RISC (Reduce Instruction Set Computing) 8 bit dapat dikelompokkan menjadi 4 kelas, yaitu kelas dengan jumlah pin terbesar ATMega, AT90Sxx, AT86RFxx dan yang terakhir adalah kelas Tiny dengan ukuran dan jumlah pin yang paling minim. Masing-masing kelas dibedakan oleh peripheral dan fungsinya, selebihnya dari sisi instruksi dan register yang digunakan hampir sama. Semua instruksi pada mikrokontroler AVR RISC 8 bit dikodekan ke dalam bentuk 16 bit dan sebagian besar instruksi ini dieksekusi dalam 1 (satu) siklus clock, berbeda dengan keluarga MCS51 yang berarsitektur CISC (Complex Instruction Set Computing), kecepatan eksekusi pada mikrokontroler AVR ini masih 12 kali lebih cepat.

19

Konfigurasi Pin Mikrokontroler AVR ATTiny84


Konfigurasi pin pada mikrokontroler dapat dilihat pada gambar di bawah ini . Dari gambar tersebut dapat dijelaskan secara fungsional pin-pin pada Mikrokontroler AVR ATTiny 84: 1. VCC merupakan pin masukan catu daya. 2. GND merupakan pin ground. 3. Port B (PB3-PB0) merupakan port I/O selebar 4 bit dan bersifat 2 arah. Selain sebagai port, port B juga memiliki fungsi khusus sebagai pin reset, pin masukanclock eksternal, interrupt serta sebagai output PWM. 4. Port A (PA7-PA0) merupakan Port I/O selebar 8 bit dan bersifat 2 arah. fungsi khusus port A adalah sebagai pin masukan ADC (ADC0-ADC7) dan tegangan referensinya, pin masukan sumber clock eksternal Timer/Counter, keluaran PWM, USI, analog comparator dan Interrupt.

20

Fitur Mikrokontroler AVR ATTiny84

21

Fitur-fitur mikrokontroler AVR ATTiny84 antara lain:


1. Sistem mikrokontroler berarsitektur RISC dengan 8 bit bus data dengan kecepatan maksimal mencapai 20 MHz. 2. 12 bit salutan I/O (Input/Output): Port A (8 bit) dan Port B (4 bit). 3. Kapasitas memori flash 8 KB, SRAM sebesar 512 Byte dan EEPROM (Electrically Erasable Programable Read Only Memory) sebesar 512 Byte. 4. 2 buah Timer/Counter dengan prescaler 10 bit, masing-masing memiliki 2 saluran keluaran PWM (Pulse Width Modulation). 5. ADC (Analog to Digital Converter) internal dengan resolusi 10 bit sebanyak 8 saluran untuk mode single-ended. 6. USI (Universal Serial Interface) dengan mode 3-wire dan 2-wire. 7. Pembangkit interupsi internal dan eksternal. 8. CPU dengan 32 register untuk pekerjaan umum yang terhubung langsung dengan ALU (Arithmetic Logic Unit).

22

Sumber Referensi

-http//www.google.com -http//ilmukomputer.com -Buku mikrokontroler AVR ATmega dan pemrogramannya. -elektro-kontrol.blogspot.com -modul Mikrokontroler

23

Anda mungkin juga menyukai