Basic AVR Microcontroller Tutorial
Oleh :
Hendawan Soebhakti, ST
Agustus 2007
Parkway Street, Batam Centre
Batam 29461
Telp. 62-778 469856 – 469861
Fax. 62-778 463620
http://www.polibatam.ac.id
Basic AVR Tutorial by Hendawan Soebhakti Page 2 of 68
Electrical Engineering – Batam Polytechnic
DAFTAR ISI
1. AVR ATMega 8535L
2. Operasi Aritmatika, Logika dan Percabangan
3. Interupsi
4. Timer/Counter
5. Pengendalian Motor Stepper
6. LCD 16x2
7. PWM dan Pengendalian Motor DC
8. Motor Servo
9. Keypad
10. Komunikasi Serial USART
Basic AVR Tutorial by Hendawan Soebhakti Page 3 of 68
Electrical Engineering – Batam Polytechnic
BAB I
AVR ATMega 8535L
1.1 Sekilas Tentang AVR
AVR : Alf and Vegard RISC atau
AVR : Advanced Virtual RISC
RISC: Reduced Instruction Set Computer
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.
1.2 Karakteristik mikrokontroler AVR seri ATMega8535
1.2.1 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
Basic AVR Tutorial by Hendawan Soebhakti Page 4 of 68
Electrical Engineering – Batam Polytechnic
1.2.2 Konfigurasi Pin ATMega8535
Gambar 1.1 Konfigurasi Pin ATMega8535
1.2.3 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. Jika Boot Loader diproteksi, maka program pada Application Flash Section
juga sudah aman.
Gambar 1.2 Peta Program Memory
Basic AVR Tutorial by Hendawan Soebhakti Page 5 of 68
Electrical Engineering – Batam Polytechnic
• Data Memory
Gambar berikut menunjukkan peta memori SRAM pada ATMega8535. Terdapat 608 lokasi address data memori.
96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 lokasi address lainnya digunakan
untuk internal data SRAM. Register File terdiri dari 32 general purpose working register, I/O register terdiri dari 64
register.
Gambar 1.3 Peta Data Memory
• EEPROM Data Memory
ATMega8535 memiliki EEPROM sebesar 512 byte untuk menyimpan data. Lokasinya terpisah dengan sistem
address register, data register dan control register yang dibuat khusus untuk EEPROM.
1.3 Status Register (SREG)
Status Register adalah register yang memberikan informasi yang dihasilkan dari eksekusi instuksi aritmatika.
Informasi ini berguna untuk mencari alternatif alur program sesuai dengan kondisi yang dihadapi.
Bit 7 – I : Global Interrupt Enable
Jika bit Global Interrupt Enable diset, maka fasilitas interupsi dapat dijalankan. Bit ini akan clear ketika ada interrupt
yang dipicu dari hardware, setelah program interrupt dieksekusi, maka bit ini harus di set kembali dengan instruksi SEI.
Bit 6 – T : Bit Copy Storage
Instruksi bit copy BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit.
Bit 5 – H : Half Carry Flag
评论0