TUGAS AKHIR - Alat ukur pencacah putaran `mesin uji kelelahan bahan` dengan tampilan LCD menggunakan mikrokontroler PIC16F84 - USD Repository
TUGAS AKHIR
ALAT UKUR PENCACAH PUTARAN ‘MESIN UJI
KELELAHAN BAHAN’ DENGAN TAMPILAN LCD
MENGGUNAKAN MIKROKONTROLER PIC16F84
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Teknik Universitas Sanata Dharma
Disusun oleh
FRANKIE TJANDRA
NIM: 015114022
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
FINAL PROJECT
ROTATION COUNTER MEASUREMENT AT ‘ROTARY
BENDING MACHINE’ WITH LCD DISPLAY USING
PIC16F84 MICROCONTROLLER
In partial fulfillment of the requirements for the degree of
SARJANA TEKNIK of Electrical Engineering Study Program
Compiled by:
NAMA: FRANKIE TJANDRA
NIM: 015114022
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
Tulisan ini kupersembahkan untuk
kemuliaan Bapa Yang Maha Besar, Ayah
dan Ibu tercinta, saudara-saudariku
terkasih, dan teman-teman yang terbaik
dimanapun juga.
“Libatkan Tuhan dalam segala
perencanaan”
“Tekad dan niat serta semangat
mengalahkan
segala kesulitan”
“Selalu ada alasan untuk bersyukur“
KATA PENGANTAR
Puji Tuhan karena telah memberikan bimbingan dan kasih-Nya kepada penulis untuk
menyelesaikan skripsi yang berjudul “Alat Ukur Pencacah Putaran ‘Mesin Uji Kelelahan
Bahan’ Dengan Tampilan LCD Menggunakan Mikrokontroler PIC16F84” Penulis menyadari bahwa skripsi ini tidak mungkin dapat selesai dengan baik tanpa bantuan dari berbagai pihak. Oleh karena itu penulis mengucapkan terimakasih kepada:
1. Bapak B. Djoko Untoro S. Ssi. MT selaku pembimbing I yang telah dengan sabar
membimbing, mendukung, dan menyemangati serta memberikan ilmunya kepada penulis, sehingga penulis dapat menyelesaikan skripsi ini dengan baik.
2. Bapak Martanto, S.T., MT selaku pembimbing II yang telah memberikan saran-saran dan
bimbingan.
3. Bapak Petrus Setyo Prabowo S.T. selaku pembimbing akademik yang telah memberikan
motivasi dan bimbingan dengan baik.
4. Segenap dosen dan karyawan Teknik atas bimbingan, ilmu dan pelayanan yang diberikan
selama ini.
5. Laboran TE (Mas Suryo, Mas Martono, Mas Mardi, Mas Broto) yang telah membantu
penulis.
6. Ayahku dan Ibuku yang telah dengan setia dan sabar memberikan dukungan doa, kasih,
dan bantuan moril yang sangat besar.
7. Kakakku (Herry) dan Adikku (Happie) yang senantiasa memberikan doa, teladan,
dukungan, dan semangat.
8. Teman-teman Fs : Yesika Fadeli, Ina, Marcell, Ratih, dan semuanya yang tidak dapat
disebutkan satu per satu atas inspirasi dan motivasi.9. Teman-teman satu tim (Koko dan Andre) atas kerjasama dan dukungan yang diberikan.
10. Anak-anak “Tangkadas Putra” (Niko, N’kong, Alven, Aris, Yono, Wawan, Sigit, Koko,
Heri, Fandi, Purba, Sinung, Dani, dan Charles/penghuni terakhir, Widi) atas kebersamaannya selama di Jogja.11. Ko Dennis, Ci Tanti, Ko Aan, dan semua anak 2 nd
Home yang turut membantu dalam pencarian bahan-bahan yang mendukung dalam tulisan ini dan kebersamaannya.
12. Ulis, Jimmi, Morris, Tyo, Jeksen, John, Alex, Septa, Eling, Erik, atas kebersamaan, ide-
ide, saran, dukungan dan semangat.
13. Winda, Tika, C-we, Imet, Rosa, Ius, Nessya, Enceng, Miko, Bung Yoyo atas
kebersamaan, dukungan, bantuan, semangat, dan kegembiraan yang kalian bagi.
14. Untuk teman-teman YM : Ririn, K. Esther, Rosy, Erline, Meilana, Lusi, Ex4, Intan,
Fatan, dll yang telah memberikan doa, semangat dan dukungan.
15. Semua pihak yang tidak dapat disebutkan satu persatu disini, yang tak perlu diragukan
lagi atas segala kebaikan dan ketulusannya dalam membantu penulis.Semoga Tuhan melimpahkan rahmat-Nya kepada kita semua dan semoga tulisan ini dapat berguna dan bermanfaat bagi semua, Amin.
Yogyakarta, Januari 2007 Penulis, Frankie Tjandra
DAFTAR ISI
HALAMAN JUDUL .......................................................................................................... i
HALAMAN JUDUL (INGGRIS)....................................................................................... ii
HALAMAN PERSETUJUAN............................................................................................ iii
HALAMAN PENGESAHAN............................................................................................. iv
HALAMAN PENGESAHAN KEASLIAN KARYA......................................................... v
HALAMAN PERSEMBAHAN.......................................................................................... vi
KATA PENGANTAR ........................................................................................................ vii
DAFTAR ISI....................................................................................................................... ix
DAFTAR GAMBAR........................................................................................................... xii
DAFTAR TABEL............................................................................................................... xiv
DAFTAR LAMPIRAN....................................................................................................... xv
INTISARI............................................................................................................................ xvi
ABSTRACT........................................................................................................................ xvii
BAB I. PENDAHULUAN .................................................................................................1 I.1 Judul...............................................................................................................................
1 I.2 Latar Belakang .............................................................................................................
1 I.3 Tujuan Penelitian............................................................................................................
2 I.4 Manfaat Penelitian..........................................................................................................
2 1.5 Batasan Masalah............................................................................................................
2 I.6 Metodologi Penulisan ....................................................................................................
3 I.7 Sistematika Penulisan ....................................................................................................
4 BAB II. DASAR TEORI 2.1 Pencacah .......................................................................................................................
5
2.2 Mikrokontroler PIC16F84 ...........................................................................................
5 2.2.1 Arsitektur PIC16F84.............................................................................................
8
2.2.2 Instruksi-instruksi untuk seri PIC16..................................................................... 10
2.2.2.1 Instruksi-instruksi transfer data................................................................10 2.2.2.2 Instruksi-instruksi aritmetika dan logika..................................................
11 2.2.2.3 Instruksi-instruksi operasi bit...................................................................
12
2.2.2.4 Instruksi pengarah aliran program............................................................ 13
2.2.2.5 Instruksi-instruksi lain..............................................................................14
2.2.3 Register status ...................................................................................................... 15
2.3 Pendeteksi putaran motor.......…….............…………..........…………………... 16
2.3.1 LED inframerah................................................ ………………………………… 17
2.3.2 Fototransistor........................................................................................................ 18
2.4 Pengkondisi sinyal......................................................................................................... 20
2.5 LCD...............................................................................................................................21
2.6 Rangkaian reset………………………………………………………………………. 23
BAB III. RANCANGAN PENELITIAN............................................................................26
3.1 Perancangan Perangkat Keras ....................................................................................... 26
3.2 Pendeteksi putaran motor .............................................................................................26 3.2.1 Rangkaian sumber cahaya ...................................................................................
28 3.2.2 Rangkaian penerima ..........................................................................................
28
3.3 Rangkaian reset.............................................................................................................. 30
3.4 Koneksi LCD dengan mikrokontroler ......................................................................30 3.4.1 Tampilan perkenalan ........................................................................................
31
3.4.2 Tampilan pencacah............................................................................................. 32
3.4.3 Tampilan akhir .................................................................................................. 32
3.5 Diagram alir................................................................................................................... 33
3.5.1 Diagram alir utama...............................................................................................33
3.5.2 Diagram alir pencacah mencacah......................................................................... 34
3.5.2 Diagram alir tampil LCD...................................................................................... 35
BAB IV. ANALISA DAN PEMBAHASAN ..................................................................... 37
4.1 Rangkaian sensor........................................................................................................... 37
4.2 Pengkondisi sinyal......................................................................................................... 38
4.3 Program mikrokontroler ............................................................................................... 39
4.4 Tampilan pencacah ....................................................................... ..........................40
4.4.1 Metode manual..................................................................................................... 40
4.42 Metode pemberian tegangan.................................................................................. 41
4.43 Metode perbandingan............................................................................................42 BAB V. KESIMPULAN DAN SARAN.............................................................................
44
5.1 Kesimpulan.................................................................................................................... 44
5.2 Saran..............................................................................................................................44 DAFTAR PUSTAKA ......................................................................................................... 45 LAMPIRAN
DAFTAR GAMBAR
Gambar 2.1 Mikrokontroler PIC16F84................................................................................. 6Gambar 2.2 Arsitektur PIC16F84.......................................................................................... 8Gambar 2.3 Format register status......................................................................................... 15Gambar 2.4 Rangkaian sumber cahaya.................................................................................. 17Gambar 2.5 Rangkaian penerima menggunakan fototransistor............................................. 19Gambar 2.6 Bentuk gelombang masukan dan keluaran pembanding histerisis..................... 20Gambar 2.7 Layar LCD 2x16................................................................................................ 21Gambar 2.8 Reset active low .............................................................................................. 24Gambar 3.1 Blok diagram alat ukur pencacah banyaknya putaran motor............................. 26Gambar 3.2 Penempelan tanda hitam pada motor................................................................. 26Gambar 3.3 Keadaan sensor mengenai tanda hitam.............................................................. 27Gambar 3.4 Keadaan sensor mengenai badan piringan ........................................................ 27Gambar 3.5 Rangkaian deteksi adanya putaran motor.......................................................... 29Gambar 3.6 Rangkaian reset.................................................................................................. 30Gambar 3.7 LCD dengan pengiriman data 8 bit ................................................................... 31Gambar 3.8 Tampilan perkenalan pada LCD........................................................................ 31Gambar 3.9 Tampilan pencacah pada LCD........................................................................... 32Gambar 3.10 Tampilan akhir................................................................................................. 32Gambar 3.11 Diagram alir utama........................................................................................... 33Gambar 3.12 Diagram alir pencacah mencacah..................................................................... 34Gambar 3.13 Diagram alir tampil ke LCD............................................................................ 35Gambar 4.1 Sinyal keluaran pada fototransistor.................................................................... 38Gambar 4.2 Sinyal keluaran pada 74LS14............................................................................. 39Gambar 4.3 Sensor dan alat uji.............................................................................................. 40Gambar 4.4 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan’....................... 42
DAFTAR TABEL
Tabel 2.1 Deskripsi pin PIC16F84......................................................................................... 6Tabel 2.2 Tabel instruksi PIC16F.......................................................................................... 14Tabel 2.3 Tabel fungsi IC 74LS14......................................................................................... 21Tabel 2.4 Pin LCD HD44780U.............................................................................................. 22Tabel 3.1 Keluaran rangkaian pendeteksi putaran................................................................. 29Tabel 4.1 Tabel pengamatan rangkaian sensor...................................................................... 37Tabel 4.2 Penyimpanan data dalam berbagai format............................................................. 39Tabel 4.3 Tabel pengamatan tampilan LCD terhadap tanda hitam ....................................... 41Tabel 4.4 Data pengukuran jumlah putaran........................................................................... 41Tabel 4.5 Perbandingan jumlah putaran dengan ‘alat uji kelelahan bahan ........................... 43DAFTAR LAMPIRAN
A. Gambar Rangkaian ...................................................................................................... L1
B. Listing Program............................................................................................................ L2
C. Data Sheet..................................................................................................................... L3
ALAT UKUR PENCACAH PUTARAN ‘MESIN UJI KELELAHAN
BAHAN’ DENGAN TAMPILAN LCD MENGGUNAKAN
MIKROKONTROLER PIC16F84
Frankie Tjandra
015114022
Intisari
Pada laboratorium pengujian bahan terdapat alat ukur untuk menguji kekuatan suatu
bahan. Ide dasar dari peralatan ini adalah memberikan tekanan dan putaran terhadap bahan
uji. Putaran dari mesin akan dihitung dan akan berhenti jika bahan uji telah patah.Pada tulisan ini akan dibahas tentang aplikasi mikrokontroler pada penampil cacahan
‘Alat Uji Kelelahan Bahan’. Sensor pada alat ini menggunakan infrared dan phototransistor
untuk mendeteksi putaran mesin, sedangkan pengkondisi sinyalnya menggunakan 74LS14.
Pada motor uji diberikan suatu tanda hitam, sehingga setiap tanda hitam yang dilalui sensor
akan menaikkan cacahan pada tampilan LCD. Untuk itu diperlukan suatu program pencacah
dalam mikrokontroler untuk menampilkan hasil cacahan tersebut pada LCD.Pada tulisan ini dirancang untuk tampilan maksimum 9.999.999 cacahan, dan alat
ini telah dicoba dengan ‘metode pemberian tegangan’ sampai dengan tampilan 4 juta
cacahan. Jika dibandingkan dengan penampil pada ‘Alat Uji Kelelahan Bahan’, alat ini masih
belum dapat menampilkan hasil yang serupa dengan tampilan ‘Alat Uji Kelelahan Bahan’.
Sehingga dapat disimpulkan bahwa alat ini sudah dapat mencacah pada kecepatan motor
“mesin uji kelelahan bahan”, tetapi dengan error sebesar 1%.
ROTATION COUNTER MEASUREMENT AT ‘ROTARY BENDING MACHINE’
WITH LCD APPEARANCE USING PIC16F84 MICROCONTROLLER
Frankie Tjandra
015114022
AbstractIn the Material Testing Laboratory, there is equipment to test the strength of
materials. The basic concept of this equipment is to make a tension and a torsion force to the
specimens. The torsion force of the machines would be counted and must be stopped if the
specimen has been broken.This paper would discuss about the microcontroller application counter at 'Rotary
Bending Machine'. The sensor of this device uses infrared and phototransistor to detect a
rotation. as for the signal conditioning, 74LS14 would be used. A black mark is given for the
motor tester, so that every black mark that is passed by the sensor will count up to the LCD's
display. Therefore, a counter program in microcontroller is needed to display the result of
counting at LCD.This paper is made to maximum 9.999.999 count display, and this device has been
tested using ‘giving a voltage method’ until 4 million counts displaying. This device still does
not match if compared with the display at 'Rotary Bending Machine'. It could be concluded
that it has been able to count at the velocity of 'Rotary Bending Machine' with 1% of error.
1
BAB I PENDAHULUAN
1.1 Judul Alat Ukur Pencacah Putaran ‘Mesin Uji Kelelahan Bahan’ dengan Tampilan LCD Menggunakan Mikrokontroler PIC16F84
1.2 Latar Belakang Masalah Suatu alat ukur tidak selalu dalam keadaan baik, ada kalanya alat ukur tersebut
mengalami kerusakan. Untuk memperbaiki kerusakan itu biasanya diperlukan suatu
penggantian komponen ataupun onderdil. Biaya yang dikeluarkan untuk proses penggantian
itu juga tidak sedikit. Sebagai contoh seperti kerusakan sensor yang pernah dialami pada alat
uji kelelahan bahan pada laboratorium teknik mesin, untuk mengganti sensor yang rusak
diperlukan biaya yang mahal.Alat ukur yang akan dirancang disini adalah pencacah putaran motor yang dapat
dikembangkan untuk dapat diaplikasikan pada alat uji kelelahan bahan yang digunakan untuk
menguji ketahanan suatu benda terhadap beban lengkung-puntir. Alat uji kelelahan bahan
pada laboratorium ilmu logam fakultas teknik mesin misalnya, pengujian ketahanan benda uji
dilakukan dengan memberikan beban pada benda uji dan benda uji tersebut diputar sampai
patah (selama benda tersebut belum patah motor akan terus berputar). Alat uji tersebut akan
terus mencacah banyaknya putaran yang terjadi. Untuk itu diperlukan cacah putar dalam
jumlah yang banyak.Alat uji kelelahan bahan pada laboratorium teknik mesin menggunakan sensor
logam untuk mendeteksi putaran yang terjadi, sedangkan pada penelitian ini akan digunakan
2
sensor infrared LED dan fototransistor. Sensor yang digunakan pada penelitian ini jauh lebih
murah serta mudah didapat.1.3 Tujuan
Tujuan yang akan dicapai dalam penelitian ini adalah:
1. Membuat suatu pencacah putaran motor dengan tampilan maksimum sebanyak 9.999.999
cacahan dengan menggunakan mikrokontroler PIC16F84 dan dapat ditampilkan hasilnya pada LCD 2 × 16.
2. Mempelajari dan memanfaatkan mikrokontroler PIC16F84 dalam penerapannya pada alat
ukur banyaknya cacah putaran motor.3. Dapat diaplikasikan pada alat uji kelelahan bahan pada Lab.TM.
1.4 Manfaat
Manfaat yang dapat dicapai dari penelitian ini, antara lain : 1. Dapat menjadi alternatif alat ukur uji kelelahan bahan yang lebih ekonomis.
2. Menambah literatur tentang aplikasi mikrokontroler menggunakan PIC.
1.5 Batasan Masalah
Dalam penelitian ini akan dirancang sebuah alat ukur yang akan mencacah
banyaknya putaran motor menggunakan mikrokontroler PIC16F84 dengan nilai maksimum
9.999.999 cacahan dan data pengukuran yang dihasilkan dapat ditampilkan pada LCD 2 × 16. Sensor yang digunakan untuk mendeteksi putaran adalah fototransistor dan infrared.3
1.6 Metode Pengumpulan Data
Penulisan laporan ini dijadikan beberapa metode pengumpulan data yaitu :
1. Studi Pustaka Dalam hal ini pengumpulan data dilakukan dengan membaca dan mempelajari beberapa litelatur/buku tentang PIC16F84, datasheet komponen yang digunakan dan literatur lain yang diperoleh dari internet serta majalah-majalah elektronik yang menunjang serta berhubungan dengan alat dan pemrograman yang dibuat.
2. Pembuatan Program Dalam hal ini materi Tugas Akhir diterjemahkan dalam bahasa pemprograman mikrokontroler, sehingga mampu didemontrasikan dalam sistem alat ukur.
1.6 Sistematika Penulisan Penulisan laporan tugas akhir ini akan disusun dengan sistematika sebagai berikut:
BAB I. PENDAHULUAN Pada bab ini berisi latar belakang masalah, maksud dan tujuan tugas akhir, batasan masalah, metodologi penelitian dan sistematika penulisan laporan. BAB II. DASAR TEORI Pada bab ini berisi tentang teori dari beberapa komponen yang digunakan dalam pembuatan alat pencacah putaran. BAB III. PERANCANGAN ALAT Pada bab ini berisi tentang penjelasan perancangan pencacah putaran.
4
BAB IV. DATA DAN ANALISA Pada bab ini berisi tentang cara kerja alat keseluruhan dan analisis serta pembahasan mengenai hasil tugas akhir yang telah dibuat. BAB V. PENUTUP Pada bab ini ini berisi kesimpulan dari hasil tugas akhir yang telah dilakukan dan saran
yang berisi ide-ide untuk perbaikan atau pengembangan terhadap tugas akhir yang telah dilakukan.
DAFTAR PUSTAKA
5
BAB II DASAR TEORI
2.1 Pencacah Pencacah disini merupakan penghitung banyaknya putaran yang terjadi pada motor
yang berputar. Pada penelitian ini diperlukan pencacah sampai dengan 9.999.999 cacahan.
Pencacah secara elektronis dengan menggunakan gerbang logika memerlukan IC lebih dari
satu, misalnya untuk pencacah 16 bit secara perangkat keras hanya mampu menampung data
16
sebanyak 65536 (2 ) saja, sedangkan pada penelitian ini akan digunakan 2 buah IC
(Mikrokontroler dan 74LS14) untuk mencacah putaran motor sebanyak 9.999.999 cacahan.
Untuk dapat mencacah sebanyak 9.999.999 cacahan diperlukan software dengan
memanfaatkan sebuah mikrokontroler agar dapat menampung data sebanyak itu.Unit pencacah terdiri dari 7 bagian pencacah, yaitu: satuan, puluhan, ratusan, ribuan, puluhan ribu, ratusan ribu, dan jutaan.
2.2 Mikrokontroler PIC16F84 Mikrokontroler PIC16F84 merupakan mikrokontroler yang dikembangkan dan
diproduksi oleh perusahaan Microchip. Mikrokontroler PIC16F84 termasuk dalam
mikrokontroler 8 bit, yang berarti dapat melakukan pengolahan data sebanyak 8 bit secara
langsung. Pada perancangan ini dikehendaki agar program pada mikrokontroler dapat
mencacah putaran sebanyak 9.999.999 dengan tampilan bilangan desimal pada LCD.Gambar 2.1 merupakan mikrokontroler yang akan digunakan pada perancangan, yaitu PIC16F84.Gambar 2.1 Mikrokontroler PIC16F84 Untuk deskripsi tiap pin pada PIC16F84 dapat dilihat pada tabel 2.110 RB4 - Port B
18 RA1 - Port A
17 RA0 - Port A
16 OSC1/CLKIN - Oscillator Input
15 OSC2/CLKOUT - Oscillator Output
14 Vdd - Positive Power Supply
13 RB7 - Port B
12 RB6 - Port B
11 RB5 - Port B
9 RB3 - Port B
Tabel 2.1 Deskripsi pin PIC16F848 RB2 - Port B
7 RB1 - Port B
6 RB0/INT – Port B
5 Vss – Ground
4 MCLR - Master clear input (active low)
3 RA4/TOCK1 - Port A
2 RA3 - Port A
1 RA2 - Port A
Pin Number Description
6
7 Port I/O
Terdiri dari 13 pin I/O, yaitu 5 pada portA(RA0, RA1, RA2, RA3, RA4) dan 8 pada portB
(RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7).Vdd
Merupakan port yang akan dihubungkan ke power suplai yaitu +5 volt DC. VCC terdapat
pada pin 14.GND
Merupakan port yang akan dihubungkan ke ground atau pertanahan. GND terdapat pada pin
5.XTAL 1 dan XTAL 2
Mikrokontroler PIC16F84 telah memiliki on-chip osilator yang dapat bekerja dengan
menggunakan Kristal eksternal yang dihubungkan ke kaki XTAL 1 dan XTAL 2. XTAL 1
dan XTAL 2 terdapat pada pin 15 dan 16.MCLR ( Reset )
Merupakan masukkan reset, apabila diberi masukan ‘0’ pada saat osilator bekerja maka akan
mereset mikrokontroler tersebut. MCLR terdapat pada pin 4.Mikrokontroler tersebut memiliki unit pengolah, unit masukan digital, unit keluaran digital serta penyimpan sementara dan penyimpan permanen.
Mikrokontroler PIC16F84 memiliki fitur-fitur [4] berikut :
1. Memiliki 13 buah port I/O (5 pada port A dan 8 pada port B) 2. 68 Byte memori data
8 3. 1k Byte memori program
4. Kemasan fisik 18 pin DIP
5. Merupakan mikrokontroler RISC, sehingga hanya memiliki 35 instruksi
6. Pemrograman di dalam sistem (ICSP)
7. Tegangan operasi normal 5Vdc Pada dasarnya PIC memerlukan 4 hal untuk dapat membuatnya bekerja, antara lain:
1. Sumber tegangan 5 Volt untuk sumber daya pada IC 2. Clock yang berfungsi memberikan kemampuan IC untuk memproses instruksi.
3. Software yang berisi suatu rentetan instruksi yang kita buat.
4. Programmer untuk memprogram mikrokontroller[3].
2.2.1 Arsitektur PIC16F84
Gambar 2.2 Arsitektur mikrokontroler PIC16F849 Bagian-bagian utama dari mikrokontroler PIC16F84 (gambar 2.2), yaitu[1]:
1. ALU Merupakan bagian mikrokontroler yang bertanggungjawab terhadap operasi aritmetika (penjumlahan dan pengurangan) dan logika, termasuk pergeseran dalam register (shifting).
2. Memori Program Memori program direalisasikan dalam teknologi FLASH memori yang
memungkinkan pemrogram melakukan program hapus-tulis hingga berulang kali.
3. Program counter Merupakan suatu register 13 bit yang berisi alamat instruksi yang sedang dieksekusi.
Program Counter terbagi menjadi byte rendah (PCL) dan byte tinggi (PCH). PCL bersifat dapat dibaca dan ditulis, sedangkan PCH hanya dapat ditulis.
4. Register status Register status berisi status aritmetika dan ALU (C, DC, Z), status reset (TO, PD) dan bit-bit pemilih memori (IRP, RP1, RP0).
5. Pembangkit clock - osilator Rangkaian osilator yang dibutuhkan oleh mikrokontroler untuk menyediakan clock bagi mikrokontroler.
6. Unit I/O Agar mikrokontroler dapat berkomunikasi dengan dunia luar, maka harus ada terminal yang menghubungkan keduanya. Terminal tersebut dinamakan port I/O yang dialamati sebagaimana layaknya lokasi memori. Ada 13 I/O dalam PIC16F84.
10
7. Timer Timer digunakan untuk keperluan menghasilkan tunda, mencacah pulsa, mengetahui keberadaan proses yang sedang berlangsung, dan sebagainya.
2.2.2 Instruksi-instruksi Untuk Seri PIC16
Mikrokontroler seri PIC16 tergolong mikrokontroler jenis RISC sehingga instruksi
yang digunakan relatif sedikit, hanya 35 instruksi. Instruksi-instruksi tersebut tersebut terdiri
atas 6 instruksi untuk transfer data, 15 instruksi untuk operasi aritmetika dan logika, 2
instruksi pengarah aliran program dan instruksi umum.2.2.2.1 Instruksi-instruksi Transfer Data
Transfer data dalam mikrokontroler dilakukan antara register kerja “w” (working
register) dan register file F (baik GPR maupun SFR). Instruksi transfer data digunakan untuk
memindahkan data antar register.1. movlw = digunakan untuk memindahkan nilai literal ke register W. Dengan instruksi ini kita dapat memuati register W dengan nilai tertentu.
2. movwf = digunakan untuk memindahkan isi register W ke register f. Dengan instruksi ini kita dapat menyalin isi register W ke register f. Dalam hal ini isi register W tidak berubah. 3. movf = digunakan untuk memindahakan isi register f ke register W jika d=0 atau ke register f jika d=1.
4. clrw = digunakan untuk membersihkan isi register W. Dengan instruksi ini register W akan diisi dengan 00h.
5. clrf = digunakan untuk membersihkan register f. Register f akan diisi nilai 00h. 6. swapf = digunakan untuk saling menukarkan 4 bit (nibble) atas dengan 4 bit (nibble) bawah pada register f dan hasilnya dletakkan pada tujuan d.
Mikrokontroler PIC seri 16 hanya mengenal operasi aritmetika berupa penjumlahan
dan pengurangan. Bendera C, DZ, dan Z akan ditetapkan menurut hasil dari operasi ini,
dengan satu pengecualian, pengurangan dilakukan sebagai penjumlahan terhadap nilai
negatif. Unit logika pada seri PIC16 dapat melakukan operasi AND, OR (Inclusive OR),
XOR, COMF, dan rotasi RLF/RRF.
1. addlw = digunakan untuk menjumlakan suatu literal dengan register W, dan hasilnya disimpan di register W.
2. addwf = digunakan untuk menjumlahkan isi register W dengan register f, kemudian hasilnya disimpan di tujuan d.
3. sublw = digunakan untuk mengurangkan isi register W dari suatu nilai literal, hasilnya disimpan di register W.
4. subwf = digunakan untuk mengurangkan isi register W dari register f, hasilnya disimpan di tujuan d.
5. andlw = digunakan untuk melakukan operasi logika AND antara nilai literal dengan register W. Hasil operasi diletakkan kembali di register W.
6. andwf = digunakan untuk operasi logika AND antara register W dengan register f, hasil disimpan di tujuan d.
7. iorlw = digunakan untuk melakukan operasi OR antara register W dengan nilai literal k. Hasil operasi ini disimpan di register W.
8. iorwf = digunakan untuk operasi logika OR antara register W dengan register f, hasilnya ditempatkan di tujuan d.
9. xorlw = digunakan untuk operasi logika Exclusive OR (XOR) antara register W dengan nilai literal k. Hasilnya dikembalikan ke register W.
11
2.2.2.2 Instruksi-instruksi Aritmetika dan Logika
10. xorwf = digunakan untuk operasi XOR antara register W dengan register f, hasilnya ditempatkan di tujuan d.
11. incf = digunakan untuk menaikkan 1 nilai register f, kemudian hasilnya diletakkan di tujuan d.
12. decf = digunakan untuk mengurangi 1 nilai register f, kemudian hasilnya diletakkan di tujuan d.
13. rlf = digunakan untuk menggeser kiri bit-bit dalam register f. Hasil penggeseran disimpan di tujuan d.
14. rrf = digunakan untuk menggeser kanan bit-bit dalam register f. Hasil pergeseran diletakkan di tujuan d.
15. comf = digunakan untuk mendapatkan nilai komplemen dari isi register f. Nilai komplemen tersebut kemudian disimpan di tujuan d.
Operasi bit dilakukan dengan instruksi BCF atau BSF. Instruksi ini digunakan untuk menetapkan atau menghapus suatu bit dalam sebuah register.
1. bcf = digunakan untuk membersihkan suatu bit pada register f. Bit yang bersangkutan akan diberi logika 0.
2. bsf = digunakan untuk menetapkan suatu bit pada register f. Bit yang bersangkutan akan diberi logika 1.
12
2.2.2.3 Instruksi-instruksi Operasi Bit
Instruksi –instruksi akan dapat mengalihkan aliran program pada kondisi-kondisi tertentu.
1. btfsc = digunakan untuk menguji logika suatu bit pada register f. Jika hasilnya “0”, instruksi berikutnya dilompati (tidak dieksekusi), sedangkan jika hasilnya “1”, instruksi berikutnya tetap dieksekusi. 2. btfss = digunakan untuk memeriksa bit pada register f. Jika nilainya”1”, lompati instruksi berikutnya, jika “0” instruksi berikutnya tetap dieksekusi.
3. decfsz = digunakan untuk melakukan pengurangan register f dengan 1.Jika bernilai “0” instruksi berikutnya dilompati. Hasil disimpan di tujuan d.
4. incfsz = digunakan untuk melakukan penambahan register f dengan 1. Jika hasilnya “0” instruksi berikutnya dilompati. Hasil disimpan di tujuan d.
5. goto = digunakan untuk mengarahkan program ke suatu tempat dengan nama atau alamat tertentu.
6. call = digunakan untuk memanggil suatu subrutin. 7. return = digunakan untuk kembali dari subrutin ke program utama yang memanggilnya. Setelah kembali, program akan melanjutkan mengerjakan instruksi berikutnya. 8. retlw = instruksi ini serupa dengan return, namun saat kembali dari subrutin, register w akan diberi nilai literal k yang menyertainya.
9. retfie = digunakan untuk mengakhiri suatu rutin interupsi agar program dapat kembali ke pekerjaan awal, melanjutkan pekerjaan yang ditinggalkan akibat adanya interupsi.
13
2.2.2.4 Instruksi Pengarah Aliran Program
1. nop = tidak ada yang dikerjakan
2. clrdwt = digunakan untuk mereset WDT. Saat WDT di enable, WDT harus direset
sebelum mencapai overflow karena apabila dibiarkan akan menyebabkan mikrokontroler reset.
3. sleep = digunakan untuk membawa mikrokontroler ke keadaan stand-by. Mode sleep
sangat bermanfaat untuk menghemat daya pada aplikasi.Tabel 2.2 Tabel instruksi PIC16F14
2.2.2.5 Instruksi-instruksi lain
15
2.2.3 Register Status
Register status berisi status aritmetika dari ALU (C, DZ, Z), status reset (TO, PD) dan bit-bit pemilih bank memori (IRP, RP0, RP1). bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
IRP RP1 RP0 TO PD Z DC C
Gambar 2.3 Format register status Bit 0 = C (Carry) TransferBit C merupakan bit yang dipengaruhi oleh operasi penjumlahan, pengurangan, dan pergeseran.
1 = transfer tejadi dari bit tertinggi (MSB) pada hasil operasi 0 = tidak terjadi transfer Instruksi yang mempengaruhi ADDWF, ADDLW, SUBLW, SUBWF. Bit 1 = DC (Digit Carry) DC transfer Bit DC juga dipengaruhi oleh operasi penjumlahan, pengurangan, dan pergeseran. Bit
DC menyatakan terjadinya transfer dari bit 3 ke bit 4 pada operasi penjumlahan, atau transfer
dari bit 4 ke bit 3 pada operasi pengurangan, atau operasi pergeseran antara bit 3 dan bit 4
dengan arah manapun. 1 = terjadi transfer antara bit 3 dan bit 4 0 = tidak terjadi transfer Bit 2 = Z (Zero bit) Bit Z akan mengindikasikan apabila hasil operasi adalah nol. Bit ini akan diset jika hasil operasi aritmetika atau logika sama dengan nol. 1 = hasil operasi sama dengan nol 0 = hasil operasi tidak sama dengan nol Bit 3 = PD (Power Down bit)16 Bit PD akan diset ketika power supply mulai ON atau setelah eksekusi instruksi
CLRWDT. Instruksi SLEEP akan mereset bit ini ketika mikrokontroler mulai memasuki
mode SLEEP. 1 = sesudah power supply ON 0 = saat eksekusi instruksi SLEEP Bit 4 = TO (Time Out, WDT overflow) Bit ini diset setelah power supply ON, eksekusi CLRWDT dan instruksi SLEEP.Reset pada bit ini akan terjadi saat WDT overflow. 1 = overflow tidak terjadi 0 = overflow terjadi Bit 5, 6 = RP1, RP0 (Request Bank Select Bit) Kedua bit ini merupakan bit-bit pemilih bank pada mode pengalamatan langsung. Bit RP0 tidak difungsikan karena bit ini hanya disisakan untuk keperluan ekspansi mendatang. 01 = bank 1 00 = bank 0 Bit 7 = IRP (Register Bank Select Bit) Bit IRP digunakan untuk memilih bank pada pengalamatan tidak langsung.
1 = bank 2 dan bank 3 2 = bank 1 dan bank 0
2.3 Pendeteksi Putaran Motor
Untuk mendeteksi adanya putaran yang terjadi, maka diperlukan sensor. Sensor
yang akan dipergunakan disini adalah sebuah LED inframerah dan sebuah fototransistor.
Untuk rangkaian pemancarnya menggunakan LED inframerah sebagai sumber inframerah
dan untuk penerimanya menggunakan fototransistor.17
2.3.1 LED inframerah LED inframerah merupakan satu komponen yang prinsip kerjanya sama dengan
LED biasa. Saat menghantar arus LED inframerah juga memancarkan cahaya. Perbedaan
cahaya yang dipancarkan berupa cahaya tidak tampak, sedangkan pada LED biasa cahaya
yang dipancarkan tampak.LED inframerah juga dilengkapi lensa untuk memfokuskan cahaya inframerah,
sehingga dapat membentuk berkas yang sempit dengan tujuan supaya jangkauan pancaran
cahaya mempunyai jarak yang jauh. Dengan demikian dapat ditransmisikan ke pendeteksi
cahaya infra merah (fototransistor) dengan cara menyinari pada daerah basisnya, sehingga
cahaya yang ditransmisikan oleh LED inframerah dapat diubah menjadi sinyal listrik.
Rangkaian pemancar dapat dilihat pada gambar 2.4.Gambar 2.4 Rangkaian sumber cahayaI R ) V .......... .......... .......... .......... .......... .......... ..( 2 . 1 ) CC = F × d F
- V (
V V CC − F
R .......... .......... .......... .......... .......... . .(2.2) = … … … … d
I F Vcc = tegangan 5V
V F = tegangan dioda
I F = arus IRLED R d = resistor
18
2.3.2 Fototransistor