Pengertian Mikrokontroler dan Mikroprosesor
A. MIKROPROSESOR
Mikroprosesor adalah sebuah chip
(IC=Integrated Circuits) yang di dalamnya terkandung rangkaian ALU
(Arithmetic-Logic Unit), rangkaian CU (Control Unit) dan register-register.
Mikroprosesor disebut juga dengan CPU (Central Processing Unit). yang digunakan
sebagai otak/pengolah utama dalam sebuah sistem komputer. Mengatur kerja sistem
berdasarkan urutan program yang telah ditetapkan. Ia mengatur keluar masuknya
data dari/ke antar bagian dalam sistem. Ia juga mengatur aktivitas keluar/masuk
data dari/ke perangat diluar sistem.
ALU: menyediakan fungsi pengolahan.
CU: mengontrol fungsi prosesor.
Register: tempat penyimpanan sementara dalam mikroprosesor
1. JENIS-JENIS MIKROPROSESOR
Berdasarkan pada banyaknya bit yang dikerjakan oleh ALU(Arithmatic
Logic Unit), CPU dibedakan menjadi 4 jenis :
a. Bit Slices Prosesor : Perancangan CPU dengan menambahkan jumlah irisan
bit(slices) untuk aplikasi-aplikasi tertentu. CPU jenis ini dapat dikatakan
dengan CPU custom.
b. General Purpose CPU : CPU serbaguna atau mikrokomputer dengan
semua kemampuan dari kini komputer terdahulu.
c. I/O Prosessor : Prosesor khusus yang berfungsi menangani
input/output request membantu prosesor utama.
d. Dedicated/Embedded Controller : Membuat mesin
menjadi smart, seperti : mesin cuci, microwave, oven, mesin jahit, sistem
pengapian otomotif. Prosesor jenis ini lebih dikenal dengan mikrokontroler.
2. KOMPONEN SISTEM MIKROPROSESOR
Sistem mikroprosesor tersusun dari empat komponen, yaitu
- Mikroprosesor
itu sendiri
- Random
Access Memory(RAM)
- Read
Only memory(ROM)
- Port
Input/Output(PIO)
Dalam bekerja, keempat komponen tersebut saling
berkomunikasi/mentransfer data.Media transfer datanya berupa sekelompok
jalur-jalut penghubung yang disebut bus.Ada tiga jenis bus dalam sistem
mikroprosesor, yaitu bus alamat, bus data, dan bus kontrol.
3. KARAKTERISTIK MIKROPROSESOR
Berikut adalah karakteristik penting dari mikroprosesor :
- Ukuran
bus data internal (internal data bus size): Jumlah saluran yang
terdapat dalam mikroprosesor yang menyatakan jumlah bit yang
dapat ditransfer antar komponen di dalam mikroprosesor.
- Ukuran
bus data eksternal (external data bus size): Jumlah saluran yang
digunakan untuk transfer data antar komponen antara
mikroprosesor dan komponen-komponen di luar mikroprosesor.
- Ukuran
alamat memori (memory address size): Jumlah alamat memori yang
dapat dialamati oleh mikroprosesor secara langsung.
- Kecepatan
clock (clock speed): Rate atau kecepatan clock untuk
menuntun kerja mikroprosesor.
- Fitur-fitur
spesial (special features): Fitur khusus untuk mendukung aplikasi
tertentu seperti fasilitas pemrosesanfloating point, multimedia dan
sebagainya.
Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program dalam
kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu ke dalam sebuah
memori. Di dalam Mikroprosesor minimal terdiri dari rangkaian digital,
register, pengolah logika aritmatika, rangkaian sekuensial.
4. FUNGSI MIKROPROSESOR
Fungsi utama Mikroprosesor adalah sebagai unit yang mengendalikan
seluruh kerja sistem mikroprosesor. Beberapa fungsi lain dari mikroprosesor,
antara lain :
- Mengambil
instruksi dan data dari memori.
- Memindah
data dari dan ke memori.
- Mengirim
sinyal kendali dan melayani sinyal interupsi.
- Menyediakan
pewaktuan untuk siklus kerja sistem mikroprosesor.
- Mengerjakan
fungsi – fungsi operasi logika dan aritmetika.
B. MIKROKONTROLER
Mikrokontroler
adalah sebuah chip yang
didalamnya terdapat mikroprosesor yang telah dikombinasikan dengan I/O dan
memori (ROM/RAM). Penggunaan mikrokontroler lebih menguntungkan dibandingkan
penggunaan mikroprosesor. Hal ini dikarenakan dengan mikrokontroler
tidak perlu lagi penambahan memori dan I/O eksternal selama memori dan I/O
internal masih bisa mencukupi. Selain itu proses produksinya secara masal,
sehingga harganya menjadi lebih murah dibandingkan mikroprosesor.
1. JENIS- JENIS MIKROKONTROLER
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini
didasarkan pada kompleksitas instruksi-instruksi yang dapat diterapkan pada
mikrokontroler tersebut. Pembagian itu yaitu RISC dan CISC.
a. RISC merupakan
kependekan dari Reduced Instruction Set Computer. Instruksi yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
b. Sebaliknya,
CISC kependekan dari Complex Instruction Set Computer. Instruksi bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
Masing-masing
mempunyai keturunan atau keluarga sendiri-sendiri. jenis-jenis mikrokonktroler
yang telah umum digunakan.
1. 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).
2. 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.
3. PIC
Pada
awalnya, PIC merupakan kependekan dari Programmable Interface
Controller. Tetapi pada perkembangannya berubah menjadiProgrammable
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, ktersediaan dan penggunaan yang luas,
database aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui
hubungan serial pada komputer.
2. MEMORY MAP
Mikrokontroler AVR memiliki peta memori yang terpisah antara memori
data dan program.
- 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 mengaturfungsi beberapa
peripheral mikrokontroler
- SRAM
internal (alamat 0x60 sampai 0x25F)
- 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)
3. 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 mp =
R16 ;melakukan
rename terhadap r16 menjadi mp
;program utama
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 mp,0x00 ;hidupkan
LED
out PORTB,mp
rcall delay ;panggil
subrutin delay
ldi mp,0xFF ;matikan
LED
out PORTB,mp
rcall delay ;panggil
subrutin delay
rjmp loop
delay: ;definisi
subrutin delay
ldi R17,#0xFF ;subrutin
tunda menggunakan pengurangan register berulang2
del1:
ldi R18,#0xFF
del2:
dec R18 ;r18=r18-1
brne del2 ;jika
belum 0, lompat ke del2
dec R17 ;r17=r17-1
brne del1
ret ;subrutin
selalu diakhiri ret
Sebuah chip mikrokontroler
umumnya memiliki fitur:
·
central processing unit -
mulai dari prosesor 4-bit yang sederhana hingga prosesor kinerja tinggi 64-bit.
·
input/output antarmuka jaringan seperti port serial (UART)
·
antarmuka komunikasi serial lain
seperti I²C, Serial Peripheral Interface and Controller Area Network untuk
sambungan sistem
·
periferal seperti timer dan watchdog
·
RAM untuk
penyimpanan data
·
ROM, EPROM, EEPROM atau Flash memory untuk
menyimpanprogram komputer
·
pembangkit clock -
biasanya berupa resonator rangkaian RC
·
pengubah analog-ke-digital
·
Contoh Aplikasi
Mikrokontroler dan Programnya
Tahap
pertama adalah merancang perangkat keras (hardware), yang meliputi rangkaian
– rangkaian
elektronika dan alat putar keramik. Tahap kedua adalah perancangan algoritma, listing program pada software Code Vision AVR dan penanaman listing program pada mikrokontroler AVR ATMega16 dengan menggunakan software ISP Programmer.
Perancangan Perangkat Keras
elektronika dan alat putar keramik. Tahap kedua adalah perancangan algoritma, listing program pada software Code Vision AVR dan penanaman listing program pada mikrokontroler AVR ATMega16 dengan menggunakan software ISP Programmer.
Perancangan Perangkat Keras
Seluruh perangkat atau komponen yang
digunakan dalam perancangan pengaturan
kecepatan pada alat putar keramik menggunakan motor AC ini, tersusun seperti pada
blok diagram di bawah ini.
kecepatan pada alat putar keramik menggunakan motor AC ini, tersusun seperti pada
blok diagram di bawah ini.
1. Keypad digunakan sebagai alat untuk memasukkan nilai kecepatan putaran
yang diinginkan (nilai setpoint). Keypad dihubungkan ke PORTB
mikrokontroler AVR ATMega16. Nilai dari keypad tersebut mewakili nilai
kecepatan putaran dengan satuan rotation per minute (rpm). Nilai yang
diijinkan sebesar antara 60–150rpm.
2. Nilai setpoint akan diolah sedemikian rupa dengan menggunakan suatu program yang ditanamkan pada mikrokontroler AVR ATMega16, sehingga nilai tersebut dapat ditampilkan pada LCD dan digunakan pada register OCR1A yang berfungsi untuk membangkitkan sinyal PWM.
3. Sinyal PWM dibangkitkan setelah nilai pada register OCR1A terisi (OCR1A ≠ 0) dan sinyal PWM dikeluarkan melalui Pin 19 PORTD.5 (OC1A) pada mikrokontroler AVR ATMega16.
4. Sinyal PWM tersebut akan memicu TRIAC Optoisilator pada rangkaian driver motor AC. Rangkaian zero crossing detector telah tersedia dalam satu paket (Onpackage) IC TRIAC Optoisolators MOC3041, sehingga titik acuan sinyal PWM pada saat mengatur sinyal sinusoidal (tegangan AC) dimulai pada saat perpotongan titik nol (zero crossing). Keluaran dari TRIAC Optoisolators tersebut (pin 6) akan memicu gate TRIAC (Q4004LT) sehingga memberikan arus pada motor AC.
2. Nilai setpoint akan diolah sedemikian rupa dengan menggunakan suatu program yang ditanamkan pada mikrokontroler AVR ATMega16, sehingga nilai tersebut dapat ditampilkan pada LCD dan digunakan pada register OCR1A yang berfungsi untuk membangkitkan sinyal PWM.
3. Sinyal PWM dibangkitkan setelah nilai pada register OCR1A terisi (OCR1A ≠ 0) dan sinyal PWM dikeluarkan melalui Pin 19 PORTD.5 (OC1A) pada mikrokontroler AVR ATMega16.
4. Sinyal PWM tersebut akan memicu TRIAC Optoisilator pada rangkaian driver motor AC. Rangkaian zero crossing detector telah tersedia dalam satu paket (Onpackage) IC TRIAC Optoisolators MOC3041, sehingga titik acuan sinyal PWM pada saat mengatur sinyal sinusoidal (tegangan AC) dimulai pada saat perpotongan titik nol (zero crossing). Keluaran dari TRIAC Optoisolators tersebut (pin 6) akan memicu gate TRIAC (Q4004LT) sehingga memberikan arus pada motor AC.
5. Motor AC akan
menggerakkan alat putar keramik dan alat putar tersebut akan dideteksi
putarannya setiap 1 detik (Timer 0) oleh sensor putaran
(phototransistor). Pendeteksian putaran alat putar ini bertujuan untuk
mengetahui apakah kecepatan putaran alat putar sama dengan nilai setpoint
yang diberikan. Kecepatan alat putar akan dipengaruhi oleh beban (tanah liat)
yang bervariasi. Kecepatan akan berkurang apabila beban semakin berat,
oleh karena itu sensor pun berfungsi untuk mengetahui kecepatan alat putar
terhadap beban.
fitur interupsi eksternal mikrokontroler akan mengetahui setiap kali sensor memberikan respon
fitur interupsi eksternal mikrokontroler akan mengetahui setiap kali sensor memberikan respon
(logika0).
6. Program pengaturan alat
putar pada mikrokontroler ATMega16 akan mengatur
dan membandingkan antara kecepatan setpoint dan kecepatan yang
sesungguhnya (real time). Jika sensor mendeteksi kecepatan alat
putar setpoint-nya, maka program akan mengatur (mengurangi) nilai pada OCR1A
dan jika sensor mendeteksi kecepatan alat putar lebih lambat dari
pada kecepatan setpointnya, maka program akan mengatur (menambahi) nilai
pada register OCR1A.
Perancangan
Rangkaian Sistem Minimum AVR ATMega16
Mikrokontroler AVR ATMega16 dapat
dioperasikan dengan cara menambahkan beberapa komponen elektronika yang
berfungsi sebagai komponen pendukungnya.
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler AVR ATMega16 dapat dioperasikan dengan cara menambahkan beberapa komponen elektronika yang berfungsi sebagai komponen pendukungnya.
Mikrokontroler dan komponen komponen
pendukung tersebut tergabung dalam satu rangkaian yang disebut sebagai
rangkaian sistem minimum.
Kristal
yang digunakan pada rangkaian sistem minimum di atas, mengunakan frekuensi
4 MHz. Kristal tersebut digunakan untuk pembangkit clock (osilator),
dimana setiap 1 intruksi/perintah dalam program dieksekusi dalam 1 siklus
clock. Pin RESET dihubungkan dengan rangkaian kombinasi RC dan push button,
yang bertujuan agar mikrokontroler dapat di-reset. Fungsi dari port - port
lainnya adalah sebagai berikut.
1. PORTA, digunakan sebagai pin masukkan untuk Keypad 3X4
2. PORTB, digunakan sebagai pin keluaran untuk LCD
3. PORTD.0 dan PORTD.1, digunakan sebagai pin masukan untuk tombol START
dan tombol STOP
4. PORTD.3, digunakan sebagai pin masukkan untuk sensor putaran (Ext. Interrupt)
5. PORTD.5 dan PORTD.6, digunakan sebagai pin keluaran untuk sinyal PWM.
1. PORTA, digunakan sebagai pin masukkan untuk Keypad 3X4
2. PORTB, digunakan sebagai pin keluaran untuk LCD
3. PORTD.0 dan PORTD.1, digunakan sebagai pin masukan untuk tombol START
dan tombol STOP
4. PORTD.3, digunakan sebagai pin masukkan untuk sensor putaran (Ext. Interrupt)
5. PORTD.5 dan PORTD.6, digunakan sebagai pin keluaran untuk sinyal PWM.
Perancangan Rangkaian
Downloader
Rangkaian downloader
merupakan rangkaian penghubung antara komputer dan mikrokontroler yang
berfungsi untuk memasukan listing program (berupa bit – bit logika) ke
dalam mikrokontroler. Listing program yang dikirim oleh software
dari komputer ke dalam mikrokontroler biasanya berbentuk file *.hex
(heksadesimal). Pada umumnya rangkaian downloader terdiri dari kabel
penghubung jenis DB25 atau jenis
DB9. Sinkronisasi tegangan antara tegangan dari komputer dan tegangan mikrokontroler menggunakan sebuah buffer. Rangkaian downloader ditunjukkan seperti gambar di bawah ini
DB9. Sinkronisasi tegangan antara tegangan dari komputer dan tegangan mikrokontroler menggunakan sebuah buffer. Rangkaian downloader ditunjukkan seperti gambar di bawah ini
Rangkaian di atas
menggunakan port DB 25 sebagai alat penghubung antara komputer dan alat downloader, sedangkan
IC 74HCT244 digunakan sebagai buffer. Software yang digunakan untuk mendownload
program
(file: *.hex) ke dalam mikrokontroler ini adalahISP Programmer (Adam Dybkowsky).
(file: *.hex) ke dalam mikrokontroler ini adalahISP Programmer (Adam Dybkowsky).
0 komentar:
Posting Komentar