alat pendeteksi asap rokok at89s52 in"UNSIQ 2012

  • 5,363 views
Uploaded on

revrensi ini saya persembahkan bagi follower sekalian...

revrensi ini saya persembahkan bagi follower sekalian...

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Gan boleh minta Email nya
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
5,363
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
228
Comments
1
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ALAT PENDETEKSI ASAP ROKOK BERBASIS MIKROKONTROLLER AT89S52 SKRIPSI Diajukan Sebagai Salah Satu SyaratUntuk Memperoleh Gelar Sarjana Komputer Program S-1 ANDRI RIYATNO 8008012 EDI YUNAN 8007021 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS SAINS AL-QUR’AN (UNSIQ) JAWA TENGAH DI WONOSOBO 2012
  • 2. BAB I PENDAHULUAN1.1 Latar Belakang Udara yang sehat dan bersih hak bagi setiap orang, sehingga segala kegiatan yang dapat menyebabkan pencemaran udara perlu dicegah, termasuk yang bersumber dari asap rokok. Rokok merupakan salah satu zat adiktif yang bila digunakan dapat mengakibatkan bahaya kesehatan bagi individu dan masyarakat baik selaku perokok aktif maupun perokok pasif. Upaya perlindungan terhadap bahaya rokok bagi kesehatan perlu dilakukan secara menyeluruh terpadu dan berkesinambungan. Pada tataran dunia, merokok telah menjadi salah satu penyebab kematian terbesar. Diprediksi sekitar 10 juta orang akan meninggal per tahun menjelang 2030. Di negara-negara berkembang angkanya akan menjadi 70%. Menurut Koran Tempo, total populasi pria Indonesia sebanyak 69% merokok, artinya lebih dari separuh lelaki yang ada di Indonesia ini tiap hari memasukkan bahan beracun ke dalam paru-parunya. Angka ini paling tinggi jika dibandingkan dengan negara-negara Asia lainnya seperti Cina yang 53.4%, India 29.4% dan Thailand 39.3%. Hasil penelitian menunjukkan hampir 70% perokok Indonesia mulai merokok sebelum mereka berumur 19 tahun. Universitas Indonesia (UI) telah mencanangkan bahwa UI tahun 2012 bebas asap rokok. Selain UI, Kampus ITS, Universitas Andalas Padang, dan Universitas Negeri Medan mencanangkan hal yang serupa Berkaitan dengan upaya tersebut, salah satunya adalah wali kota Bogor juga memperlakukan Perda Nomor 12 Tahun 2009 tentang KTR (Kawasan Tanpa Rokok) dan Peraturan Wali Kota Bogor Nomor 12 Tahun 2009 tentang KTR. Di lingkungan kampus penulis yaitu Universitas Sains Al Qur’an, penulis ingin mencoba menerapkan KTR guna kesehatan lingkungan dan para perokok pasif. Ruangan yang bebas asap rokok atau istilahnya KTR tersebut memang sangat diperlukan guna kesehatan sebuah ruangan termasuk lingkungan dan sekitarnya. Sebuah terobosan baru diperlukan untuk membuat pemberitahuan
  • 3. KTR yang lebih efektif yaitu dengan sebuah alat yang dapat mendeteksi adanya asap rokok serta tanda peringatan adanya asap rokok dan dilengkapi dengan penanganan atau pembersihan lingkungan sekitar dari asap rokok tersebut. Suatu alat yang dapat memberikan peringatan adanya asap rokok sekaligus penanganan tentu berbasis kecerdasan buatan dan mikroelektronika, karena perkembangan dunia elektronika dan komputer saat ini sudah sangat pesat. Penemuan silikon menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga bagi perkembangan teknologi modern. Pembahasan khusus dalam hal dinamika alat dengan sistem kecerdasan buatan sangat menjanjikan dalam perolehan kontribusi keilmuan. Tujuan utama dalam pembuatan alat yang dapat mengontrol dan berfikir sendiri mampu membantu manusia dalam memperoleh informasi, kenyamanan dan keamanan. Berbagai peralatan telah dapat dikembangkan oleh manusia, khususnya memudahkan manusia dalam mengembangkan alat-alat yang dapat menyerupai panca indera manusia, mulai dari sensor warna yang berfungsi seperti mata, sensor bau yang berfungsi seperti hidung, sensor gerak, sensor kelembaban dan lain sebagainya. Berdasarkan dari uraian tersebut di atas maka penulis ingin mencoba menggabungkan perkembangan teknologi yang telah maju tersebut khususnya dalam bidang mikroelektronika dan komputer untuk dapat diterapkan pada sistem umum, yaitu sebagai informasi dan peringatan pada kawasan yang bebas asap rokok. Oleh karena itu penelitian tugas akhir ini penulis beri judul “ALAT PENDETEKSI ASAP ROKOK BERBASIS MIKROKONTROLLER AT89S52”1.2 Rumusan Masalah Berdasarkan latar belakang yang telah diuraikan di atas, maka penulis mencoba merumuskan masalah sebagai berikut : 1. Diperlukan sebuah ruangan yang bebas asap rokok dengan peringatan dan penanganan tertentu supaya kesehatan udara di ruangan tersebut bisa terjaga.
  • 4. 2. Belum adanya suatu sistem cerdas atau alat yang dapat memberikan informasi, peringatan dan penanganan ruangan sehingga ruangan tersebut bebas dari asap rokok.1.3 Batasan Masalah Batasan masalah yang digunakan dalam penelitian tugas akhir ini adalah : 1. Alat yang dibuat bersifat prototype atau simulasi alat yang dapat dipergunakan secara nyata. 2. Uji coba dan penelitian menggunakan sensor asap atau AF-30 dan rokok.1.4 Tujuan Penelitian Berdasarkan beberapa pokok masalah di atas maka tujuan dari penelitian ini adalah : 1. Melakukan penelitian untuk membuat suatu ruangan yang bebas asap rokok. 2. Memanfaatkan sistem kecerdasan buatan yang diterapkan pada mikrokontroller untuk memberi informasi, peringatan dan penanganan pada ruangan yang terdapat asap rokok, sehingga ruangan tersebut bebas dari asap rokok.1.5 Manfaat Penelitian Berdasarkan beberapa pokok masalah di atas maka manfaat dari penelitian ini adalah : a. Terdapat ruangan yang bebas asap rokok b. Adanya alat atau sistem cerdas yang dapat memberi informasi, peringatan dan penanganan ruangan yang terdapat asap rokok
  • 5. 1.6 Sistematika Penulisan Sistematika penulisan dari tiap bab dalam laporan Tugas Akhir ini ditujukan agar mendapatkan keterarahan dalam penulisan sehingga dapat dipahami dan terstruktur. Sistematika penulisan disusun dalam 6 (enam) bab yang diuraikan sebagai berikut : BAB I PENDAHULUAN Pada bab ini penulis menguraikan hal-hal yang berkaitan dengan permasalahan yang dibahasnya, cara penyelesaiannya, yang umumnya tersusun dalam sub bab diantaranya : Latar Belakang Masalah, Maksud Dan Tujuan, Rumusan Masalah, Batasan Masalah, Metodologi Penelitian dan Sistematika Penulisan. BAB II TINJAUAN PUSTAKA Menjelaskan secara singkat teori-teori yang berhubungan dengan dasar-dasar bahasa pemrograman yang digunakan dan teori-teori yang bersangkutan dengan materi tugas akhir ini. BAB III METODELOGI PENELITIAN Bab ini berisi mengenai tata cara penelitian, pengambilan judul, langkah-langkah penelitian yang dilakukan penulis, hingga penentuan keputusan dan kesimpulan penelitian yang penulis lakukan BAB IV ANALISIS DAN PERANCANGAN SISTEM Pada bab ini akan dibahas analisis terhadap permasalahan dan kebutuhan terhadap sistem yang di bahas, meliputi aspek-aspek yang terlibat, dan lain-lain persoalan yang dapat dianalisis. Selain itu juga dibahas mengenai deskripsi atau algoritma proses, perancangan struktur data, perancangan antarmuka untuk input output, struktur menu, dan perancangan struktur program. BAB V IMPLEMENTASI SISTEM Pada bab ini memberikan uraian tentang deskripsi hal-hal yang berkaitan dengan implementasi program, meliputi batasan-batasan
  • 6. atau perlatan–peralatan hardware dan software yang digunakan untuk melakukan implementasi dan pengujian agar sistem siap dioperasikan.BAB VI PENUTUP Kesimpulan-kesimpulan yang dapat diambil dari pembahasan masalah, dan saran atau usul yang dapat diberikan untuk tindak lanjut terhadap topik yang dibahas, demi kesempurnaan pembahasan masalah.
  • 7. BAB II TINJAUAN PUSTAKA2.1 Rokok 2.1.1 Pengertian Rokok adalah silinder dari kertas berukuran panjang antara 70 hingga 120 mm (bervariasi tergantung negara) dengan diameter sekitar 10 mm yang berisi daun-daun tembakau yang telah dicacah. Rokok dibakar pada salah satu ujungnya dan dibiarkan membara agar asapnya dapat dihirup lewat mulut pada ujung lainnya. Rokok biasanya dijual dalam bungkusan berbentuk kotak atau kemasan kertas yang dapat dimasukkan dengan mudah ke dalam kantong. Sejak beberapa tahun terakhir, bungkusan-bungkusan tersebut juga umumnya disertai pesan kesehatan yang memperingatkan perokok akan bahaya kesehatan yang dapat ditimbulkan dari merokok, misalnya kanker paru-paru atau serangan jantung (walaupun pada kenyataannya itu hanya tinggal hiasan, jarang sekali dipatuhi). Manusia di dunia yang merokok untuk pertama kalinya adalah suku bangsa Indian di Amerika, untuk keperluan ritual seperti memuja dewa atau roh. Pada abad 16, Ketika bangsa Eropa menemukan benua Amerika, sebagian dari para penjelajah Eropa itu ikut mencoba-coba menghisap rokok dan kemudian membawa tembakau ke Eropa. Kemudian kebiasaan merokok mulai muncul di kalangan bangsawan Eropa. Tapi berbeda dengan bangsa Indian yang merokok untuk keperluan ritual, di Eropa orang merokok hanya untuk kesenangan semata-mata. Abad 17 para pedagang Spanyol masuk ke Turki dan saat itu kebiasaan merokok mulai masuk negara-negara Islam. Telah banyak riset yang membuktikan bahwa rokok sangat menyebabkan ketergantungan, di samping menyebabkan banyak tipe kanker,
  • 8. penyakit jantung, penyakit pernapasan, penyakit pencernaan, efek buruk bagi kelahiran, dan emfisema2.1.2 Jenis Rokok Rokok dibedakan menjadi beberapa jenis. Pembedaan ini didasarkan atas bahan pembungkus rokok, bahan baku atau isi rokok, proses pembuatan rokok, dan penggunaan filter pada rokok. Rokok berdasarkan bahan pembungkus : Klobot: rokok yang bahan pembungkusnya berupa daun jagung. Kawung: rokok yang bahan pembungkusnya berupa daun aren. Sigaret: rokok yang bahan pembungkusnya berupa kertas. Cerutu: rokok yang bahan pembungkusnya berupa daun tembakau. Rokok berdasarkan bahan baku atau isi : Rokok Putih: rokok yang bahan baku atau isinya hanya daun tembakau yang diberi saus untuk mendapatkan efek rasa dan aroma tertentu. Rokok Kretek: rokok yang bahan baku atau isinya berupa daun tembakau dan cengkeh yang diberi saus untuk mendapatkan efek rasa dan aroma tertentu. Rokok Klembak: rokok yang bahan baku atau isinya berupa daun tembakau, cengkeh, dan kemenyan yang diberi saus untuk mendapatkan efek rasa dan aroma tertentu. Rokok berdasarkan proses pembuatannya. Sigaret Kretek Tangan (SKT): rokok yang proses pembuatannya dengan cara digiling atau dilinting dengan menggunakan tangan dan atau alat bantu sederhana. Sigaret Kretek Mesin (SKM): rokok yang proses pembuatannya menggunakan mesin. Sederhananya, material rokok dimasukkan ke dalam mesin pembuat rokok. Keluaran yang dihasilkan mesin pembuat rokok berupa rokok batangan. Saat ini mesin pembuat rokok telah mampu menghasilkan keluaran sekitar enam ribu
  • 9. sampai delapan ribu batang rokok per menit. Mesin pembuat rokok, biasanya, dihubungkan dengan mesin pembungkus rokok sehingga keluaran yang dihasilkan bukan lagi berupa rokok batangan namun telah dalam bentuk pak. Ada pula mesin pembungkus rokok yang mampu menghasilkan keluaran berupa rokok dalam pres, satu pres berisi 10 pak. Sayangnya, belum ditemukan mesin yang mampu menghasilkan SKT karena terdapat perbedaan diameter pangkal dengan diameter ujung SKT. Pada SKM, lingkar pangkal rokok dan lingkar ujung rokok sama besar.Rokok berdasarkan penggunaan filter : Rokok Filter (RF): rokok yang pada bagian pangkalnya terdapat gabus. Rokok Non Filter (RNF): rokok yang pada bagian pangkalnya tidak terdapat gabus.Dilihat dari komposisinya :1. Bidis: Tembakau yang digulung dengan daun temburni kering dan diikat dengan benang.Tar dan karbon monoksidanya lebih tinggi daripada rokok buatan pabrik. Biasa ditemukan di Asia Tenggara dan India.2. Cigar: Dari fermentasi tembakau yang diasapi, digulung dengan daun tembakau. Adaberbagai jenis yang berbeda di tiap negara. Yang terkenal dari Havana, Kuba.3. Kretek: Campuran tembakau dengan cengkeh atau aroma cengkeh berefek mati rasa dan sakit saluran pernapasan. Jenis ini paling berkembang dan banyak di Indonesia.4. Tembakau langsung ke mulut atau tembakau kunyah juga biasa digunakan di AsiaTenggara dan India. Bahkan 56 persen perempuan India menggunakan jenis kunyah. Adalagi jenis yang diletakkan antara pipi dan gusi, dan tembakau kering yang diisap denganhidung atau mulut.
  • 10. 5. Shisha atau hubbly bubbly: Jenis tembakau dari buah-buahan atau rasa buah-buahanyang disedot dengan pipa dari tabung. Biasanya digunakan di Afrika Utara, TimurTengah, dan beberapa tempat di Asia. Di Indonesia, shisha sedang menjamur seperti dikafe-kafe2.1.3 Kandungan Kimia Berikut adalah beberapa bahan kimia yang terkandung di dalam rokok : Nikotin, kandungan yang menyebabkan perokok merasa rileks. Tar, yang terdiri dari lebih dari 4000 bahan kimia yang mana 60 bahan kimia di antaranya bersifat karsinogenik. Sianida, senyawa kimia yang mengandung kelompok cyano. Benzene, juga dikenal sebagai bensol, senyawa kimia organik yang mudah terbakar dan tidak berwarna. Cadmium, sebuah logam yang sangat beracun dan radioaktif. Metanol (alkohol kayu), alkohol yang paling sederhana yang juga dikenal sebagai metil alkohol. Asetilena, merupakan senyawa kimia tak jenuh yang juga merupakan hidrokarbon alkuna yang paling sederhana. Amonia, dapat ditemukan di mana-mana, tetapi sangat beracun dalam kombinasi dengan unsur-unsur tertentu. Formaldehida, cairan yang sangat beracun yang digunakan untuk mengawetkan mayat. Hidrogen sianida, racun yang digunakan sebagai fumigan untuk membunuh semut. Zat ini juga digunakan sebagai zat pembuat plastik dan pestisida. Arsenik, bahan yang terdapat dalam racun tikus. Karbon monoksida, bahan kimia beracun yang ditemukan dalam asap buangan mobil.
  • 11. Gambar 2.1 Rokok Sumber : http://id.wikipedia.org/wiki/Rokok (Online 24/09/2012)2.2 Mikrokontroller 2.2.1 Pengertian Mikrokontroller Mikrokontroler adalah Central Processing Unit (CPU) yang disertai dengan memori serta sarana input atau output dan dibuat dalam bentuk chip. (Suhata, S.T : 2005 hal: 7). 2.2.2 Bagian-Bagian Mikrokontroller 1. CPU (Central Processing Unit) CPU terdiri atas dua bagian, yaitu unit pengendali (control unit) serta unit arithmatika dan logika (ALU). Fungsi utama unit pengendali adalah mengambil, mengkodekan dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, aliran dan instruksi program. Unit aritmatika dan logika berfungsi untuk melakukan proses perhitungan yang diperlukan selama program dijalankan serta mempertimbangkan suatu kondisi dan mengambil keputusan yang diperlukan untuk instruksi-instruksi berikutnya. 2. Bus Alamat Bus alamat berfungsi sebagai sejumlah lintasan saluran pengalamatan antara alat dengan sebuah komputer. Pengalamatan ini harus ditentukan terlebih dahulu untuk menghindari terjadinya kesalahan
  • 12. pengiriman sebuah instruksi dan terjadinya bentrok antara dua buah alat yang bekerja secara bersamaan.3. Bus Data Bus data merupakan sejumlah lintasan saluran keluar-masuknya data dalam suatu mikrokontroller. Pada umumnya saluran data yang masuk sama dengan saluran data yang keluar.4. Bus Kontrol Bus kontrol atau bus pengendali ini berfungsi untuk menyerempakkan operasi mikrokontroller dengan operasi rangkaian luar.5. Memori Di dalam sebuah mikrokontroller terdapat suatu memori yang berfungsi untuk menyimpan data atau program. Ada beberapa jenis memori, di antaranya adalah RAM dan ROM. Ada beberapa tingkatan memori, diantaranya adalah register internal, memori utama dan memori masal. Register internal adalah memori di dalam ALU. Waktu akses register sangat cepat, umumnya kurang dari 100 ns. Memori utama adalah memori yang ada pada suatu sistem. Waktu aksesnya lebih lambat dibandingkan register internal, yaitu antara 200 sampai 1.000 ns. Memori massal dipakai untuk penyimpanan berkapasitas tinggi, biasanya berbentuk disket, pita magnetik atau kaset.6. RAM (Random Acces Memory) RAM merupakan memori yang dapat dibaca dan ditulis. RAM biasanya digunakan ntuk menyimpan data atau sering disebut dengan memori data saat program bekerja. Data yang ada pada RAM hilang bila catu daya dari RAM dimatikan sehingga RAM hanya dapat digunakan untuk menyimpan data sementara. Teknologi RAM dapat dibagi menjadi dua, yaitu statik dan dinamik. RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor. Ada tidaknya muatan yang ada pada kapasitor dijadikan acuan oleh RAM dinamik sebagai bilangan biner 1
  • 13. atau 0. Oleh karena kapasitor memiliki kecenderungan alami untuk mengosongkan muatan, RAM dinamik memerlukan pengisian muatan secara periodik untuk melihara penyimpanan data. Pada RAM statik, nilai biner disimpan menggunakan konfigurasi gate logika flip-flop. RAM statik akan menyimpan data selama aliran daya diberikan padanya. 7. ROM (Read Only Memory) ROM merupakan memori yang hanya dapat dibaca. Data yang tersimpan di ROM tidak akan hilang meskipun tegangan supply dimatikan. Dari sifatnya itu maka ROM sering dipakai untuk menyimpan program. Ada beberapa jenis ROM diantaranya ROM, PROM, EPROM dan EEPROM. ROM merupakan memori yang sudah diprogram oleh pabrik. PROM dapat diprogram oleh pemakai tapi hanya dapat ditulis sekali saja. UV-EPROM merupakan PROM yang dapat diprogram atau ditulis beberapa kali dan dapat dihapus dengan sinar ultraviolet. Flash PEROM adalah PROM yang dapat ditulis ulang beberapa kali dan dapat dihapus secara elektrik atau dengan tegangan listrik. UV- EPROM harganya lebih mahal dari Flash PEROM, karena itu Flash PEROM lebih popular dan diminati programmer mikrokontroller.2.2.3 Keuntungan Penggunaan Mikrokontroler Penggunaan mikrokontroler mempunyai keuntungan antara lain : a. Sistem elektronik akan menjadi lebih ringkas b. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi c. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.
  • 14. 2.2.4 Kesamaan antara Mikrokontroler dengan Komputer a. Sama-sama memiliki unit pengolah pusat atau yang lebih dikenal dengan CPU (Central Processing Unit); b. CPU tersebut sama-sama menjalankan program dari suatu lokasi atau tempat, biasanya dari ROM (Read Only Memory) atau RAM (Random Access Memory); c. Sama-sama memiliki RAM yang digunakan untuk menyimpan data-data sementara atau yang lebih dikenal dengan variabel- variabel;Sama-sama memiliki beberapa keluaran dan masukan yang digunakan untuk melakukan komunikasi timbal-balik dengan dunia luar.2.2.5 Perbedaan antara Mikrokontroler dan Komputer Perbedaan antara mikrokontroler dan komputer antara lain : a. CPU pada Komputer berada eksternal dalam suatu sistem, sampai saat ini kecepatan operasionalnya sudah mencapai tingkat lebih dari 2 GHz, sedangkan CPU pada Mikrokontroler berada internal dalam sebuah chip, kecepatan bekerja masih cukup rendah, dalam orde MHz (misalnya, 24 MHz, 40 MHz dan lain sebagainya). Kecepatan yang relatif rendah ini sudah mencukupi untuk aplikasi-aplikasi berbasis mikrokontroler. b. Jika CPU pada komputer menjalankan program dalam ROM atau yang lebih dikenal dengan BIOS pada saat awal dihidupkan, kemudian mengambil atau menjalankan program yang tersimpan dalam hard disk. Sedangkan mikrokontroler sejak awal menjalankan program yang tersimpan dalam ROM internal-nya (bisa berupa Mask ROM atau Flash PEROM). Sifat memori program ini non volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.
  • 15. c. RAM pada mikrokomputer bisa mencapai ukuran sekian MByte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte, 256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk aplikasi- aplikasi mikrokontroler. d. Keluaran dan masukan pada mikrokomputer jauh lebih kompleks dibandingkan dengan mikrokontroler, yang jauh lebih sederhana, selain itu, pada mikrokontroler tingkat akses keluaran dan masukan bisa dalam satuan per bit. e. Jika diamati lebih lanjut, Mikrokomputer atau Komputer merupakan komputer serbaguna atau general purpose computer, bisa dimanfaatkan untuk berbagai macam aplikasi (atau perangkat lunak). Sedangkan mikrokontroler adalah special purpose computer atau komputer untuk tujuan khusus, hanya satu macam aplikasi saja.2.3 AT89S52 Mikrokontroler AT89S52 merupakan sebuah Mikrokontroler 8 bit bertenaga rendah dengan teknologi CMOS berkinerja tinggi yang dilengkapi dengan memori flash yang dapat diprogram sebesar 8 Kbyte. Komponen ini dibuat dengan teknologi memori Atmel yang nonvolatile dan berkapasitas tinggi serta kompatibel dengan set intruksi dan kaki out standar industri 80CSI. Flash onchip memungkinkan memori program dapat diprogram ulang dalam system atau dengan pemprograman memori nonvolatile yang konvensinal. Dengan menggunakan CPU 8 bit dengan flash yang diprogram dari sistem dalam sebuah monolitik chip, Atmel AT89S52 adalah sebuah Mikrokontroler yang sangat baik untuk menyelesaikan solusi yang sangat fleksibel dan efektif dalam biaya, untuk banyak masalah aplikasi serta untuk mengontrol modul tambahan.
  • 16. Gambar 2.2 Mikrokontroler AT89S52Mikrokontroler AT89S52 memiliki : Sebuah CPU ( Central Processing Unit ) 8 Bit. 256 byte RAM ( Random Acces Memory ) internal. Empat buah port I/O, yang masing masing terdiri dari 8 bit. Osilator internal dan rangkaian pewaktu. Dua buah timer/counter 16 bit. Lima buah jalur interupsi ( 2 buah interupsi eksternal dan 3 interupsi internal). Sebuah port serial dengan full duplex UART (Universal Asynchronous Receiver Transmitter). Mampu melaksanakan proses perkalian, pembagian, dan Boolean. EPROM yang besarnya 8 KByte untuk memori program. Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi clock 24 MHz. Apabila frekuensi clock mikrokontroler yang digunakan adalah 12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs.
  • 17. Sebagai perbandingan kapasitas memori, Tabel 2.1 menampilkan kapasitas memori dari mikrokontroler seri AT89X. Tabel 2.1 Kapasitas Memori Mikrokontroler seri AT89X Sumber : http://agfi.staff.ugm.ac.id/blog/index.php/2009/12/mengenal-system-clock- pada-mikrokontroler (online 21 Juli 2012)2.3.1 Arsitektur AT89S52 Mikrokontroler AT89S52 dibangun berdasarkan arsitektur seperti ditunjukkan gambar dibawah ini. Seluruh bagian yang digambar pada gambar tersebut saling berhubungan melalui internal bus 8 bit menelusuri bagian serpih. Bus tersebut kemudian dihubungkan ke luar melalui input output port apabila memori atau expansi diperlukan. Unit pengolah pusat (CPU) terdiri atas dua bagian, yaitu unit pengendali control unit (CU), serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali ini adalah mengambil, mengkode, dan melaksanakan urutan intruksi sebuah program yang tersimpan dalam memori, unit pengendali juga berfungsi untuk mengatur urutan operasi seluruh sistem. Unit pengendali atau CPU juga menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, juga aliran intruksi program. Aliran informasi pada bus-bus data dan bus alamat juga diatur oleh unit ini.
  • 18. Gambar 2.3 Blok Diagram MIkrokontrolerSumber : http://onelka.wordpress.com/mikrokontroler-at89s52 ( Online :21 oktober 2012 )2.3.2 Arti Kode AT89S52 Jika penulis kelompokkan huruf dan angka tersebut, maka akan menjadi seperti berikut: AT89S52 = AT + 8952 + S Dengan arti: AT = ATMEL sebagai produsen dari IC ini 8952 = 8052 + 9 = IC ber-arsitektur 8052 dengan tipe memory Flash ROM (9 = Flash ROM, 8 = EEPROM, 7 = EPROM). S = ISP programming = Sudah dapat diprogram secara ISP.
  • 19. 2.3.3 Susunan Kaki Mikrokontroller AT89S52 IC AT89S52 mempunyai 40 pin yang sesuai dengan mikrokontroler 8031, dengan susunan kaki seperti Gambar 2 .3 Gambar 2.4 Nama Pin-pin AT89S522.3.4 Komunikasi Serial AT89S52 Mikrokontroller AT89S51/52 atau mikrokontroller standar lainnya mempunyai On Chip Serial Port yang dapat digunakan untuk komunikasi data serial secara Full Duplex sehingga Port Serial ini masih dapat menerima data pada saat proses pengiriman data terjadi. Untuk menampung data yang diterima atau data yang akan dikirimkan. Keluarga MCS-51 mempunyai sebuah register yaitu SBUF yang terletak pada alamat 99H di mana register ini berfungsi sebagai buffer sehingga pada saat mikrokontroller ini membaca data yang pertama dan data kedua belum diterima secara penuh, maka data ini tidak akan hilang. Pada kenyataannya register SBUF terdiri dari dua buah register yang memang menempati alamat yang sama yaitu 99H. Register tersebut adalah Transmit Buffer Register yang bersifat write only (hanya dapat ditulis) dan Receive Buffer Register yang bersifat read only (hanya dapat dibaca). Pada proses penerimaan data dari Port Serial, data yang masuk ke dalam Port
  • 20. Serial akan ditampung pada Receive Buffer Register terlebih dahulu dan diteruskan ke jalur bus internal pada saat pembacaan register SBUF sedangkan pada proses pengiriman data ke Port Serial, data yang dituliskan dari bus internal akan ditampung pada Transmit Buffer Register terlebih dahulu sebelum dikirim ke Port Serial. Pada Mikrokontroller keluarga MCS-51, vektor interupsi untuk komunikasi serial ialah 23H. (Agfianto, Teknik Antarmuka, 2002)2.3.5 8052 uC Board 8052 uC Board adalah sebuah board dengan kontroler 8052 yang menggunakan IC mikrokontroller AT89S51. Board ini kompatibel penuh dengan semua IC mikrokontroller dengan tipe AT89S. Dengan menggunakan mikrokontroller AT89S dapat dilakukan pemrograman mikrokontroller dengan cara In System Programming (ISP). Artinya IC mikrokontroller tidak perlu dicabut pasang untuk pemrograman, karena IC mikrokontroller dapat diprogram langsung pada board tersebut. Selain itu board ini juga telah menyertakan perangkat komunikasi serial RS232, sehingga dapat berkomunikasi dengan peralatan lain yang mempunyai port serial RS232. 8052 uC Board mempunyai tata letak komponen yang dapat dilihat pada gambar 2.3 di bawah ini. Gambar 2.5 Tata Letak Komponen 8052 uC Board
  • 21. Catu daya untuk 8051 uC Board dapat diberikan dengan catu daya DC 9 sampai 15 V. Untuk koneksi port-port mikrokontroller dapat dilihat pada board, karena telah dicetak pada PCB 8051 uC Board. Untuk J1 dan J2 masing masing adalah jumper untuk mengatur RxD dan TxD port serial RS232. Posisi default adalah 1-2 yang artinya serial port diaktifkan, pada posisi ini maka port P3.0 dan P3.1 mikrokontroller tidak terhubung pada konektor P3. Pada posisi 2-3 maka serial port dinon-aktifkan sehingga port P3.0 dan P3.1 mikrokontroller terhubung dengan konektor P3.2.4 Sensor Asap AF 30 Sensor AF-30 adalah sensor asap rokok. Pada dasarnya prinsip kerja dari sensor tersebut adalah mendeteksi keberadaan gas-gas yang dianggap mewakili asap rokok, yaitu gas Hydrogen dan Ethanol. Sensor AF-30 mempunyai tingkat sensitifitas yang tinggi terhadap dua jenis gas tersebut. Jika sensor tersebut mendeteksi keberadaan gas-gas tersebut diudara dengan tingkat konsentrasi tertentu, maka sensor akan menganggap terdapat asap rokok di udara. Ketika sensor mendeteksi keberadaan gas-gas tersbut maka resistansi elektrik sensor akan turun. Dengan memanfaatkan prinsip kerja dari sensor AF-30 ini, kandungan gas-gas tersebut dapat diukur. Gambar satu adalah grafik tingkat sensitifitas sensor AF-30 terhadap kedua gas tersebut. Gambar 2.6 Grafik Hubungan H2O, Ethanol dan Asap Rokok
  • 22. Dari grafik pada gambar 2.5 dapat dilihat bahwa dengan mengukurperbandingan antara resistansi sensor pada saat terdapat gas dan resistansisensor pada udara bersih atau tidak mengandung gas tersebut (Rgas/Rair),dapat diketahui kadar gas tersebut. Sebagai contoh jika resistansi sensor (RS)pada saat terdapat gas Hydrogen adalah 1KΏ dan resistansi sensor (RS) padasaat udara bersih adalah 10KΏ maka: Rumus 2.1 Perhitungan Resistansi Sensor Dari perhitungan Rumus 2.1 diatas serta menurut grafik pada gambar2.4, jika Rgas/Rair=0.1 maka konsentrasi gas Hydrogen pada udara adalahsekitar 100ppm. Gambar 2.7 Dimensi Sensor AF 30
  • 23. Gambar 2.8 Gambar Sensor AF 30 Sumber : http://digilib.ittelkom.ac.id/index.php?option=com_content &view=article&id=688:asap&catid=16:mikroprocessorkontroller&Itemid=14 (Online 7/10/2012) Tabel 2.2 Perbandingan Antara Sensor AF 10 – AF 60 Jenis Pembacaan Nama No Gas Sensor Getaran Temperatur Cairan Methana GPS H2O,Ethanol 1 AF-10 √ 2 AF-20 √ 3 AF-30 √ 4 AF-40 √ 5 AF-50 √ 6 AF-60 √ Sumber : http://www.google.co.id2.5 Komponen Elektronika Umum 2.5.1 Resistor Resistor sering disebut dengan penghambat arus listrik dengan satuan OHM. Resistor memiliki beban resistif di mana arus dan tegangan tidak tidak tertinggal. Jumlah aljabar tegangan akan berbanding lurus dengan resistansi dan arus. Gambar 2.9 Gambar Resistor
  • 24. Atau V = I.R Rumus 2.2 Rumus ResistorTegangan memiliki satuan VoltArus memiliki satuan AmpereResistor atau tahanan memiliki satuan Ohm Gambar 2.10 Simbol dari Resistor Gambar 2.11 Warna dan Nilai Resistorsebagai contoh :Diketahui suatu rangkaian tertutup dengan nilai resistansi 220 Ohm.Tengangan yang digunakan sebesar 9 Volt, berapakan arus yang mengalirdalam rangkaian tersebut ? Jawab : Diketahui : R tahanan : 220 Ohm V tegangan : 9 Volt Ditanyakan : I arus yang mengalir ?
  • 25. Jawab : V = I.R maka I = V / R I = 9 / 220 I = 0.04 Ampere atau 40 mA Sumber : http://id.wikipedia.org/wiki/resistor (online 29/09/2012)2.5.2 Transistor. Gambar 2.12 Transistor Sumber : http://id.wikipedia.org/wiki/transistor (online 29/09/2012) Berdasarkan struktur atau komponen pembentuk materi transistor dibedakan menjadi 2, yaitu transistor PNP dan transistor NPN. Transistor memiliki 3 kaki yaitu kaki basis, emitor dan kolektor. Arus akan mengalir dari kolektor ke emitor di mana komponen kaki basis harus diberikan pemicu sebesar 0.7 mA untuk germanium sedangkan 0.3 mA untuk silikon. Ada 2 transistor yang dibutuhkan untuk memberikan nilai yang lebih tinggi untuk memicu kerja dari Relay. Pemasangan kedua transistor tersebut dinamakan dengan transistor Darlington. Cara kerjanya adalah dengan memanfaatkan pemicuan basis transistor pertama ke dalam basis transistor kedua untuk nilai yang lebih besar. Hal ini dilakukan karena pada dasarnya sinkronisasi antara mikrokontroller dengan driver harus menggunakan rangkaian tersebut dilihat dari perbedaan tegangan antara mikrokontroller dengan driver yang telah dibuat. Transistor yang digunakan memiliki tipe C828 dan D313. Ukuran dari transistor C828 lebih kecil dari transistor D313
  • 26. karena daya yang dihasilkanpun berbeda. Daya yang dihasilkan dari transistor D313 lebih besar dari transistor C828. Semakin besar daya yang dihasilkan maka nilai arus pacu atau asut akan lebih besar. Mikrokontroller hanya mampu memasok arus sebesar 4mA.2.5.3 Kapasitor Gambar 2.13 Kapasitor Sumber : http://id.wikipedia.org/wiki/kapasitor (online 29/09/2012) Sebuah Kapasitor atau disebut kondensator adalah sebuah komponen elektronika yang dapat menyimpan energi listrik dalam bentuk muatan listrik dalam waktu tertentu tanpa disertai reaksi kimia. Kapasitor meneruskan tegangan bolak-balik tetapi tidak meneruskan tegangan rata-rata sehingga kapasitor juga digunakan untuk mentransportasikan tegangan bolak-balik, kalau sebuah induktor itu akan melawan perubahan tegangan yang lewat . kalau sebuah induktor memiliki resitansi yang sangat kecil terhadap arus searah, sebaliknya sebuah kapasitor memberikan resistensi yang amat besar terhadap arus searah karena di elektrikumnya. Kapasitor merupakan tempat menyimpan muatan listrik ukuran kecil. Kapasitor meneruskan tegangan bolak – balik tetapi tidak meneruskan tegangan rata, sehingga kapasitor digunakan juga untuk memindahkan atau mentransportasikan tegangan bolak – balik. Mengenai jumlah muatan yang dapat ditampungnya atau kapasitasnya diukur dalam satuan farad (F). nilai dari kapasitor – kapasitor yang biasa (kondensator keramik dan kondensator foli) antara 1pF dan 1F, jadi antara : 1 1 F dan F 1.000.000.000.000 1.000.000
  • 27. Pada kondensator, nilainya sering dicantumkan sbb : 1 n 5 = 1,5 nF 0,03 mF = 30 nF 100 P (N 100 atau n 1) = 100 pF Kecuali kapasitas, masalah tegangan juga penting, untuk hal itu setidaknya besarnya arus 20 % diatas tegangan pengadaan. Kondensator elektrolit (elko) memiliki kapasitas yang sangat tinggi ( secara garis besarnya antara 1 MF dan 10.000 MF ). Kondensator elektrolit ini mempunyai polaritas tertentu sehingga penyambungan positif dan negatifnya tidak boleh bertukar. Gambar 2.14 Kapasitor Elektrolitik (elco) Gambar 2.15 Kapasitor Plastik Dielektrik2.6 SDCC (Small Device C Compiler) 2.6.1 Pengertian Bahasa C Bahasa C adalah salah satu bahasa pemograman yang populer di dunia dan mempunyai kemampuan lebih dari bahasa pemograman yang lain. Banyak sekali aplikasi-aplikasi yang ditulis dalam bahasa C, atau paling tidak inti utama programnya ditulis dalam bahasa C. Bahkan, Sofware Development Kit untuk windows ditulis dengan bahasa C. Bahasa C merupakan bahasa pemrogaman yang sifatnya portable, yaitu dengan sedikit atau tanpa perubahan, suaru program yang ditulis dengan bahasa C pada suatu komputer dapat dijalankan pada komputer lain. Bahasa C merupakan
  • 28. general-purpose language. yang dapat digunakan untuk tujuan apa saja. Cmerupakan industrial-strength language. Dengan bahasa C dapat membangunberagam aplikasi mulai dari pemrograman sistem, aplikasi cerdas (artificialintellegent), sistem pakar, utility, driver, database, browser, networkprograming, sistem operasi, game, virus, robotika, dan lain-lain. Bahasa C diciptakan oleh Dennis Ritchie. Sebenarnya, bahasa Cmerupakan pengembangan dari bahasa BCPL yang lebih dahulu ada. Sebagaibahasa yang lebih digolongkan dalam middle level language, bahasa Cmempunyai kemudahan di dalam mengakses perangkat keras, juga kecepatanprosesnya yang mendekati low level languange seperti Assembly. Disampingitu, bahasa C jauh lebih mudah untuk dipelajari jika dibandingkan denganbahasa low level karena mendekati frase-frase dalam bahasa manusia yaitubahasa Inggris. Bahasa C mempunyai banyak keuntungan dibandingkan denganbahasa pemrograman lainnya. C merupakan bahasa yang kokoh danmemberikan keleluasaan kepada penggunanya. C merupakan bahasa yangportable. Dengan sedikit atau tanpa modifikasi program C yang ditulis padasuatu komputer dapat dijalankan pada komputer lain yang memiliki kompilerC. Keuntungan lain dari C adalah dalam hal eksekusi. C memberikankecepatan mendekati bahasa Assembly, tetapi memberikan kemudahan yangtidak ditawarkan oleh bahasa Assembly. Pada tahun 80-an penggunaan C didunia industri semakin semakin luas sehingga kemudian distandarisasi olehANSI dan kemudian diadopsi oleh ISO dan diadopsi ulang oleh ANSI.Official name bahasa C adalah ISO/IEC 9899-1990. Dalam pemrograman Ckita hendaknya mengacu pada standar C yaitu ISO C.Kristanto, Andi. 2003. Struktur Data dengan C++ hal 1-2 .Yogyakarta :Graha Ilmu.
  • 29. 2.6.2 Pengertian SDCC (Small Device C Compiler) SDCC Merupaka Open Source, C compiler yang pertama kali dikembangkan oleh Sandeep Dutta, untuk mikrokontroller/mikroprosesor 8- bit, SDCC mendukung beberapa arsitektur mikrokontroller/mikroprosessor 8- bit antara lain: Intel MCS-51, Zilog Z80, Atmel AVR, Microchip PIC, Freescale (Motorola) HC08. Disini kita akan bahas penggunaan SDCC untuk MCS-51 Family yang cukup banyak dipakai saat ini. Pemrograman dengan bahasa C lebih mudah di bandingkan menggunakan bahasa assembly (bahasa mesin), SDCC merupakan C compiler gratis (freeware) sehingga anda tidak perlu mengeluarkan biaya untuk membeli compiler komersial yang harganya cukup mahal, dari segi code yang dihasilkan optimasi sdcc sangat bagus SDCC medukung beberapa tipe data standar sebagai berikut : - bool 1 Bit (0,1) - char 8 bits (signed -128~+127, unsigned 0~255) - int 16 bits (signed -32768~ +32767, unsigned 0~ +65535) - long 32 bits(signed -2147483648~ +2147483647, unsigned 0~ +4294967296) - float 32 bits (4 bytes IEEE 754) Sumber : http://low-high.blogspot.com/2007/11/small-device-c-compiler-mcs- 51.html ( Online 21 Oktober 2012 )
  • 30. Gambar 2.16 Aplikasi SDCC (Small Device C Compiler)2.7 Bahasa Assembly 2.7.1 Pengertian Bahasa Assembly Secara fisik, kerja dari sebuah mikrokontroller dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroller menentukan alamat dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroller di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register. Sarana yang ada dalam program assembly sangat minim, tidak seperti dalam bahasa pemrograman tingkat atas (high level language programming) semuanya sudah siap pakai. Penulis program assembly harus menentukan segalanya, menentukan letak program yang ditulisnya dalam memori-program, membuat data konstan dan tabel konstan dalam memori-program, membuat variabel yang dipakai kerja dalam memori-data dan lain sebagainya. Bentuk program assembly yang umum ialah sebagai berikut :
  • 31. Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler, yang merupakan representasi dari bahasa assembly yang telah dibuat. Minemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand. Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1, 2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat penulis berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly. CJNE R5,#22H, aksi ? : dibutuhkan 3 buah operand MOVX @DPTR, A : dibutuhkan 2 buah operand RL A : 1 buah operand NOP : tidak memerlukan operand2.7.2 Instruksi Dalam mikrokontroller instruksi merupakan perintah yang diberikan oleh user agar sistem dapat bekerja sesuai dengan yang diharapkan atau diinginkan. Instruksi sama dengan bahasa program. Instruksi digolongkan menjadi 5 bagian yaitu : 1. Instruksi Aritmatika ( Arithmetic Instruction ) 2. Instruksi Logika ( Logical Instruction ) 3. Instruksi Boolean ( Boolean Instruction ) 4. Instruksi Cabang ( Branch Instruction ) 5. Instruksi Data Transfer ( Data Transfer Instruction ) Kelima dari instruksi tersebut digunakan dalam proses pemrograman.
  • 32. 2.7.3 Instruksi Aritmatika ( Arithmetic Instruction ) Instruksi Arimatika atau Arithmetic Instruction merupakan instruksi dari mikrokontroller yang melakukan proses aritmatika seperti penjumlahan, pengurangan, pembagian, dan perkalian. Pada umumnya instuksi ini menggunakan accumulator sebagai salah satu operand-nya. Tabel 2.3 di bawah ini menunjukkan macam-macam bentuk instruksi aritmatika. Tabel 2.3 Daftar Arithmetic instruction Instruksi Penjelasan Singkat ADD A,source Menambahkan data dengan accumulator ADD A, #data ADDC A,source Menambahkan data, carry flag dan ADDC A, #data accumulator SUBB A,source Mengurangi accumulator dengan data SUBB A,#data INC A Manambahkan dengan 1 INC Source INC DPTR DEC A Mengurangi dengan 1 DEC Source MUL AB Mengalikan Accumulator dengan B DIV AB Membagi accumulator dengan B DA A Konversi data ke decimal2.7.4 Instruksi Logika atau Logical Instruction Instruksi logika atau Logical Instruction mencakup instruksi- instruksi yang melakukan proses logika terhadap register 8 bit. Instruksi-instruksi tersebut antara lain logika AND, logika OR, logika
  • 33. XOR, pergeseran, complement dan pertukaran. Umumnya instruksi ini menggunakan accumulator atau alamat (direct) sebagai salah satu operand-nya. Tabel 2.3 di bawah ini merupakan daftar instruksi dari instruksi logika. Tabel 2.4 Daftar Instruksi LogikaInstruksi Penjelasan SingkatANL A, source Operasi logika AND antar bit pada kedua dataANL A, #dataANL Direct, AANL Direct, #dataORL A, source Operasi logika OR antar bit pada kedua dataORL A, #dataORL Direct, AORL Direct, #dataXRL A, source Operasi logika XOR antar bit pada kedua dataXRL A, #dataXRL Direct, AXRL Direct, #dataCLR A Memberikan nilai 00h pada accumulatorCPL A Complement setiap bit pada accumulatorRL A Merotasi accumulator ke kiriRLC A Merotasi accumulator ke kiri melalui carry flagRR A Merotasi accumulator ke kananRRC A Merotasi accumulator ke kanan melalui carry flagSWAP A Menukar posisi 4 bit terendah (lower nibble) dengan 4 bit tertinggi
  • 34. 2.7.5 Instruksi Boolean atau Boolean Instruction Instruksi Boolean atau Boolean Instruction mencakup instruksi yang hanya melibatkan hanya instruksi satu bit saja. Instruksi ini menggunakan carry flag atau register 1 bit lainnya sebagai operand. Tabel 2.4 di bawah ini meunjukkan daftar instruksi Boolean beserta penjelasan singkatnya. Tabel 2.5 Instruksi Boolean (Boolean Intsruction) Instruksi Penjelasan Singkat CLR C Memberikan nilai 0 pada bit CLR Bit SETB C Memberikan nilai 1 pada bit SETB Bit CPL C Komplemen bit CPL Bit Tabel 2.4 (Lanjutan) ANL C,bit Operasi logika AND antar bit ORL C,bit Operasi logika OR antar bit MOV C,bit Mengisi dari bit ke bit MOV Bit, C JC Rel Lompat ke alamat tertentu jika carry flag = “1” JNC Rel Lompat ke alamat tertentu jika carry flag = “0” JB Bit, rel Lompat ke alamat tertentu jika bit = “1” JNB Bit, rel Lompat ke alamat tertentu jika bit = “0” JBC Bit, rel Lompat ke alamat tertentu jika bit = “1” lalu mengisi bit dengan “0”
  • 35. 2.7.6 Instruksi Cabang atau Branch Instruction Instruksi Cabang atau Branch Instruction mencakup instuksi yang melakukan perpindahan alamat. Instruksi tersebut antara lain: pemanggilan rutin (call) dan lompat (jump). Tabel 2.5 menunjukkan daftar instruksi cabang yang berlaku dalam mikrokontroller keluarga MCS-51. Tabel 2.6 Instruksi Cabang (Branch Instruktion) Instruksi Penjelasan Singkat ACCAL Addr11 Memanggil subrutin pada alamat tertentu LCALL Addr16 RET Keluar dari sub rutin RETI Keluar dari interrupt AJMP Addr11 Lompat ke dalam alamat tertentu SJMP Rel LJMP Addr16 JMP @A+DPTR JZ Rel Lompat ke dalam alamat tertentu jika accumulator bernilai 00h JNZ Rel Lompat ke dalam alamat tertentu jika accumulator tidak bernilai 00h JCNE A, direct, rel Membandingkan kedua operand dan melompat JCNE A, #data, rel ke dalam alamat tertentu jika kedua operand JCNE Rn, #data, rel tidak sama JCNE @Ri, #data, rel DJNZ Rn, rel Mengurangi operand dan melompat ke alamat DJNZ Direct, rel tertentu jika operand tidak bernilai 00h NOP Tidak ada operasi
  • 36. 2.7.7 Instruksi Pemindahan Data atau Data Transfer Instruction Instruksi Pemindahan Data atau Data Transfer Instruction adalah instruksi yang mencakup proses pemindahan atau pertukaran data yang melibatkan register 8 bit atau 16 bit. Instruksi tersebut antara lain : MOV, PUSH, POP dan XCH. Tabel 2.9 menunjukkan daftar instruskdi data transfer yang berlaku dalam mikrokontroller keluarga MCS-51. Seperti yang tertera pada tabel 2.6 di bawah ini. Tabel 2.7 Daftar Instruksi Perpindahan Data (Data Transfer Instruction) Instruksi Penjelasan Singkat MOV A, source Mengisi nilai operand kedua (source) ke dalam MOV A, #data operand pertama (destination) MOV Dest, A MOV Dest, source MOV Dest, #data MOV DPTR, #data 16 MOVC Mengisi nilai dari program memori ke dalam A,@A+DPTR accumulator MOVC A,@A+PC MOVX A,@Ri Mengisi nilai dari eksternal data memori MOVX A,@DPTR MOVX @Ri, A MOVX @DPTR, A PUSH Direct Mengisi nilai ke dalam stack POP Direct Mengambil nilai dari stack XCH A, source Menukar nilai dua operand XCHD A. @Ri Menukar 4 bit terendah dari kedua operand
  • 37. 2.8 ADC (Analog to Digital Conventer) dan DAC (Digital to Analog Conventer) 2.8.1 ADC 0804 (Analog to Digital Conventer) Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode – kode digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digital dan rangkaian pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/ berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer). ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi. Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling biasanya dinyatakan dalam sample per second (SPS). Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner). signal = (sample/max_value) * reference_voltage = (153/255) * 5 = 3 Volts
  • 38. Gambar 2.17 IC ADC 0804 Gambar 1.18 Diagram Blok ADC 0804Sumber : http://www.circuitstoday.com/wp-content/uploads/2008/04/digital- temperature-sensor-circuit.JPG (Online : 21 oktober 2012)
  • 39. 2.8.2 DAC (Digital to Analog Conventer) DAC atau D/A adalahsebuah piranti untuk mengubah sebuah masukan digital (umumnya adalah biner) menjadi sebuah sinyal analog (arus, tegangan atau muatan elektrik). DAC adalah penghubung antara rangkaian digital dengan rangkaian analog. DAC pada dasarnyamengkonversi masukan (berupa bilangan biner) ke dalam suatu besaran fisik, biasanya berupa tegangan suatu tegangan listrik. Pada umumnya tegangan keluaranadalah suatu fungsi linear dari sejumlah masukan. Kebanyakan sistem menerimasuatu kata digital sebagai sinyal masuk dan menterjemahkan atau mengubahnyamenjadi tegangan atau arus analog. Kata digital biasanya dinyatakan dalam berbagaikode, yang paling umum adalah biner murni atau disebut BCD (Binary CodedDecimal) Gambar 2.19 Diagram Blok DAC Sumber : http://digilander.libero.it/paeng/g_dac.1.gif (Online : 21 oktober 2012)
  • 40. 2.9 SPI Flash Programmer V 3.7 SPI Flash Programmer adalah program aplikasi yang dapat digunakan untuk memprogram semua tipe AT89S, yakni AT89S51/ 52/53/8252/8253. Selain itu, program ini juga mendukung beberapa tipe AVR lama antara lain: AT90S1200/2313/4433/8515/8535. Dan yang terpenting, program ini mendukung hampir semua AVR tipe tiny dan mega. Jadi, satu program untuk semua mikrokontroler ATMEL. Program terdiri dari sebuah file executable SPIPGM.EXE dan file INPOUT32.DLL. Ekstraksi kedua file tersebut ke dalam sebuah folder dan program siap dieksekusi. Boleh juga dibuatkan shortcut di Start Menu atau Desktop. Gambar 2.20 SPI – Flash Programmer Sumber : http://kolom-elka.blogspot.com/p/mikroprosesor.html (online, 15 Okt 2012)2.10 Perangkat Pendukung Flash Programmer Dalam proses flashing atau melakukan flash programming dibutuhkan juga beberapa alat antara lain yaitu DT-HiQ AT89 USB ISP. DT-HiQ AT89 USB ISP adalah in-system programmer yang dapat dihubungkan ke komputer melalui port USB untuk memprogram mikrokontroler keluarga MCS-51® khususnya seri AT89 yang berfitur in-system programming. Produk ini dilengkapi dengan perangkat lunak berbasis Windows® yang memiliki antarmuka sederhana dan mudah dioperasikan oleh pengguna.
  • 41. 2.10.1 Spesifikasi : Mendukung mikrokontroler AT89LP2052, AT89LP4052, AT89S2051, AT89S4051, AT89S51, AT89S52, AT89S53, AT89LS53, AT89S8252, AT89LS8252, AT89S8253. Dapat memprogram Flash Memory, EEPROM, Lock Bit, dan Fuse Bit. Antarmuka ke komputer melalui USB. Tersedia driver USB yang kompatibel dengan Windows® XP/Vista. Bekerja pada tegangan target 2,7V hingga 5,5V. Mengambil catu daya dari rangkaian target, dengan kebutuhan arus maksimum 50mA @ 5,5V. Tidak mengambil daya dari port USB sehingga lebih aman bagi komputer. Dilengkapi perangkat lunak berbasis Windows®. Perangkat lunak ini tidak membutuhkan proses instalasi sehingga lebih praktis dan portable. Mendukung format file Intel HEX dan BIN. Menggunakan konektor ISP 10-pin standar ATMEL. Terdapat 2 LED sebagai indikator power dan status. Enclosure berbahan metal.2.10.2 Perlengkapan : 1 unit DT-HiQ AT89 USB ISP. 1 set kabel USB (P = ±70 cm). 1 lembar quick start. 1 buah CD ROM berisi driver USB, perangkat lunak, manual, panduan pembuatan target board, dsb. Gambar 2.21 DT-HiQ AT89 USB ISP Sumber : http://innovativeelectronics.com/index_indo.php (online 15 Oktober 2012)
  • 42. 2.11 Flowchart Flowchart adalah serangkaian bagan-bagan yang menggambarkan alir program. Flowchart atau diagram alir memiliki bagan-bagan yang melambangkan fungsi tertentu. Bagan, nama dan fungsinya seperti yang disajikan pada tabel 2.7 berikut : Tabel 2.8 Simbol Flowchart SIMBOL NAMA FUNGSI TERMINATOR Permulaan atau akhir program GARIS ALIR Arah aliran program (FLOW LINE) Proses inisialisasi atau pemberian PREPARATION harga awal Proses perhitungan atau proses PROSES pengolahan data INPUT/OUTPUT Proses input atau output data, DATA parameter, informasi PREDEFINED PROCESS Permulaan sub program atau proses menjalankan sub program (SUB PROGRAM) Perbandingan pernyataan, penyeleksian data yang DECISION memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian ON PAGE flowchart yang berada pada satu CONNECTOR halaman Penghubung bagian-bagian OFF PAGE flowchart yang berada pada CONNECTOR halaman berbeda