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 pemrosesan floating 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 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, 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 mengatur fungsi
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:
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
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.
Gambar
Blok Diagram Pengaturan Kecepatan Motor AC
Pada Alat Putar Keramik.
Blok diagram diatas, secara garis besar dapat
dijelaskan sebagai berikut.
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.
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 (logika 0).
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 dan komponen komponen pendukung tersebut tergabung dalam
satu rangkaian yang disebut sebagai rangkaian sistem minimum.
Gambar Rangkaian Sistem Minimum AVR ATMega16
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.
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 :
Gambar Rangkaian
downloader DB 25
Gambar.
Rangkaian downloader mikrokontroler
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).
Gambar.Tampilan Software ISP Programmer (Adam
Dybkowsky)