Mikrokontroler adalah suatu alat elektronika digital yang mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis data. Sekedar contoh, bayangkan diri Anda saat mulai belajar membaca dan menulis, ketika Anda sudah bisa melakukan hal itu Anda bisa membaca tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan Andapun bisa pula menulis hal-hal sebaliknya. Begitu pula jika Anda sudah mahir membaca dan menulis data maka Anda dapat membuat program untuk membuat suatu sistem pengaturan otomatik menggunakan mikrokontroler sesuai keinginan Anda. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut "pengendali kecil" dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. 2.1.1. Jenis-Jenis Mikrokontroler
Ada beberapa jenis mikrokontroler, diantaranya keluarga ATMEL atau MCS-51, AVR, dan PIC. Masing-mas Masing-masing ing mempunyai mempunyai keturunan keturunan atau keluarga keluarga sendiri-se sendiri-sendiri ndiri.. Yaitu sebagai sebagai berikut.
1. Mikrokontroler AVR merupakan mikrokontroler dengan arsitektur modern. Terdapat 3 macam atau jenis mikrokontroler AVR, yaitu •
TinyAVR
•
AVR atau a tau Classic AVR, AVR, dan
•
megaAVR
Perbedaan jenis-jenis tersebut terletak dari fasilitas, atau lebih dikenal dengan fitur-fiturnya. Jenis TinyAVR merupakan mikrokontroler dengan jumlah pin yang terbatas (sedikit maksudnya)
dan sekaligus fitur-fiturnya juga terbatas dibandingkan yang megaAVR. Semua mikrokontroler AVR memiliki set instruksi (assembly (assembly)) dan organisasi memori yang sama. Mikrok Mikrokont ontrol roler er Alv and Vegard’ egard’ss Risc Risc proces processor sor atau atau yang yang di singka singkatt AVR merupak merupakan an mikrokontroler RISC 8 bit. Karena RISC inilah sebagian besar kode instruksinya di kemas dalam satu siklus clock . AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang elektronika dan instrumentasi. 2. Mikr Mikrok okon ontr trole olerr MCS-5 MCS-51 1
Mikrokontroler MCS51 adalah Mikrokontroler yang paling popular saat ini. Keluarga ini diawali oleh Intel yang mengenalkan IC Mikrokontroler type 8051 pada awal tahun 1980-an, 8051 termasuk sederhana dan harganya murah sehingga banyak digemari, banyak pabrik IC bes besar ar lain lain .yan .yang g ikut ikut memp mempro rodu duks ksin inya ya,, tent tentu u saja saja masi masingng-ma masi sing ng pabri pabrik k menam menamba bahk hkan an kemampuan kemampuan pada mikrokontro mikrokontroler ler buatannya buatannya meskipun meskipun semuanya semuanya masih dibuat berdasarkan berdasarkan 8051. 8051. Samp Sampai ai kini kini suda sudah h ada lebi lebih h 100 macam macam mikr mikroko okont ntro role lerr turu turunan nan 8051, 8051, sehi sehing ngga ga terbentuklah sebuah ‘keluarga besar mikrokontroler’ dan biasa disebut sebagai MCS51. 3. Mikr Mikrok okon ontr trol oler er PIC PIC
Mikrok Mikrokont ontrol roler er PIC PIC adalah adalah salah salah satu satu jenis jenis mikrok mikrokont ontrol roler er yang yang diprod diproduks uksii oleh oleh microchip, inc. untuk mengontrol alat di sekeliling, sehingga mengurangi beban CPU utama. PIC 18F452, sama seperti CPU, memiliki fungsi kalkulasi dan memori serta dikendalikan oleh oleh softwa software. re. Bagaim Bagaimana anapun pun PIC memili memiliki ki kapasit kapasitas as memori memori yang yang kecil. kecil. Frekue Frekuensi nsi kerja kerja maksimum clock untuk mikrokontroler PIC adalah sekitar 20 MHz dan kapasitas memori untuk mengisikan mengisikan program adalah adalah sekitar 1k sampai dengan dengan 4k. Frekuensi clock dapat menentukan menentukan kecepatan membaca suatu program dan sebuah instruksi dieksekusi atau dijalankan.
Gambar 2.1. Bentuk fisik mikrokontroler PIC 18F452
2.1.2. 2.1.2. Fitur Fitur – fitu fiturr PIC PIC 18F45 18F452 2
Mikrokontroler PIC memiliki fitur – fitur antara lain : 1. Hanya Hanya meme memerlu rlukan kan 75 75 set set inst instruk ruksi si 2. Data Data ber beruk ukur uran an 16 16 bit bit 3. Memiliki Memiliki flash flash memori memori sebesar sebesar 16k yang yang dapat digunakan digunakan 100.000 100.000 kali baca baca tulis tulis 4. Memi Memili liki ki 1536 1536 SRA SRAM M 5. 15 specia speciall functi function on regist register er 6. Memil Memilik ikii EEPRO EEPROM M sebe sebesa sarr 256 7. Memil Memilik ikii 18 18 int inter erru rupt pt 8. Wacthdog Timer Timer (WDT) dengan internal internal osilat osilator or 9. Mode sl sleep 10. Memiliki lima port yaitu PORTA, PORTA, PORTB, PORTC, PORTC, PORTD dan PORTE
2.1.3. 2.1.3. Fungs Fungsii – fungsi fungsi pin pin PIC18F PIC18F45 452 2
Mikrokontroler PIC18F452 memiliki 40 pin, banyaknya port input – output yang dimiliki memungkinkan mikrokontroler berinteraksi dengan ban yak pheriperal dari luar mikrokontroler. mikrokontroler.
Gambar 2.2. Susunan pin pada Mikrokontroler PIC18F452 dan PIC18F442
Nama Pin
Nomor
Tipe
Tipe
Deskripsi
Pin MCLR
1
Pin 1
Buffer ST Mast Master er Clea Clearr (inp (input ut)) Rese Reset, t, pin pin ini ini bersifat aktif low
VPP NC
1 -
OSCI
13
1 I
ST -
Tegangan Input Programming Input Programming No Connection (pin ini seharusnya
ST
dibiarkan tidak terhubung) Osilator kristal input atau sumber clock eks eksterna ernall
inpu inputt.
ST
buf buffer fer
keti ketika ka
dikonfigurasikan dalam RC mode. Bisa juga sebagai CMOS CLKI
13
OSC2
14
I
CMOS
Sumber Sumber clock clock ekter ekterna nall inpu input. t. Sela Selalu lu berasosiasi dengan pin OSCI Osiato Osiatorr krista kristall output output.. Terhubu erhubung ng ke
O
krista kristall atau atau resona resonator tor dalam dalam osila osilator tor kristal mode CLKO
14
O
RA6 RA0 – RA7
14 2-7
I/O I/O
TTL TTL
General purpose manager Digital input – output port A bit 0-7
RB0 – RB7
33-40
I/O
TTL
Digital input – output port B bit 0-7
RC0 – RC3
15-18
I/O
ST
Digital input – output port C bit 0-3
RC4 – RC7
23-26
I/O
ST
Digital input – output port C bit 4-7
RD0 – RD3
19-22
I/O
ST
Digita Digitall input input – output output port port D bit0-3 bit0-3,,
TTL
paraler slave port data
ST
Digital input – output port D bit 4-7,
TTL
paraler slave port data
RD4 – RD7
27-30
I/O
Sumber clock eksternal
RE0 – RE2 8-10 I/O ST Catatan : TTL = TTL Compatible input
Digital input – output port E bit b it 0-2
ST = Schmitt Trigger input with CMOS levels O = Output CMOS = Compatible input or output I = Input
Tabel 2.1. deskripsi pin PIC18F452
2.1.4. 2.1.4. Arsitekt Arsitektur ur Mikro Mikrokont kontrol roler er PIC18F PIC18F452 452
Mikrokontro Mikrokontroler ler PIC18F452 PIC18F452 dibuat dengan teknologi teknologi CMOS (Clomplementary (Clomplementary Metal Metal Oxide Oxide Semiko Semikondu ndukto ktor). r). Sehing Sehingga ga memerl memerlukan ukan daya daya yang yang relati relative ve kecil kecil untuk untuk dapat dapat bekerja atau aktif. Dayanya cukup menggunakan catu daya sebesar 2V sampai 6V, sehingga cukup cukup fleksi fleksibel bel dalam dalam mengope mengoperas rasika ikan n mikrok mikrokontr ontrole olerr ini. ini. Mikrok Mikrokont ontrol roler er PIC18F PIC18F452 452 mengadopsi arsitektur komputer Harvard, yaitu arsitektur yang dikembangkan oleh Universitas Harvar Harvard d sendir sendiri. i. Pada Pada arsite arsitektu kturr kompute komputerr Harvar Harvard d bus data dan bus alamat alamat dipisa dipisahkan hkan,, keuntungan arsitektur ini adalah tidak memerlukan banyak lokasi pada memori, cukup hanya satu lokasi. Untuk lebih jalasnya perhatikan blok diagram PIC18F452 berikut ini :
Gambar 2.3. Blok Diagram PIC18F452
2.1.5. Jenis – jenis Osilator
Mikrokontroler PIC18F452 dapat dioperasikan dengan delapan model osilasi berbeda. Pengguna dapat memogram tiga bit konfigurasi (FOSC2, FOSC1, FOSC0) untuk memilih salah satu dari delapan midel osilasi berikut adalah : 1 . LP
: Low Power Crystal
2 . XT
: Crystal/Resonator
3 . HS
: High Speed Crystal/Resonator
4. HS+PLL
: Hi High Spe Speeed Cr Crystal/ al/Resona onator wi with PL PLL enabl able
5 . RC
: Eksternal Resistor/Capasitor
6. RCIO
: Ek Eksternal Re Resistor/Capasitor wi with In Input-Output Pi Pin En Enable
7 . EC
: Eksternal Clock
8. ECIO
: Eksternal Clock with Input-Output Pin Enable
Jenis osilator yang sering digunakan oleh para pengembang adalah osilator jenis kristal osilator atau keramik resonator dan RC osilator.
2.1.5.1. Kristal Osilator atau Keramik Keramik Resonator
Pada model XT, LP, HS atau HS+TLL, sebuah kristal atau resonator dihubungkan ke pin OSC1 dan CLK1 untuk menghasilkan osilasi. Pada rangkaian berikut kita dapat mengetahui pemasangan kristal atau resonator pada pin mikrokontroler PIC18F452.
Gambar 2.4. Cara kerja Osilator
Setiap osilator yang dipasangkan pada mikrokontroler harus dipasang menggunakan kapasitor oleh karena itu kita harus mengetahui kapasitor mana yang cocok dengan kapasitor yang kita pakai.
Tabel 2.2. Nilai – nilai Kapasitor yang Direkomendasikan Untuk Ceramic Resonator
Nilai – nilai kapasitor yang direkomendasikan untuk nilai yang diujikan seperti dalam tabel. Semakin besar nilai kapasitansi, semakin stabil osilator, tapi juga menaikkan waktu startup. Sedangkan nilai kapasitor yang direkomendasikan untuk kristal adalah :
Tabel 2.3. Nilai Kapasitor yang Direkomendasikan untuk Kristal
2.1.5.2. Osilator RC
Frekuensi osilator RC adalah penyedia tegangan, nilai resistor (Rext), nilai kapasitor (Cext) dan temperatur saat bekerja. Pada keadaan demikian, frekuensi osilator akan sangat bervariasi antara satu dengan yang lainnya pada variasi parameter – parameter pada proses norm normal al.. Lagi Lagipu pula la,, perb perbed edaan aan nila nilaii – nila nilaii kapa kapasi sita tans nsii pin pin – pin pin mikr mikrok okont ontro role lerr di atas atas mempengaruhi pula frekuensi osilasi, terutama untuk nilai Cext yang kecil. Gambar berikut ini menunjukkan bagaimana sebuah kombinasi R/C dihubungkan ke mikrokontroler PIC18F452.
Gambar 2.5. Model Osilator RC
2.1.6. Reset
pada mikrokontroler PIC18F452 ada beberapa jenis reset, yaitu 1. Powe Powerr – on Rese Resett (PO (POR) R) 2. MCLR MCLR ketik ketikaa beker bekerja ja secar secaraa manual manual 3. MCLR MCLR ket ketik ikaa dalam dalam mode mode SLE SLEEP EP 4. WDT Reset Reset (dal (dalam am kead keadaan aan normal normal)) 5. Program Programmab mable le Brow Brown n – Out Out Reset Reset (BOR (BOR)) 6. Inst Instru ruks ksii Rese Resett 7. Stac Stack k Ful Fulll Rese Resett 8. Stac Stack k Und Under erfl flow ow Rese Resett Gambar berikut menunjukkan sebuah blok diagram yang disederhanakan dari rangkaian reset dalam chip. Bagian MCLR mempunyai penyaring (filter) suara untuk mengabaikan pulsa – pulsa kecil. Spesifikasi elektrik menyatakan lebar pulsa yang dibutuhkan untuk pin MCLR.
Gambar 2.5. Blok Diagram dari Reset di dalam Chip yang Disederhanakan
Beberap Beberapaa regist register er tidak tidak terpen terpengar garuh uh pada pada kondis kondisii reset reset apapun. apapun. Statu Statuss mereka mereka tidak tidak diketahui ketika model reset POR dan tidak dapat diubah nilainya ketika model reset yang lainya. Kebanyakan register lainnya berubah dalam keadaan reset pada saat keadaan reset POR, MCLR atau WDT pada saat keadaan normal dan pada MCLR ketika SLEEP. Mereka tidak dipengaruhi oleh reset WDT ketika SLEEP, selama reset dipandang sebagai operasi normal. Tabel abel 2.4 beriku berikutt memberi memberikan kan uraian uraian kondisi kondisi reset reset untuk untuk progra program m counter counter (PC) (PC) dan status status register.
Kond Kondis isii Power-On Reset MCLR dalam keadaan normal MCLR dalam keadaan SLEEP WDT Reset WDT Wake-up Interupt Wake-up from SLEEP
Prog Progra ram m Coun Counte terr 000h 000h 000h 000h PC+1 PC+1
Stat Status us Regi Regist ster er 0001 1xxx 000u uuuu 0001 uuuu 0000 1uuu uuu0 0uuu uuu1 0uuu
Tabel 2.4. Kondisi Reset untuk Program Counter dan Status Register
Ket Ket
: u = tida tidak k dap dapat at diub diubah ah nil nilainy ainyaa : x = tidak diketahui nilainya
2.1.7. Interupt (Sela)
Mikrokontroler PIC18F452 memiliki banyak sumber interupt (sela) diantaranya adalah : 1. Sela Sela dari dari luar luar (Eks (Ekster ternal nal Inte Interup rupt) t) 2. TM RO Over Overfl flow ow Inte Interu rupt pt 3. Sela Sela – sel selaa por portt B 4. Data Data EEPRO EEPROM M write write complet completee inter interupt upt Register pengontrol sela (INTCON) merekam permintaan – permintaan sela perorangan pada bit – bit flag. Register pun berisi bit penga ktif sela individu dan keseluruhan. Bit pengakt pengaktif if interu interupsi psi global global,, mengakt mengaktifk ifkan an semua semua interu interupsi psi yang yang tak bertan bertanda da atau atau menonaktifkan semua interupsi yang ada. Interupsi satuan (individu) dapat dinonaktifkan melalui bit pengaktif yang sesuai dengannya pada register INTCON. Flag dari pin interupt RB0/INT, interupt perubahan port RB, dan interupt TM0 overflow terdapat juga di dalam register INTCON. Ketika suatu interupsi menjawab, bit GIE dibersihkan untuk untuk menona menonakti ktifka fkan n semua semua sela/I sela/INT NT,, alamat alamat return return dimasu dimasukkan kkan ke dalam dalam stack stack dan PC (Prog (Program ram Counte Counter) r) berisi berisi 0008h. 0008h. Untuk Untuk interu interupsi psi dari dari luar luar, sepert sepertii pin RB0/IN RB0/INT T atau atau sela sela perubahan port B, pengeksekusian sela akan menjadi tiga atau empat putaran instruksi.
Gambar 2.6. Logika Interupt