modul mikro avr

21
PENDAHULUAN (MODUL I) A. TUJUAN Praktikan mampu membuat perangkat keras AVR kit dan DT-HIQ AVR In System Programming (ISP), serta memprogram mikrokontroler keluarga AVR dan menggunakan fitur-fitur yang dimilikinya. B. PENJELASAN PERANGKAT KERAS Mikrokontroler keluarga generasi AVR (Alf and Vegard’s Risc Processor) memiliki arsiterktur RISC (Reduced Instruction Set Computing) 8-bit, di mana semua intruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar intruksi dieksekusi dalam 1 siklus clock, berbeda dengan intruksi mikrokontroler keluarga MCS-51 yang membutuhkan 12 siklus clock. Fitur ATMega 16 Saluran I/O ada 32 buah, yaitu port A, port B, Port C, dan Port D ADC (analog to digital converter) 10 bit, sebanyak 8 chanel Tiga buah Timer/Counter dengan kemampuan perbandingan Dua buah Timer/Counter 8-bit Satu buah Timer/Counter 16-bit Watchdog Timer dengan osilator internal 131 intruksi yang umumnya hanya memerlukan 1 siklus clock Port USART programmable untuk komunikasi serial 4 chanel PWM 32 x 8 general purpose register CPU yang terdiri atas 32 register (register R0 s/d R31) Antarmuka komparator analog EEPROM sebesar 512 byte yang dapat diprogram pada saat sedang operasi Internal SRAM sebesar 1 KB Memori Flash sebesar 16 KB dengan kemampuan Read while Write Fasilitas interupsi internal dan eksternal

Upload: cahyadevianto

Post on 08-Aug-2015

88 views

Category:

Documents


4 download

DESCRIPTION

pembahasan modul mikro AVR

TRANSCRIPT

Page 1: modul mikro AVR

PENDAHULUAN(MODUL I)

A. TUJUANPraktikan mampu membuat perangkat keras AVR kit dan DT-HIQ AVR In System Programming (ISP), serta memprogram mikrokontroler keluarga AVR dan menggunakan fitur-fitur yang dimilikinya.

B. PENJELASAN PERANGKAT KERASMikrokontroler keluarga generasi AVR (Alf and Vegard’s Risc Processor) memiliki arsiterktur RISC (Reduced Instruction Set Computing) 8-bit, di mana semua intruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar intruksi dieksekusi dalam 1 siklus clock, berbeda dengan intruksi mikrokontroler keluarga MCS-51 yang membutuhkan 12 siklus clock.

Fitur ATMega 16 Saluran I/O ada 32 buah, yaitu port A, port B, Port C, dan Port D ADC (analog to digital converter) 10 bit, sebanyak 8 chanel Tiga buah Timer/Counter dengan kemampuan perbandingan Dua buah Timer/Counter 8-bit Satu buah Timer/Counter 16-bit Watchdog Timer dengan osilator internal 131 intruksi yang umumnya hanya memerlukan 1 siklus clock Port USART programmable untuk komunikasi serial 4 chanel PWM 32 x 8 general purpose register CPU yang terdiri atas 32 register (register R0 s/d R31) Antarmuka komparator analog EEPROM sebesar 512 byte yang dapat diprogram pada saat sedang operasi Internal SRAM sebesar 1 KB Memori Flash sebesar 16 KB dengan kemampuan Read while Write Fasilitas interupsi internal dan eksternal Port antamuka SPI Tegangan operasi 2,7 V – 5,5 V

Konfigurasi Pin ATMega 16Gambar 1.1 merupakan susunan kaki standar 40 pin (DIP) mikrokontroler ATMega 16. berikut penjelasan umum susunan kaki ATMega 16:

Page 2: modul mikro AVR

VCC merupakan pin masukkan positif catu daya (5 Volt) GND merupakan pin ground Port A (PA0 s/d PA7) merupakan pin I/O dua arah dan pin masukkan ADC Port B (PB0 s/d PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

Timer/Counter, komparator analog, dan SPI Port C (PC0 s/d PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI,

komparator analog, dan Timer osilator Port D (PD0 s/d PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu

komparator analog, interupsi eksternal, dan komunikasi serial RESET merupakan pin yang digunakan untuk mereset mikrokontroler XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal AVCC merupakan pin masukkan tegangan untuk ADC (5 Volt) AREF merupakan pin masukkan tegangan referensi untuk ADC

Gambar 1.1 Pin Mikrokontroler ATMega 16

Peta MemoriMikrokontroler keluarga AVR ATMega 16 memiliki ruang pengalamatan memori data dan memori program yang terpisah.

Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM internal. Berikut Gambar 1.2 di bawah merupakan gambaran dari memori data.

Register Umum AlamatR0 $0000

Page 3: modul mikro AVR

R1….s/dR31

$0001….s/d$001F

Register I/O Alamat$00$01

…s/d$3F

$0020$0021….s/d$005F

SRAM Internal$0060$0061…s/d

$045F (RAMEND)

Gambar 1.2 Peta Memori Data

Memori program yang terletak dalam FlashPEROM tersusun dalam word atau 2 byte. AVR ATMega 16 memiliki 8Kbyte x 16-bit FlashPEROM.

Perangkat Keras AVR kit dan DT-HIQ AVR ISPGambar 1.3 di bawah merupakan rangkaian minimum AVR kit ATMega 16. Sedangkan untuk rangkaian DT-HIQ AVR ISP (In System Programming) terdapat pada gambar 1.4 di bawah.

Page 4: modul mikro AVR

Gambar 1.3 Rangkaian Minimum AVR Kit/Adapter

Page 5: modul mikro AVR

Gambar 1.4 DT-HIQ AVR Kit In System Programming

C. PENJELASAN PERANGKAT LUNAKAda banyak program open source yang dapat dipergunakan sebagai editor dan compiler program mikrokontroler keluarga AVR. Diantaranya Bascom AVR dan CodeVision AVR berbasis bahasa basic dan C. Sedangkan program yang berbasis bahasa assembler dapat menggunakan AVR studio seri 3 atau 4 dan program AVR studio ini dilengkapi pula dengan simulator. Akan tetapi, untuk dapat melihat lebih detail proses perpindahan data antara register sebaiknya digunakan program AVR Astudio. Oleh karena itu, pada praktikum akan dipergunakan bahasa assembler.

Program AVR Studio seri 4Program AVR Studio seri 4 menyediakan area kerja dan toolbar yang memudahkan praktikan melakukan berbagaioperasi sesuai yang diinginkan. Pada saat pertama kali praktikan membuka program AVR Studio seri 4, tampilan yang terlihat adalah seperti ditunjukkan pada Gambar 1.5 di bawah.

Page 6: modul mikro AVR

Gambar 1.5 Tampilan AVR Studio 4 Saat Pertama Kali Dibuka

Tampilan pembuka tersebut akan memberikan pilihan bagi praktikan untuk membuat suatu proyek baru atau membuka proyek yang pernah dibuat. Apabila praktikan tidak mengiginkan kedua pilihan tersebut, praktikan dapat menekan tombol cancel.

Membuat ProyekUntuk membuat proyek baru, praktikan dapat melakukan langkah-langkah sebagai berikut.1. Pilih Create New Project baru pada saat pertama kali jendela welcome terbuka.2. Berikan nama untuk project anda pada kolom Project Name. Nama file sumber pada

kolom di bawahnya akan secara otomatis mengikuti. Apabila praktikan menginginkan nama yang berbeda, praktikan dapat mengubahnya. File sumber akan memiliki ekstensi asm.

3. Tandai pilihan Create Initial File.4. tentukan lokasi di mana proyek akan ditempatkan. Lakukan dengan menggunakan

fasilitas browse pada tombol di sebelah kanan kolom Location.5. Selanjutnya klik Next.

Page 7: modul mikro AVR

Gambar 1.6 Membuat Proyek Baru

6. Pilih platform debug yang ingin praktikan gunakan. Apabila praktikan tidak bekerja menggunakan emulator, maka praktikan dapat memilih AVR Simulator (Simulasi). Selanjutnya pilih tipe mikrokontroler yang praktikan inginkan.

Gambar 1.7 Memilih Platform Debug dan Tipe AVR

Page 8: modul mikro AVR

7. Klik Finish. Pada layr monitor akan muncul tampilan seperti pada gambar di bawah ini. Selanjutnya praktikan dapat menuliskan program assembler.

Gambar 1.8 Siap untuk Menuliskan Program Assembler AVRSetelah selesai menuliskan program assembler, praktikan harus menyimpannya dengan memilih FileSave atau klik toolbar . Selanjutnya pilih ProjectBuild. Seandainya pesan yang dihasilkan tidak menunjukkan adanya error, maka proyek tersebut telah berhasil dibangun. Setelah berhasil dibangun dengan tanpa error, praktikan dapat menyimpan proyrknya dengan memilih ProjectSave Project.

Pada proses pembangunan proyek, praktikan juga dapat menentukan jenis file tambahan yang ingin dibangkitkan. Caranya, pilih ProjectAVR Assembler Setup. Dari kotak dialog tersebut praktikan dapat menentukan apakah praktikan ingin membangkitkan file. Map maupun file. List.

Page 9: modul mikro AVR

Gambar 1.9 Pilihan untuk Membangkitkan File Map dan List

File.list merupakan file laporan hasil assembly program sumber (file.asm) yang berisi informasi mengenai versi assembler, tanggal, baris, alamat memori program atau program counter (PC), kode yang dihasilkan, keterangan error, dan informasi lainnya.

Pada sebuah proyek dimungkinkan terdapat lebih dari satu program sumber (file.asm) dan praktikan dapat memilih dari antara program sumber tersebut untuk dibangun. Cara menambahkan program sumber adalah dengan mengklik kanan folder Assembler pada jendela Workspace-Project. Selanjutnya, Create New File bila ingin membuat file sumber (file.asm) baru atau Add Existing file bila ingin menempatkan file sumber yang sudah ada ke dalam proyek anda.

Gambar 1.10 Menambah File Sumber Baru

Selanjutnya berilah nama file sumber yang praktikan buat. Nama file sumber harus diberi ektensi .asm.

Page 10: modul mikro AVR

Gambar 1.11 Memberi Nama File Sumber Baru

Apabila ingin melakukan pembangnan dari file list sumber yang ada, klik kanan pada file sumber yang ingin dibangun, selanjutnya pilh Set as Entry File. Tanda panah merah akan muncul pada file sumber yang aktif untuk dibangun. Klik ProjectBuild.

Gambar 1.12 Mengaktifkan Salah Satu File Sumber untuk Dibangun

Setelah proyek selesai dibangun, langkah selanjutnya adalah men-debugnya.

Melakukan Debug dan Simulasi ProyekBuntuk men-debug proyek yang telah dibangun, pilih DebugStart Debug atau DebugRun.

Seandainya praktikan ingin menjalankan debug langsung dari saat praktikan mulai membangunnya, praktikan dapat melakukan langkah sebagai berikut.

Klik menu ProjectBuild atau klik toolbar , lalu klik Debug Run.Atau dapat juga dilakukan dengan satu langkah, yaitu pilih ProjectBuild and Run.

Page 11: modul mikro AVR

Selama proses debugging berlangsung, praktikan dapat mengendalikan proses eksekusi program. Semua kendali debug dapat digunakan melalui menu, shortcut , maupun toolbar debug. Beberapa icon pada debug toolbar untuk pngendalian debugging sebagai berikut.

Start Debugging, digunakan untuk memulai proses debug.

Stop Debugging, digunakan untuk menghentikan proses debug.

Show Next Instruction, Petunjuk intruksi mana yang akan dieksekusi berikutnya.

Reset (Shift+F5), digunakan untuk melakukan reset terhadap eksekusi program.

Run Debugging (F5), digunakan untuk memulai eksekusi program.

Single Step, Trace Into (F!!), digunakan untuk melakukan eksekusi satu intruksi.

Step Over (F10), mirip dengan single step. Akan tetapi, satu kali diklik akan mengeksekusi suatu subrutin.

Selama proses debug, praktikan dapat sekaligus melakukan simulasi dengan mengamati perubahan isi GPR register, I/O register, dan hal lain yang berkaitan dengan eksekusi program. Pada AVR studio seri 4 terdapat sejumlah jendela yang dapat praktikan gunakan untuk mengamati perubahan setiap langkah eksekusi program praktikan.

Jendela pengamatan dapat ditampilkan melalui toolbar sebagai berikut.

Register Window (Alt+0), klik pada toolbar untuk menampilkan jendela register.

Gambar 1.13 Jendela Register

Memory Window (Alt+4), digunakan untuk mengetahui isi memori program, I/O, register, data, maupun dalam EEPROM.

Page 12: modul mikro AVR

Gambar 1.14 Jendela Memori

Workspace, menyediakan tiga jenis informasi, yaitu mengenai project, I/O, dan info.

Gambar 1.15 Jendela Workspace-Project

Gambar 1.16 Jendela Workspace-I/O

Page 13: modul mikro AVR

Gambar 1.17 Jendela Workspace-Info

Penanganan ErrorPada saat pembangunan proyek, error dapat muncul bila terdapat kesalahan penulisan sintaksis program. Pesan error akan muncul pada jendela output, seperti pada Gambar 1.18 di bawah.

Gambar 1.18 Terdapat 1 Error pada Program

Untuk mengetahui bagian sintaksis program yang error, klik dua kali pesan error. Program AVR Studio akan langsung menunjuk bagian sintaksis program yang error dengan adanya tanda petunjuk berwarna pada baris program yang error.

Gambar 1.19 Baris Program yang Error Ditunjukkan dengan Panah Penunjuk Biru

Page 14: modul mikro AVR

Apabila sintaksis penulisan program telah diperbaiki, bangun proyek kembali dengan klik ProjectBuild. Apabila sudah tidak terdapat error sintaksis program, akan muncul pesan “Assembly complete with no error”.

Simulasi Menggunakan AVR Studio 4Program AVR Studio 4 dilengkapi dengan fasilitas simulasi, sehingga memungkinkan praktikan untuk memperlakukan program yang dibuat seolah-olah bekerja pada perangkat keras. Pada saat simulasi, praktikan tidak hanya dapat mengamati perubahan-perubahan yang terjadi ketika program dieksekusi, tetapi juga dapat memberikan input stimulus pada pin input. Praktikan dapat mengubah kondisi input dan mengamati perubahan output yang terjadi.

Gambar 1.20 Pengaturan Setting Simulator

Pilih DebugAVR Simulator Options, selanjutnya lakukan pengaturan sesuai dengan sistem yang praktikan akan bangun.

Selanjutnya, praktikan harus memilih tipe mikrokontroler AVR yang akan digunakan disertai kecepatan clock-nya.

Page 15: modul mikro AVR

Gambar 1.21 Simulator Options

Simulator options mencakup dua hal, yaitu Device Selection dan Stimuli and Logging.

Stimuli and Logging digunakan apabila praktikan menggunakan input dari input file atau praktikan ingin melakukan logging (pengambilan data) dalam bentuk file.

Dalam melakukan simulasi, praktikan dapat mengatur atau memberikan stimulus dengan mengubah kondisi pin yang ada konfigurasi sebagai input. Semua itu dapat praktikan lakukan melalui jendela Workspace. Pada jendela tersebut praktikan dapat mengatur setiap bit dengan mengklik kotak berwarna putih/hitam pada kolom bits komponen yang bersangkutan. Kotak dengan warna abu-abu merupakan bit yang tidak dapat ditulisi atau tidak data digunakan.

Pada mode simulasi, praktikan dapat mengamati segala perubahan yang terjadi dan mengatur input stimulus melalui jendela Workspace. Melalui Workspace tersebut praktikan dapat mengamati berbagai kondisi mikrokontrolerATMega 16 virtual yang digunakan.

D. PEMROGRAMAN MIKROKONTROLER AVR DENGAN DT-HIQ ISP MELALUI AVR STUDIO 4Agar AVR Studio 4 dapat memprogram mikrokontroler AVR menggunakan DT-HIQ AVR ISPdiperlukan pengaturan programmer terlebih dahulu. Pengaturan programmer

dapat dilakukan melalui toolbar . untuk lebih jelasnya lihat pada Gambar 1.22 di bawah.

Page 16: modul mikro AVR

Gambar 1.22 Pemilihan Device Mikrokontroler dan Programming Mode

Untuk memasukkan program yang telah praktikan buat ke dalam chip mikrokontroler perlu dilakukan setting pada bagian Device (tentukan jenis mikrokontroler yang digunakan), Programming Mode (pilih ISP), dan Flash (tentukan file. hex yang akan diisikan ke chip mikrokontroler).E. LATIHAN DAN TUGAS1. Simulasikan program di bawah.

.include”C:\Program Files\Atmel\AVR Tools\AvrAssembler\Appnotes\m16def.inc”

.org 0x0000rjmp main

main:ldi r16,low(RAMEND)out SPL,r16ldi r16,high(RAMEND)out SPH,r16ldi r16,0x00ldi r17,0x03ldi r18,0x06ldi r19,0x09ldi r20,0x0Bldi r21,0x0Eldi r16,0x01ldi r17,0x04ldi r18,0x07ldi r19,0x0A

Page 17: modul mikro AVR

ldi r20,0x0Cldi r21,0x0F

2. Melihat hasil simulasi soal latihan nomor 1, tentukan total memori program yang terpakai dan nilai maksimum alamat program counter?

3. Tuliskan pada tabel di bawah, perubahan data setiap register mulai dari alamat program counter awal sampai akhir?Alamat Program Counter

Data r16 Data r17 Data r18 Data r19 Data r20 Data r21

4. Buat perangkat keras rangkaian minimum mikrokontroler ATMega 16 dan DT-HIQ AVR ISP-nya.

Catatan:Untuk soal nomor 4 setiap kelompok wajib buat 1 (satu) dan dibawa pada pertemuan minggu berikutnya.