Contoh progam dasar pada arduino untuk menghidupkan lampu led yang berkedip ( Blink ).
https://www.youtube.com/watch?v=MIjr7qpxN4Q&feature=youtu.be
Senin, 17 November 2014
Selasa, 07 Oktober 2014
ATMega328 (konfigurasi pin)
Konfigurasi Pin ATmega328
ATMega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa tipe
mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535, ATMega16,
ATMega32, ATmega328, yang membedakan antara mikrokontroler antara lain adalah,
ukuran memori, banyaknya GPIO (pin input/output), peripherial
(USART, timer, counter, dll). Dari segi ukuran fisik, ATMega328
memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler
diatas. Namun untuk segi memori dan periperial lainnya ATMega328 tidak kalah
dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan
ATMega8535, ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan
mikrokontroler diatas.
ATMega328
memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak
23 pin. PORT tersebut dapat difungsikan sebagaiinput/output digital
atau difungsikan sebagai periperal lainnya.
Pin Mikrokontroler Atmega328
1. Port B
Port B merupakan
jalur data 8 bit yang dapat difungsikan sebagai input/output. Selain itu PORTB
juga dapat memiliki fungsi alternatif seperti di bawah ini.
a. ICP1 (PB0), berfungsi sebagai Timer Counter 1 input capture pin.
b. OC1A
(PB1), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai keluaran PWM (Pulse
Width Modulation).
c. MOSI
(PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur komunikasi SPI.
d. Selain itu pin ini juga berfungsi sebagai jalur
pemograman serial (ISP).
e. TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai
sumber clock external untuktimer.
f. XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama
mikrokontroler.
2. Port C
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut.
a. ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar 10
bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog
menjadi data digital
b. I2C (SDA dan SDL) merupakan salah satu fitur yang
terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain
yang memiliki komunikasi data tipe I2C seperti sensor kompas, accelerometer nunchuck.
3. Port D
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga
dapat difungsikan sebagai input/output. Sama seperti Port B dan Port C, Port D juga
memiliki fungsi alternatif dibawah ini.
a. USART (TXD dan RXD) merupakan jalur data komunikasi
serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data
serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk
menerima data serial.
b. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsihardware.
Interupsi biasanya digunakan sebagai selaan dari program, misalkan pada saat
program berjalan kemudian terjadi interupsi hardware/software maka program utama akan berhenti dan akan menjalankan
program interupsi.
c. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari
CPU, sehingga tidak perlu membutuhkan external clock.
d. T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan timer 0.
e. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator.
ATMega328 (Diagram Blok)
ATMega328
ATMega328 adalah
mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce
Instruction Set Computer) yang dimana setiap proses eksekusi data lebih
cepat dari pada arsitektur CISC (Completed Instruction Set Computer).
ATMega328 merupakan
mikrokontroler keluarga AVR 8 bit. Beberapa tipe mikrokontroler yang sama
dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, yang
membedakan antara mikrokontroler antara lain adalah, ukuran memori, banyaknya
GPIO (pin input/output), peripherial (USART, timer, counter,
dll). Dari segi ukuran fisik, ATMega328 memiliki ukuran fisik lebih kecil
dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk segi memori dan
periperial lainnya ATMega328 tidak kalah dengan yang lainnya karena ukuran
memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, hanya saja
jumlah GPIO lebih sedikit dibandingkan mikrokontroler diatas.
Mikrokontroller ini memiliki beberapa fitur antara
lain :
§
130 macam instruksi yang hampir semuanya
dieksekusi dalam satu siklus clock.
§
32 x 8-bit register serba guna.
§
Kecepatan mencapai 16 MIPS dengan clock
16 MHz.
§
32 KB Flash memory dan pada
arduino memiliki bootloader yang menggunakan 2 KB dari flash memori
sebagai bootloader.
§
Memiliki EEPROM (Electrically
Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat
penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data
meskipun catu daya dimatikan.
§
Memiliki SRAM (Static Random
Access Memory) sebesar 2KB.
§
Memiliki pin I/O digital sebanyak 14 pin
6 diantaranya PWM (Pulse Width Modulation) output.
§
Master / Slave SPI Serial interface.
Mikrokontroller
ATmega 328 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode
program dan memori untuk data sehingga dapat memaksimalkan kerja dan parallelism.
instruksi
– instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana
pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari
memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat
dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna
digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit ) yang
dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat
digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak
langsung untuk mengambil data pada ruang memori data.
Ketiga register pointer 16-bit ini disebut
dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29
), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memiliki
format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau
32-bit.
Selain
register serba guna di atas, terdapat register lain yang terpetakan dengan
teknik memory mapped I/O selebar 64 byte. Beberapa register ini
digunakan untuk fungsi khusus antara lain sebagai register control Timer/
Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register –
register ini menempati memori pada alamat 0x20h – 0x5Fh.
Instruksi
– instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana
pada saat satu instruksi dikerjakan instruksi berikutnya sudah diambil dari
memori program. Konsep inilah yang memungkinkan instruksi – instruksi dapat
dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna
digunakan untuk mendukung operasi pada ALU ( Arithmatic Logic unit ) yang
dapat dilakukan dalam satu siklus. 6 dari register serbaguna ini dapat
digunakan sebagai 3 buah register pointer 16-bit pada mode pengalamatan tidak
langsung untuk mengambil data pada ruang memori data.
Ketiga register pointer 16-bit ini disebut
dengan register X ( gabungan R26 dan R27 ), register Y ( gabungan R28 dan R29
), dan register Z ( gabungan R30 dan R31 ). Hampir semua instruksi AVR memiliki
format 16-bit. Setiap alamat memori program terdiri dari instruksi 16-bit atau
32-bit.
Selain
register serba guna di atas, terdapat register lain yang terpetakan dengan
teknik memory mapped I/O selebar 64 byte. Beberapa register ini
digunakan untuk fungsi khusus antara lain sebagai register control Timer/
Counter, Interupsi, ADC, USART, SPI, EEPROM, dan fungsi I/O lainnya. Register –
register ini menempati memori pada alamat 0x20h – 0x5Fh.
Berikut gambar diagram blok ATMEga328:
Gambar diagram blok ATmega328
ADC DAN DAC
1. Analog to Digital
Converter (ADC)
ADC adalah kepanjangan dari Analog To Digital Converter yang berfungsi untuk mengubah input
analog menjadi kode – kode digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digitaldan rangkaian pengukuran/atau
pengujian.Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan
analog dengan sistim komputer seperti
sensor suhu, cahaya, tekanan atau berat, aliran dan sebagainya kemudian diukur
dengan menggunakan sistim digital (komputer).
Secara singkat prinsip kerja
dari konverter A/D adalah semua bit-bit diset kemudian diuji, dan bilamana
perlu sesuai dengan kondisi yang telah ditentukan. Dengan rangkaian yang paling
cepat, konversi akan diselesaikan sesudah 8 clock, dan keluaran D/A merupakan
nilai analog yang ekivalen dengan nilai regiser SAR.
Apabila konversi telah
dilaksanakan, rangkaian kembali mengirim sinyal selesai konversi yang berlogika
rendah. Sisi turun sinyal ini akan menghasilkan data digital yang ekivalen ke dalam register buffer. Dengan demikian, keluaran digital akan tetap tersimpan sekalipun akan di
mulai siklus konversi yang baru.
Jenis-jenis dari ADC dan fungsi dari masing-masing jenisnya
· Tipe Tracking Tipe tracking menggunakan prinsip up down
counter (pencacah naik dan turun). Fungsinya adalah : Binary counter (pencacah
biner) akan mendapat masukan
clock secara kontinyu dan hitungan akan bertambah atau berkurang tergantung
pada kontrol dari pencacah apakah sedang naik (up counter) atau sedang turun
(down counter).
· Tipe flash / paralel Tipe ini dapat menunjukkan konversi
secara lengkap pada kecepatan 100 MHz dengan rangkaian kerja yang sederhana.
Berfungsi untuk mengatur masukan inverting dari tiap-tiap konverter menuju
tegangan yang lebih tinggi dari konverter sebelumnya, jadi untuk tegangan
masukan Vin, dengan full scale range, komparator dengan bias dibawah Vin akan
mempunyai keluaran rendah.
· Tipe successive approximation Tipe successive approximation merupakan
suatu konverter yang paling sering ditemui dalam desain perangkat keras yang
menggunakan ADC. Tipe ini memiliki kecepatan konversi yang cukup tinggi,
meskipun dari segi harga relatif mahal. Prinsip kerja konverter tipe ini
adalah, dengan membangkitkan pertanyaan-pertanyaan yang pada intinya berupa
tebakan nilai digital terhadap nilai tegangan analog yang
dikonversikan.
· Tipe Integrating,
menawarkan resolusi tertinggi dengan biaya terendah. ADC tipe ini tidak
dibutuhkan rangkaian sample hold. Tipe ini memiliki kelemahan yaitu waktu
konversi yang agak lama, biasanya beberapa milidetik.
contoh Fungsi dari ADC adalah untuk mengubah
data analog menjadi data digital yang diaplikasiakn pada komponen
digital misalkan pada mikrokontroller AT89S51. Inputan dari ADC ini ada 2 yaitu input
positif (+) dan input negatif (-). ADC 0804 ini terdiri dari 8 bit
microprocessor Analog to Digital Converter.
V (+) dan V (-) adalah inputan tegangan analog
differensial sehingga data tegangan yang akan diproses oleh ADC adalah selisih
antara Vi (+) dan Vi (-). Vref adalah tegangan referensi ADC yang digunakan
untuk mengatur tegangan input pada Vi+ dan Vi-. Besarnya tegangan referensi ini
adalah setengah dari tegangan input maksimal. Hal ini bertujuan agar pada saat
inputan maksimal data digital juga akan maksimal. Frekuensi clock dari ADC
dapat diatur dengan komponen R dan C eksternal pada pin Rclk dan Cclk dengan
ketentuan :
Fclk = 1 / (1,1 RC)
Chip select fungsinya untuk mengaktifkan ADC yang diaktifkan dengan logika low.
Read adalah inputan yang digunakan untuk membaca data digital hasil konversi
yang aktif pada kondisi logika low. Write berfungsi untuk melakukan start
konversi ADC diaktifkan pada kondisi logika low. Instruksi berfungsi untuk
mendeteksi apakah konversi telah selesai atau tidak, jika sudah selesai maka
pin instruksi akan mengeluarkan logika low. Data outputan digital sebanyak 8
byte (DB0-DB7) biner 0000 0000 sampai dengan 1111 1111, sehingga kemungkinan
angka decimal yang akan muncul adalah 0 sampai 255 dapat diambil pada pin D0
sampai D7. DB0-DB7 mempunyai sifat latching.
Gambar : Konfigurasi
Pin ADC 0804
Deskripsi Fungsi Pin ADC 0804 :
- WR, pulsa transisi high to low pada input input write
maka ADC akan melakukan konversi data, tegangan analog menjadi data
digital. Kode 8 bit data akan ditransfer ke output lacht flip – flop.
- INT, bila konversi data analog menjadi digital telah
selesai maka pin INT akan mengeluarkan pulsa transisi high to low.
Perangkat ADC dapat diopersikan dalam mode free running dengan
menghubungkan pin INT ke input WR.
- CS, agar ADC dapat aktif , melakukan konversi data maka
input chip select harus diberi logika low. Data output akan berada pada
kondisi three state apabila CS mendapat logika high.
- RD, agar data ADC data dapat dibaca oleh sistem
mikroprosessor maka pin RD harus diberi logika low.
- Tegangan analog input deferensial, input Vin (+) dan
Vin (-) merupakan input tegangan deferensial yang akan mengambil nilai
selisih dari kedua input. Dengan memanfaatkaninput Vin maka dapat
dilakukan offset tegangan nol pada ADC.
- Vref, tegangan referensi dapat diatur sesuai dengan
input tegangn pada Vin (+) dan Vin (-), Vref = Vin / 2.
Vresolusi = Vin max / 255.
- CLOCK, clock untuk ADC dapat diturunkan pada clock CPU
atau RC eksternaldapat ditambahkan untuk memberikan generator clock dari
dalam CLK In menggunakan schmitt triger
Resolusi dari converter menandakan
nilai angka diskret yang menghasilkan range nilai analog, biasanya ditulis
dalam biner dalam bit-bit. Contoh ADC dengan resolusi 8 bit dapat mengenkode
masukan analog ke 256 (28=256), yang merepresentasikan
range dari 0 sampai 255 (unsigned integer) atau dari -128 ke 127 (signed
integer) tergantung pada aplikasi.
Resolusi juga dapat didefinisikan secara
elektris dan diekspresikan dalam volt. Resolusi tegangan ADC sama dengan range
pengukuran tegangan dibagi dengan jumlah interval diskret, sebagaimana
ditunjukkan berikut;
Dimana Q merupakan resolusi dalam volt per
step (volt per kode keluaran), EFSR merupakan skala penuh range tegangan = VRefHi –
VrefLow, M merupakan resolusi ADC dalam bit dan N merupakan jumlah
interval yang diberikan oleh kode keluaran dimana N=2M.
Pada prakteknya, resolusi dari converter dibatasi oleh
signal-to-noise ratio terbaik yang dapat dicapai untuk digitized signal. ADC
dapat menghasilkan sinyal dengan resolusi bit angka tertentu yang disebut
“effective number of bits” (ENOB). Satu resolusi bit saja dapat merubah signal-to-noise
ratio dari digitized signal oleh 6dB, jika resolusi dibatasi oleh ADC.
Jika preamplifier digunakan pada konversi A/D makaamplifier akan
berkontribusi pada hasil SNR (Signal-to-Noise Ratio).
2. Digital to
Analog Converter (DAC)
DAC
(Digital to Analog Converter) adalah perangkat untuk mengkonversikan sinyal masukan dalam bentuk digital menjadi
sinyal keluaran dalam bentuk analog (tegangan, arus, muatan electrik).Tegangan
keluaran yang dihasilkan DAC sebanding dengan nilai digital yang masuk ke dalam
DAC.Sinyal mudah di simpan dan di transmisikan dalam bentuk digital, tapi DAC
diperlukkan untu sinyal utuk diakui oleh indera manusia atau non-sistem
digital.
contohnya pada DAC0808, sebuah digital to analog
converter 8-bit monolothic yang mempunyai waktu settling sekitar
150 ns. Tidak diperlukan setting arus referensi (IREF)dalam
berbagai penerapan. Pada pengaturan skala penuh arus output yang
dikeluarakan umumnya 255 (IREF/256). Arus power
supply dari DAC0808 tidak bergantung pada kode bit dan akan menunjukkan
karakteristik DAC yang tetap konstan pada keseluruhan jangkauan tegangan.
DAC0808 mempunyai jangkauan tegangan power supply: ±4,5V
sampai ±18V dengan konsumsi daya berkisar 33 mW pada tegangan ±5V.
Untuk penggunaan interface ADC0808 dapat dihubungkan langsung
ke level logika CMOS, TTL dan DTL.
Gambar : Konfigutasi
Pin DAC0808
- A1-A8, input digital 8 bit, data inputan yang
akan dikonversikan ke besaran tegangan analog.
- VREF(-), VREF(+) input
tegangan referensi yang digunakan untuk mengatur levelouput tegangan analog.
- Compensation, pin compensation dihubungkan dengan menggunakan capasitor ke VEE atau ground untuk mempertahankan batas fase yang bersesuaian.
Gambar : Koneksi
rangkaian DAC dan konverter arus ke tegangan
Pengubahan besaran analog ke digital ditentukan oleh besar tegangan input
maksimum yang diukur dalam Volt, mVolt atau uVolt, sedang nilai konversi
digitalnya juga bebas ditentukan hal ini tergantung berapa bita yang digunakan
untuk mengkonversinya. Begitu pula untuk pengubah digital ke analog juga sama
dan hasil konversi tergantung pula pada besar tegangan referensinya.
Bila kita gunakan tegangan tertinggi untuk
konversi 15 volt maka setiap kenaikan nilai konversi adalah 1 volt jadi bila
nilai digital 0100 hasil konversinya adalah 4x1volt = 4 volt. Seandainya nilai
tertinggi dibuat 4,5 volt maka setiap kenaikan adalah 0,3 volt sehingga bila
nilai digital 0100 hasil konversinya adalah 4×0,3volt = 1,2 volt.
Gambar : Pengubah
digital ke analog (DAC) 4 bit
Dari penjelasan diatas dapat ditentukan jumlah harga tegangan atau aplitudo
sebagai hasil konversi adalah tergantung pada jumlah bit digital yang
dikonversikan, dan besar kecilnya harga analog hasil konversi juga ditentukan
oleh besar kecilnya tegangan referensi.
Makin banyak jumlah bit yang digunakan untuk
konversi maka akan semakin banyak jumlah harga amplitudo yang di dapat, dan
dengan semakin banyaknya jumlah tersebut akan menyebabkan tingkat kehalusan
konversi semakin tinggi. Sebagai contoh untuk konversi tegangan analog 10 volt
dengan menggunakan jumlah bit 10, maka akan didapatkan jumlah harga amplitudo
1024 dengan demikian akan diperoleh perbedaan setiap tingkat konversi adalah
10volt dibagi (1024-1) yaitu sama dengan 9,77 milivolt dan bila digunakan 8 bit
maka perbedaan setiap tingkat konversi adalah 39,21 milivolt.
Senin, 06 Oktober 2014
BAGIAN MIKROKONTROLER
Mikrokontroler terdiri dari bagian berikut,
CPU (Central
Processing Unit),
adalah otak dari sistem komputer. Pekerjaan utama dari CPU adalah mengerjakan
program yang terdiri atas instruksi-instruksi yang diprogram oleh programmer.
Suatu program komputer akan menginstruksikan CPU untuk membaca informasi dari
piranti input, membaca informasi dari dan menulis informasi ke memori, dan
untuk menulis informasi ke output.
RAM (Random
Access Memory),digunakan
sebagai tempat penyimpan data sementara dan hasil kalkulasi selama proses operasi.
ROM (Read Only
Memory),
digunakan sebagai media penyimpan program dandata permanen yang tidak boleh berubah
meskipun tidak ada tegangan yang diberikan pada mikrokontroler.
I/O, bagian yang
menghubungkan program perintah dengan bagian output.
CLOK, pulsa yang
digunakan untuk menyusun mikrokontroler.
BUS, menghubungkan
bagian – bagian mikrokontroler.
ISTILAH DALAM MIKROKONTROLER
Istilah-istilah
dalam Mikrokontroler:
· Tehnik fabrikasi, adalah tehnik yang biasa
dilakukan untuk memproduksi hamper semua mikrokontroler terbaru.
misalkanMikrokontroler CMOS (Complementary Metal Oxide Semiconductor) memerlukan daya yang lebih rendah dibanding
mikrokontroler yang dibuat dengan tehnik sebelumnya, sehingga memungkinkan
untuk dioperasikan menggunakan batere. Chip CMOS juga memungkinkan dioperasikan
pada fully atau mendekati fully static, yang berarti bahwa clock dapat
diperlambat bahkan diberhentikan sehingga chip berada dalam kondisi (mode)
sleep. CMOS juga lebih tahan terhadap noise dibandingkan cara fabrikasi
sebelumnya.
· CISC (Complete Instruction Set Computer), instruksi yang
bekerja seperti sebuah makro, sehingga memungkinkan programmer untuk
menggunakan sebuah instruksi menggantikan beberapa instruksi sedarhana lainnya.
Biasanya memiliki lebih dari 80 instruksi.
· RISC ( Reduced Instruction Set Computer), instruksi yang
bekerja lebih sedikit, memungkinkan lahan pada chip (silicon realestate)
digunakan untuk meningkatkan kemampuan chip. Keuntungan dari RIS adalah
kesederhanaan disain, chip yang lebih kecil, jumlah pin sedikit dan sangat
sedikit mengkonsumsi daya.
· UART (Universal Asynchronous Receiver Transmitter), adalah adapter
serial port adapter untuk komunikasi serial asinkron.
· USART (Universal Synchronous/Asynchronous Receiver
Transmitter),merupakan
adapter serial port untuk komunikasi serial sinkron dan asinkron. Komunikasi
serial sinkron tidak memerlukan start/stop bit dan dapat beroperasi pada click
yang lebih tinggi dibanding asinkron.
· SPI (serial peripheral interface) merupakan port
komunikasi serial sinkron.
· SCI (serial communications interface) merupakan
enhanced UART (asynchronous serial port).
· I2C bus (Inter-Integrated Circuit bus), berfungsi
sebagai antarmuka jaringan multi-master, multi-slave dengan deteksi tabrakan
data.
· Comparator, Mikrokontroler tertentu memiliki ssebuah
atau lebih komparator. Komparator ini bekerja seperti IC komparator biasa
tetapi sinyal input/outputnya terpasang pada bus mikrokontroler.
· Interupt, merupakan metode
yang efisien bagi mikrokontroler untuk memproses periperalnya, mikrokontroler
hanya bekerja memproses periperal tsb hanya pada saat terdapat data diperiperal
tsb. Pada saat terjadi interupt, mikrokontroler menunda operasi yang sedang
dilakukan kemudian mengidentifikasi interupsi yang datang dan menjalankan rutin
pelayanan interupsi.
· Maskable Interrupts, dengan maskable
interupt kita dapat bebas memilih untuk menggunakan satu atau lebih interupsi.
Keuntungan maskable interupt inin adalah kita dapat mematikan interupsi pada
saat mikrokontroler sedang melakukan proses yang kritis sehingga interupsi yang
datang akan diabaikan.
· Vectored Interrupts, Pada saat
terjadi interupsi, interupt handler secara otomatis akan memindahkan program
pada alamat tertentu yang telah ditentukan sesuai dengan jenis interupsi yang
terjadi.
· Compiler ,penerjemah
untuk bahasa pemrograman tingkat tinggi. Bekerja dengan cara menterjemahkan
(mis pada PC) langsung ke bahasa mesin yang dimengerti oleh mikrokontroler.
· Simulator, mensimulasikan
atau menirukan kerja mikrokontroler pada PC. Langkah-langkah yang dikerjakan
serta apa yang terjadi ketika program dijalankan dapat diamati dilayar PC.
· Debuger residen, menjalankan
program di mikrokontroler itu sendiri, dan pada saat bersamaan menampilkan
hasilnya pada komputer induknya (PC). Alat bantu ini memiliki beberapa
keunggulan seperti pada simulator dengan kelebihan lain yaitu kita dapat
melihat bagaimana program tersebut bekerja pada target yang sebenarnya. Namun
disisi lain, alat bantu ini memakai sebagian sumber daya yang dimiliki oleh
mikrokontroler seperti port komunikasi (untuk komunikasi dgn PC), interupsi
untuk untuk menjalankan program perlangkah (single step) dan sejumlah memori
untuk menyimpan program dari debugger (bagian residen yang ditempatkan di
target).
· Emulator, adalah peralatan
yang bekerja dengan berpura-pura sebagai mikrokontroler dan pada saat bersamaan
dia mengambil informasi untuk ditampilkan. Emulator memberikan kontrol penuh
pada target. Emulator ini bisa berupa perangkat dengan display tersendiri atau
merupakan pengantar muka PC.
· Akumulator, digunakan
sebagai register umum untuk mengakumulasikan hasil dari instruksi-instruksi
pada mikrokontroler.
· Register R,delapan set
register yang dinamakan R0, R1, R2, R3, R4, R5, R6, dan R7. Register-register
ini digunakan sebagai register pembantu penyimpanan data dalam banyak operasi.
· Register B, sama dengan akumulator dalam hal dia
menyimpan sebuah harga 8 bit (1 byte). Register B ini hanya digunakan dalam dua
instruksi keluarga 8031, yaitu MUL AB dan DIV AB. Karenanya, jika diinginkan
untuk mengalikan atau membagi akumulator A dengan suatu harga, maka simpanlah
harga tersebut dalam register B dan kemudian jalankan instruksinya.
· DPTR (Data Pointer),satu-satunya register yang dapat diakses
16 bit (2 byte) di dalam keluarga mikrokontroler. Sebagaimana namanya, DPTR
digunakan untuk menunjuk pada lokasi suatu data.
· PC (Program
Counter),
adalah alamat
2 byte yang memberitahu keluarga mikrokontroler 89C51 di mana instruksi
selanjutnya akan dilaksanakan.
· SP (Stack Pointer), mampu menyimpan 8 bit (1 byte) data. SP digunakan
untuk menunjukkan di mana harga berikutnya yang akan diambil dari stack.
· Immediate Addressing, Mode
pengalamatan immediate addressing sangat umum dipakai karena harga yang akan
disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata
lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan.
· Direct Addressing,Dalam mode pengalamatan direct
addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain.
· Indirect Addressing, Mode
pengalamatan indirect addressing sangat berguna karena dapat memberikan
fleksibilitas tinggi dalam mengalamati suatu harga.
· Interupsi, adalah suatu
kejadian yang akan menghentikan sementara jalan program saat itu. Dengan
interupsi, suatu alur program dapat dihentikan sementara untuk menjalankan
suatu subrutin, dan kemudian melanjutkan aliran program secara normal seperti
tidak pernah ada interupsi. Subrutin ini yang disebut dengan interrupt handler,
dan hanya dijalankan jika terjadi suatu kejadian khusus (event).
JENIS-JENIS MIKROKONTROLER
Secara
umum mikrokontroler terbagi menjadi 3 keluarga besar yang ada di pasaran.
Setiap keluarga memepunyai ciri khas dan karekteriktik sendiri sendiri,
berikut pembagian keluarga dalam mikrokontroler:
Keluarga MCS51
Mikrokonktroler
ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian besar instruksinya
dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan arsitektur
Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip
tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM
luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk
akses program dan memori data. Salah satu kemampuan dari mikrokontroler 8051
adalah pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika
boolean tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam
register internal dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal
PLC (programmable Logic Control).
KELUARGA AVR
Mikrokonktroler
Alv and Vegard’s Risc processor atau sering disingkat AVR merupakan
mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya
dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang paling
sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR
dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing
kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah
keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
KELUARGA PIC
PIC ialah keluarga
mikrokontroler tipe RISC buatan Microchip Technology. Bersumber dari PIC1650
yang dibuat oleh Divisi Mikroelektronika General Instruments. Teknologi
Microchip tidak menggukana PIC sebagai akronim,melaikan nama brandnya ialah
PICmicro. Hal ini karena PIC singkatan dari Peripheral Interface Controller,
tetapi General Instruments mempunyai akronim PIC1650 sebagai Programmabel
Intelligent Computer.
PIC pada awalnya
dibuat menggunakan teknologi General Instruments 16 bit CPU yaitu CP1600. * bit
PIC dibuat pertama kali 1975 untuk meningkatkan performa sistem peningkatan
pada I/). Saat ini PIC telah dilengkapi dengan EPROM dan komunikasi serial,
UAT, kernel kontrol motor dll serta memori program dari 512 word hingga 32
word. 1 Word disini sama dengan 1 instruki bahasa assembly yang bervariasi dari
12 hingga 16 bit, tergantung dari tipe PICmicro tersebut. Silahkan kunjungi
www.microchip.com untuk melihat berbagai produk chip tersebut.
Pada awalnya, PIC
merupakan kependekan dari Programmable Interface Controller. Tetapi pada
perkembangannya berubah menjadi Programmable Intelligent Computer. PIC termasuk
keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh Microchip
Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General
Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan
PIC-nya yang keenam.
PIC cukup popular
digunakan oleh para developer dan para penghobi ngoprek karena biayanya yang
rendah, ketersediaan dan penggunaan yang luas, database aplikasi yang besar,
serta pemrograman (dan pemrograman ulang) melalui hubungan port serial
yang terdapat pada komputer.
Pembagian jenis-jenis
mikrokontroler yang telah umum digunakan:
Mikrokontroler AT89S52
Mikrokontroler 89S52 merupakan versi terbaru
dibandingkan mikrokontroler AT89C51 yang telah banyak digunakan saat ini.
AT89S52 mmpunyai kelebihan yaitu mempunyai flash memori sebesar 8K bytei, RAM
256 byte serta 2 buah data pointer 16 bit, Spesifikasinya:
·
Kompatibel dengan
keluarga mikrokontroler MCS51 sebelumnya.
·
8 K Bytes In
system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis
·
Tegangan kerja 4-5
V
·
Bekerja dengan
rentang 0 – 33MHz
·
256×8 bit RAM
internal
·
32 jalur I/O dapat
deprogram
·
3 buah 16 bit
Timer/Counter
·
8 sumber interrupt
·
saluran full
dupleks serial UART
·
watchdog timer
·
dual data pointer
·
Mode pemrograman
ISP yang fleksibel (Byte dan Page Mode)
Jenis-jenis Mikrokontroler Atmel lain yang ada di pasaran adalah
sebagai berikut:
Atmel
AT91 series (ARM THUMB architecture)
·
Atmel AVR32
·
AT90, Tiny &
Mega series – AVR (Atmel Norway design)
·
Atmel AT89 series
(Intel 8051/MCS51 architecture)
·
MARC4
AMCC
Hingga Mei 2004, mikrokontroler ini masih
dikembangkan dan dipasarkan oleh IBM, hingga kemudian keluarga 4xx dijual ke
Applied Micro Circuits Corporation, jenis-jenisnya yaitu:
·
403 PowerPC CPU
(PPC 403GCX)
·
405 PowerPC CPU
(PPC 405EP, PPC 405GP/CR, PPC 405GPr, PPC NPe405H/L)
·
440 PowerPC Book-E
CPU (PPC 440GP, PPC 440GX, PPC 440EP/EPx/GRx, PPC 440SP/SPe)
Cypress MicroSystems
Jenis
dari Cypress MicroSystems yang ada di pasaran adalah CY8C2xxxx (PSoC)
Freescale Semiconductor
Hingga 2004, mikrokontroler ini dikembangkan
dan dipasarkan oleh Motorola, yang divisi semikonduktornya dilepas untuk
mempermudah pengembangan Freescale Semiconductor, adapun jenis-jenisnya yaitu
sebagai berikut:
·
8-bit (68HC05
(CPU05), 68HC08 (CPU08), 68HC11 (CPU11))
·
16-bit (68HC12
(CPU12), 68HC16 (CPU16), Freescale DSP56800 (DSPcontroller))
·
32-bit (Freescale
683XX (CPU32), MPC500, MPC 860 (PowerQUICC), MPC 8240/8250 (PowerQUICC II), MPC
8540/8555/8560 (PowerQUICC III))
Fujitsu
Jenis
chip mikrokontroler yang dikeluarkan oleh fujitsu diantaranya adalah sebagai
berikut:
·
F²MC Family (8/16
bit)
·
FR Family (32 bit)
·
FR-V Family (32
bit RISC)
Holtek
Chip
mikrokontroler keluaran holtek adalah jenis HT8.
Intel
Intel adalah salah satu perusahan yang banyak
mengeluarkan jenis chip di pasaran, secara umum intel mengeluarkan dua jenis
chip mikrokontroler yaitu:
·
8-bit (8XC42,
MCS48, MCS51, 8061, 8xC251)
·
16-bit (80186/88,
MCS96, MXS296, 32-bit, 386EX, i960)
Microchip
Dalam
mengeluarkan prduknya, microchip membagi produknya kedalam beberapa jenis
yaitu:
·
Low End,
Mikrokontroler PIC 12-bit
·
Mid Range,
Mikrokontroler PIC 14-bit (PIC16F84, PIC16F877)
·
16-bit instruction
PIC
·
High End,
Mikrokontroler PIC 16-bit
National Semiconductor
Jenis chip mikrokontroler yang dikeluarkan
oleh National Semiconductor adalah jenis COP8 dan CR16.
NEC
NEC mempunyai beberapa jenis chip
mikrokontroler yang ada dipasaran yaitu : jenis 17K, 75X, 78K, V850.
Philips Semiconductors
Ada tiga jenis chip mikrokontroler yang
dikeluarkan oleh perusahaan ini yaitu : LPC2000, LPC900, LPC700.
Renesas Tech. Corp.
Renesas adalah perusahan patungan Hitachi dan
Mitsubishi. Perusahaan ini mengeluarkan beberapa jenis mikrokontroler yang ada
dipasaran yaitu : H8, SH, M16C, M32R.
ST Microelectronics
STMicroelectronic merupakan salah satu
perusahaan yang bergerak juga dalam produksi chip mikrokontroler, diantaranya
produknya adalah : ST 62, ST 7.
Texas Instruments
Dua jenis chip mikrokontroler yang di
produksi oleh perusahaan ini adalah : TMS370, MSP430.
Western Design Center
Perusahaan Wistern Design Center memproduksi
dua tipe chip mikrokontroler yang beredar di pasaran yaitu:
·
Tipe 8-bit
(W65C02-based µCs)
·
Tipe 16-bit
(W65816-based µCs)
Ubicom
Ubicom
memproduksi beberapa tipe chip mikrokontroler diantaranya adalah:
·
SX-28, SX-48,
SX-54
Seri Ubicom’s SX series adalah jenis mikrokontroler 8 bit yang, tidak seperti biasanya, memiliki kecepatan tinggi, memiliki sumber daya memori yang besar, dan fleksibilitas tinggi. Beberapa pengguna menganjurkan mikrokontroller pemercepat PICs. Meskipun keragaman jenis mikrokontroler Ubicom’s SX sebenarnya terbatas, kecepatan dan kelebihan sumber dayanya yang besar membuat programmer bisa membuat perangkat virtual lain yang dibutuhkan. Referensi bisa ditemukan di Parallax’s Web site, sebagai penyalur utama.
Seri Ubicom’s SX series adalah jenis mikrokontroler 8 bit yang, tidak seperti biasanya, memiliki kecepatan tinggi, memiliki sumber daya memori yang besar, dan fleksibilitas tinggi. Beberapa pengguna menganjurkan mikrokontroller pemercepat PICs. Meskipun keragaman jenis mikrokontroler Ubicom’s SX sebenarnya terbatas, kecepatan dan kelebihan sumber dayanya yang besar membuat programmer bisa membuat perangkat virtual lain yang dibutuhkan. Referensi bisa ditemukan di Parallax’s Web site, sebagai penyalur utama.
·
IP2022
Ubicom’s IP2022 adalah mikrokontroler 8 bit berkecepatan tinggi (120 MIPs). Fasilitasnya berupa: 64k FLASH code memory, 16k PRAM (fast code dan packet buffering), 4k data memory, 8-channel A/D, various timers, and on-chip support for Ethernet, USB, UART, SPI and GPSI interfaces.
Ubicom’s IP2022 adalah mikrokontroler 8 bit berkecepatan tinggi (120 MIPs). Fasilitasnya berupa: 64k FLASH code memory, 16k PRAM (fast code dan packet buffering), 4k data memory, 8-channel A/D, various timers, and on-chip support for Ethernet, USB, UART, SPI and GPSI interfaces.
Xilinx
Ada
dua jenis chip mikrokontroler yang dikeluarkan oleh perusahaan Xilink
diataranya adalah:
·
Microblaze
softcore 32 bit microcontroller
·
Picoblaze softcore
8 bit microcontroller
ZiLOG
Dua
jenis chip mikrokontroler dari ZiLOG yang ada di pasaran adalah:
·
Z8
·
Z86E02
Langganan:
Postingan (Atom)