Anda di halaman 1dari 9

Mikroprosesor dan Mikrokontroler

Mikroprosesor adalah suatu unit pemroses yang berdiri sendiri, di dalamnya belum terdapat memori, IO, dan peripheral lainnya. Mikrokontroler adalah mikroprosesor yang telah dilengkapi dengan memori, IO, dan peripheral dalam satu chip

Target
Mahasiswa bisa memprogram mikrokontroller atmega8535 dengan bahasa assembly Mahasiswa bisa membuat beberapa aplikasi sederhana menggunakan mikrokontroller atmega8535 dengan memanfaatkan fasilitas-fasilitas yg ada di mikro : timer, interupsi, PWM, counter, ADC, dsb

Mikrokontroler AVR
merupakan mikrokontroler 8 bit keluarga RISC (reduced instruction set computer) kebalikan dari CISC (complex ISC) pada CISC mikrokontroler 8 bit,akan terdapat 28-1 instruksi, pada RISC, terdapat < 28-1 lebih menghemat resource mikro Program dan data ditempatkan di memory yang berbeda. Program ditempatkan di memori program, sedangkan data di memori data Memori program merupakan flash memory yg bisa dihapus-tulis berkali-kali,bersifat nonvolatile (isi tidak hilang kalau catu dicabut) Memori data berupa SRAM (static ram) Jenisnya bermacam-macam: o AT90Sxxxx AVR klasik o ATtiny AVR dengan kemasan kecil, peripheral terbatas o ATmega AVR dengan peripheral lebih komplet

Sebagian Fitur ATmega8535


mikrokontroler AVR 8 bit program memori : 8 KB flash memory 512 byte SRAM 512 byte EEPROM sebagai penyimpan data non-volatile

2 buah timer 8 bit, 1 buah timer 16bit 4 port I/O, masing-masing 8 bit ADC 10 bit, 8 channel PWM, 4 channel interrupt external USART Watchdog timer In system programming dengan SPI

Tools yang perlu disiapkan


Bahan acuan : datasheet Atmega8535, (download dari atmel), AVR instruction set, buku acuan: bebas, tentang avr dan bhs assembly, bisa download dari internet. Buku tips n trick : Belajar Sendiri Mikrokontroler AVR seri atmega8535 Lingga Wardhana Alat-alat : system minimal atmega8535, downloader SPI (menggunakan parallel port), PC/laptop yang punya parallel port Software : AVR studio: untuk kompilasi program, Ponyprog:untuk download program. Sistem minimal harus siap pada minggu ke 3-4 untuk didemokan Tugas Mahasiswa : o Membuat system minimal atmega8535 dan downloader SPI, waktu : 2-3 minggu. o System minimal yang sudah siap bisa didemokan di antara minggu ke 3 dan 4. o Sistem minimal dikerjakan secara berkelompok(3 4 mahasiswa). o Pada demo tersebut, system juga dilengkapi program variasi nyala LED.

ATmega8535 pinout

IC ATmega8535 merupakan IC 40 pin PA,x PBx, PCx, PDx merupakan port I/O. Selain sebagai port I/O, beberapa pin dari port tersebut juga punya fungsi tambahan, ditunjukkan dengan tanda kurung ( ) misalnya PA0 juga berfungsi sebagai masukan ADC0 (channel 0)

VCC,AVCC terhubung ke 5 V GND terhubung ke 0 V Pin Reset digunakan untuk mereset mikro. Bersifat aktif rendah Pin XTALx terhubung ke kristal dan kapasitor Selengkapnya baca di datasheet

MEMORY MAP
Mikrokontroler AVR memiliki peta memori yang terpisah antara memori data dan program. a. Memory data : berupa memory volatile (RAM) yang terbagi atas : 32 register General purpose (alamat 0x00 sampai 0x1F) 64 register I/O (alamat 0x20 sampai 0x5F) register yang digunakan untuk mengatur fungsi beberapa peripheral mikrokontroler SRAM internal (alamat 0x60 sampai 0x25F)

b. Memori program : berupa flash memory (non volatile) yang bisa dihapus tulis. Memory program tersusun atas word (2 byte) karena setiap instruksi memiliki lebar 16 bit atau 32 bit. ATmega8535 memiliki 4KWord flash dengan alamat 0x000 sampai 0xFFF. Flash tersebut dialamati oleh program counter (PC)

Tentang register I/O selengkapnya baca di datasheet

Bahasa Assembly
Tersusun dari instruksi-instruksi berupa kata-kata singkat dan dieksekusi perbaris. Contoh program dalam bahasa assembly:
;program menghidup-matikan LED di port B .NOLIST .INCLUDE "C:\appnotes\m8535def.inc" ;menggunakan file include atmega8535 ;berisi definisi2 periferal atmega8535 .LIST .DEF main: ldi mp,0b11111111 ; The command LDI (LoaD Immediate) loads an 8-bit value into the register ; mp. This command is only valid for the registers R16 to R31. out DDRB,mp ; The command OUT writes register values (here: mp or R16) to a port ; (here DDRB). loop: ldi out mp,0x00 PORTB,mp ;panggil subrutin delay ;matikan LED ;hidupkan LED mp = R16 ;melakukan rename terhadap r16 menjadi mp ;program utama

rcall delay ldi out mp,0xFF PORTB,mp

rcall delay rjmp delay: ldi del1: ldi del2: dec brne dec brne ret R18 del2 R17 del1 R18,#0xFF R17,#0xFF loop

;panggil subrutin delay

;definisi subrutin delay ;subrutin tunda menggunakan pengurangan register berulang2

;r18=r18-1 ;jika belum 0, lompat ke del2 ;r17=r17-1 ;subrutin selalu diakhiri ret

SKEMATIK DOWNLOADER

Anda mungkin juga menyukai