PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
STASIUN CUACA MINI Berbasis Mikrokontroler MC68HC908QB8 TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik pada Program Studi Teknik Elektro
Disusun oleh: Y.S. SOEFIAN NUR HIDAYAT NIM: 035114003
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MINI WEATHER STATION Based on MC68HC908QB8 Microcontroller FINAL PROJECT Presented as Partial Fulfillment of the Requirements To Obtain the SARJANA TEKNIK Degree in Electrical Engineering
By: Y.S. SOEFIAN NUR HIDAYAT Student Number: 035114003
ELECTRICAL ENGINEERING DEPARTEMENT SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2007
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 13 September 2007
Y.S. Soefian Nur Hidayat
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO DAN PERSEMBAHAN
MOTTO: “BERTAMBAHNYA UMUR ITU PASTI, TETAPI MENJADI DEWASA ITU ADALAH SEBUAH PILIHAN” A - MILD ”HIDUP BAGAIKAN MENULIS SEBUAH BUKU, ENTAH BAGAIMANA KITA SEMUA INGIN MENULIS BUKU KITA, MENJADI CERITA YANG MENARIK BAGI ORANG LAIN ATAU MENJADI CERITA YANG ...” PENULIS
Kupersembahkan Tugas Akhir ini untuk: Tuhanku yang Termulia Papa dan Mamaku yang Terkasih Kakak-kakakku yang Tersayang Adikku yang Tercinta Keponakan-keponakanku yang Ku-Sayangi
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Judul Nama Mahasiswa No. Mahasiswa
: Stasiun Cuaca Mini : Y.S. Soefian Nur Hidayat : 035114003
INTISARI
Teknologi Stasiun Cuaca Mini menawarkan banyak manfaat yang signifikan bagi para pengguna, sekaligus menawarkan tantangan bagi siapa saja yang ingin mengembangkan teknologi ini. Stasiun cuaca mini akan diaplikasikan untuk memberikan kemudahan dalam memberikan informasi cuaca yang relevan. Alat ini secara khusus akan memberikan informasi curah hujan, waktu hujan, suhu udara dan waktu suhu udara secara real time. Dalam penelitian ini stasiun cuaca mini dibuat dalam bentuk model, menggunakan mikrokontroler Freescale MC68HC908QB8 sebagai pengumpul data dan pengolah data. Model tipping-bucket digunakan sebagai sensor tingkat curah hujan, sedangkan LM35 digunakan sebagai sensor suhu udara dan RTC DS1305 digunakan sebagai penghasil waktu dan tanggal. Data-data tersebut akan ditampilkan pada layar monitor menggunakan perangkat lunak Visual Basic yang telah diprogram. Stasiun Cuaca Mini bekerja dengan ketelitian curah hujan sebesar 1 mm dan rata-rata galat pengukuran suhu udara sebesar 0,85%. Kata kunci: Stasiun Cuaca, Mikrokontroler MC68HC908QB8.
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Title Student Name Student Number
: Mini Weather Station : Y.S. Soefian Nur Hidayat : 035114003
ABSTRACT
Mini Weather Station technology provides many significant benefits for the users and challenges everyone who is willing to develop this technology. Mini weather will be used to give an easy access to relevant weather information. This instrument especially provides the informations of rain-fall, raining-time and real-time temperature. In this research, mini weather station is designed in a model with MC68HC908QB8 Freescale microcontroller as data collector and data processor. Tipping-bucket model is used as the sensor of rain-fall level, LM35 is used as temperature sensor and DS1305 RTC is used to generate/real time date and time. The collected data will be shown on the monitor by a program written on Visual Basic. Mini weather station works well with 1 millimeter of rain-fall accuracy and 0.85 percent of temperature measurement error average. Keywords: Weather Station, MC68HC908QB8 Microcontroller.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan syukur penulis hanjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan karya tulis berjudul “Stasiun Cuaca Mini Berbasis Mikrokontroler MC68HC908QB8”. Karya tulis ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Teknik Elektro Universitas Sanata Dharma Yogyakarta. Penulisan tugas akhir ini didasarkan pada hasil-hasil yang penulis dapatkan selama tahap perancangan, pembuatan, pengujian dan pengembangan alat. Penulisan skripsi ini tidak lepas dari bantuan berbagai pihak. Untuk itu, penulis mengucapkan terima kasih kepada: 1. Ibu Wuri, S.T., M.T. selaku dosen pembimbing I, yang telah meluangkan waktu, tenaga dan pikirannya untuk membimbing penulis. 2. Ir. Tjendro selaku dosen pembimbing II, yang telah meluangkan waktu, tenaga, semangat, nasehat dan pikirannya untuk membimbing penulis. 3. Bapak Raymond Weisling selaku pimpinan perusahaan tempat penulis melaksanakan
Kerja
Praktek,
yang
telah
memberikan
ide
dan
menyumbangkan pemikirannya demi membantu penulis. 4. Bapak/Ibu dosen jurusan Teknik Elektro Universitas Sanata Dharma, atas pengetahuan yang telah diberikan kepada penulis selama kuliah. 5. Semua karyawan Sekretariat (Pak Djito, Bu Titik, dll) dan semua para laboran (Mas Suryono, Mas Broto, Mas Mardi, Mas Hardi), yang telah membantu penulis dalam proses menimba ilmu di Universitas Sanata Dharma. 6. Bapak Tikno dan Bapak Haryanto selaku karyawan Balai SABO, yang telah memberikan ijin penulis untuk melakukan penelitian terhadap sensor curah hujan yang dimiliki balai SABO. 7. Bapak Petrus Setyo Prabowo, S.T., yang selalu menghibur dan memotivasi penulis lewat canda tawanya yang hangat. 8. Mas Abeng yang telah membantu dalam pembuatan box stasiun cuaca mini. 9. Suci Apsari yang rela memberikan motivasi, dukungan, meminjamkan komputer, printer dan memberikan saran dalam pemrograman Visual Basic. 10. Anak-anak Kamboja Bang Pipix, Bang Ganda, Mas Dani, Kim Kyo Young (Nuna), Mas Suryo, Mas Bayu (Vodkobay), Mas Tinus, Mas Kisna, Ronny
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Baban dan Irine, Suryo, Frans, Sintong, Budi Bulet, Nobert dan Daniel kecil yang telah mengisi cerita dalam hidupku. 11. Kawan–kawan dari kampung halamanku Neos-ku sayang, Leo Silet, Poltax Minyak, Rizkie Solip, Franki (Pengxi), Encus, Ferdinand, Rudy Gondrong, Doyox TB, Titis family, Andreas, Sintho dan Linda, Martha, Alvita, Liana dan Hendro Carmel yang telah memberikan warna dalam hidup ini. 12. Winarto (terima kasih atas Flashdisk dan idenya), Suryo (terima kasih atas saran VB-nya), Merry, Dennis, Joe, Inggit, Boen, Radit, DC, Ronny, Yakob, Miko (TE’04) dan teman-teman Teknik Elektro 2003 lainnya. 13. Om Listrik dan istri, Combat dan istri, Dwi (Uscab), Gimbal, Jubert, pak Kabul dan pak Aris sekeluarga yang telah memberikan warna dalam kehidupanku. 14. Bapak dan ibu kost Wisma DMP (Depan Makam Paingan), terima kasih selama 2 tahun pertama saya bisa tinggal di tempat anda. 15. Semua teman-teman kost DMP (Pii, Nendar, Donny, Alex. Berlin), semua teman-teman kost jalan Mawar (Koko Andrew, Nando, Ronny, Gentong, Mas Guntur, Mas Wisnu, Mas Dendra) sebagai sahabat-sahabatku terbaik yang pernah penulis miliki. 16. Kawan-kawan di organisasi BEMFT-USD, FPPI, GP, TAJAM, FORSOS dan organisasi-organisasi lainnya, terima kasih atas proses pembelajaran di bidang sosial, budaya dan politik. 17. Semua pihak yang tidak bisa disebutkan satu persatu.
Penulis mengakui bahwa karya tulis ini masih jauh dari sempurna. Oleh karena itu, segala kritik dan saran yang membangun akan penulis terima dengan senang hati. Akhir kata, semoga tugas akhir ini berguna bagi semua pihak dan dapat menjadikan bahan kajian lebih lanjut.
Yogyakarta, 13 September 2007 Penulis
Y.S. Soefian Nur Hidayat
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI Halaman Judul Bahasa Indonesia ...........................................................................
i
Halaman Judul Bahasa Inggris ...............................................................................
ii
Lembar Pengesahan oleh Pembimbing ..................................................................
iii
Lembar Pengesahan oleh Penguji ..........................................................................
iv
Lembar Pernyataan Keaslian Karya .......................................................................
v
Halaman Persembahan dan Moto Hidup ................................................................ vi Intisari ..................................................................................................................... vii Abstract ................................................................................................................... viii Kata Pengantar ........................................................................................................
ix
Daftar Isi .................................................................................................................
xi
Daftar Gambar ........................................................................................................ xiv Daftar Tabel ............................................................................................................ xvi BAB I PENDAHULUAN .....................................................................................
1
1.1. Latar Belakang Masalah ......................................................................
1
1.2. Tujuan dan Manfaat .............................................................................
2
1.3. Batasan Masalah ..................................................................................
3
1.4. Metodologi Penelitian ..........................................................................
3
1.5. Sistematika Penulisan ..........................................................................
4
BAB II DASAR TEORI .......................................................................................
5
2.1. Pencatat Hujan Tipping-bucket ...........................................................
5
2.2. Sensor Optis .........................................................................................
6
2.3. Transistor Sebagai Saklar ....................................................................
7
2.4. Sensor Suhu LM35 ..............................................................................
8
2.5. Real Time Clock (RTC) DS1305 .........................................................
9
2.5.1. Pengenalan ..................................................................................
9
2.5.2. Fitur ............................................................................................
10
2.5.3. Penempatan Pin ........................................................................... 10 2.5.4. Peta Memori RTC ....................................................................... 11 2.6. Komunikasi Serial ...............................................................................
12
2.6.1. Port Komunikasi Serial ..............................................................
13
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.6.2. RS232 .........................................................................................
14
2.7. Pemrograman Visual Basic .................................................................
15
2.8. Mikrokontroler MC68HC908QB8 ......................................................
17
2.8.1. Gambaran Umum .......................................................................
17
2.8.2. Port-Port Input/Output ................................................................ 18 2.8.2.1. Register Data Port A ....................................................... 19 2.8.2.2. Register Data Port B ....................................................... 20 2.8.3. External Interrupt (IRQ) ............................................................. 22 2.8.3.1. IRQ Status and Control Register (INTSCR) …….......... 22 2.8.4. Keyboard Interrupt Module (KBI) .............................................. 23 2.8.5. Analog to Digital Converter (ADC) …....................................... 24 BAB III RANCANGAN PENELITIAN ............................................................. 29 3.1. Perancangan Perangkat Keras .............................................................. 30 3.1.1. Perancangan Sensor Suhu ........................................................... 30 3.1.2. Perancangan Sensor Tingkat Curah Hujan ................................. 31 3.1.2.1. Tipping-Bucket ............................................................... 31 3.1.2.2. Sensor Optis dan Transistor Sebagai Saklar ................... 32 3.1.3. Perancangan Antarmuka Mikrokontroler dengan DS1305 ......... 34 3.1.4. Perancangan Pengubah Level Tegangan TTL Menjadi RS232 .. 35 3.2. Perancangan Perangkat Lunak ............................................................. 36 3.2.1. Perancangan Perangkat Lunak Mikrokontroler .......................... 36 3.2.1.1. Rancangan Interupsi Keyboard (KBI) ............................ 38 3.2.1.2. Rancangan Interupsi Eksternal (IRQ) ............................. 39 3.2.1.3. Rancangan Interupsi Penerimaan Data dari PC .............. 39 3.2.1.4. Rancangan Subrutin Pengiriman Data ke PC .................. 40 3.2.1.5. Rancangan Subrutin Kirim/Ambil Data DS1305 ............ 40 3.2.1.6. Rancangan Subrutin ADC10 ........................................... 41 3.2.2. Perancangan Perangkat Lunak Visual Basic 6.0. .......................
42
3.2.2.1. Perancangan Database ..................................................... 43
BAB IV HASIL DAN PEMBAHASAN .............................................................. 45 4.1. Pengamatan dan Pembahasan Data Curah Hujan ................................ 47 4.2. Pengamatan dan Pembahasan Data Suhu Udara .................................. 49
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3. Pembahasan Program Mikrokontroler .................................................. 50 4.4. Pengamatan dan Pembahasan Program Visual Basic .......................... 51 4.4.1. Pengamatan dan Pembahasan Form Progress ............................ 51 4.4.2. Pengamatan dan Pembahasan Form SetRTCTime ..................... 52 4.4.3. Pengamatan dan Pembahasan Form KirimData ......................... 52 4.4.4. Pengamatan dan Pembahasan Form Menu ................................. 52 4.4.5. Pengamatan dan Pembahasan Form EndProgram ...................... 54 4.4.5. Pengamatan dan Pembahasan Database ..................................... 55
BAB V KESIMPULAN DAN SARAN ................................................................ 56 5.1 Kesimpulan ............................................................................................ 56 5.2 Saran ...................................................................................................... 56
DAFTAR PUSTAKA ............................................................................................. 57 LAMPIRAN RANGKAIAN LENGKAP .................................................................. L1 LAMPIRAN SPESIFIKASI ALAT DAN DIMENSI ALAT ..................................... L2 LAMPIRAN DATA TABEL CURAH HUJAN ........................................................ L3 LAMPIRAN DATA TABEL SUHU UDARA .......................................................... L4 LAMPIRAN LISTING PROGRAM MIKROKONTROLER .................................... L5 LAMPIRAN LISTING PROGRAM VISUAL BASIC .............................................. L6 LAMPIRAN DATASHEET ...................................................................................... L7
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Gambar 2-1 Pencatat Hujan Tipping-Bucket ...........................................................
6
Gambar 2-2 Optocoupler .........................................................................................
6
Gambar 2-3 Konfigurasi Terhalang ON ..................................................................
7
Gambar 2-4 Konfigurasi Common Emitter Transistor Sebagai Saklar.....................
7
Gambar 2-5 Penempatan Pin LM35 ........................................................................
8
Gambar 2-6 LM35 dengan Damper R-C .................................................................. 9 Gambar 2-7 Penempatan Pin DS1305 ..................................................................... 10 Gambar 2-8 Sebuah Frame dalam Komunikasi Serial ............................................ 13 Gambar 2-9 Port DB9: (a) Male; (b) Female .......................................................... 13 Gambar 2-10 Level Tegangan TTL dan RS232 Pada Pengiriman Huruf ‘A’ Tanpa Bit Paritas ................................................................................ 15 Gambar 2-11 Visual Basic IDE ................................................................................ 15 Gambar 2-12 Konfigurasi Pin Mikrokontroler MC68HC908QB8 .......................... 18 Gambar 2-13 Register Data Port A (PTA) .............................................................. 19 Gambar 2-14 Data Direction Register A (DDRA) ................................................. 19 Gambar 2-15 Port A Input Pullup Enable Register (PTAPUE) .............................. 20 Gambar 2-16 Register Data Port B (PTB) ............................................................... 21 Gambar 2-17 Data Direction Register B (DDRB) .................................................. 21 Gambar 2-18 Port B Input Pullup Enable Register (PTBPUE) .............................. 21 Gambar 2-19 IRQ Status and Control Register (INTSCR) ..................................... 22 Gambar 2-20 Keyboard Status and Control Register (KBSCR) ............................. 23 Gambar 2-21 Port A Keyboard Interrupt Enable Bits (KBIER) ............................ 24 Gambar 2-22 ADC10 Status and Control Register (ADCSC) ................................ 26 Gambar 2-23 Register Data High ADC10, Mode 8-Bit dan Mode10-Bit ............... 26 Gambar 2-24 Register Data Low ADC10 ................................................................ 27 Gambar 2-25 Register Clock ADC10 (ADCLK) ..................................................... 27 Gambar 3-1 Rancangan Diagram Blok Stasiun Cuaca Mini ................................... 29 Gambar 3-2 Rancangan Sensor Suhu dengan IC LM35 .......................................... 30 Gambar 3-3 Rancangan Sensor Pengukur Curah Hujan .......................................... 32 Gambar 3-4 Rancangan Sensor Optis ...................................................................... 33 Gambar 3-5 Rancangan Koneksi Mikrokontroler dengan DS1305 ........................ 35
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3-6 Rancangan Pengubah tegangan Level TTL menjadi RS232 ............... 35 Gambar 3-7 Rancangan Diagram Alir Program Utama ........................................... 37 Gambar 3-8 Rancangan Diagram Alir Subrutin Program Utama ............................ 38 Gambar 3- 9 Rancangan Diagram Alir Interupsi Keyboard .................................... 38 Gambar 3-10 Rancangan Diagram Alir Interupsi Eksternal .................................... 39 Gambar 3-11 Rancangan Diagram Alir Interupsi Penerimaan Data dari PC .......... 40 Gambar 3-12 Rancangan Diagram Alir Subrutin Pengiriman Data ke PC ............. 40 Gambar 3-13 Rancangan Diagram Alir Subrutin DS1305 : (a) Kirim ; (b) Ambil . 41 Gambar 3-14 Rancangan Diagram Alir Subrutin ADC10 ....................................... 41 Gambar 3-15 Rancangan Tampilan Form Utama ................................................... 42 Gambar 3-16 Rancangan Diagram Alir Form Utama ............................................. 43 Gambar 3-17 Rancangan Diagram Alir Database .................................................. 44 Gambar 4-1 Tampilan Luar Perangkat Keras Stasiun Cuaca Mini ......................... 45 Gambar 4-2 Tampilan Dalam Perangkat Keras Stasiun Cuaca Mini ...................... 46 Gambar 4-3 Pengujian Wadah Penampung ............................................................ 47 Gambar 4-4 Tampilan Form Progress “MWS” ....................................................... 51 Gambar 4-5 Tampilan Form SetRTCTime “MWS” ................................................ 52 Gambar 4-6 Tampilan Form KirimData “MWS” .................................................... 52 Gambar 4-7 Tampilan Form Menu “MWS” ........................................................... 53 Gambar 4-8 Tampilan Form Menu Saat Hujan “MWS” ......................................... 53 Gambar 4-9 Tampilan Form Menu Selesai Hujan “MWS” ..................................... 54 Gambar 4-10 Tampilan Form EndProgram “MWS” ................................................ 54 Gambar 4-11 Tabel Database .................................................................................. 55
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2-1 Peta Alamat RTC DS1305 dan Alamat RAM ........................................ 12 Tabel 3-1 Perancangan Tabel Curah Hujan ............................................................ 44 Tabel 3-2 Perancangan Tabel Suhu Udara .............................................................. 44 Tabel 4-1 Pengamatan Interupsi Satu Detik DS1305 .............................................. 46 Tabel 4-2 Pengujian Wadah Penampung ................................................................. 47 Tabel 4-3 Pengamatan Sensor Optis ........................................................................ 48 Tabel 4-4 Pengamatan Data Curah Hujan ............................................................... 48 Tabel 4-5 Pengamatan Data Suhu Udara ................................................................. 49
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Indonesia merupakan negara tropis yang terletak pada 6oLU-11oLS dan 95oBT-141oBT, serta di sepanjang garis khatulistiwa. Faktor tersebut menyebabkan keadaan cuaca di Indonesia cenderung berubah dari waktu ke waktu. Perbandingan antara daratan/lautan, adalah 1 : 4 (1.919.443 km2 : 7.228.138 km2) dan dihuni ±210 juta jiwa. Pengamatan akan keadaan cuaca ini sangat penting, mengingat keadaan geografis Indonesia yang sebagian besar berbentuk kepulauan. Informasi cuaca sangat diperlukan oleh masyarakat sebagai salah satu pedoman penting dalam menjalankan aktifitas mereka [1]. Untuk mengantisipasi fluktuasi cuaca yang selalu berubah dari waktu ke waktu serta dari satu tempat ke tempat lainnya, diperlukan baik sarana (peralatan pengukur cuaca, komputer canggih untuk analisis/peramalan) dan tenaga pengamat, serta yang tak kalah penting adalah ahli meteorologi yang mampu menganalisis data–data cuaca secara kritis. Sangatlah sulit diharapkan suatu hasil ramalan atau hasil analisis cuaca/iklim yang handal, jika menggantungkan pada suatu kondisi (peralatan, sumberdaya manusia) yang marginal. Sebenarnya masalah data cuaca tidak hanya untuk peramalan cuaca/iklim, namun lebih banyak manfaat lainnya untuk perencanaan berbagai bidang seperti, pewilayahan komoditas pertanian, perencanaan
pembangunan
bendungan
serta
kontruksi
hidrologi
lainnya,
transportasi, pariwisata serta untuk penelitian. Alat ukur cuaca mutlak diperlukan untuk memenuhi kebutuhan akan informasi cuaca. Unsur-unsur cuaca yang penting untuk diketahui diantaranya adalah suhu udara dan tingkat curah hujan. Data-data tersebut harus diproses dengan cepat secara berkesinambungan dari waktu ke waktu. Curah hujan adalah semua air yang jatuh dari atmosfer setelah melalui proses kondensasi alami dan jatuh ke permukaan bumi. Jumlah curah hujan yang jatuh, biasanya diukur dalam satuan milimeter atau inci. Curah hujan harian rata-rata adalah jumlah curah hujan dalam satu bulan dibagi dengan banyaknya hari dalam satu bulan.
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 Untuk meningkatkan kinerja alat ukur suhu udara dan tingkat curah hujan, dapat ditambahkan sebuah piranti yang mampu mengolah data dan menghasilkan data yang real time. Pada penelitian ini piranti yang digunakan adalah mikrokontroler. Mikrokontroler sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu yang lebih baik dan canggih. Pada perancangan ini, data dari sensor diambil dan diolah dalam mikrokontroler serta ditransmisikan ke komputer untuk ditampilkan. Stasiun hujan di Indonesia sekitar 4.000 buah, hampir seluruhnya diamati secara manual dan sebagian sudah tidak beroperasi. Disamping tingkat kepercayaan data yang meragukan khususnya akibat faktor kesalahan manusia, dengan pengamatan manual tersebut, transfer data akan memakan waktu yang lama sampai kepada si pengguna. Untuk menyongsong era informasi sebaiknya mulai dilakukan modernisasi peralatan klimatologi tersebut, sehingga informasi dapat segera diakses untuk perencanaan [2]. Stasiun Cuaca Mini merupakan alat pemantau cuaca otomatis, dengan data cuaca yang terekam berupa data digital.
1.2. Tujuan dan Manfaat Tujuan yang akan dicapai yaitu membuat suatu peralatan yang berfungsi untuk memberi informasi cuaca, dalam hal ini suhu udara dan tingkat curah hujan. Manfaat yang akan dicapai adalah: 1. Untuk masyarakat umum Masyarakat dapat mengetahui informasi cuaca sebagai salah satu pedoman penting untuk menjalankan aktifitas mereka. 2. Untuk perkembangan ilmu pengetahuan Menambah literatur aplikasi mikrokontroler dalam dunia meteorologi, khususnya stasiun cuaca.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
1.3. Batasan Masalah Dalam tugas akhir ini tidak semua aspek yang berhubungan dengan Mini Weather Station akan dibahas. Oleh karena itu perlu diberikan beberapa pembatasan masalah antara lain sebagai berikut: 1. Pengumpul data menggunakan IC mikrokontroler motorola MC68HC908QB8. 2. Unit penampil berbasis PC menggunakan perangkat lunak Microsoft Visual Basic. 3. Pengiriman data dari mikrokontroler ke PC menggunakan komunikasi serial. 4. Pendeteksi suhu udara menggunakan sensor IC LM35. 5. Mendesain sensor pendeteksi tingkat curah hujan.
1.4. Metodologi Penelitian Langkah yang diambil untuk menyelesaikan permasalahan-permasalahan dalam penelitian ini adalah : 1. Studi pustaka meliputi :
Perumusan ide pokok.
Mencari data-data yang dapat dijadikan sebagai referensi penelitian.
Mempelajari berbagai jenis buku mengenai teori-teori rangkaian yang dipakai untuk pembuatan alat.
Membuat diagram blok sistem sesuai dengan konsep dan data-data yang dapat dijadikan pendukung.
2. Studi laboratorium meliputi:
Mempelajari cara kerja alat curah hujan pada Badan Penelitian dan Pengembangan Pusat Penelitian dan Pengembangan Sumberdaya Air Balai SABO, Sopalan, Maguwoharjo, Depok, Sleman.
3. Perancangan perangkat keras dan perangkat lunak meliputi:
Merancang skema rangkaian berdasarkan dasar teori dan datasheet.
Merancang diagram alir pengolah data dan penampil data.
Merancang layout (PCB) perangkat keras.
4. Implementasi meliputi:
Penyediaan seluruh komponen yang dibutuhkan
Pemrograman pengolah data dan penampil data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
Perakitan dan pembuatan alat, serta diadakan pengujian masing-masing (sub-sistem) dari perangkat-perangkat tersebut, sebelum dilakukan integrasi.
5. Pengujian dan pengetesan alat meliputi:
Menguji secara langsung cara kerja alat, kemudian mengumpulkan datadata untuk mengetahui keadaan sistem secara keseluruhan dan data-data tersebut diusun sebagai hasil akhir dalam laporan tugas akhir.
1.5. Sistematika Penulisan Tugas akhir ini memiliki sistematika penulisan sebagai berikut: BAB I
: PENDAHULUAN BAB ini berisi latar belakang penelitian, tujuan dan manfaat penelitian,
batasan masalah, metodologi penelitian dan sistematika penulisan. BAB II : DASAR TEORI BAB ini berisi studi pustaka tentang landasan teori penelitian: Pencatat Hujan Tipping-bucket, Sensor Optis, Transistor Sebagai Saklar, Sensor Suhu LM35, Real Time Clock (RTC) DS1305, Komunikasi Serial, Pemrograman Visual Basic dan Mikrokontroler MC68HC908QB8. BAB III : RANCANGAN PENELITIAN BAB ini berisi tentang diagram blok perancangan, perancangan perangkat keras (hardware) dan perancangan perangkat lunak (software) yang akan dibuat. BAB IV : HASIL DAN PEMBAHASAN BAB ini berisi hasil perancangan, hasil pengujian, analisis data dan pembahasan analisa. BAB V: KESIMPULAN DAN SARAN BAB ini berisi tentang kesimpulan akhir dan saran-saran penulis tentang alat yang dibuat.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II DASAR TEORI 2.1.
Pencatat Hujan Tipping-Bucket Alat pencatat hujan tipping-bucket ditunjukkan pada gambar 2-1. Aliran air
dari corong akan masuk ke dalam pipa, kemudian turun ke wadah penampung A yang datar. Setelah menerima air, wadah A akan menjadi lebih berat sehingga turun. Saat mencapai kapasitas maksimumnya air dari wadah A akan tumpah, aliran air selanjutnya akan masuk ke wadah penampung B dan begitu seterusnya sehingga air dari corong berhenti mengalir. Pengisian wadah penampung ini berdasarkan jumlah (berat) air yang sama, maka model alat ukur hujan harus disesuaikan, sehingga hubungan nilai/besar curah hujan dapat dengan mudah dihitung. Ketika digunakan bersama dengan alat ukur curah hujan pada area pengumpulan seluas 150 cm2, maka banyaknya curah hujan pada masing-masing pengisian wadah penampung adalah 1,0 mm. Sedangkan ketika digunakan bersama dengan alat ukur curah hujan pada area pengumpulan seluas 750 cm2, maka banyaknya jumlah curah hujan pada masing-masing pengisian wadah penampung adalah 0,2 mm. Pada penggunaan alat ukur curah hujan untuk diameter pengumpulan sepanjang 5 inchi, maka titik keseimbangan pada unit wadah penampung pengisian dapat diatur hingga tiap-tiap pengisian berisi 1,0 mm curah hujan. Gerakan Tipping-bucket ini, dapat digunakan untuk menutup kontak pada rangkaian elektronik dengan tepat. Magnet ‘C’ akan menyebabkan reed switch ‘D’ latch atau terhubung sementara setiap kali wadah penampung melakukan pengisian. Dengan konstruksi rangkaian yang terdiri dari pulsa pencacah dan baterai kering, maka secara langsung akan dikumpulkan curah hujan hingga kenaikan 15 gram, serta disesuaikan dengan luas area pengumpulan corong dan dapat dibuat dengan jarak ratusan meter dari alat ukur. Pulsa yang direkam akan disubstitusi menjadi counter yang tidak hanya memberi informasi mengenai jumlah curah hujan pada periode yang diinginkan tetapi juga waktu dan kecepatan curah hujan [3].
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
Gambar 2-1 Pencatat Hujan Tipping-Bucket
2.2.
A. Wadah penampung
C. Magnet
B. Wadah penampung
D. Reed Switch
Sensor Optis Posisi tertentu pada sistem pengendali posisi, dapat dideteksi dengan
menggunakan limit switch atau menggunakan sensor optis. Pada penggunaan limit switch sebagai pendeteksi posisi, benda yang akan dideteksi posisinya harus terjadi kontak fisik (gesekan, desakan) dengan limit switch, sedangkan pada penggunaan sensor optis tidak terjadi gesekan antara benda yang dideteksi dengan sensor optis. Optocoupler
adalah
salah
satu
komponen
optoelektronika
yang
menggabungkan optika dengan elektronika. Optocoupler atau opto penggandeng menggabungkan LED dengan fototransistor dalam satu kemasan. Gambar optocoupler ditunjukkan pada gambar 2-2 di bawah ini.
Gambar 2-2 Optocoupler Berdasarkan gambar 2-3, pada kondisi fototransistor terhalang atau tidak mendapatkan cahaya dari LED, maka fototransistor akan OFF (cut-off) sehingga nilai Vo sama dengan Vcc. Sebaliknya, pada kondisi fototransistor tidak terhalang atau mendapatkan cahaya dari LED, maka fototransistor akan ON (saturasi) sehingga Vo mendekati nol [4].
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
Gambar 2-3 Konfigurasi Terhalang ON 1.
Bila Q1 terhalang (gelap), maka photo NPN OFF dan Vo≈Vcc.
2.
Bila Q1 tidak terhalang (terang), maka photo NPN ON dan Vo≈0.
Untuk menghitung besarnya nilai RLed dan Rc dapat dilakukan perhitungan menggunakan hukum kirchoff tegangan sebagai berikut: -Vcc + ILed. RLed + VLed = 0 RLed =
Vcc - VLed ........................................................................... (2.1.a) ILed
-Vcc + Ic. Rc + VCE = 0 Rc =
2.3.
Vcc - VCE .............................................................................. (2.1.b) IC
Transistor Sebagai Saklar Transistor dalam aplikasi elektronika dapat digunakan sebagai saklar. Pada
kondisi jenuh (saturation), transistor berlaku seperti saklar tertutup dan pada kondisi menyumbat (cut-off), transistor berlaku seperti saklar terbuka.
Gambar 2-4 Konfigurasi Common Emitter Transistor Sebagai Saklar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 Pada umumnya saklar transistor menggunakan konfigurasi common emitor seperti ditunjukkan pada Gambar 2-4. Saat transistor berada pada kondisi jenuh (saturation), tegangan kolektor-emitor (VCE) mendekati nol dan menyebabkan arus kolektor (IC) mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar dalam keadaan tertutup atau on. Pada kondisi menyumbat (cut-off) VCE mendekati tegangan suplai (VCC), sehingga IC tidak dapat mengalir dari kolektor ke emitor, kondisi ini dianalogikan seperti saklar yang terbuka atau off [5]. Nilai resistor basis (RB) dan resistor kolektor (RC) dapat dihitung dengan menggunakan hukum kirchoff tegangan sebagai berikut : Vb - VBE – IB. RB = 0 RB =
Vb − VBE ............................................................................... (2.2.a) IB
VCC – IC. RC – VCE = 0 RC =
2.4.
VCC − VCE ............................................................................. (2.2.b) IC
Sensor Suhu LM35 Sensor adalah suatu piranti yang mengubah besaran fisis menjadi besaran
elektris. Salah satu sensor yang banyak dipakai adalah sensor suhu yang mengubah besaran temperatur menjadi tegangan analog yang proporsional. Sensor suhu LM35 menghasilkan keluaran berupa tegangan yang linear, tiap kenaikan derajat celcius pada benda terukur. Dengan demikian, dapat dikatakan bahwa LM35 adalah sensor suhu linear. Penempatan pin LM35 ditunjukkan pada gambar 2-5 di bawah ini:
Gambar 2-5 Penempatan Pin LM35 Karakteristik sensor suhu LM35 ini yaitu: 1. Dikalibrasi langsung dalam derajat celcius. 2. Memiliki faktor skala linier + 10 mV/oC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9 3. Memiliki ketepatan 0,5°C pada suhu + 25°C 4. Jangkauan maksimal suhu antara -55 oC sampai +150 oC. 5. Cocok untuk aplikasi jarak jauh. 6. Harga yang cukup murah. 7. Beroperasi pada tegangan catu 4V sampai 30V. 8. Memiliki arus drain kurang dari 60 µA. 9. Pemanasan sendiri yang lambat (low self – heating), 0,08°C di udara diam. 10. Ketidaklinearan hanya sekitar ± 0,25 oC. 11. Impedansi keluaran yang kecil, 0,1Ω untuk beban 1 mA. Pada aplikasinya LM35 membutuhkan penambahan R dan C. Besarnya resistor yang diseri dengan kapasitor tersebut adalah 75 Ω, sedangkan kapasitor yang digunakan besarnya 1 µF. Tujuan pemasangan R dan C yang diseri tersebut adalah sebagai damper R-C sensor LM35, damper R-C tersebut dapat mengurangi noise yang ditimbulkan dari kabel penghubung [6]. Gambar 2-6 menunjukkan konfigurasi LM35 dengan damper R-C.
Gambar 2-6 LM35 dengan Damper R-C
2.5.
Real Time Clock (RTC) DS1305
2.5.1. Pengenalan DS1305 merupakan sumber jam dan penanggalan digital. DS1305 dapat memberikan informasi detik, menit, jam, hari, tanggal, bulan dan tahun. Tanggal terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih kecil dari 31 hari dan koreksi pada tahun kabisat. DS1305 berkomunikasi dengan mikrokontroler dengan sistem komunikasi Serial Peripheral Interface (SPI) atau koneksi antarmuka tiga kabel. Pengiriman data hanya dapat dilakukan untuk satu byte atau beberapa byte dalam waktu tertentu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
2.5.2. Fitur RTC DS1305 memiliki fitur sebagai berikut: 1. DS1305 menghitung detik, menit, jam, hari, tanggal, bulan dan tahun (termasuk tahun kabisat). 2. 96 byte nonvolatile RAM untuk menyimpan data. 3. Antarmuka dengan sistem komunikasi SPI, khusus mikrokontroler Motorola atau menggunakan koneksi tiga kabel. 4. Dapat memberikan sinyal keluaran gelombang kotak yang terprogram, untuk kombinasi detik, menit, jam dan hari. 5. Catu daya ganda: sebagai catu daya utama dan cadangan. 6. Disediakan pilihan dengan arus kecil untuk mengisi catu daya cadangan (Trickle Charger). 7. Beroperasi pada tegangan 2V sampai 5,5V. 8. Jangkauan temperatur kerja – 40oC sampai + 85oC. 9. Tersedia dalam kemasan 20 pin TSSOP dan 16 pin DIP.
2.5.3. Penempatan Pin Penempatan pin RTC DS1305 ditunjukkan pada gambar 2-7.
Gambar 2-7 Penempatan Pin DS1305 DS1305 mempunyai 16 pin dengan fungsi-fungsi sebagai berikut: 1. Vcc1 = catu daya utama. 2.
Vcc2 = catu daya cadangan. Pada sistem trickle charger, pin ini terhubung dengan sumber pengisi baterai.
3. X1 dan X2 = dihubungkan dengan kristal 32,768 kHz.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 4. VBat = masukan catu daya cadangan +3V, dengan standar baterai lithium atau sumber energi lainnya. 5. GND = ground. 6. Serial Data Input (SDI) = masukan data serial. Pada saat komunikasi SPI dipilih, pin SDI akan menjadi masukan data serial bagi bus SPI. Ketika komunikasi tiga kabel dipilih, pin SDI harus dihubungkan dengan pin SDO. 7. Serial Data Output (SDO) = keluaran data serial. Pada saat komunikasi SPI dipilih, pin SDO akan menjadi keluaran data serial bagi bus SPI. Ketika komunikasi tiga kabel dipilih, pin SDO harus dihubungkan dengan pin SDI. 8. Serial Clock Input (SCLK) = Clock serial. Digunakan untuk mensinkronisasi pengiriman data pada antarmuka serial dengan SPI atau koneksi tiga kabel. 9. Serial Interface Mode Input (SERMODE) = mode antarmuka serial. Pin SERMODE dipakai untuk memilih dua mode antarmuka serial. Ketika terhubung dengan GND, maka mode yang dipilih komunikasi 3 kabel dan ketika terhubung dengan Vcc, maka mode yang dipilih komunikasi SPI. 10. Chip Enable (CE) = sinyal CE harus berada pada kondisi tinggi selama proses read/write. Pin ini memiliki resistor pulldown internal sebesar 55 kΩ. 11. Interrupt 0 Output ( INT 0 ) = pin INT 0 memiliki keluaran yang aktif rendah yang dapat digunakan sebagai interupsi bagi prosesor. Pin ini membutuhkan resistor pullup eksternal. 12. Interrupt 1 Output ( INT 1 ) = pin INT 1 memiliki keluaran yang aktif rendah yang dapat digunakan sebagai interupsi bagi prosesor. Pin ini membutuhkan resistor pullup eksternal. 13. Power Fail Output ( PF ) = pin PF digunakan untuk menunjukkan keadaan catu daya utama. Ketika Vcc1< Vcc2 atau Vcc1< Vbat, maka pin ini bernilai rendah. 14. Interface Logic Power Supply Input (VCCIF) = pin ini memungkinkan DS1305 untuk mengatur keluaran pin SDO dan PF pada level yang tepat untuk logika antarmuka.
2.5.4. Peta Memori RTC Tabel 2-1 menunjukkan peta alamat register dan alamat RAM untuk DS1305. Alamat register DS1305 berlokasi pada alamat 00h sampai 1Fh untuk baca (read) dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 80H sampai 9FH untuk baca (write). RAM berlokasi pada alamat 20h sampai 7Fh untuk read dan A0h sampai FFH untuk write [7]. Tabel 2-1 Peta Alamat RTC DS1305 dan Alamat RAM
2.6.
Komunikasi Serial Pada PC standarT, biasanyaT terdapat sebuah port untuk komunikasi serial.
Pada prinsipnya, komunikasi serial ialah komunikasi di mana pengiriman data dilakukan per-bit, sehingga lebih lambat dibandingkan komunikasi paralel, seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh penerapan komunikasi serial adalah mouse, scanner dan sistem akuisisi data yang terhubung ke port serial COM1/COM2. Tujuan dasar dari suatu komunikasi data adalah untuk saling menukar atau mengirim informasi berupa data n-bit (1 byte atau lebih) antar stasiun. Komunikasi data antar stasiun yang terpisah oleh jarak yang cukup berjauhan harus menggunakan mode pengiriman data serial untuk mengirimkan datanya, yaitu data dikirim secara bit per-bit melalui satu saluran (kabel) transmisi. Pada metode asinkron, setiap karakter yang dikirim disinkronkan dengan menyisipkan bit-bit framing (pembingkaian) pada permulaan karakter, yaitu bit start dan pada akhir karakter, yaitu bit stop. Bit start selalu berlogika rendah (0) berfungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 untuk menandakan permulaan karakter. Setelah bit data terakhir (MSB), 1 bit paritas disisipkan, yang berfungsi untuk mengecek keabsahan dari data yang dikirim. Logika 1 untuk paritas genap dan logika 0 untuk paritas ganjil. Bit stop selalu berlogika tinggi (1) dan berfungsi menandakan akhir dari karakter [8]. Gambar sebuah frame dalam komunikasi serial ditunjukkan pada gambar 2-8.
Gambar 2-8 Sebuah Frame dalam Komunikasi Serial
2.6.1. Port Komunikasi Serial Komunikasi serial membutuhkan port sebagai saluran data. Pada IBM PC kompatibel port serial bersifat asinkron dimana dapat mengirimkan data sebanyak 1 bit dalam tiap satu waktu. Port yang digunakan biasanya menggunakan konektor DB9. Standar RS232 menyangkut komunikasi data antar komputer (Data Terminal Equipment/DTE) dengan alat-alat pelengkap komputer (Data Circuit-Terminating Equipment/DCE). Berikut tampilan port serial DB9 yang umum digunakan sebagai port serial [9].
T
(a)
(b) TGambar 2-9 Port DB9: (a) Male; (b) Female
DB9 mempunyai 9 pin dengan fungsi-fungsi sebagai berikut: 1. pin 1 = Data Carrier Detect (DCD) atau Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan, ada data masukan. 2. pin 2 = Received Data (RxD), digunakan DTE untuk menerima data ke DCE. 3. pin 3 = Transmitted Data (TxD), digunakan DTE untuk mengirimkan data ke DCE.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14 4. pin 4 = Data Terminal Ready (DTR), pada saluran ini DTE memberitahukan kesiapan terminalnya. 5. pin 5 = Signal Ground (common), saluran ground. 6. pin 6 = Data Set Ready (DSR), sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap. 7. pin 7 = Request To Send (RTS), dengan saluran ini DCE diminta untuk mengirimkan data oleh DTE. 8. pin 8 = Clear To Send (CTS), dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai mengirimkan data. 9. pin 9 = Ring Indicator (RI), pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun menghendaki hubungan dengannya. Untuk dapat menggunakan port serial perlu diketahui alamatnya. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Umumnya COM1 berada di base address 1016 (3F8H), sedangkan COM2 di base address 760 (2F8H). Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan. Secara tepat alamat tersebut dapat dilihat pada peta memori, yaitu memori 0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address COM2 [10].
2.6.2. RS232 RS232 merupakan standar yang biasanya digunakan untuk komunikasi serial antar alat dengan komputer. RS232 dikembangkan oleh Electronics Industries Association and The Telecommunications Industry (EIA/TIA) dan dipublikasikan pertama kali pada tahun 1962. Perkembangan ini jauh terjadi sebelum IC TTL populer, sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya menyangkut komunikasi data antar komputer DTE dengan alat-alat pelengkap komputer DCE. Standar RS232 inilah yang digunakan pada port serial IBM kompatibel. Standar sinyal serial RS 232 memiliki ketentuan level tegangan sebagai berikut: 1. Logika ‘1’ disebut ‘mark’ terletak antara -3V hingga -25V. 2. Logika ‘0’ disebut ‘space’ terletak antara +3V hingga +25V.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15 3. Daerah tegangan antara -3V hingga +3V, ≤ -25V dan ≥ +25V adalah invalid level, yaitu daerah tegangan yang tidak memiliki logika pasti dan harus dihindari. Rangkaian pengubah level tegangan TTL menjadi level tegangan RS232 menggunakan rangkaian voltage doubler atau rangkaian pengganda tegangan dan rangkaian voltage inverter atau rangkaian pembalik tegangan. Gambar 2-10 adalah contoh level tegangan RS232 pada pengiriman huruf ‘A’ dalam format ASCII tanpa bit paritas pada level TTL dan level RS 232 [10].
Gambar 2-10 Level Tegangan TTL dan RS232 Pada Pengiriman Huruf ‘A’ Tanpa Bit Paritas
2.7.
Pemrograman Visual Basic Visual Basic merupakan pemrograman berorientasi objek (Object Oriented
Programming/OOP). Visual Basic menyediakan objek-objek yang sangat kuat, berguna dan mudah dipakai. Pada Visual Basic yang dikerjakan pertama kali adalah membuat tampilan program terlebih dahulu, kemudian dilanjutkan dengan membuat kode yang akan digunakan oleh program [11]. Gambar Visual Basic IDE (Integrated Development Environment) dari Visual Basic ditunjukkan pada gambar 2-11.
Gambar 2-11 Visual Basic IDE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 IDE merupakan bidang kerja tempat progammer membuat aplikasi. Di dalam IDE terdapat Programming Tools, Toobox Controls, Form Windows, Properties Windows, Project Windows, Code Windows, Immediate Windows, Form Layout Windows, Online Help Systems. a. ToolBox: Merupakan kumpulan alat yang dipakai untuk merancang tampilan dari aplikasi yang dibuat, termasuk kalau mau membuat objek seperti text area, berbagai tombol dan scroll bar. Letaknya ada di sebelah kiri dari gambar 2-12. b. Form: Bagian ini adalah tampilan yang akan dilihat oleh user. Di dalam form terdapat berbagai kontrol yang bisa beraksi sesuai kode yang dibuat. Suatu aplikasi bisa mempunyai 5 sampai 6 form. Namun ada juga aplikasi yang mempunyai lebih banyak form. Letaknya ada di tengah atas dari gambar 2-12. c. Code Windows: Bagian ini adalah tempat untuk menuliskan kode atau program. Ada dua combo box di bagian atas dari code windows, box yang kiri menunjukkan objek yang kodenya ditulis dan box yang kanan menunjukkan prosedur atau event dari kontrol yang sedang didefinisi kelakuannya. Letaknya ada di tengah bawah dari gambar 2-12. d. Properties Window: Properties/karakter/sifat dari suatu kontrol ditentukan di window ini, misalnya warna dimensi dan berbagai operasi yang terkait dengan kontrol yang bersangkutan. Letaknya ada di kanan atas dari dari gambar 2-12. e. Project Windows: Suatu aplikasi dalam Visual Basic dibuat melalui project. Project adalah kumpulan file yang saling berkaitan satu sama lain. Sebagian dari file ini berasal dari user, sedang sebagian lagi dibuat oleh sistem. Letaknya ada di kanan bawah dari gambar 2-12. Isi dari Project Window antara lain: 1) Satu file untuk tiap form (ekstensi .frm) 2) Satu file untuk tiap module (ekstensi .bas) 3) Satu file untuk tiap custom control (ekstensi .vbx) Dalam Visual Basic disediakan costum control untuk komunikasi serial yaitu communication control. Bahasa pemrograman Visual Basic yang digunakan adalah: 1. Do [pernyataan-pernyataan] Loop Until [syarat]: Melakukan looping untuk membaca tiap karakter yang diterima sampai syarat terpenuhi. 2. [Variabel] = DoEvents(): Memberikan kesempatan pada sistem operasi untuk memproses kejadian (program) sampai selesai. 3. [Variabel] = Comm1.Input: Membaca karakter-karakter dari buffer penerima dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 dimasukkan variabel. 4. Comm1.Output = [Variabel]: Mengirimkan karakter-karakter yang terdapat pada variabel melalui port Comm1. Berikut adalah kode program beserta keterangannya pada prosedur penerimaan data serial: 1. Comm1.CommPort = 1, perintah ini digunakan untuk menginisialisasi penggunaan port com1 dengan nama “Comm1” 2. Comm1.Settings = ‘1200,N,8,1”, perintah ini digunakan untuk mengeset port com1 dengan parameter sebagai berikut: 1.Angka pertama menunjukkan kecepatan transmisi data 1200 baud. 2.N (none) menunjukkan tidak ada paritas yang digunakan. 3.Angka ketiga menunjukkan jumlah bit yang dikirim dalam 1 karakter yaitu 8 bit. 4.Angka terakhir menunjukkan bit akhir (stop bit) dalam satu karakter. 3. Comm1.InputLen = 0, perintah ini digunakan untuk menyatakan banyaknya karakter yang akan dibaca jika input digunakan. 4. Comm1.PortOpen = True, perintah ini digunakan untuk membuka (true) atau menutup (false) port Comm1. Berikut adalah kode program pada prosedur pengiriman data serial: 1. Comm1.CommPort = 1 2. Comm1.Settings = ‘1200,N,8,1” 3. Comm1.InputLen = 0 4. Comm1.PortOpen = True 5. Comm1.OutputLen = “HAI APA KABAR? SALAM MANIS DARIKU + Chr$(13) 6. Comm1.PortOpen = False
2.8.
Mikrokontroler MC68HC908QB8
2.8.1. Gambaran Umum MC68HC908QB8 termasuk dalam Microcontroller Units (MCUs) 8-bit keluarga M68HC08 yang berdaya guna tinggi, murah dan dirancang berdasarkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 strategi Complexity Instruction Set Computer (CISC) dengan arsitektur Von Neumann. Semua mikrokontroler dalam keluarga ini memakai Central Processor Unit (CPU) M68HC08 dan tersedia dengan berbagai modul, tipe, ukuran memori dan berbagai tipe kemasan. MC68HC908QB8 memiliki 8 kbyte flash memori, 256 byte Random Access Memory (RAM), 4 saluran Timer Interface Module (TIM) 16 bit, 10 saluran Analog to Digital Converter (ADC) 10 bit, modul Enhanced Serial Communications Interface (ESCI), modul Serial Peripheral Interface (SPI), internal osilator yang dapat diatur secara software, memiliki kemampuan Auto Wakeup dari intruksi stop, kompatibel dengan kode objek keluarga M68HC05 dan didesain untuk daya rendah dengan mode stop and wait [12].
2.8.2. Port-Port Input/Output (PORTS) Pada MC68HC908QB8 terdapat 13 pin I/O bidirectional dan 1 pin khusus input. Semua I/O pin dapat diprogram sebagai input ataupun output. Port A adalah port dengan fungsi khusus 6-bit yang men-share keenam pinnya dengan modul keyboard interrupt (KBI), 4 saluran TIM, ADC 10 bit, IRQ, reset dan osilator. Port B adalah port dengan fungsi khusus yang men-share kedelapan pinnya dengan saluran 4 TIM, ADC 10 bit, modul SPI dan modul ESCI. Tiap pin Port A dan Port B juga memiliki devais pullup, yang dikonfigurasi program apabila pin port yang bersangkutan dikonfigurasi sebagai input. Gambar konfigurasi Pin Mikrokontroler MC68HC908QB8 ditunjukkan pada gambar 2-12 di bawah ini.
Gambar 2-12 Konfigurasi Pin Mikrokontroler MC68HC908QB8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
2.8.2.1. Register Data Port A Register data port A (PTA) berisi sebuah pengunci data (latch), untuk masingmasing pin port A. Port A adalah port 6 bit, yang keenam pinnya berbagi fungsi dengan interupsi keyboard. Setiap pin port A juga memiliki sebuah piranti pullup resistor yang dikonfigurasikan dengan perangkat lunak, jika pin port A digunakan sebagai masukan. Gambar register data port A ditunjukkan pada gambar 2-13 di bawah ini.
Gambar 2-13 Register Data Port A (PTA) Bit port A (PTA0 – PTA5] merupakan bit-bit baca/tulis yang terprogram secara software. Arah data dari tiap pin port A dikendalikan oleh bit yang sesuai pada data direction register A. Reset tidak mempengaruhi data port A. Bit Auto Wakeup Latch Data (AWUL) merupakan bit baca yang berisi nilai dari adanya permintaan
auto wakeup interrupt. Sinyal permintaan wakeup
dibangkitkan secara internal. Data Direction Register A (DDRA) menentukan apakah tiap pin port A adalah input atau output. Menulis logika 1 pada bit DDRA, akan menghubungkan output buffer dengan pin port A yang bersangkutan, sedangkan menulis logika 0 akan memutuskan output buffer dengan pin port A yang bersangkutan. Gambar 2-14 menunjukkan register DDRA
Gambar 2-14 Data Direction Register A (DDRA) Bit-bit DDRA merupakan bit baca/tulis yang mengendalikan arah data port A. Reset meng-clear-kan bit DDRA[5:0], sehingga semua pin port A dikonfigurasi sebagai input
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20 1 = pin port A dikonfigurasi sebagai output. 0 = pin port A dikonfigurasi sebagai input. Port A Input Pullup Enable Register (PTAPUE ) berisi sebuah devais pullup, yang dapat dikonfigurasi secara software untuk tiap pin port A. Tiap bit dapat dikonfigurasikan secara individual dan membutuhkan data direction register (DDRAx) yang bersangkutan dikonfigurasi sebagai input. Tiap pullup device secara otomatis dan dinamis diputus ketika bit DDRAx yang bersangkutan dikonfigurasi sebagai output. Gambar 2-15 menunjukkan register PTAPUE.
Gambar 2-15 Port A Input Pullup Enable Register (PTAPUE) PTAPUE0 – PTAPUE5, digunakan untuk mengaktifkan devais pullup pada pin port A, terprogram secara software. 1 = Pin port A yang bersangkutan dikonfigurasi menggunakan internal pullup jika bit DDRA 0 (input). 0 = Devais pullup tidak terhubung dengan pin port A yang bersangkutan, tanpa melihat keadaan DDRA. OSC2EN, untuk mengaktifkan PTA4 sebagai pin OSC2. Bit baca/tulis ini mengkonfigurasi pin OSC2 ketika memilih RC osilator. Bit ini tidak mempengaruhi pilihan osilator XTAL atau osilator eksternal. 1 = pin OSC2 sebagai output dari RC oscillator clock (BUSCLKX4). 0 = pin OSC2 dikonfigurasi sebagai PTA4 I/O, memiliki semua fungsi interupsi dan pullup.
2.8.2.2. Register Data Port B Register data port B (PTB) berisi sebuah pengunci data (latch) untuk masingmasing pin port B. Bit data port B (PTB0 - PTB7), merupakan bit baca/tulis yang diatur dengan perangkat lunak. Arah data dari masing-masing bit dikendalikan oleh
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 bit sesuai dengan bit pada Data Direction Register B (DDRB). Reset tidak memberi pengaruh pada data port B. Gambar 2-16 menunjukkan register data port B.
Gambar 2-16 Register Data Port B (PTB) DDRB menentukan apakah tiap pin port B adalah input atau output. Menulis logika 1 pada bit DDRB akan menghubungkan output buffer dengan pin port B yang bersangkutan, sedangkan menulis logika 0 akan memutuskan output buffer dengan pin port B yang bersangkutan. Gambar 2-17 menunjukkan register DDRB.
Gambar 2-17 Data Direction Register B (DDRB) Bit-bit DDRB merupakan bit baca/tulis yang mengendalikan arah data port A. Reset meng-clear-kan bit DDRB[7:0], sehingga semua pin port B dikonfigurasi sebagai input. 1 = pin port B dikonfigurasi sebagai output. 0 = pin port B dikonfigurasi sebagai input. Port B Input Pullup Enable Register (PTBPUE ) berisi sebuah devais pullup yang dapat dikonfigurasi secara software untuk tiap pin port B. Tiap bit dapat dikonfigurasikan secara individual dan membutuhkan data direction register (DDRBx) yang bersangkutan dikonfigurasi sebagai input. Tiap pullup device secara otomatis dan dinamis diputus ketika bit DDRBx yang bersangkutan dikonfigurasi sebagai output. Gambar 2-18 menunjukkan register PTBPUE.
Gambar 2-18 Port B Input Pullup Enable Register (PTBPUE)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22 PTBPUE0 – PTBPUE7, digunakan untuk mengaktifkan devais pullup pada pin port B, terprogram secara software. 1 = Pin port B yang bersangkutan dikonfigurasi menggunakan internal pullup jika bit DDRA 0 (input). 0 = Devais pullup tidak terhubung dengan pin port B yang bersangkutan, tanpa melihat keadaan DDRB.
2.8.3. External Interrupt (IRQ) Pin IRQ berbagi fungsi dengan PTA2, PTA2 juga berfungsi sebagai general input/output pin dan pin interupsi keyboard. Kemampuan dari modul IRQ adalah terdapat sebuah pin interupsi ekskternal, memiliki kontrol bit interupsi IRQ, hysterisis buffer, sensitivitas interupsi yang dapat diprogram, terdapat pilihan internal/eksternal pullup resistor.
2.8.3.1. IRQ Status and Control Register (INTSCR) INTSCR yang ditunjukkan pada Gambar 2-19, mengendalikan dan mengawasi operasi dari modul IRQ. INTSCR mempunyai empat fungsi: 1. Menunjukkan status dari flag IRQ. 2. Menghapus interupsi latch IRQ. 3. Menutupi (mask) permintaan interupsi IRQ. 4. Mengendalikan sensitivitas picuan dari pin IRQ.
Gambar 2-19 IRQ Status and Control Register (INTSCR) IRQ Flag ( IRQF ), merupakan bit status yang hanya bisa dibaca. IRQF akan berlogika tinggi pada saat interupsi IRQ menunggu. Logika 1 menandakan adanya interupsi IRQ yang menunggu dan logika 0 menandakan tidak ada interupsi IRQ yang menunggu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23 Bit Interrupt Request Acknowledge (ACK), dengan menulis logika 1 pada bit yang hanya bisa ditulis ini, akan membuat nol IRQ lacth. ACK selalu dibaca sebagai logika 0. Kondisi reset akan membuat ACK menjadi nol. Interrupt Mask ( IMASK ), dengan menulis logika 1 pada bit baca tulis ini, akan membuat interupsi IRQ tidak aktif. Kondisi reset membuat IMASK1 menjadi nol. Logika 1 akan membuat permintaan interupsi IRQ tidak aktif dan logika 0 akan membuat permintaan interupsi IRQ aktif. Edge/Level Select ( MODE ), bit baca/tulis ini mengendalikan sensitivitas picuan dari pin IRQ. Kondisi reset membuat MODE menjadi nol. Logika 1 membuat permintaan interupsi IRQ pada tepi turun dan tingkat rendah dan logika 0 membuat permintaan interupsi IRQ hanya pada tepian turun.
2.8.4. Keyboard Interrupt Module (KBI) Pada MC68HC908QB8 terdapat 5 pin Interupsi keyboard dengan bit enablenya masing-masing disertai sebuah pin untuk keyboard interrupt mask. Bila pin dikonfigurasikan sebagai input, komponen pullup terintegrasi dapat diprogram secara software. Interupsi keyboard memiliki sensitivitas interupsi yang dapat diprogram secara software. Keyboard Status and Control Register (KBSCR) yang ditunjukkan pada gambar 2-20 mengendalikan dan mengawasi operasi dari modul KBI. KBSCR mempunyai 3 fungsi: 1. Menandai adanya permintaan interupsi keyboard. 2. Menghapus permintaan interupsi keyboard. 3. Melakukan masking terhadap interupsi keyboard.
Gambar 2-20 Keyboard Status and Control Register (KBSCR)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 KBI Flag (KEYF ), merupakan bit status yang hanya bisa dibaca. KBSCR akan berlogika tinggi pada saat terdapat permintaan interupsi keyboard yang belum dilayani dan berlogika rendah menandakan tidak terdapat permintaan interupsi keyboard yang belum dilayani Bit Keyboard Acknowledge (ACKK) selalu terbaca sebagai logika 0. Memberikan logika 1 pada bit yang bersifat read-only ini, akan membatalkan permintaan interupsi keyboard yang belum dilayani pada port A. Bit Keyboard Interrupt Mask (IMASKK), dengan memberikan logika 1 pada bit ini akan mencegah terjadinya permintaan interupsi keyboard pada port A. Bit Keyboard Triggering Sensitivity (MODEK), berfungsi mengendalikan sensitivitas interupsi keyboard pada port A. Pada logika 1 sensitivitas interupsi keyboard terjadi pada logika pinggiran negatif dan selama logika rendah. Sedangkan pada saat logika 0 sensitivitas interupsi keyboard terjadi hanya pada logika pinggiran negatif. Keyboard Interrupt Enable Register (KBIER) dapat mengaktifkan atau menonaktifkan permintaan interupsi keyboard yang belum dilayani pada port A. KBIER ditunjukkan pada gambar 2-21.
Gambar 2-21 Port A Keyboard Interrupt Enable Bits (KBIER) Masing-masing bit, dapat mengaktifkan atau menonaktifkan permintaan interupsi keyboard terhadap pin yang saling berkorespondensi pada port A. Reset akan menonaktifkan permintaan interupsi keyboard pada port A. 1 = pin KBIx dapat menerima permintaan interupsi keyboard. 0 = pin KBIx tidak dapat menerima permintaan interupsi keyboard.
2.8.5. Analog to Digital Converter (ADC) MC68HC908QB8 memiliki modul ADC10 dengan fitur: 1. Algoritma pendekatan linier dengan resolusi 10 bit. 2. Output dalam format data 10 atau 8 bit.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25 3. Konversi secara periodik atau terus-menerus. 4. Kecepatan konversi dapat diatur. 5. Konversi yang dilengkapi dengan flag dan interupsi. 6. Input clock-nya dapat dipilih lebih dari 3 sumber. 7. Mode operasi stop and wait dengan noise rendah. ADC10 menggunakan pendekatan untuk mengubah input yang diambil dari ADVIN untuk diubah menjadi data digital. Pendekatan dilakukan dengan membulatkan input dalam bentuk nilai 8 atau 10 bit untuk menghasilkan keakuratan yang lebih tinggi dan mendapatkan mekanisme yang lebih baik untuk mencapai tegangan peralihan yang ideal. Untuk konversi yang tepat, tegangan dari ADVIN harus berada antara VREFH dan VREFL. Jika ADVIN sama dengan atau melewati VREFH, ADC10 merubah sinyal menjadi $3FF untuk representasi 10 bit dan $FF untuk representasi 8 bit. Jika ADVIN sama dengan atau dibawah VREFL, ADC10 merubah sinyal menjadi $0000. Tegangan input antara VREFH dan VREFL diubah dalam bentuk konversi yang linier . Waktu konversi tergantung pada beberapa faktor seperti, waktu sampling, frekuensi bus, apakah Asynchronous Clock Source Enable (ACLKEN) dalam keadaan set dan waktu sinkronisasi. Waktu maksimum untuk konversi total ditentukan oleh sumber yang dipilih dan rasio pembagian yang dipilih. Sumber clock dapat dipilih dengan bit Input Clock Select Bit (ADICLK) dan ACLKEN, sedangkan rasio pembagian diatur dari bit Clock Divider Bits (ADIV). Sebagai contoh, jika sumber clock alternatif adalah 16 MHz yang dipilih sebagai sumber input clock, input clock dibagi menjadi 8 dan frekuensi bus 4 MHz, kemudian waktu konversi untuk 10 bit adalah:
Waku konversi maksimum =
21 siklus ADCK 3 siklus bus + = 11,25 μs 16 MHz/8 4 MHz
Jumlah siklus bus = 11,25µs x 4 MHz = 45 siklus Resolusi ADC =
VDD ; n = Jumlah bit (8/10) ................................... (2.3.a.) 2n
Resolusi ADC terhadap Inputnya =
Resolusi ADC .................. (2.3.b.) Resolusi Inputnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26 ADC10 Status and Control Register (ADCSC) yang ditunjukkan pada gambar 2-22 mengendalikan dan mengawasi operasi dari modul ADC10.
Gambar 2-22 ADC10 Status and Control Register (ADCSC) Bit Conversions Complete (COCO) merupakan bit yang hanya dapat dibaca, yang di-set pada akhir tiap konversi. COCO akan di-clear-kan pada saat ADCSC ditulis atau sewaktu register data dibaca. Logika 1 pada bit yang bersifat read-only ini, menandakan konversi selesai. Sebalinya, logika 0 pada bit ini menandakan konversi belum selesai. Bit Interrupt Enable (AIEN), ketika bit ini di-set sebuah interupsi dihasilkan pada akhir konversi. Sinyal interupsi di-clear-kan ketika register data dibaca atau ADCSC ditulis. Menulis logika 1 pada bit ini, menandakan interupsi ADC10 diijinkan. Sebaliknya, menulis logika 0 pada bit ini menandakan interupsi ADC10 tidak diijinkan Bit Continuous Conversion Bit (ADCO), ketika bit di-set ADC10 akan mengkonversi cuplikan secara kontinyu dan memperbaharui register hasil, diakhir tiap konversi. Bit Channel Select (ADCH4 - ADCH0) membentuk 5 bit field, yang digunakan untuk memilih salah satu dari saluran input. ADC10 Result High Register (ADRH), merupakan register yang menyimpan MSB dari hasil konversi dan selalu diperbaharui setiap waktu konversi selesai. Bit-bit yang lain terbaca sebagai 0. Gambar 2-23 menunjukkan register ADRH.
Gambar 2-23 Register Data High ADC10, Mode 8-Bit dan Mode10-Bit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27 ADC10 Result Low Register (ADRL), merupakan register yang menyimpan LSB dari hasil konversi dan selalu diperbaharui setiap waktu konversi selesai. Gambar 2-24 menunjukkan register ADRL.
Gambar 2-24 Register Data Low ADC10 ADC10 Clock Register (ADCLK), merupakan register yang memilih frekuensi clock ADC10 dan mode operasi. Gambar 2-25 menunjukkan register ADCLK.
Gambar 2-25 Register Clock ADC10 (ADCLK) Bit Low Power Configuration (ADLPC) mengendalikan kecepatan dan daya yang dikonsumsi selama proses konversi. Menulis logika 1 pada bit ADLPC berarti menggunakan konfigurasi daya rendah. Sebaliknya, menulis logika 0 pada bit ADLPC menggunakan konfigurasi kecepatan tinggi. Bit Clock Divider (ADIV1 dan ADIV0) memilih rasio pembagi yang digunakan ADC10 untuk menghasilkan clock internal ADCLK. Bit Input Clock Select (ADICLK), digunakan untuk memilih bus clock atau sumber clock alternatif sebagai masukan clock, ketika ACKLEN di-clear-kan. Menulis logika 1 pada bit ACKLEN, akan memilih clock bus internal sebagai sumber clock. Sebaliknya, menulis logika 0 pada bit ACKLEN , akan memilih clock alternatif
sebagai sumber clock. Hardware Triggered Mode Selection (MODE1 – MODE0), digunakan untuk
memilih operasi dengan 8 atau 10 bit. 00 = 8 bit, picuan ADCSC secara software. 01 = 10 bit, picuan ADCSC secara software. 10 = Dipesan. 11 = 10 bit, picuan ADCSC secara hardware.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28 Long Sample Time Configuration (ADLSMP), digunakan untuk mengatur
waktu sampling ADC10 pada 3,5 atau 23,5 siklus clock ADCK. 1 = waktu sampling yang panjang (23,5 cycles). 0 = waktu sampling yang pendek (3,5 cycles).
Asynchronous
Clock
Source
Enable
(ACLKEN),
digunakan
untuk
mengaktifkan sumber clock asinkron, sebagai input clock dan memungkinkan stop mode.
1 = clock asinkron dipilih sebagai sumber clock. 0 = ADICLK akan memilih sumber clock dan konversi tidak akan diteruskan saat stop mode.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III RANCANGAN PENELITIAN Diagram blok dari Stasiun Cuaca Mini akan ditunjukkan pada Gambar 3-1.
Gambar 3-1 Rancangan Diagram Blok Stasiun Cuaca Mini Cara kerja dari diagram blok di atas adalah sebagai berikut: 1. Blok sensor suhu: LM35 akan mengubah panas menjadi tegangan. Kemudian tegangan keluaran dari LM35 akan dikirimkan ke mikrokontroler sebagai informasi suhu udara. 2. Blok sensor curah hujan: Pin IRQ akan terpicu (tepian turun negatif ) ketika optocoupler terhalang. Keluaran dari optocoupler akan dikirimkan ke mikrokontroler sebagai informasi jumlah curah hujan. Setiap kali terhalang menandakan bahwa wadah penampung sebesar 0,5 mm telah terisi penuh. 3. Blok pengumpul data: Mikrokontroler MC68HC908QB8 merupakan pengumpul data dari setiap blok. Mikrokontroler menerima informasi dari sensor suhu, sensor curah hujan dan data waktu/penanggalan dari RTC. Data-data tersebut diolah terlebih dahulu sebelum dikirimkan ke PC. Proses pengumpulan data akan diatur oleh mikrokontroler secara software. 4. Blok RTC: RTC merupakan sumber jam dan penanggalan digital. RTC memberikan informasi detik, menit, jam, hari, tanggal, bulan dan tahun. Tanggal terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih kecil dari 31 hari, termasuk koreksi pada tahun kabisat. RTC berkomunikasi dengan
mikrokontroler,
menggunakan
sistem
komunikasi
SPI.
pengiriman dan pengambilan data RTC akan diatur oleh mikrokontroler.
29
Proses
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30 5. Blok komputer: Data yang dikirim dan diterima dari komputer ke mikrokontroler dilakukan secara serial, kemudian data-data tersebut akan ditampilkan pada layar monitor menggunakan perangkat lunak Visual Basic. Proses pengaturan jam untuk RTC diatur menggunakan sebuah tombol yang berada pada form utama.
3.1.
Perancangan Perangkat Keras
3.1.1. Perancangan Sensor Suhu Sensor suhu yang dipakai pada perancangan ini adalah sensor suhu linear LM35 yang memiliki karekteristik tegangan keluaran sebesar 10 mV/oC. Tegangan P
P
keluaran LM35 akan dihubungkan dengan pin PTA4 (AD2) pada mikrokontroler. VCC U4 VS+ VOUT GND
1
PTA4
R8 150
R7 150
3
LM35
2
C8 1uF
Gambar 3-2 Rancangan Sensor Suhu dengan IC LM35 [6] Dari gambar 3-2 di atas, nilai resistor 75 Ω tidak terdapat di pasaran. Untuk mengatasi hal tersebut dibutuhkan dua buah resistor 150 Ω (diparalel). Maksud penambahan resistor 75 Ω dan kapasitor 1 µF adalah sebagai damper R-C sensor LM35, sehingga dapat mengurangi noise yang ditimbulkan kabel penghubung antara sensor dan mikrokontroller. Rparalel =
R7 x R8 150 x 150 = = 75 Ω R7 + R8 150 + 150
Keluaran LM35 masih berupa data analog, oleh karena itu data tersebut akan diubah menjadi data digital menggunakan fasilitas ADC internal (8/10 bit) yang dimiliki oleh mikrokontroler. Pada perancangan ini dipilih mode ADC 10 bit agar resolusi yang diterima semakin teliti (4,8828125 mV), proses pengambilan data suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31 udara akan diatur secara software pada mikrokontroler. Berikut perhitungan resolusi ADC terhadap LM35:
VDD 5V = = 4,8828125 mV ≈ 5 mV 10 1024 2
Resolusi ADC =
Resolusi ADC terhadap LM35 =
Resolusi ADC 4,8828125 mV = Resolusi LM35 10 mV/ o C
= 0,48828125 oC ≈ 0,5 OC P
P
P
P
Misal suhu yang terukur pada LM35 = 25 oC, maka data yang akan diterima di P
dalam register mikrokontroler adalah :
25 o C 0,5 o C
P
= 50 = 32H
3.1.2. Perancangan Sensor Tingkat Curah Hujan 3.1.2.1. Tipping-Bucket [3] Perancangan tipping-bucket mengacu pada dasar teori pada bab II. Pada perancangan ini untuk mendeteksi banyaknya jumlah curah hujan yang diukur, menggunakan sensor optis dengan konfigurasi terhalang ON. Berdasarkan hasil dari studi laboratorium di Badan Penelitian dan Pengembangan Pusat Penelitian dan Pengembangan Sumberdaya Air Balai SABO, Sopalan, Maguwoharjo, Depok, Sleman, jumlah air hujan yang masuk ke dalam wadah penampung adalah 1 mm dan 2 pulsa mewakili 2 mm air hujan. Gelas ukur yang digunakan, harus sesuai dengan luas corong, yaitu 200 cm2. Panjang pipa dan besar kemiringan corong masukan tidak P
P
mempengaruhi besarnya jumlah curah hujan yang terukur. Ukuran yang harus diperhatikan pada perancangan ini adalah luasan corong masukan
dan besarnya
wadah penampung air. Berikut gambar rancangan sensor pengukur curah hujan beserta ukuran-ukurannya. Pada perancangan ini bahan yang digunakan sebagai wadah penampung menggunakan akrelik 3 mm. Model dan ukuran dari wadah penampung, menyesuaikan model rain gauge yang berada pada Balai SABO. Untuk corong masukan digunakan corong berbahan seng dengan luasan 200 cm2. Pipa keluaran air P
P
hujan menggunakan botol dari tinta printer, agar debit air yang keluar tidak terlalu kecil/besar. Untuk mengatur besarnya jumlah air hujan yang masuk pada wadah penampung digunakan dua buah baut yang berbentuk T. Air yang masuk wadah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 penampung, akan langsung dibuang keluar melalu pipa pembuangan berbahan paralon. Berikut gambar model rancangan sensor pengukur curah hujan.
Gambar 3-3 Rancangan Sensor Pengukur Curah Hujan
3.1.2.2. Sensor Optis dan Transistor Sebagai Saklar Bila fototransistor terhalang atau tidak mendapatkan cahaya dari LED, maka fototransistor akan OFF (cut-off) sehingga nilai Vo mendekati dengan Vcc. Akan tetapi, bila fototransistor tidak terhalang atau mendapatkan cahaya dari LED, maka fototransistor akan ON (saturasi) sehingga Vo mendekati nol (GND). Fungsi transistor sebagai saklar adalah untuk menyalakan LED sebagai indikator adanya cacahan jumlah curah hujan. Pada perancangan ini diinginkan ILed = 10 mA; VLed = 1,4 V karena berbahan B
B
B
B
silikon dan IC = 1 mA; VCE = 2,5 V, maka untuk mendapatkan nilai R2 dan R3 dapat B
B
B
B
B
dilakukan perhitungan dengan mengacu pada rumus 2.1.a dan 2.1.b: -Vcc + ILed. R3 + VLed = 0 ; rumus 2.1.a B
B
B
B
B
B
-Vcc + Ic. R4 + VCE = 0 B
R2 = B
B
R2 = B
B
B
B
B
Vcc - VLed ILed 5 - 1.4 10.10 − 3
= 360 Ω
; rumus 2.1.b R3 = B
B
R3 = B
B
Vcc - VCE IC 5 - 2,5 1.10 − 3
= 2.500 Ω
B
B
B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33 Dari hasil perhitungan nilai hambatan yang diperoleh adalah R2 = 360 Ω dan B
B
R3 = 2k5, namun nilai hambatan tersebut tidak terdapat dipasaran, sehingga pada B
B
prakteknya digunakan hambatan sebesar 330 Ω dan 2k2 Ω. Saat ada tegangan masukan ke basis transistor 0,7 > V > 12, maka ada arus yang melewati basis sehingga transistor ON dan membuat tegangan keluaran kolektor transistor rendah atau berlogika “0”. Saat tegangan masukan ke basis transistor di bawah 0,7 volt, maka tidak ada arus yang melewati basis sehingga transistor OFF dan membuat tegangan keluaran kolektor transistor tinggi atau berlogika “1”. Pada perancangan ini diinginkan IC = 0,6 mA; Vce(sat) = 6 V, maka Untuk B
B
B
B
menentukan nilai R5 dan R6 untuk rangkaian transistor sebagai saklar, mengacu pada B
B
B
B
rumus 2.2.a dan 2.2.b: R5 =
Vcc − Vce( sat ) Ic
; rumus 2.2.a
R6 =
Vcc − Vbe Ib
; rumus 2.2.b
R5 =
12V − 6V = 10 kΩ 0,6mA
; R6 =
B
B
B
B
B
B
B
B
12V − 0,7V = 28.250 Ω 0,4mA
Dari hasil perhitungan nilai hambatan yang diperoleh adalah R5 = 10 KΩ dan B
B
R6 = 28.250 Ω. Karena di pasaran tidak terdapat nilai R6 = 28.250Ω, maka dipilih nilai B
B
B
B
yang paling mendekati yaitu 27 kΩ. VCC=5V
VCC=5V
VCC=12V
D1 LED
R5 2k2 R3 330
R2 2k2 3 2
2N2222A 1
3 LED
R6 27k
1
R4 330
IRQ
PHOTO NPN
Gambar 3-4 Rancangan Sensor Optis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
3.1.3. Perancangan Antarmuka Mikrokontroler dengan DS1305 DS1305 merupakan perangkat keras yang memberikan informasi jam dan kalender, serta menyediakan memori sebesar 96 byte. Pada perancangan ini komunikasi antara mikrokontroler dengan DS1305 dilakukan dengan modul SPI yang dimiliki mikrokontroler. Modul SPI membutuhkan 3 kabel, 2 kabel (SDI/SDO) untuk jalur data dan 1 kabel untuk clock. Koneksi mikrokontroler dengan DS1305 ditunjukkan pada Gambar 3-5 [7]. Agar DS1305 dapat beroperasi harus dilakukan pengesetan secara hardware sebagai berikut: 1. Pin X1 dan X2 dihubungkan dengan kristal 32,768 kHz. 2. Pin Vbat dihubungkan dengan baterai 3 Volt (berbahan lithium) untuk catu daya cadangan, agar pada saat catu daya utama terputus sistem jam, kalender dan data pada memori tidak hilang. 3. Pin SDI dihubungkan dengan mikrokontroler pada pin PTB1/MOSI (Master Out Serial IN). Sedangkan SDO dihubungkan dengan mikrokontroler pada pin PTB2/MISO (Master IN Serial OUT). 4. Pin SCLK dihubungkan dengan mikrokontroler pin PTB0/SCK (Serial Clock). Pada saat pembacaan dan penulisan data, RTC memerlukan sinyal clock. Pin PTB0 mikrokontroler difungsikan untuk mengeluarkan sinyal clock yang diatur secara software. 5. Pin INT 0 dihubungkan dengan mikrokontroler pin PTA3/KBI3. Pin ini akan mengeluarkan logika rendah dan digunakan sebagai sumber interupsi keyboard. Resistor pullup dibutuhkan pada pin INT 0 , jika diharapkan arus yang dikonsumsi mikrokontroler pada setiap pin maksimal 0,15 mA pada VCC B
B
= 5 V, maka perhitungan Rpullup adalah :
R pullup =
Vcc 5V = = 33.000 Ω = 33 kΩ I 0,15 mA
6. Pin CE dihubungkan dengan mikrokontroler pin PTA1. Sinyal CE harus berada pada kondisi tinggi selama proses read/write. 7. Pin SERMODE dihubungkan dengan Vcc. Pin ini berfungsi untuk memilih komunikasi DS1305 dengan mikrokontroler. Komunikasi yang digunakan pada perancangan ini adalah SPI. 8. Dibutuhkan sebuah kapasitor bypass sebesar 100 nF untuk mengurangi noise dari sumber tegangan utama RTC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
1 Y 1 32,768 kHz
VCC2
4
9
X1
14 INT1 INT0
2
GND
SERMODE
3V - - -
PF SCLK SDO SDI
DS1305
3
X2
R1 33k
VCCIF
U2
VCC1
C3 100n
16
VCC = 5 V
VBAT
8 15 14 11 12
11 13 12 7 6
Pta3/kbi3/RST Ptb0/sck/AD4 Ptb1/mosi/AD5 Ptb2/miso/AD6 Pta1/tch1/AD1 MC68HC908QB8
10
8
BATTERY
CE
U1
15
Gambar 3-5 Rancangan Koneksi Mikrokontroler dengan DS1305
3.1.4. Perancangan Pengubah Level Tegangan TTL menjadi RS232 Pengubahan level tegangan TTL dari mikrokontroler MC68HC90QB8 menjadi tegangan dengan level RS232 menggunakan IC MAX232. Rancangan pengubah level tegangan TTL menjadi tegangan RS232 ini mengikuti konfigurasi dari datasheet MAX232. Input TTL pada MAX232 ada dua, yaitu T1IN dan T2IN. Pada B
B
B
B
perancangan dipilih T2IN sebagai input tegangan TTL dari mikrokontroler, yaitu data B
B
yang akan dikirim. Sedangkan output TTL pada MAX232 juga ada dua saluran, yaitu R1out dan R2out . Pada perancangan, dipilih R2out sebagai jalur data yang diterima oleh B
B
B
B
B
B
mikrokontroler. Sedangkan input dan output yang terhubung dengan port serial dihubungkan dengan pin T2out dan R2out. Ground rangkaian dengan ground pada B
B
B
B
bagian komputer dihubungkan, agar referensi tegangan antar kedua perangkat sama sehingga data dapat diterima dan dikirim dengan acuan yang sama. Gambar 3-6
C5 1uF C6 1uF
1 3 4 5 2 6 1uF C7
R1IN R2IN T1IN T2IN C+ C1C2+ C2V+ VMAX232
VCC
13 8 11 10
VCC = 5 V
R1OUT R2OUT T1OUT T2OUT
12 9 14 7
P1 1 6 2 7 3 8 4 9 5 CONNECTOR DB9
GND
PTB4/Tx
U3
15
C4 1uF
16
menunjukkan konfigurasi MAX232 dengan DB9 dan I/O Mikrokontroler [10].
PTB5/Rx
Gambar 3-6 Rancangan Pengubah tegangan Level TTL menjadi RS232
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36 Fungsi kapasitor pada rangkaian pengubah level tegangan TTL ke level tegangan RS232, yaitu sebagai kapasitor eksternal untuk voltage doubler. Masingmasing kapasitor digunakan sebagai berikut: 1. C5 + sebagai kapasitor “+” internal voltage doubler. B
B
2. C5 ─ sebagai kapasitor “-” internal voltage doubler. B
B
3. C6 + sebagai kapasitor “+” internal voltage doubler. B
B
4. C6 ─ sebagai kapasitor “-” internal voltage doubler. B
B
Nilai-nilai kapasitor yang digunakan sesuai dengan nilai-nilai yang tertera pada datasheet MAX232. Bila nilai C5 dan C6 dinaikkan, maka akan mengurangi nilai B
B
B
B
impedansi input rangkaian voltage doubler dan inverter. Bila nilai C4 dan C7 B
B
B
B
dinaikkan, maka akan mengurangi riak catu daya.
3.2.
Perancangan Perangkat Lunak Perancangan perangkat lunak dibagi menjadi dua bagian, yaitu perancangan
perangkat lunak mikrokontroler dan Visual Basic 6.0. Program yang dirancang terdiri atas program utama dan subrutin.
3.2.1. Perancangan Perangkat Lunak Mikrokontroler Perancangan perangkat lunak mikrokontroler dimulai dengan proses inisialisasi, misalnya alamat flash ROM, port I/O, RAM, interupsi keyboard, interupsi eksternal (IRQ), modul ESCI, modul SPI , modul ADC10 dan lain-lain. Setelah proses inisialisasi selesai, mikrokontroler sepenuhnya dikendalikan oleh sebuah rutin program utama yang berfungsi sebagai pengatur dari keseluruhan rutin, yang masingmasing rutin memiliki tugas untuk mengerjakan sesuatu. Selain rutin program utama juga terdapat rutin interupsi yang bisa dikerjakan secara mendadak oleh mikrokontroler bila terdapat sinyal interupsi dari interupsi eksternal, interupsi keyboard dan interupsi ESCI received. Pada awal eksekusi program, data yang diambil adalah data inisialisasi awal. Akan tetapi, masukan data baru kemudian akan mengubah isi register penyimpan data. Bila terjadi interupsi, maka program utama akan diberhentikan sesaat, hingga proses interupsi selesai dikerjakan. Sedangkan subrutin-subrutin pada program utama akan dikerjakan, ketika hanya dipanggil oleh program utama. Diagram alir umum program ditunjukkan pada gambar 3-7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 3-7 Rancangan Diagram Alir Program Utama Program utama berisi berisi sekumpulan instruksi yang akan terus berulang. Rancangan diagram alir subrutin program utama ditunjukkan pada gambar 3-8. Data masukan akan dikoreksi oleh interupsi keyboard sesuai dengan waktu yang telah diatur pada program utama. Program utama akan melakukan proses pengambilan dan pengolahan data, jika bit DoDetik telah bernilai satu. Ketika register detik telah mencapai 3 menit, maka DoDetik akan bernilai satu, mikrokontroler akan mengambil data suhu dari LM35 yang diterima melalui ADC10, serta data hujan dari interupsi eksternal (IRQ). Data tersebut kemudian akan diubah ke dalam format ASCII menggunkanakan sebuah rutin, sebelum dikirim ke PC. Mikrokontroler juga akan mengambil data waktu dari DS1305, kemudian hasil pembacaan data dari DS1305 tersebut, akan diubah dari format Pack BCD ke dalam format ASCII menggunakan sebuah subrutin. Mikrokontroler akan menyimpan hasil pengolahan data tersebut ke dalam RAM mikrokontroler dan data tersebut juga akan dikirimkan ke PC menggunakan komunikasi serial ECSI dari mikrokontroler. Kemudian program utama akan kembali mencacah register detik pada RAM mikrokontroler, bila register detik telah mencapai 60, maka register menit bertambah menjadi satu. Pada saat register menit telah mencapai 3 menit kemudian, maka mikrokontroler akan melakukan proses seperti yang telah dijelaskan di atas. Proses perhitungan waktu pada program utama terjadi saat terjadi interupsi keyboard. Interupsi keyboard mendapatkan sinyal interupsi setiap satu detik sekali dari DS1305 (pin INT 0 ), proses pengaktifan interupsi satu detik sekali pada DS1305 dilakukan secara software oleh mikrokontroler. Proses ini akan dijelaskan lebih lanjut dalam rancangan diagram alir interupsi keyboard.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Gambar 3-8 Rancangan Diagram Alir Subrutin Program Utama
3.2.1.1. Rancangan Diagram Alir Interupsi Keyboard (KBI) Subrutin interupsi keyboard mendapatkan sinyal masukan dari interupsi satu detik DS1305. Di dalam subrutin ini akan dilakukan proses pengambilan register baca detik, hal ini dilakukan untuk membuat pin INT 0 kembali menjadi level tinggi setelah memberikan interupsi satu detik sekali ke mikrokontroler. Fungsi dari subrutin ini untuk melakukan proses penghitungan waktu yang digunakan untuk mengambil data-data selama periode waktu tertentu yang dikehendaki. Pada saat menit mencapai tiga, maka subrutin program utama akan melakukan proses pengambilan data suhu dari ADC10, data curah hujan dan waktu suhu dari DS1305, kemudian data tersebut diubah menjadi format ASCII sebelum dikirimkan secara serial ke PC. Gambar perancangan diagram alir Interupsi Keyboard ditunjukkan pada gambar 3-9.
Gambar 3-9 Rancangan Diagram Alir Interupsi Keyboard
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
3.2.1.2. Rancangan Diagram Alir Interupsi Eksternal (IRQ) Subrutin interupsi eksternal berisi sekumpulan instruksi yang akan melakukan proses penghitungan jumlah curah hujan sebanyak 4 byte. Subrutin program ini dapat mencacah jumlah curah hujan dari 0 sampai 65535. Bila terjadi hujan, interupsi ini akan melakukan proses pengambilan waktu mulai hujan dan mengirimkannya kepada PC dalam format ASCII. Proses koreksi hujan berhenti akan dilakukan oleh subrutin cek hujan. Bila hujan berhenti mikrokontroler akan mengambil data jumlah curah hujan, serta mengambil waktu hujan berhenti dari DS1305. Gambar perancangan diagram alir interupsi eksternal ditunjukkan pada gambar 3-10.
Gambar 3-10 Rancangan Diagram Alir Interupsi Eksternal
3.2.1.3. Rancangan Diagram Alir Interupsi Penerimaan Data dari PC Subrutin program ini berperan saat mikrokontroler menerima data set waktu untuk DS1305. Subrutin ini akan aktif ketika mendapatkan data set waktu DS1305 dari PC. Data yang diterima dari PC kemudian diubah ke dalam format Pack BCD, sebelum dikirimkan secara serial (SPI) kepada DS1305. Pengesetan waktu pada DS1305 berfungsi untuk menyamakan waktu dan tanggal pada PC. Data akan diterima per-bit untuk setiap 1 byte data tanpa parity, ketika penerimaan data 1 byte telah selesai, maka SCRF (ESCI Receiver Full Bit) akan bernilai 1. Bila data 1 byte tersebut belum diterima, maka data berikutnya tidak bisa masuk ke dalam register SCDR. Gambar perancangan diagram alir interupsi penerimaan data dari PC ditunjukkan pada gambar 3-11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 3-11 Rancangan Diagram Alir Interupsi Penerimaan Data dari PC
3.2.1.4. Rancangan Diagram Alir Subrutin Pengiriman Data ke PC Subrutin program ini berperan saat mikrokontroler mengirim data ke PC. Data akan dikirim per-bit untuk setiap 1 byte data tanpa parity, ketika pengiriman data 1 byte telah selesai, maka TC (Transmission Complete) akan bernilai 1. Bila data 1 byte tersebut belum terkirim maka, data berikutnya tidak bisa masuk ke dalam register SCDR. Rancangan diagram alir subrutin pengiriman data ke PC ditunjukkan pada gambar 3-12.
Gambar 3-12 Rancangan Diagram Alir Subrutin Pengiriman Data ke PC
3.2.1.5. Rancangan Diagram Alir Subrutin Kirim/Ambil Data DS1305 Subrutin program ini berperan saat mikrokontroler mengirim dan mengambil data waktu dari DS1305. Subrutin ini diawali dengan mengaktifkan SPI dan Chip Enable, kemudian mikrokontroler akan mengambil alamat tulis atau baca dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41 mengirimkan alamat tersebut pada DS1305. Untuk pengesetan waktu awal, DS1305 mendapatkan data awal dari PC yang sudah kita atur dengan waktu setempat dan data dari PC tersebut. Kemudian data tersebut dikirimkan ke mikrokontroler secara serial (ESCI). Di dalam mikrokontroler data tersebut diubah menjadi data pack BCD dan dikirimkan ke register tulis DS1305. Mikrokontroler akan mengambil data waktu dan tanggal pada saat 3 menit, mulai hujan dan hujan berhenti. Data waktu dan tanggal tersebut akan disimpan di dalam RAM dan diubah ke dalam format ASCII sebelum dikirimkan ke PC untuk ditampilkan pada form utama. Rancangan diagram alir subrutin kirim/ambil data dari RTC ditunjukkan pada diagram alir gambar 3-13.
(a)
(b)
Gambar 3-13 Rancangan Diagram Alir Subrutin DS1305: (a) Kirim ; (b) Ambil
3.2.1.6. Rancangan Diagram Alir Subrutin ADC10 Subrutin program ini berperan saat mikrokontroler melakukan proses pengambilan data suhu udara. Apabila COCO (Conversion Complete) belum bernilai satu, maka proses konversi data analog ke digital belum selesai. Gambar rancangan diagram alir subrutin ADC10 ditunjukkan pada gambar 3-14.
Gambar 3-14 Rancangan Diagram Alir Subrutin ADC10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
3.2.2. Perancangan Perangkat Lunak Visual Basic 6.0 Pemrograman obyek pada Visual Basic 6.0., yaitu berupa tampilan suhu udara, curah hujan, waktu, tanggal, serta setting waktu dan tanggal untuk RTC. Program akan melakukan inisialisasi kontrol, sesaat setelah program dieksekusi, seperti inisialisasi penggunaan kecepatan baud rate. Setelah dilakukan inisialisasi, program akan menampilkan suhu udara, tingkat curah hujan dan waktu. Form utama berfungsi untuk menampilkan suhu udara, tingkat curah hujan dan waktu. Gambar 3-15 menunjukkan rancangan tampilan form utama.
Gambar 3-15 Rancangan Tampilan Form Utama Perancangan diagram alir form utama dimulai dengan proses inisialisasi, setelah proses inisialisasi selesai dilakukan pengaturan COM yang akan dipakai dan pengaturan kecepatan komunikasi data (baud rate). Baud rate antara PC dengan mikrokontroler harus sinkron (sama), bila telah sinkron maka form utama akan ditampilkan. Program utam akan menunggu data yang masuk secara serial, tomboltombol yang terdapat pada rancangan tampilan form utama. Bila Data serial masuk, byte pertama data serial tersebut akan diperiksa oleh sebuah rutin dan bila sesuai dengan simbol yang telah diatur, maka pada form utama akan menampilkan data-data yang masuk. Tombol pengesetan waktu DS1305, digunakan pada saat mengeset waktu DS1305. Data-data waktu pengesetan, dicuplik dari waktu PC yang digunakan untuk menjalankan program ini. Tombol tampilkan tabel hujan dan tampilkan tabel suhu, digunakan untuk melihat data jumlah curah hujan dan suhu udara selengkapnya. Form utama hanya akan menampilkan data yang terbaru dari mikrokontroler, bila ada data baru yang datang, maka data-data yang tertampil pada form utama akan digantikan dengan data yang terbaru tersebut. Rancangan diagram alir form utama ditunjukkan pada gambar 3-16.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Gambar 3-16 Rancangan Diagram Alir Form Utama
3.2.2.1. Perancangan Database Database digunakan sebagai media yang akan menyimpan data-data stasiun cuaca mini. Database dirancang dengan dua tabel, yaitu tabel hujan dan tabel suhu. Penggunaan dua tabel bertujuan untuk memisahkan data curah hujan dan data suhu udara. Data-data curah hujan dan suhu udara akan direkam pada field-nya masingmasing, sesuai dengan nama field pada rancangan tabel database. Rancangan tabel database tampak pada tabel 3-1 dan tabel 3-2. Rancangan diagram alir database ditunjukkan oleh gambar 3-17.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Gambar 3-17 Rancangan Diagram Alir Database Tabel 3-1 Perancangan Tabel Curah Hujan Start Rain
Start Rain
Stop Rain
Stop Rain
Rainfall Result
(Date)
(Time)
(Date)
(Time)
(mm)
Data tanggal
Data waktu
Data tanggal
Data waktu
Data Hujan
Tabel 3-2 Perancangan Tabel Suhu Udara Temperature (Date)
Temperature (Time)
Air Temperature Measuring (Celcius)
Data tanggal
Data waktu
Data suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV HASIL DAN PEMBAHASAN Bab ini membahas perihal pengamatan Stasiun Cuaca Mini dengan mikrokontroler MC68HC908QB8 dan program Visual Basic. Pengujian dan pengamatan dilakukan dengan menggunakan gelas ukur dengan nama Fur Regenmesser mit 200 cm2 Auffangflache DIN 58667B untuk curah hujan dan P
P
Termometer untuk suhu udara, sebagai pembanding keluaran LM35. Setelah seluruh komponen terpasang, jalur-jalur komponen sudah terhubung, program untuk mikrokontroler selesai di-download dan program Visual Basic telah diaktifkan, langkah selanjutnya adalah melakukan uji coba terhadap alat dan pengkalibrasian alat. Dari perakitan perangkat keras dan pemrograman perangkat lunak telah dihasilkan suatu peralatan yang berfungsi untuk memberikan informasi cuaca, dalam hal ini suhu udara dan tingkat curah hujan, seperti ditunjukkan pada gambar 4-1 dan 4-2. Corong Masukan
Gambar 4-1 Tampilan Luar Perangkat Keras Stasiun Cuaca Mini 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46
Pipa Masukan
Rangkain Stasiun Cuaca Mini
Rangkaian Supply B
Rangkaian Sensor Optis
Wadah Penampung
A
Lubang Pembuangan
Pengatur (Baut) Wadah Penampung
Gambar 4-2 Tampilan Dalam Perangkat Keras Stasiun Cuaca Mini Pada saat alat dinyalakan LED indikator mikrokontroler akan menyala terus sampai setting waktu dan tanggal DS1305 dikirimkan dari PC. Setelah mikrokontroler mengatur waktu dan tanggal DS1305, LED indikator mikrokontroler akan menyala dan padam setiap satu detik. DS1305 menghasilkan sinyal interupsi setiap satu detik dari pin INT 0 . Sinyal interupsi ini berfungsi untuk menghitung proses waktu pengambilan data suhu udara, curah hujan, waktu dan tanggal. Pada saat mikrokontroler mendapatkan sinyal interupsi satu detik dari DS1305, mikrokontroler akan mengambil isi register second alarm. Proses ini berfungsi agar interupsi satu detik DS1305 kembali menjadi high. Berikut Tabel 4-1 menunjukkan hasil pengamatan interupsi satu detik. Tabel 4-1 Pengamatan Interupsi Satu Detik DS1305 Detik ke-n
LED Indikator
Detik ke-n
LED Indikator
1
Menyala
8
Menyala
2
Padam
9
Padam
3
Menyala
10
Menyala
4
Padam
11
Padam
5
Menyala
12
Menyala
6
Padam
...
...
7
Menyala
n
...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47
4.1.
Pengamatan dan Pembahasan Data Curah Hujan Pengamatan data hujan bertujuan untuk mengamati hasil kalibrasi wadah
penampung yang telah dirancang (sebesar 1mm curah hujan, dengan mengatur baut wadah penampung), sensor optis (optocoupler) sebagai sensor pendeteksi wadah penampung yang berayun dan pengujian hujan dengan cara memasukkan air ke dalam corong masukan sesuai dengan jumlah air yang telah diatur dengan gelas ukur. Hasil pengujian kalibrasi wadah penampung ditunjukkan pada gambar 4-3 dan tabel 4-2.
Baut Wadah Penampung
Gambar 4-3 Pengujian Wadah Penampung Tabel 4-2 Pengujian Wadah Penampung Jumlah Air (mm)
Kenaikan 0,2 mm
Kondisi Wadah Penampung A
B
0,2
Kosong→Posisi 4
Terisi air→ Posisi 1
0,4
Kosong→Posisi 4
Terisi air→ Posisi 1
0,6
Kosong→Posisi 4
Terisi air→ Posisi 1
0,8
Kosong→Posisi 4
Terisi air→ Posisi 1
Kosong→ Naik ke Posisi 3
Kosong→ Turun ke Posisi 2
1,2
Terisi air→ Posisi 3
Kosong→ Posisi 2
1,4
Terisi air→ Posisi 3
Kosong→ Posisi 2
1,6
Terisi air→ Posisi 3
Kosong→ Posisi 2
1,8
Terisi air→ Posisi 3
Kosong→ Posisi 2
1
2
Kosong→ Turun ke Posisi 4 Kosong→ Naik ke Posisi 1
Berdasarkan hasil tabel 4-2, untuk kenaikan jumlah air dari 0,2→0,8 mm, wadah penampung B akan terisi air dan Naik. Kemudian dengan penambahan air sebanyak 0,2 mm, wadah penampung B yang telah terisi air sebanyak 0,8 mm akan turun dan wadah penampung A yang kosong akan naik. Pada saat penambahan air
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48 telah mencapai 2 mm, wadah penampung A yang terisi air akan turun dan kosong. Sedangkan wadah penampung B akan kosong dan naik. Hal ini membuktikan bahwa wadah penampung akan turun, jika telah mencapai 1 mm. Pada saat kedudukan wadah penampung berpindah, maka sensor optis akan terhalang. Sensor optis akan berlogika tinggi pada kondisi terhalang dan akan berlogika rendah pada kondisi tidak terhalang. Proses terhalangnya sensor optis akan digunakan sebagai penghitung jumlah cacah yang terjadi. Dari hasil tabel 4-3, tegangan keluaran sensor akan menjadi masukan bagi pin IRQ mikrokontroler. Pada saat sensor optis pada kondisi terhalang menjadi tidak terhalang, akan menghasilkan sebuah sinyal kotak (4,64V→0,33V) dan interupsi IRQ akan aktif pada tepian turun. Tabel 4-3 Pengamatan Sensor Optis Kondisi
Vout (Sensor Optis)
LED Indikator
Terhalang
4,64 Volt
Menyala
Tidak Terhalang
0,33 Volt
Padam
Secara simulasi proses pengambilan jumlah curah hujan dilakukan beberapa kali, dengan jumlah air yang berbeda. Tabel 4-4 menunjukkan hasil pengamatan data hujan sebanyak 15 percobaan. Tabel 4-4 Pengamatan Data Curah Hujan Percobaan ke-n
1
2
3 4
Jumlah Curah Hujan (mm) Gelas Ukur (GU)
Visual Basic (VB)
2,4
2
2,4
2
2,4
2
5
5
5
5
5
5
7,6
7
7,6
7
7,6
7
10
10
10
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49
5
10
10
15,8
15
15,8
15
15,8
15
Berdasarkan tabel pengamatan data curah hujan, pada kondisi jumlah air yang terukur pada gelas ukur sebesar 2,4 mm, 7,6 mm dan 15.8 mm, jumlah curah hujan yang terukur adalah 2 mm, 7 mm dan 15 mm. Hasil percobaan ini telah sesuai dengan dasar teori pencatat hujan tipping-bucket. Sisa air yang tidak terukur tidak akan hilang dan akan terukur kembali pada saat terjadi hujan kembali.
4.2.
Pengamatan dan Pembahasan Data Suhu Udara Proses pengambilan data suhu udara dilakukan beberapa kali dengan waktu
yang berbeda. Berikut Tabel 4-5 menunjukkan beberapa sampel hasil pengamatan data suhu menggunakan termometer dan perangkat lunak Visual Basic. Prosentase galat suhu udara dihitung berdasarkan termometer sebagai acuan. Sebagai contoh perhitungan, untuk data Termometer (T) = 29.5 oC dan Visual Basic P
P
(VB) = 30 oC dapat diperoleh nilai prosentase galat suhu udara dengan perhitungan P
P
seperti di bawah ini. % galat suhu udara =
VB − T 30 − 29,5 × 100% = × 100% = 1.695% ≅ 1.7% T 29,5
Tabel 4-5 Pengamatan Data Suhu Udara Waktu Suhu Udara
Suhu Udara (oC) P
P
Galat (%)
Visual Basic (VB)
Termometer (T)
11-09-2007 / 13:28
30
29,5
1,7
11-09-2007 / 13:31
30
29,5
1,7
11-09-2007 / 17:01
29
28,5
1,7
11-09-2007 / 17:22
28
27,5
1,7
11-09-2007 / 21:47
27
27
0
11-09-2007 / 21:53
26
26
0
11-09-2007 / 21:56
26
26
0
12-09-2007 / 00:54
26
26
0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50 12-09-2007 / 00:57
26
25,5
1,7
12-09-2007 / 01:00
25
25
0
Berdasarkan tabel pengamatan data suhu udara terlihat bahwa rata-rata galat dari hasil percobaan sebesar 0,85%. Hal ini diakibatkan oleh systematic error dan
human error yang disebabkan oleh kekurangan pada ADC internal, dan kesalahan pembacaan pada skala termometer. ADC internal memiliki kesalahan maksimal sebesar 1 bit dan pada Visual Basic hasil yang diperoleh berupa data integer.
4.3.
Pembahasan Progam Mikrokontroler Pada saat terjadi hujan mikrokontroler akan mengambil data waktu dan
tanggal dari DS1305. Data waktu dan tanggal dari DS1305 masih berupa data pack BCD, data pack BCD tersebut kemudian dikonversi menjadi ASCII menggunkan sebuah rutin sebelum dikirimkan secara serial ke PC. Mikrokontroler mendeteksi terjadinya hujan, ketika mendapatkan sinyal interupsi yang dihasilkan dari keluaran sensor optis (optocoupler). Proses terhalangnya sensor optis akan menjadi counter untuk menghitung jumlah curah hujan yang terjadi. Dalam satu menit mikrokontroler akan mengecek register RainL, apakah
register RainL sama dengan register RainTemp. Bila register RainTemp tidak sama dengan RainL, maka isi dari register RainL akan dipindahkan ke register RainTemp. Sedangkan bila isi register RainL sama dengan isi register RainTemp, mikrokontroler akan mengambil isi register RainL dan mengkonversikannya menjadi ASCII. Kemudian dikirimkan secara serial bersama data waktu selesai hujan ke PC. Pada saat register menit telah mencapai tiga, mikrokontroler akan mengambil data LM35 dari register ADRL, waktu suhu udara dan curah hujan. Keluaran LM35 merupakan sinyal analog, sinyal tersebut kemudian diubah menjadi sinyal digital menggunakan ADC internal yang tersedia pada mikrokontroler. Data digital tersebut kemudian dikonversikan menjadi ASCII menggunakan sebuah subrutin sebelum dikirimkan ke PC. Data waktu dari DS1305 masih berupa pack BCD, data tersebut kemudian dikonversikan menjadi ASCII Pin PTB0/SCK difungsikan sebagai clock komunikasi serial dengan DS1305. Pin PTB1/MOSI difungsikan sebagai data keluaran mikrokontroler dari DS1305.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51 Sedangkan pin PTB2/MISO difungsikan sebagai data masukan mikrokontroler dari DS1305 dan pin PTA1 difungsikan sebagai CE bagi DS1305. Pada proses penulisan data ke DS1305, pin PTA1 akan high sampai proses pengiriman data selesai dan mikrokontroler mengirimkan alamat tulis register waktu/tanggal dan data waktu/tanggal selama pin PTA1 high. Pada proses pembacaan
register data waktu/tanggal DS1305, mikrokontroler mengirimkan alamat baca register waktu/tanggal dan dummy selama pin PTA1 high. Pengiriman dummy, digunakan untuk mengeluarkan data yang akan dibaca dari register menit/tanggal. Pin PTB5/Tx dan PTB4/Rx difungsikan sebagai port komunikasi serial dengan komputer. Data hasil pengolahan mikrokontroler akan dikirim bit per-bit melalui pin PTB5. Sebaliknya data hasil pengolahan PC akan diterima oleh mikrokontroler secara bit per-bit, melalui pin PTB4. IC MAX232 difungsikan sebagai rangkaian yang menjembatani logika TTL dan RS232.
4.4.
Pengamatan dan Pembahasan Program Visual Basic Pengamatan kerja program Visual Basic terdiri dari enam bagian. Bagian-
bagian tersebut berupa pengamatan proses kerja program pada masing-masing form, yang memiliki fungsi yang berbeda dan pengamatan pada database.
4.4.1. Pengamatan dan Pembahasan Form Progress Ketika program pertama kali diaktifkan, maka form progress akan muncul.
Form ini sebagai identitas program yang menunjukkan nama program dan pembuat program. Penggunaan progresbar pada form ini menunjukkan proses loading pada program “MWS”. Form ini akan muncul selama 5 detik, kemudian form progress akan tertutup dan form SetRTCTime akan terbuka. Ganbar 4-4 adalah tampilan form
progress untuk program “MWS”.
Gambar 4-4 Tampilan Form Progress “MWS”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52
4.4.2. Pengamatan dan Pembahasan Form SetRTCTime Form SetRTCTime terdiri dari 2 buah tombol yang memiliki fungsi berbeda. Tombol OK berfungsi untuk mengeset waktu DS1305, sedangkan tombol Exit berfungsi untuk keluar dari program. Waktu pengesetan DS1305 diambil dari waktu PC dengan current time zone: SE Asia Standar Time. Pada bagian ini program akan mencuplik waktu pada saat tombol OK ditekan dan mengirimkannya ke mikrokontroler secara serial, kemudian form Set RTCTime akan tertutup dan form kirim data akan muncul. Apabila tombol Exit ditekan, maka program “MWS” akan berhenti. Gambar 4-5 adalah tampilan form SetRTCTime untuk program “MWS”.
Gambar 4-5 Tampilan Form SetRTCTime “MWS”
4.4.3. Pengamatan dan Pembahasan Form KirimData Form KirimData berfungsi untuk menunjukkan proses pengiriman data waktu, untuk mengeset DS1305. Form KirimData akan muncul selama 5 detik, kemudian
form ini akan tertutup dan form menu akan terbuka. Gambar 4-6 adalah tampilan form KirimData untuk program “MWS”.
Gambar 4-6 Tampilan Form KirimData “MWS”
4.4.4. Pengamatan dan Pembahasan Form Menu Tampilan form menu ditunjukkan oleh gambar 4-7. Pada form ini pengguna dapat melihat waktu mulai hujan, waktu berhenti hujan, jumlah hujan, waktu suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53 udara dan besarnya suhu udara. Pada saat terjadi hujan, maka waktu mulai hujan dan simbol hujan (berupa bola berjalan) akan ditampilkan pada form ini, proses ini ditunjukkan oleh gambar 4-8. Bila selama 3 menit hujan belum berhenti, maka simbol hujan akan tetap ditampilkan dan jumlah hujan yang sudah terukur selama 3 menit tersebut akan ditampilkan.
Gambar 4-7 Tampilan Form Menu “MWS”
Gambar 4-8 Tampilan Form Menu Saat Hujan “MWS” Pada saat hujan berhenti, maka waktu berhenti hujan dan jumlah curah hujan keseluruhan akan ditampilkan, sedangkan simbol hujan akan tidak ditampilkan. Proses ini ditunjukkan oleh gambar 4-9. Apabila dalam waktu tiga menit tidak terjadi hujan lagi, maka data hujan sebelumnya akan dihapus dari form utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54
Gambar 4-9 Tampilan Form Menu Selesai Hujan “MWS” Setiap 3 menit mikrokontroler akan mengirimkan data suhu, waktu suhu dan besarnya jumlah curah hujan. Bila jumlah curah hujan sama dengan nol, maka data jumlah hujan tidak akan ditampilkan pada form utama. Sedangkan besarnya suhu udara dan waktu suhu akan ditampilkan pada form utama. Data-data waktu mulai hujan, waktu berhenti hujan, jumlah curah hujan, waktu suhu udara dan besar suhu udara akan disimpan pada tabel suhu dan tabel hujan yang akan dijelaskan pada bagian database. Pada saat tombol exit ditekan maka form menu akan tertutup dan
form EndProgram akan muncul.
4.4.5. Pengamatan dan Pembahasan Form EndProgram Form EndProgram terdiri atas 2 tombol yang memiliki fingsi yang berbeda. Pada saat tombol OK ditekan maka program “MWS” akan berhenti. Sedangkan bila tombol Menu ditekan maka form EndProgram akan tertutup dan Form menu akan muncul kembali. Gambar 4-10 adalah tampilan form EndProgram untuk program “MWS”.
Gambar 4-10 Tampilan Form EndProgram “MWS”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55
4.4.6. Pengamatan dan Pembahasan Database Database jumlah curah hujan dan suhu udara dibuat menggunakan Microsoft Access Versi 2000, dengan perintah SQL. Seluruh field pada tabel curah hujan dan suhu udara bertipe text untuk memudahkan pengaksesannya. Database diberi nama MWS.mdb dan tabelnya diberi nama Rainfall dan AirTemperature. Tabel Rainfall memiliki field yang bernama Start Rain (Date), Start Rain (Time), Stop Rain (Date),
Stop Rain (Time) dan Rainfall Result (mm). Sedangkan tebel AitTemperature memiliki field yang bernama Temperature (Date), Temperature (Time) dan Air
Temeperature Measuring (Celcius). Data-data jumlah hujan, suhu udara dan waktu akan disimpan pada directory C:\Documents and Settings\Database\MWS.mdb. Pada saat data hujan atau suhu udara diterima pada form utama, maka database akan terkoneksi dengan database bernama MWS. Pada bagian ini bila data suhu yang masuk maka program akan mencari tabel dengan nama AirTemperature, sedangkan bila jumlah curah hujan yang masuk maka program akan mencari tabel dengan nama Rainfall. Data-data tersebut akan diisikan pada setiap field-nya masing-masing. Misalnya RainTemp1 berisi data tanggal mulai hujan diisikan ke field bernama Start Rain (Date), RainTemp2 berisi data waktu mulai hujan diisikan ke field bernama Start Rain (Time), dan seterusnya. Tabel database yang sudah berisi contoh data tampak pada gambar 4-11 .
Gambar 4-11 Tabel Database
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB V KESIMPULAN DAN SARAN 5.1.
Kesimpulan Setelah dilakukan pendesainan, pemrograman, pembuatan dan pengujian
“Stasiun Cuaca Mini Berbasis Mikrokontroler MC68HC908QB8”, dapat diambil kesimpulan sebagai berikut: 1. Mikrokontroler sebagai pengumpul data bekerja dengan baik, terbukti dengan proses pengiriman data waktu mulai hujan, waktu selesai hujan, jumlah curah hujan, waktu suhu udara dan suhu udara, dapat ditampilkan pada PC menggunakan perangkat lunak Visual Basic dan direkam pada PC menggunakan perangkat lunak Microsoft Access. 2. Tingkat ketelitian curah hujan sebesar 1 mm. 3. Rata-rata prosentase galat hasil pengukuran suhu udara sebesar 0,85%. 4. Program stasiun cuaca mini pada Visual Basic, dapat menampilkan dan merekam data-data waktu, curah hujan dan suhu udara dengan baik.
5.2.
Saran Penulis menyadari masih terdapat banyak kekurangan dan kelemahan. Berikut
ini saran penulis untuk pengembangan dari hasil penelitian ini: 1. Proses pengiriman data dapat dilakukan dengan sistem telemetri, hal ini memudahkan untuk melakukan pengiriman data jarak jauh. 2. Agar data dapat direkam selain di PC, diperlukan sebuah perangkat eksternal sebagai media penyimpanan, misalnya EEPROM. Hal ini bermanfaat, apabila terjadi proses kesalhan dalam pengiriman, data-data masih tetap tersimpan. 3. Agar menjadi sitem stasiun cuaca yang besar, perlu adanya penambahan beberapa sensor, seperti kelembaban udara, arah angin, kecepatan angin dan lain-lain.
56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Daftar Pustaka
[1]
FMIPA-ITB,
2006,
KK
Astronomi
Menyimak
Astronomi
Indonesia,
www.fmipa.itb.ac.id/wp-content/uploads/2006/04/KK_Astronomib2.pdf, tanggal akses 30 Januari 2007. [2]
Arief Chandra Setiawan, 2003, Otomatisasi Stasiun Cuaca Untuk Menunjang Kegiatan Pertanian, tumoutou.net/702_07134/arief_c_setiawan.htm, tanggal akses 3 Februari 2007.
[3]
Meteorological office: Observer’s Handbook, London, Her Majesty’s Stationery Office, 1969.
[4]
Buku Pegangan Mahasiswa: Praktikum Teknik Kendali Dasar, Yogyakarta, Universitas Sanata Dharma, 2003.
[5]
A. P. Malvino, Electronic Principles Second Edition, USA, McGraw-Hill. Inc., 1996.
[6]
1994, Nasional Semiconductor: LM35 Precision Centigrade Temperature Sensors, www.ortodoxism.ro/datasheets/nationalsemiconductor/DS005516.PDF, tanggal akses 25 Maret 2007.
[7]
06/12/02, Dalas Semiconductor: DS1305 Serial Alarm Real-Time Clock, www.ortodoxism.ro/datasheets/maxim/DS1305.PDF, tanggal akses 18 Maret 2007.
[8]
Pengontrol Alat Berbasis Port Serial, kontrolserial.html, tanggal akses 7 Maret 2007.
[9]
Percobaan 1: Perakitan Kabel Null Modem DB9, DB25, RJ45, tanggal akses 7 Maret 2007.
[10] Prasetia Retna, Edi Wibowo C., Interfacing Port Paralel dan Port Serial Komputer dengan Visual Basic 6.0, Yogyakarta, Andi, 2004. [11] Wuri Harini B., Sutyasadi Petrus, Diktat Kuliah: Pemrograman Orientasi Obyek, Yogyakarta, Universitas Sanata Dharma, 2001. [12] Rev
1.0,
6/3/2005,
M68HC08
Microcontrollers:
MC68HC908QB8,
http://www.datasheetcatalog.com/datasheets_pdf/M/C/6/8/MC68HC908QB8.sht ml, tanggal akses 25 Januari 2007.
57
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L1
LAMPIRAN RANGKAIAN LENGKAP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
RANGKAIAN STASIUN CUACA MINI BERBASIS MIKROKONTROLER MC68HC908QB8
2
SCLK SDO SDI INT1 INT0
SERMODE VBAT
BATTERY
CE
15
13 8 11 10
11 13 12 7 6
1 3 4 5 2 6
C5 1uF
10 C6 1uF
R1IN R2IN T1IN T2IN C+ C1C2+ C2V+ VMAX232
8
1uF C7
C1
4u7
R4 330
VCC = 5 V
P1
16 VCC
U3
CONNECTOR DB9
VCC = 5 V U4
R8 330
1 4 5 2 3 6 7 9
VS+ VOUT
R3 330
MC68HC908QB8 VDD VSS Pta0/tch0/AD0 Pta5/ad3/osc1 Pta1/tch1/AD1 Pta4/ad2/osc2 Ptb7/tch3 Ptb3/ss/AD7 Ptb6/tch2 Ptb2/miso/AD6 Ptb1/mosi/AD5 Ptb5/ad9/Tx Ptb0/sck/AD4 Ptb4/ad8/Rx Pta2/kbi2/IRQ Pta3/kbi3/RST
LM35 16 13 12 10 11 14 15 8
Q1 3 2N2222A 1 U5
+
6
-
LM741 5 4
D2 LED
R2 2k2
3 2
2
2
R6 150
R7 150
3
R6 27k OPTOCOUPLER
Tes1
R5 2k2
U1
1 7
1
1
100n D1 LED
J4
12 9 14 7
R1OUT R2OUT T1OUT T2OUT
VCC = 12 V C2
1 6 2 7 3 8 4 9 5
GND
3V - - -
PF
C4 1uF
GND
9
X1
R1 33k
15
3
X2
DS1305
4
VCC2
GND
1 Y 1 32,768 kHz
VCCIF
U2
VCC1
C3 100n
14
VCC = 5 V
16
VCC = 5 V
C8 1uF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L2
LAMPIRAN SPESIFIKASI ALAT DAN DIMENSI ALAT
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SPESIFIKASI ALAT Curah Hujan
: 0 ─ 65.535 mm (satu kali hujan).
Sensor Curah Hujan : Model Tipping-Bucket (Luas Corong Masukan 200 cm2). Pendeteksi Tipping-Bucket menggunakan Optocoupler. Resolusi Tipping-Bucket 1 mm. Sensor Suhu Udara
: LM35. Jangkauan maksimal suhu antara -55 oC sampai +150 oC.
Kontrol
: Motorola (Freescale Semiconductor) MC68HC908QB8
RTC
: MAXIM (DALLAS Semiconductor) DS1305
Komunikasi
: RS232 (Port DB9, COM1, Baudrate 9600 Bit/sec)
DIMENSI ALAT Tipping-Bucket Tampak Depan
Tipping-Bucket Tampak Samping Kiri/Kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tipping-Bucket Tampak Atas
Corong Masukan Tampak Atas
Corong Masukan Tampak Samping
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L3
LAMPIRAN DATA TABEL CURAH HUJAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel Data Pengamatan Jumlah Curah Hujan Rainfall Start Rain (Date) 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 19-09-2007 19-09-2007 19-09-2007 19-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007
Start Rain (Time) 10:30 10:44 10:46 11:01 11:07 11:16 11:18 11:22 11:24 12:10 12:12 12:17 12:23 12:39 13:57 10:06 10:31 11:23 11:26 00:18 00:23 00:34 00:40 00:46 01:04 01:24 01:47 01:52 09:23 09:26 09:43 09:57 10:04 10:12 16:50 22:36 22:53 23:03 23:08 23:11 23:17 23:23 23:37
Stop Rain (Date) 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 19-09-2007 19-09-2007 19-09-2007 19-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007 12-09-2007
Stop Rain (Time) 10:32 10:46 10:49 11:03 11:08 11:18 11:20 11:23 11:25 12:12 12:14 12:19 12:25 12:45 13:59 10:08 10:36 11:24 11:28 00:20 00:25 00:36 00:43 00:49 01:08 01:29 01:51 01:55 09:25 09:31 09:47 10:04 10:11 10:19 16:52 22:38 22:54 23:05 23:09 23:13 23:18 23:25 23:39
Rainfall Result (mm) 28 137 72 31 23 24 53 1 47 4 9 11 16 29 5 5 71 5 3 5 5 5 10 10 10 15 15 15 20 20 20 25 25 25 5 2 2 2 7 7 7 3 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Rainfall Start Rain (Date) 13-09-2007 13-09-2007 14-09-2007 15-09-2007 15-09-2007 15-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007
Start Rain (Time) 10:10 20:57 09:32 08:38 17:36 17:38 09:23 09:27 09:29 09:31 09:35
Stop Rain (Date) 13-09-2007 13-09-2007 14-09-2007 15-09-2007 15-09-2007 15-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007 18-09-2007
Stop Rain (Time) 10:12 20:59 09:34 08:40 17:38 17:40 09:25 09:29 09:31 09:33 09:37
Rainfall Result (mm) 18 10 1 31 6 5 16 43 12 51 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L4
LAMPIRAN DATA TABEL SUHU UDARA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel Data Pengamatan Suhu Udara AirTemperature Temperature (Date) Temperature (Time) 11-09-2007 13:28 11-09-2007 13:31 11-09-2007 14:25 11-09-2007 14:28 11-09-2007 14:31 11-09-2007 14:34 11-09-2007 14:37 11-09-2007 14:40 11-09-2007 14:43 11-09-2007 14:46 11-09-2007 14:49 11-09-2007 14:52 11-09-2007 14:55 11-09-2007 14:58 11-09-2007 15:01 11-09-2007 15:04 11-09-2007 15:07 11-09-2007 15:10 11-09-2007 15:13 11-09-2007 15:16 11-09-2007 15:19 11-09-2007 15:22 11-09-2007 15:25 11-09-2007 15:28 11-09-2007 15:31 11-09-2007 15:34 11-09-2007 15:37 11-09-2007 15:40 11-09-2007 15:43 11-09-2007 15:46 11-09-2007 15:49 11-09-2007 15:52 11-09-2007 15:55 11-09-2007 15:58 11-09-2007 16:01 11-09-2007 16:04 11-09-2007 16:07 11-09-2007 16:10 11-09-2007 16:13 11-09-2007 16:16 11-09-2007 16:19 11-09-2007 16:22 11-09-2007 16:25 11-09-2007 16:28
Air Temperature Measuring (Celcius) 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
AirTemperature Temperature (Date) Temperature (Time) 11-09-2007 16:31 11-09-2007 16:34 11-09-2007 16:37 11-09-2007 16:40 11-09-2007 16:43 11-09-2007 16:46 11-09-2007 16:49 11-09-2007 16:52 11-09-2007 16:55 11-09-2007 16:58 11-09-2007 17:01 11-09-2007 17:04 11-09-2007 17:07 11-09-2007 17:10 11-09-2007 17:13 11-09-2007 17:16 11-09-2007 17:19 11-09-2007 17:22 11-09-2007 17:38 11-09-2007 21:44 11-09-2007 21:47 11-09-2007 21:53 11-09-2007 21:56 11-09-2007 21:59 11-09-2007 22:02 12-09-2007 00:18 12-09-2007 00:21 12-09-2007 00:24 12-09-2007 00:27 12-09-2007 00:30 12-09-2007 00:33 12-09-2007 00:39 12-09-2007 00:42 12-09-2007 00:45 12-09-2007 00:48 12-09-2007 00:51 12-09-2007 00:54 12-09-2007 00:57 12-09-2007 01:00 12-09-2007 01:03 12-09-2007 01:06 12-09-2007 01:09 12-09-2007 01:12 12-09-2007 01:15 12-09-2007 01:18
Air Temperature Measuring (Celcius) 30 30 30 30 29 30 30 30 30 30 29 29 29 29 29 29 29 28 29 26 27 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 25 25 26 26 26 26 26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
AirTemperature Temperature (Date) Temperature (Time) 12-09-2007 01:21 12-09-2007 01:24 12-09-2007 01:27 12-09-2007 01:30 12-09-2007 01:33 12-09-2007 01:36 12-09-2007 01:39 12-09-2007 01:45 12-09-2007 01:48 12-09-2007 01:54 12-09-2007 02:00 12-09-2007 02:03 12-09-2007 09:17 12-09-2007 09:20 12-09-2007 09:26 12-09-2007 09:29 12-09-2007 09:32 12-09-2007 09:35 12-09-2007 09:38 12-09-2007 09:41 12-09-2007 09:44 12-09-2007 09:50 12-09-2007 09:53 12-09-2007 09:56 12-09-2007 09:59 12-09-2007 10:02 12-09-2007 10:05 12-09-2007 10:08 12-09-2007 10:14 12-09-2007 10:17
Air Temperature Measuring (Celcius) 26 26 26 26 26 26 25 26 26 26 26 27 26 27 28 28 28 28 28 28 28 28 28 28 28 29 28 28 28 28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L5
LAMPIRAN LISTING PROGRAM MIKROKONTROLER
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM MIKROKONTROLER STASIUN CUACA MINI 1;******************************************************************; 2; Program of MC68HC908QB8 Microcontroller ; 3; MINI WEATHER STATION ; 4;------------------------------------------------------------------; 5;Specifications: ; 6; 1. Setiap 3 menit akan mengambil Data Suhu, waktu dan hujan ; 7; 2. Apabila ada hujan akan mengirim waktu mulai hujan ; 8; 3. Bila hujan berhenti akan mengirim data hujan dan waktuhujan; 9; 4. Semua hasilnya akan dikirim secara serial ke PC ; 10;*----------------------------------------------------------------* 11;Designed by: ; 12; Y.S. Soefian Nur Hidayat (035114003) ; 13;*****************************************************************; 14;DEFINITION ; 15;*----------------------------------------------------------------* 0000 16 Flash equ $de00 ; Flash ROM 0000 17 PortA equ $0000 ; PortA address 0000 18 PortB equ $0001 ; PortB address 0000 19 DDRA equ $0004 ; Direct data register of PortA 0000 20 DDRB equ $0005 ; Direct data register of PortB 0000 21 OSCSC equ $0036 ; Oscillator status and controlregister 0000 22 CONFIG1 equ $001f ; Watchdog timer1 0000 23 CONFIG2 equ $001e ; 24;*----------------------------------------------------------------* 0000 25 KBSCR equ $001a ; Keyboard status and control register 0000 26 KBIER equ $001b ; Keyboard interrupt enable reg adrs 0000 27 KBIPR equ $001c ; Keyboard Interrupt Polarity Register 0000 28 ACKK equ $2 ; Keyboard Acknowledge Bit (KBSCR bit2) 0000 29 IMASKK equ $1 ; Keyboard Interrupt Mask Bit 0000 30 INTSCR equ $001d ; IRQ status and control register 0000 31 ACK equ $2 ; IRQ Interrupt Request Acknowledge Bit 32;*----------------------------------------------------------------* 0000 33 SPCR equ $000d ; SPI control register 0000 34 SPSCR equ $000e ; SPI status and control register 0000 35 SPDR equ $000f ; SPI data register 0000 36 SPE equ $1 ; SPI Enable 0000 37 SPTE equ $3 ; SPI Transmitter Empty Bit(SPSCR bit3) 0000 38 SPRF equ $7 ; SPI Receiver Full Bit (SPSCR bit 7) 39;*----------------------------------------------------------------* 0000 40 SCC1 equ $0010 ; ESCI control register 1 0000 41 SCC2 equ $0011 ; ESCI control register 2 0000 42 SCC3 equ $0012 ; ESCI control register 3 0000 43 SCS1 equ $0013 ; ESCI1 status register 1 0000 44 SCDR equ $0015 ; ESCI data register 0000 45 SCBR equ $0016 ; ESCI baud rate register 0000 46 SCPSC equ $0017 ; ESCI prescaler register 0000 47 TC equ $6 ; Transmission Complete Bit 0000 48 SCRF equ $5 ; ESCI Receiver Full Bit 0000 49 SCRIE equ $5 ; ESCI Receive Interrupt Enable Bit 50;*----------------------------------------------------------------* 0000 51 ADSCR equ $003C ; ADC10 Status and Control Register 0000 52 ADRH equ $003D ; ADC10 Data Register High 0000 53 ADRL equ $003E ; ADC10 Data Register Low 0000 54 ADCLK equ $003F ; ADC10 Clock Register 0000 55 COCO equ $7 ; Conversion Complete Bit (ADSCR bit 7) 56;*----------------------------------------------------------------* 0000 57 RAM equ $0040 ; RAM register 0040 58 org RAM 0040 59 MyBits rmb 1 ; 0041 60 MyTime rmb 1 ;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F 0050 0051 0052 0053 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
006E 006F
Ibuf rmb BinH rmb BinL rmb BCD rmb PCSecH rmb PCSecL rmb PCMinH rmb PCMinL rmb PCHoursH PCHoursL PCDayH rmb PCDayL rmb PCDateH rmb PCDateL rmb PCMonthH PCMonthL PCYearH rmb PCYearL rmb SetSec rmb SetMin rmb SetHours SetDay rmb SetDate rmb SetMonth SetYear rmb TimeBCD rmb SecBCD rmb MinBCD rmb HoursBCD DayBCD rmb DateBCD rmb MonthBCD YearBCD rmb MinuteH rmb MinuteL rmb HoursH rmb HoursL rmb DateH rmb DateL rmb MonthH rmb MonthL rmb Temperature2 Temperature1
1 1 1 1 1 1 1 1 rmb rmb 1 1 1 1 rmb rmb 1 2 1 1 rmb 1 1 rmb 1 1 1 1 rmb 1 1 rmb 1 1 1 1 1 1 1 1 1 rmb rmb
; ; ; ; ; ; ; ; 1 1 ; ; ; ; 1 1 ; ; ; ; 1 ; ; 1 ; ; ; ; 1 ; ; 1 ; ; ; ; ; ; ; ; ; 1 1
104 105
Temperature0 rmb RainMinH rmb
1 1
0070
106
RainMinL
rmb
1
0071
107
RainHrsH
rmb
1
0072
108
RainHrsL
rmb
1
0073
109
RainDtH
rmb
1
0074
110
RainDtL
rmb
1
0075
111
RainMthH
rmb
1
0076
112
RainMthL
rmb
1
Index pointer to received data fromPC High Nibble binary data Low Nibble binary data Pack BCD data High byte Second data from PC Low byte Second data from PC High byte Minute data from PC Low byte Minute data from PC ; High byte Hours data from PC ; Low byte Hours data from PC High byte Day data from PC Low byte Day data from PC High byte Date data from PC Low byte Date data from PC ; High byte Month data from PC ; Low byte Month data from PC High byte Year data from PC Low byte Year data from PC Second data to set RTC Minute data to set RTC ; Hours data to set RTC Day data to set RTC Date data to set RTC ; Month data to set RTC Year data to set RTC Register temp to get time from RTC Register temporary second Register temporary minute ; Register temporary hours Register temporary day Register temporary date ; Register temporary month Register temporary year High Nibble Minute dt for temperature Low Nibble Minute dt for temperature High Nibble Hours dt for temperature Low Nibble Hours data for temperature High Nibble Date data for temperature Low Nibble Date data for temperature High Nibble Month dt for temperature Low Nibble Month data for temperature ;\ ; - Temperature Dt (Desimal --> ; Temperature2, ...0) ;/ ; High Nibble Minute data for ; start rain time ; Low Nibble Minute data for ; start rain time ; High Nibble Hours data for ; start rain time ; Low Nibble Hours data for start ; rain time ; High Nibble Date data for start ; rain time ; Low Nibble Date data for start ; rain time ; High Nibble Month data for ; start rain time ; Low Nibble Month data for start ; rain time
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
0077
113
StopRainMinH rmb
1
0078
114
StopRainMinL rmb
1
0079
115
StopRainHrsH rmb
1
007A
116
StopRainHrsL rmb
1
007B
117
StopRainDtH
rmb
1
007C
118
StopRainDtL
rmb
1
007D
119
StopRainMthH rmb
1
007E
120
StopRainMthL rmb
1
007F 0080 0081 0082 0083 0084 0085
121 122 123 124 125 126 127
MonthTemp Year rmb YearH rmb YearL rmb RainH rmb RainL rmb TempRainL
rmb 1 1 1 1 1 rmb
1 ; ; ; ; ; 1
0086 0087
128 129
RainH2 rmb RainH1 rmb
1 1
; High Nibble Minute data for ; stop rain time ; Low Nibble Minute data for stop ; rain time ; High Nibble Hours data for stop ; rain time ; Low Nibble Hours data for stop ; rain time ; High Nibble Date data for stop ; rain time ; Low Nibble Date data for stop ; rain time ; High Nibble Month data for stop ; rain time ; Low Nibble Month data for stop ; rain time ; Month Temporary register Year Register High Nibble Year data Low Nibble Year data High byte rain dt from tipping bucket Low byte rain dt from tipping bucket ; Low byte temporary rain data ; from tipping bucket \ - High byte rain data (Desimal --> RainH2...0) / \ - Low byte rain data (Desimal --> RainL2...0) / Second Address register for manipulation time counting Minute address register for manipulation counting ; Data BCD register ; High Nibble ASCII data ; Low Nibble ASCII data Binnary register Byte2 result conversion (ASCII) Byte1 result conversion (ASCII) Byte0 result conversion (ASCII)
; ; ; 0088 130 RainH0 rmb 1 ; 0089 131 RainL2 rmb 1 ; 008A 132 RainL1 rmb 1 ; ; 008B 133 RainL0 rmb 1 ; 008C 134 Detik rmb 1 ; ; 008D 135 Menit rmb 1 ; ; 008E 136 DataBCD rmb 1 008F 137 ASCII_H rmb 1 0090 138 ASCII_L rmb 1 0091 139 Bin rmb 1 ; 0092 140 Des2 rmb 1 ; 0093 141 Des1 rmb 1 ; 0094 142 Des0 rmb 1 ; 0095 143 Count rmb 1 ; 144;*---------------------------------------------------------------* 0096 145 DoDetik equ $0 ; 0096 146 LSB equ $0 ; 0096 147 RTCce equ $1 ; Chip Enable PortA bit 1 ; Output LED PortA bit 4 0096 148 LED5A equ $5 149;*---------------------------------------------------------------* DE00 150 org Flash DE00 [01] 4F 151 Reset: clra DE01 [01] 8C 152 clrh DE02 [01] 5F 153 clrx DE03 [04] 6E011F 154 mov #$01,CONFIG1 DE06 [04] 6E441E 155 mov #$44,CONFIG2 156 ;Internal data bus clock used as clock source DE09 [04] 6E2036 157 mov #$20,OSCSC DE0C [04] 6EE304 158 mov #$E3,DDRA DE0F [04] 6E0000 159 mov #$00,PortA DE12 [04] 6EEB05 160 mov #$EB,DDRB
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DE15 DE18 DE1B DE1E DE21 DE24 DE27 DE2A DE2D DE30 DE33 DE36 DE39
[04] [04] [04] [04] [04] [04] [04] [04] [04] [04] [04] [04] [04]
6E0001 6E380D 6E090E 6E041D 6E061A 6E081B 6E001C 6ED43F 6E4010 6E2C11 6E0012 6E0016 6E7E17
161 mov #$00,PortB 162 mov #$38,SPCR 163 mov #$09,SPSCR 164 mov #$04,INTSCR 165 mov #$06,KBSCR 166 mov #$08,KBIER 167 mov #$00,KBIPR 168 mov #$D4,ADCLK 169 mov #$40,SCC1 170 mov #$2C,SCC2 171 mov #$00,SCC3 172 mov #$00,SCBR 173 mov #$7E,SCPSC 174 ; (PDFA) = 30/32 = !0.9375, BaudRate=9598,101 DE3C [03] 3F83 175 clr RainH DE3E [03] 3F84 176 clr RainL DE40 [03] 3F85 177 clr TempRainL DE42 [03] 3F8C 178 clr Detik DE44 [03] 3F8D 179 clr Menit DE46 [03] 3F42 180 clr Ibuf DE48 [04] 1A00 181 bset LED5A,PortA DE4A [02] 9A 182 cli 183;*---------------------------------------------------------------* 184;Main Loop wait for interrupt or task flag DE4B [05] 014005 185 Main: brclr DoDetik,MyBits,Main10 DE4E [04] 1140 186 bclr DoDetik,MyBits DE50 [03] CCDE62 187 jmp Main35 188 DE53 [05] 014109 189 Main10: brclr LSB,MyTime,Main15 DE56 [04] 1141 190 bclr LSB,MyTime DE58 [05] CDE073 191 jsr Res8 DE5B [04] 1B00 192 bclr LED5A,PortA DE5D [04] 131A 193 bclr IMASKK,KBSCR 194 DE5F [03] CCDE4B 195 Main15: jmp Main 196 DE62 [03] 3F8D 197 Main35: clr Menit DE64 [05] CDDF75 198 jsr ADC10 DE67 [03] B791 199 sta Bin DE69 [05] CDE118 200 jsr Convert DE6C [03] B692 201 lda Des2 DE6E [03] B76C 202 sta Temperature2 DE70 [03] B693 203 lda Des1 DE72 [03] B76D 204 sta Temperature1 DE74 [03] B694 205 lda Des0 DE76 [03] B76E 206 sta Temperature0 DE78 [03] B684 207 lda RainL DE7A [03] B791 208 sta Bin DE7C [05] CDE118 209 jsr Convert DE7F [03] B692 210 lda Des2 DE81 [03] B789 211 sta RainL2 DE83 [03] B693 212 lda Des1 DE85 [03] B78A 213 sta RainL1 DE87 [03] B694 214 lda Des0 DE89 [03] B78B 215 sta RainL0 DE8B [03] B683 216 lda RainH DE8D [03] B791 217 sta Bin DE8F [05] CDE118 218 jsr Convert DE92 [03] B692 219 lda Des2 DE94 [03] B786 220 sta RainH2 DE96 [03] B693 221 lda Des1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DE98 DE9A DE9C DE9E DEA1 DEA3 DEA6 DEA8 DEAA DEAC DEAE DEB0 DEB3 DEB5 DEB7 DEB9 DEBB DEBD DEC0 DEC2 DEC4 DEC6 DEC8 DECA DECD DECF DED1 DED3
[03] [03] [03] [05] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03]
B787 B694 B788 CDE0D4 B65E CDE153 B68F B764 B690 B765 B65F CDE153 B68F B766 B690 B767 B661 CDE153 B68F B768 B690 B769 B662 CDE153 B68F B76A B690 B76B
DED5 DED7 DEDA DEDC DEDF DEE1 DEE4 DEE6 DEE9 DEEB DEEE DEF0 DEF3 DEF5 DEF8 DEFA DEFD DEFF DF02 DF04 DF07 DF09 DF0C DF0E DF11 DF13 DF16 DF18 DF1B DF1D DF20 DF22
[02] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05] [03] [05]
A654 CDE1F1 B66D CDE1F1 B66E CDE1F1 B686 CDE1F1 B687 CDE1F1 B688 CDE1F1 B689 CDE1F1 B68A CDE1F1 B68B CDE1F1 B664 CDE1F1 B665 CDE1F1 B666 CDE1F1 B667 CDE1F1 B668 CDE1F1 B669 CDE1F1 B66A CDE1F1
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282
sta lda sta jsr lda jsr lda sta lda sta lda jsr lda sta lda sta lda jsr lda sta lda sta lda jsr lda sta lda sta
RainH1 Des0 RainH0 GetTime MinBCD BCDtoASCII ASCII_H MinuteH ASCII_L MinuteL HoursBCD BCDtoASCII ASCII_H HoursH ASCII_L HoursL DateBCD BCDtoASCII ASCII_H DateH ASCII_L DateL MonthBCD BCDtoASCII ASCII_H MonthH ASCII_L MonthL
Main40: lda #"T" jsr ESCITx lda Temperature1 jsr ESCITx lda Temperature0 jsr ESCITx lda RainH2 jsr ESCITx lda RainH1 jsr ESCITx lda RainH0 jsr ESCITx lda RainL2 jsr ESCITx lda RainL1 jsr ESCITx lda RainL0 jsr ESCITx lda MinuteH jsr ESCITx lda MinuteL jsr ESCITx lda HoursH jsr ESCITx lda HoursL jsr ESCITx lda DateH jsr ESCITx lda DateL jsr ESCITx lda MonthH jsr ESCITx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DF25 DF27 DF2A DF2C DF2F DF31 DF34 DF36
[03] [05] [03] [05] [03] [05] [02] [05]
B66B CDE1F1 B681 CDE1F1 B682 CDE1F1 A620 CDE1F1
283 lda MonthL 284 jsr ESCITx 285 lda YearH 286 jsr ESCITx 287 lda YearL 288 jsr ESCITx 289 lda #" " 290 jsr ESCITx 291 DF39 [03] CCDE4B 292 Main45: jmp Main 293;*---------------------------------------------------------------* 294;Keyboard Interrupt (KBI) 295;*---------------------------------------------------------------* DF3C [04] 141A 296 KBI: bset ACKK,KBSCR DF3E [05] CDE1E7 297 jsr RTC_ON DF41 [02] AE07 298 ldx #$07 DF43 [03] B60E 299 lda SPSCR DF45 [03] BF0F 300 stx SPDR DF47 [05] 070EFD 301 brclr SPTE,SPSCR,* DF4A [03] 3F0F 302 clr SPDR DF4C [05] 0F0EFD 303 brclr SPRF,SPSCR,* DF4F [03] B60F 304 lda SPDR DF51 [05] CDE1EC 305 jsr RTC_OFF DF54 [04] 3C95 306 inc Count DF56 [04] 1A00 307 bset LED5A,PortA DF58 [05] 009502 308 brset 0,Count,KBI5 DF5B [04] 1B00 309 bclr LED5A,PortA 310 DF5D [04] 3C8C 311 KBI5: inc Detik DF5F [03] B68C 312 lda Detik DF61 [04] 413C01 313 cbeqa #$3c,KBI10 DF64 [07] 80 314 rti 315 DF65 [03] 3F8C 316 KBI10: clr Detik DF67 [04] 3C8D 317 inc Menit DF69 [05] CDDF9A 318 jsr CekIRQ DF6C [03] B68D 319 lda Menit DF6E [04] 410301 320 cbeqa #$03,KBI15 DF71 [07] 80 321 rti 322 DF72 [04] 1040 323 KBI15: bset DoDetik,MyBits DF74 [07] 80 324 rti 325;*---------------------------------------------------------------* 326;ADC10 Subroutine 327;*---------------------------------------------------------------* DF75 [04] 6E023C 328 ADC10: mov #$02,ADSCR DF78 [05] 0F3CFD 329 brclr COCO,ADSCR,* DF7B [03] B63E 330 lda ADRL DF7D [04] 81 331 rts 332;*---------------------------------------------------------------* 333;Interrupt Request (IRQ) 334;*---------------------------------------------------------------* DF7E [04] 141D 335 IRQ: bset ACK,INTSCR DF80 [04] 3C84 336 inc RainL DF82 [03] B684 337 lda RainL DF84 [04] 410109 338 cbeqa #$01,IRQ10 DF87 [04] 41FF01 339 cbeqa #$ff,IRQ5 DF8A [07] 80 340 rti 341 DF8B [04] 3C83 342 IRQ5: inc RainH DF8D [03] 3F84 343 clr RainL
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DF8F [07] 80
344 rti 345 DF90 [03] B683 346 IRQ10: lda RainH DF92 [04] 410001 347 cbeqa #$00,IRQ15 DF95 [07] 80 348 rti 349 DF96 [05] CDE173 350 IRQ15: jsr Rain DF99 [07] 80 351 rti 352;*---------------------------------------------------------------* 353;Subroutine Cek Rain 354;*---------------------------------------------------------------* DF9A [03] B684 355 CekIRQ: lda RainL DF9C [04] 410009 356 cbeqa #$00,CekIRQ90 DF9F [03] B085 357 sub TempRainL DFA1 [04] 410005 358 cbeqa #$00,CekIRQ5 DFA4 [03] B684 359 lda RainL DFA6 [03] B785 360 sta TempRainL DFA8 [04] 81 361 CekIRQ90: rts 362 DFA9 [05] CDE0D4 363 CekIRQ5: jsr GetTime DFAC [03] B65E 364 lda MinBCD DFAE [05] CDE153 365 jsr BCDtoASCII DFB1 [03] B68F 366 lda ASCII_H DFB3 [03] B777 367 sta StopRainMinH DFB5 [03] B690 368 lda ASCII_L DFB7 [03] B778 369 sta StopRainMinL DFB9 [03] B65F 370 lda HoursBCD DFBB [05] CDE153 371 jsr BCDtoASCII DFBE [03] B68F 372 lda ASCII_H DFC0 [03] B779 373 sta StopRainHrsH DFC2 [03] B690 374 lda ASCII_L DFC4 [03] B77A 375 sta StopRainHrsL DFC6 [03] B661 376 lda DateBCD DFC8 [05] CDE153 377 jsr BCDtoASCII DFCB [03] B68F 378 lda ASCII_H DFCD [03] B77B 379 sta StopRainDtH DFCF [03] B690 380 lda ASCII_L DFD1 [03] B77C 381 sta StopRainDtL DFD3 [03] B662 382 lda MonthBCD DFD5 [05] CDE153 383 jsr BCDtoASCII DFD8 [03] B68F 384 lda ASCII_H DFDA [03] B77D 385 sta StopRainMthH DFDC [03] B690 386 lda ASCII_L DFDE [03] B77E 387 sta StopRainMthL DFE0 [03] B684 388 lda RainL DFE2 [03] B791 389 sta Bin DFE4 [05] CDE118 390 jsr Convert DFE7 [03] B692 391 lda Des2 DFE9 [03] B789 392 sta RainL2 DFEB [03] B693 393 lda Des1 DFED [03] B78A 394 sta RainL1 DFEF [03] B694 395 lda Des0 DFF1 [03] B78B 396 sta RainL0 DFF3 [03] B683 397 lda RainH DFF5 [03] B791 398 sta Bin DFF7 [05] CDE118 399 jsr Convert DFFA [03] B692 400 lda Des2 DFFC [03] B786 401 sta RainH2 DFFE [03] B693 402 lda Des1 E000 [03] B787 403 sta RainH1 E002 [03] B694 404 lda Des0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E004 [03] B788 405 sta RainH0 406 ;Send Stop RainTime and Rain Data E006 [02] A653 407 lda #"S" E008 [05] CDE1F1 408 jsr ESCITx E00B [03] B686 409 lda RainH2 E00D [05] CDE1F1 410 jsr ESCITx E010 [03] B687 411 lda RainH1 E012 [05] CDE1F1 412 jsr ESCITx E015 [03] B688 413 lda RainH0 E017 [05] CDE1F1 414 jsr ESCITx E01A [03] B689 415 lda RainL2 E01C [05] CDE1F1 416 jsr ESCITx E01F [03] B68A 417 lda RainL1 E021 [05] CDE1F1 418 jsr ESCITx E024 [03] B68B 419 lda RainL0 E026 [05] CDE1F1 420 jsr ESCITx E029 [03] B677 421 lda StopRainMinH E02B [05] CDE1F1 422 jsr ESCITx E02E [03] B678 423 lda StopRainMinL E030 [05] CDE1F1 424 jsr ESCITx E033 [03] B679 425 lda StopRainHrsH E035 [05] CDE1F1 426 jsr ESCITx E038 [03] B67A 427 lda StopRainHrsL E03A [05] CDE1F1 428 jsr ESCITx E03D [03] B67B 429 lda StopRainDtH E03F [05] CDE1F1 430 jsr ESCITx E042 [03] B67C 431 lda StopRainDtL E044 [05] CDE1F1 432 jsr ESCITx E047 [03] B67D 433 lda StopRainMthH E049 [05] CDE1F1 434 jsr ESCITx E04C [03] B67E 435 lda StopRainMthL E04E [05] CDE1F1 436 jsr ESCITx E051 [03] B681 437 lda YearH E053 [05] CDE1F1 438 jsr ESCITx E056 [03] B682 439 lda YearL E058 [05] CDE1F1 440 jsr ESCITx E05B [02] A620 441 lda #" " E05D [05] CDE1F1 442 jsr ESCITx E060 [03] 3F83 443 clr RainH E062 [03] 3F84 444 clr RainL E064 [03] 3F85 445 clr TempRainL E066 [03] 3F86 446 clr RainH2 E068 [03] 3F87 447 clr RainH1 E06A [03] 3F88 448 clr RainH0 E06C [03] 3F89 449 clr RainL2 E06E [03] 3F8A 450 clr RainL1 E070 [03] 3F8B 451 clr RainL0 E072 [04] 81 452 rts 453;*---------------------------------------------------------------* 454;Initialization RTC DS1305 and start-up E073 [05] CDE1E7 455 Res8: jsr RTC_ON E076 [02] AE8F 456 ldx #$8F E078 [03] B60E 457 lda SPSCR E07A [03] BF0F 458 stx SPDR E07C [05] 070EFD 459 brclr SPTE,SPSCR,* E07F [02] A600 460 lda #$00 E081 [03] B70F 461 sta SPDR E083 [05] 070EFD 462 brclr SPTE,SPSCR,* E086 [05] CDE1EC 463 jsr RTC_OFF 464 ;Put local RAM time and date variables into RTC E089 [05] CDE1E7 465 PutTime: jsr RTC_ON
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E08C E08E E090 E092 E093
[02] [03] [03] [01] [01]
AE80 B60E BF0F 8C 5F
466 ldx #$80 467 lda SPSCR 468 stx SPDR 469 clrh 470 clrx 471 E094 [05] 070EFD 472 PutTime0: brclr SPTE,SPSCR,* E097 [03] E655 473 lda SetSec,x E099 [03] B70F 474 sta SPDR E09B [01] 5C 475 incx E09C [02] A307 476 cpx #7 E09E [03] 26F4 477 bne PutTime0 E0A0 [05] CDE1EC 478 jsr RTC_OFF 479;Initiate RTC DS1305 Register Value 480SendAlarm: E0A3 [05] CDE1E7 481 jsr RTC_ON E0A6 [02] AE87 482 ldx #$87 E0A8 [03] B60E 483 lda SPSCR E0AA [03] BF0F 484 stx SPDR E0AC [01] 8C 485 clrh E0AD [01] 5F 486 clrx 487 E0AE [05] 070EFD 488 nexx: brclr SPTE,SPSCR,* E0B1 [02] A680 489 lda #$80 E0B3 [03] B70F 490 sta SPDR E0B5 [01] 5C 491 incx E0B6 [02] A304 492 cpx #4 E0B8 [03] 26F4 493 bne nexx E0BA [05] CDE1EC 494 jsr RTC_OFF 495 E0BD [05] CDE1E7 496 SendCont: jsr RTC_ON E0C0 [02] AE8F 497 ldx #$8F E0C2 [03] B60E 498 lda SPSCR E0C4 [03] BF0F 499 stx SPDR E0C6 [05] 070EFD 500 brclr SPTE,SPSCR,* E0C9 [02] A605 501 lda #$05 E0CB [03] B70F 502 sta SPDR E0CD [05] 070EFD 503 brclr SPTE,SPSCR,* E0D0 [05] CDE1EC 504 jsr RTC_OFF E0D3 [04] 81 505 rts 506;*---------------------------------------------------------------* 507;Subroutine Get RTC time and date and update local RAM variables 508;*---------------------------------------------------------------* E0D4 [05] CDE1E7 509 GetTime: jsr RTC_ON E0D7 [02] AE00 510 ldx #$00 E0D9 [03] B60E 511 lda SPSCR E0DB [03] BF0F 512 stx SPDR E0DD [01] 8C 513 clrh E0DE [01] 5F 514 clrx E0DF [05] 070EFD 515 brclr SPTE,SPSCR,* 516 E0E2 [03] 3F0F 517 GetTime0: clr SPDR E0E4 [05] 0F0EFD 518 brclr SPRF,SPSCR,* E0E7 [03] B60F 519 lda SPDR E0E9 [03] E75C 520 sta TimeBCD,x E0EB [01] 5C 521 incx E0EC [02] A307 522 cpx #7 E0EE [03] 26F2 523 bne GetTime0 E0F0 [05] CDE1EC 524 jsr RTC_OFF E0F3 [03] B662 525 lda MonthBCD 526
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E0F5 [03] B17F E0F7 [03] 2601 E0F9 [04] 81
527 cmp MonthTemp 528 bne GetTime1 529 rts 530 E0FA [02] A101 531 GetTime1: cmp #$01 E0FC [03] 2615 532 bne GetTime2 E0FE [03] B67F 533 lda MonthTemp E100 [02] A112 534 cmp #$12 E102 [03] 260F 535 bne GetTime2 E104 [04] 3C80 536 inc Year E106 [03] B680 537 lda Year E108 [05] CDE153 538 jsr BCDtoASCII E10B [03] B68F 539 lda ASCII_H E10D [03] B781 540 sta YearH E10F [03] B690 541 lda ASCII_L E111 [03] B782 542 sta YearL 543 E113 [03] B662 544 GetTime2: lda MonthBCD E115 [03] B77F 545 sta MonthTemp E117 [04] 81 546 rts 547;*---------------------------------------------------------------* 548;Convert subroutine used to convert Temperature and Rain data 549;*---------------------------------------------------------------* E118 [03] 3F92 550 Convert: clr Des2 E11A [03] 3F93 551 clr Des1 E11C [03] 3F94 552 clr Des0 E11E [03] B691 553 lda Bin E120 [02] A064 554 Repeat0: sub #!100 E122 [03] 2506 555 bcs convert1 E124 [03] B791 556 sta Bin E126 [04] 3C92 557 inc Des2 E128 [03] 20F6 558 bra Repeat0 E12A [03] B691 559 Convert1: lda Bin E12C [02] A00A 560 Repeat1: sub #!10 E12E [03] 2506 561 bcs convert2 E130 [03] B791 562 sta Bin E132 [04] 3C93 563 inc Des1 E134 [03] 20F6 564 bra Repeat1 E136 [03] B691 565 Convert2: lda Bin E138 [02] A001 566 Repeat2: sub #!1 E13A [03] 2504 567 bcs result E13C [04] 3C94 568 inc Des0 E13E [03] 20F8 569 bra Repeat2 E140 [03] B692 570 result: lda Des2 E142 [02] AA30 571 ora #$30 E144 [03] B792 572 sta Des2 E146 [03] B693 573 lda Des1 E148 [02] AA30 574 ora #$30 E14A [03] B793 575 sta Des1 E14C [03] B694 576 lda Des0 E14E [02] AA30 577 ora #$30 E150 [03] B794 578 sta Des0 E152 [04] 81 579 rts 580;*---------------------------------------------------------------* 581;Pack BCD to ASCII subroutine used to convert time data of RTC to uC 582;*---------------------------------------------------------------* 583 BCDtoASCII: E153 [03] B78E 584 sta DataBCD E155 [02] A40F 585 and #$0f E157 [02] AA30 586 ora #$30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E159 [03] B790 587 sta ASCII_L E15B [03] B68E 588 lda DataBCD E15D [02] A4F0 589 and #$f0 E15F [03] 62 590 nsa E160 [02] AA30 591 ora #$30 E162 [03] B78F 592 sta ASCII_H E164 [04] 81 593 rts 594;*---------------------------------------------------------------* 595;Binary (ASCII) to Pack BCD subroutine used to convert time data 596;*---------------------------------------------------------------* E165 [03] B644 597 BintoBCD: lda BinL E167 [02] A030 598 sub #$30 E169 [03] B745 599 sta BCD E16B [03] B643 600 lda BinH E16D [02] A030 601 sub #$30 E16F [03] 62 602 nsa E170 [03] BA45 603 ora BCD E172 [04] 81 604 rts 605;*---------------------------------------------------------------* 606;Subroutine get start rain time 607;*---------------------------------------------------------------* E173 [05] CDE0D4 608 Rain: jsr GetTime E176 [03] B65E 609 lda MinBCD E178 [05] CDE153 610 jsr BCDtoASCII E17B [03] B68F 611 lda ASCII_H E17D [03] B76F 612 sta RainMinH E17F [03] B690 613 lda ASCII_L E181 [03] B770 614 sta RainMinL E183 [03] B65F 615 lda HoursBCD E185 [05] CDE153 616 jsr BCDtoASCII E188 [03] B68F 617 lda ASCII_H E18A [03] B771 618 sta RainHrsH E18C [03] B690 619 lda ASCII_L E18E [03] B772 620 sta RainHrsL E190 [03] B661 621 lda DateBCD E192 [05] CDE153 622 jsr BCDtoASCII E195 [03] B68F 623 lda ASCII_H E197 [03] B773 624 sta RainDtH E199 [03] B690 625 lda ASCII_L E19B [03] B774 626 sta RainDtL E19D [03] B662 627 lda MonthBCD E19F [05] CDE153 628 jsr BCDtoASCII E1A2 [03] B68F 629 lda ASCII_H E1A4 [03] B775 630 sta RainMthH E1A6 [03] B690 631 lda ASCII_L E1A8 [03] B776 632 sta RainMthL 633;SendRainTime E1AA [02] A652 634 lda #"R" E1AC [05] CDE1F1 635 jsr ESCITx E1AF [03] B66F 636 lda RainMinH E1B1 [05] CDE1F1 637 jsr ESCITx E1B4 [03] B670 638 lda RainMinL E1B6 [05] CDE1F1 639 jsr ESCITx E1B9 [03] B671 640 lda RainHrsH E1BB [05] CDE1F1 641 jsr ESCITx E1BE [03] B672 642 lda RainHrsL E1C0 [05] CDE1F1 643 jsr ESCITx E1C5 [05] CDE1F1 645 jsr ESCITx E1C8 [03] B674 646 lda RainDtL E1CA [05] CDE1F1 647 jsr ESCITx E1CD [03] B675 648 lda RainMthH
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E1CF [05] CDE1F1 649 jsr ESCITx E1D2 [03] B676 650 lda RainMthL E1D4 [05] CDE1F1 651 jsr ESCITx E1D7 [03] B681 652 lda YearH E1D9 [05] CDE1F1 653 jsr ESCITx E1DC [03] B682 654 lda YearL E1DE [05] CDE1F1 655 jsr ESCITx E1E1 [02] A620 656 lda #" " E1E3 [05] CDE1F1 657 jsr ESCITx E1E6 [04] 81 658 rts 659;*---------------------------------------------------------------* 660;Subroutine to set Serial Peripheral Interface (SPI) Module 661;*---------------------------------------------------------------* E1E7 [04] 120D 662 RTC_ON: bset SPE,SPCR E1E9 [04] 1200 663 bset RTCce,PortA E1EB [04] 81 664 rts 665 E1EC [04] 130D 666 RTC_OFF: bclr SPE,SPCR E1EE [04] 1300 667 bclr RTCce,PortA E1F0 [04] 81 668 rts 669;*---------------------------------------------------------------* 670;Subroutine Enhanced Serial Communications Interface (ESCI) Module 671;ESCI used to send mini weather station data of uC to PC 672;*---------------------------------------------------------------* E1F1 [03] 3D13 673 ESCITx: tst SCS1 E1F3 [03] B715 674 sta SCDR E1F5 [05] 0D13FD 675 brclr TC,SCS1,* E1F8 [04] 81 676 rts 677;*---------------------------------------------------------------* 678 ;ESCI Receive Interrupt 679;*---------------------------------------------------------------* E1F9 [04] 1A11 680 ESCIRx: bset SCRIE,SCC2 E1FB [03] 3D13 681 tst SCS1 E1FD [05] 0B13FD 682 brclr SCRF,SCS1,* E200 [03] B615 683 lda SCDR E202 [03] BE42 684 ldx Ibuf E204 [03] E746 685 sta PCSecH,x E206 [03] 6F47 686 clr PCSecH+1,x E208 [04] 3C42 687 inc Ibuf E20A [02] A30D 688 cpx #$0D E20C [03] 266F 689 bne ESCIRx20 E20E [03] 3F42 690 clr Ibuf 691 E210 [03] B646 692 ESCIRx5: lda PCSecH E212 [03] B743 693 sta BinH E214 [03] B647 694 lda PCSecL E216 [03] B744 695 sta BinL E218 [05] CDE165 696 jsr BintoBCD E21B [03] B755 697 sta SetSec E21D [03] B648 698 lda PCMinH E21F [03] B743 699 sta BinH E221 [03] B649 700 lda PCMinL E223 [03] B744 701 sta BinL E225 [05] CDE165 702 jsr BintoBCD E228 [03] B756 703 sta SetMin E22A [03] B64A 704 lda PCHoursH E22C [03] B743 705 sta BinH E22E [03] B64 706 lda PCHoursL E230 [03] B744 707 sta BinL E232 [05] CDE165 708 jsr BintoBCD E235 [03] B757 709 sta SetHours
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
E237 E239 E23B E23D E23F E242 E244 E246 E248 E24A E24C E24F E251 E253 E255 E257 E259 E25C E25E E260 E262 E264 E266 E269 E26B E26D E26F E271 E273 E275 E277 E279 E27B
[03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [05] [03] [03] [03] [03] [03] [03] [03] [03] [03] [04]
B64C B743 B64D B744 CDE165 B758 B64E B743 B64F B744 CDE165 B759 B650 B743 B651 B744 CDE165 B75A B652 B743 B653 B744 CDE165 B75B B65A B77F B652 B781 B653 B782 B65B B780 1041
710 lda PCDayH 711 sta BinH 712 lda PCDayL 713 sta BinL 714 jsr BintoBCD 715 sta SetDay 716 lda PCDateH 717 sta BinH 718 lda PCDateL 719 sta BinL 720 jsr BintoBCD 721 sta SetDate 722 lda PCMonthH 723 sta BinH 724 lda PCMonthL 725 sta BinL 726 jsr BintoBCD 727 sta SetMonth 728 lda PCYearH 729 sta BinH 730 lda PCYearL 731 sta BinL 732 jsr BintoBCD 733 sta SetYear 735 ESCIRx15: lda SetMonth 736 sta MonthTemp 737 lda PCYearH 738 sta YearH 739 lda PCYearL 740 sta YearL 741 lda SetYear 742 sta Year 743 bset LSB,MyTime 744 E27D [07] 80 745 ESCIRx20: rti 746;*---------------------------------------------------------------* 747;INTERRUPT VECTOR FFE0 748 org $ffE0 ; Keyboard Vector FFE0 DF3C 749 fdb KBI FFE8 750 org $ffE8 ; ESCI receive vector FFE8 E1F9 751 fdb ESCIRx FFFA 752 org $fffa ; IRQ Vector FFFA DF7E 753 fdb IRQ FFFE 754 org $fffE ; Reset vector FFFE DE00 755 fdb Reset 756 End 757;*---------------------------------------------------------------* Symbol Table ACK 0002 ACKK 0002 ADC10 DF75 ADCLK 003F ADRH 003D ADRL 003E ADSCR 003C ASCII_H 008F ASCII_L 0090 BCD 0045 BCDTOASCII E153 BIN 0091 BINH 0043
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BINL BINTOBCD CEKIRQ CEKIRQ5 CEKIRQ90 COCO CONFIG1 CONFIG2 CONVERT CONVERT1 CONVERT2 COUNT DATABCD DATEBCD DATEH DATEL DAYBCD DDRA DDRB DES0 DES1 DES2 DETIK DODETIK END ESCIRX ESCIRX15 ESCIRX20 ESCIRX5 ESCITX FLASH GETTIME GETTIME0 GETTIME1 GETTIME2 HOURSBCD HOURSH HOURSL IBUF IMASKK INTSCR IRQ IRQ10 IRQ15 IRQ5 KBI KBI10 KBI15 KBI5 KBIER KBIPR KBSCR LED5A LSB MAIN MAIN10 MAIN15 MAIN35 MAIN40 MAIN45 MENIT
0044 E165 DF9A DFA9 DFA8 0007 001F 001E E118 E12A E136 0095 008E 0061 0068 0069 0060 0004 0005 0094 0093 0092 008C 0000 0000 E1F9 E26B E27D E210 E1F1 DE00 E0D4 E0E2 E0FA E113 005F 0066 0067 0042 0001 001D DF7E DF90 DF96 DF8B DF3C DF65 DF72 DF5D 001B 001C 001A 0005 0000 DE4B DE53 DE5F DE62 DED5 DF39 008D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MINBCD MINUTEH MINUTEL MONTHBCD MONTHH MONTHL MONTHTEMP MYBITS MYTIME NEXX OSCSC PCDATEH PCDATEL PCDAYH PCDAYL PCHOURSH PCHOURSL PCMINH PCMINL PCMONTHH PCMONTHL PCSECH PCSECL PCYEARH PCYEARL PORTA PORTB PUTTIME PUTTIME0 RAIN RAINDTH RAINDTL RAINH RAINH0 RAINH1 RAINH2 RAINHRSH RAINHRSL RAINL RAINL0 RAINL1 RAINL2 RAINMINH RAINMINL RAINMTHH RAINMTHL RAM REPEAT0 REPEAT1 REPEAT2 RES8 RESET RESULT RTCCE RTC_OFF RTC_ON SCBR SCC1 SCC2 SCC3 SCDR
005E 0064 0065 0062 006A 006B 007F 0040 0041 E0AE 0036 004E 004F 004C 004D 004A 004B 0048 0049 0050 0051 0046 0047 0052 0053 0000 0001 E089 E094 E173 0073 0074 0083 0088 0087 0086 0071 0072 0084 008B 008A 0089 006F 0070 0075 0076 0040 E120 E12C E138 E073 DE00 E140 0001 E1EC E1E7 0016 0010 0011 0012 0015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SCPSC SCRF SCRIE SCS1 SECBCD SENDALARM SENDCONT SETDATE SETDAY SETHOURS SETMIN SETMONTH SETSEC SETYEAR SPCR SPDR SPE SPRF SPSCR SPTE STOPRAINDTH STOPRAINDTL STOPRAINHRSH STOPRAINHRSL STOPRAINMINH STOPRAINMINL STOPRAINMTHH STOPRAINMTHL TC TEMPERATURE0 TEMPERATURE1 TEMPERATURE2 TEMPRAINL TIMEBCD YEAR YEARBCD YEARH YEARL
0017 0005 0005 0013 005D E0A3 E0BD 0059 0058 0057 0056 005A 0055 005B 000D 000F 0001 0007 000E 0003 007B 007C 0079 007A 0077 0078 007D 007E 0006 006E 006D 006C 0085 005C 0080 0063 0081 0082
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L6
LAMPIRAN LISTING PROGRAM VISUAL BASIC
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LISTING PROGRAM MINI WEATHER STATION “MWS” LISTING FORM PROGRESS___________________________________________ Private Sub Form_Load() prgbar1.Visible = True Timer1.Enabled = True Timer1.Interval = 500 prgbar1.Max = 10 ' Timer will go for 5 seconds End Sub Private Sub Timer1_Timer() Static intTime ' Declare the static variable. If IsEmpty(intTime) Then intTime = 1 prgbar1.Value = intTime ' Update the ProgressBar. If intTime = prgbar1.Max Then Timer1.Enabled = False prgbar1.Visible = False intTime = 1 prgbar1.Value = prgbar1.Min Progress.Visible = False SetRTCTime.Visible = True Else intTime = intTime + 1 End If End Sub LISTING FORM SETRTC TIME_______________________________________ Private Sub Command1_Click() If menu.Comm1.PortOpen = False Then menu.Comm1.PortOpen = True End If daydata = menu.Label8.Caption If daydata = "Sunday" Then SetDay = Chr$(48) & Chr$(49) 'Day Data (01) ElseIf daydata = "Monday" Then SetDay = Chr$(48) & Chr$(50) 'Day Data (02) ElseIf daydata = "Tuesday" Then SetDay = Chr$(48) & Chr$(51) 'Day Data (03) ElseIf (daydata = "Wednesday") Then SetDay = Chr$(48) & Chr$(52) 'Day Data (04) ElseIf (daydata = "Thursday") Then SetDay = Chr$(48) & Chr$(53) 'Day Data (05) ElseIf (daydata = "Friday") Then SetDay = Chr$(48) & Chr$(54) 'Day Data (06) ElseIf (daydata = "Saturday") Then SetDay = Chr$(48) & Chr$(55) 'Day Data (07) End If SetTime = Left(menu.Label3.Caption, 2) SetHours = SetTime 'Hours data SetTime1 = Left(menu.Label3.Caption, 5) SetMinute = Right(SetTime1, 2) 'Minute data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SetTime2 = Right(menu.Label3.Caption, 2) SetSecond = SetTime2 'Second data SetTime3 = Left(menu.Label2.Caption, 5) SetDate = Right(SetTime3, 2) 'Date data SetTime4 = Left(menu.Label2.Caption, 2) SetMonth = SetTime4 'Month data SetTime5 = Right(menu.Label2.Caption, 2) SetYear = SetTime5 'Year Data SetRTC = SetSecond & SetMinute & SetHours & SetDay & SetDate & SetMonth & SetYear menu.Comm1.Output = SetRTC SetRTCTime.Visible = False kirimdata.Visible = True End Sub Private Sub Command2_Click() End End Sub LISTING FORM KIRIM DATA_________________________________________ Private Sub Timer1_Timer() Line3.Visible = True End Sub Private Sub Timer2_Timer() Image1.Visible = True End Sub Private Sub Timer3_Timer() Line2.Visible = True Line1.Visible = True End Sub Private Sub Timer4_Timer() Image2.Visible = True End Sub Private Sub Timer5_Timer() menu.Visible = True Timer1.Enabled = False Timer2.Enabled = False Timer3.Enabled = False Timer4.Enabled = False Timer5.Enabled = False kirimdata.Visible = False End Sub LISTING FORM MENU_______________________________________________ Dim Conn As ADODB.Connection Dim RSRainfall As ADODB.Recordset Dim RsAirTemperature As ADODB.Recordset Private Sub Form_Load() Dim STR As String Set Conn = New ADODB.Connection Set RSRainfall = New ADODB.Recordset
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Set RsAirTemperature = New ADODB.Recordset STR = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=C:\Documents and Settings\Database\MWS.mdb" Conn.Open STR RSRainfall.ActiveConnection = STR RSRainfall.Open "Rainfall" RsAirTemperature.ActiveConnection = STR RsAirTemperature.Open "AirTemperature" Comm1.CommPort = 1 Comm1.Settings = "9600,N,8,1" Comm1.InputLen = 1 Label2.Caption = Date$ Label3.Caption = Time$ End Sub Private Sub Form_Activate() Dim Temperature As Integer GetData: If Comm1.PortOpen = False Then Comm1.PortOpen = True End If Saving = "" Do busy = DoEvents() Terima$ = Comm1.Input Saving = Saving + Terima$ Loop Until Terima$ = Chr$(32) Data = Left(Saving, 1) If (Data = Chr$(82)) Then 'Start Rain Time Text2.Text = "" Text15.Text = "" Text16.Text = "" Text17.Text = "" Text18.Text = "" Text19.Text = "" Text20.Text = "" Text9.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Text14.Text = "" StartRain = Left(Saving, 3) StartRainMinute = Right(StartRain, 2) 'Start Rain Minute StartRain1 = Left(Saving, 5) StartRainHours = Right(StartRain1, 2) 'Start Rain Hours StartRain2 = Left(Saving, 7) StartRainDate = Right(StartRain2, 2) 'Start Rain Date StartRain3 = Left(Saving, 9) StartRainMonth = Right(StartRain3, 2) 'Start Rain Month StartRain4 = Left(Saving, 11)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
StartRainYear = Right(StartRain4, 2) 'Start Rain Year Text9.Text = StartRainMonth Text10.Text = StartRainDate Text11.Text = 20 Text12.Text = StartRainYear Text13.Text = StartRainHours Text14.Text = StartRainMinute RainTemp1 = StartRainDate & "-" & StartRainMonth & "-" & "20" & StartRainYear 'Start rain Date RainTemp2 = StartRainHours & "-" & StartRainMinute 'Start Rain Time Bola.Visible = True Simbol.Visible = True Timer1.Enabled = True ElseIf (Data = Chr$(83)) Then ' Stop Rain Time Text2.Text = "" Text15.Text = "" Text16.Text = "" Text17.Text = "" Text18.Text = "" Text19.Text = "" Text20.Text = "" RainDataH2 = Left(Saving, 2) RainH2 = Right(RainDataH2, 1) 'RainH2 RainDataH1 = Left(Saving, 3) RainH1 = Right(RainDataH1, 1) 'RainH1 RainDataH0 = Left(Saving, 4) RainH0 = Right(RainDataH0, 1) 'RainH0 RainH = (RainH2 * 100) + (RainH1 * 10) + RainH0 RainDataL2 = Left(Saving, 5) RainL2 = Right(RainDataL2, 1) 'RainL2 RainDataL1 = Left(Saving, 6) RainL1 = Right(RainDataL1, 1) 'RainL1 RainDataL2 = Left(Saving, 7) RainL0 = Right(RainDataL2, 1) 'RainL0 RainL = (RainL2 * 100) + (RainL1 * 10) + RainL0 RainResult = ((RainH * 256) + RainL) * 0.5 StopRain1 = Left(Saving, 9) StopMinute = Right(StopRain1, 2) 'Stop Rain Minute StopRain2 = Left(Saving, 11) StopHours = Right(StopRain2, 2) 'Stop Rain Hours StopRain3 = Left(Saving, 13) StopDate = Right(StopRain3, 2) 'Stop Rain Date StopRain4 = Left(Saving, 15) StopMonth = Right(StopRain4, 2) 'Stop Rain Month StopRain5 = Left(Saving, 17) StopYear = Right(StopRain5, 2) ''Stop Rain Year Text2.Text = RainResult Text15.Text = StopMonth Text16.Text = StopDate Text17.Text = 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Text18.Text = StopYear Text19.Text = StopHours Text20.Text = StopMinute RainTemp3 = StopDate & "-" & StopMonth & "-" & "20" & StopYear 'Stop Rain Date RainTemp4 = StopHours & ":" & StopMinute 'Stop Rain Time Dim SQLTambah As String SQLTambah = "Insert Into Rainfall ([Start Rain (Date)],[Start Rain (Time)],[Stop Rain (Date)],[Stop Rain (Time)],[Rainfall Result (mm)]) values ('" & RainTemp1 & "','" & RainTemp2 & "','" & RainTemp3 & "','" & RainTemp4 & "','" & RainResult & "')" Conn.Execute SQLTambah RSRainfall.Requery Bola.Visible = False Simbol.Visible = False Timer1.Enabled = False Bola.Left = 720 Simbol.Left = 1125 ElseIf (Data = Chr$(84)) Then 'Temperature & Rain Data Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Temperature1 = Left(Saving, 3) Temperature2 = Right(Temperature1, 2) Temperature = Temperature2 * 0.5 ' Air Temperature Data Temperature3 = Left(Saving, 11) TemperatureMinute = Right(Temperature3, 2) 'Temperature Minute Temperature4 = Left(Saving, 13) TemperatureHours = Right(Temperature4, 2) 'Temperature Hours Temperature5 = Left(Saving, 15) TemperatureDate = Right(Temperature5, 2) 'Temperature Date Temperature6 = Left(Saving, 17) TemperatureMonth = Right(Temperature6, 2) 'Temperature Month Temperature7 = Left(Saving, 19) TemperatureYear = Right(Temperature7, 2) 'Temperature Year RainGaugeDataH2 = Left(Saving, 4) RainGaugeH2 = Right(RainGaugeDataH2, 1) 'RainGaugeH2 RainGaugeDataH1 = Left(Saving, 5) RainGaugeH1 = Right(RainGaugeDataH1, 1) 'RainGaugeH1 RainGaugeDataH0 = Left(Saving, 6) RainGaugeH0 = Right(RainGaugeDataH0, 1) 'RainGaugeH0 RainGaugeH = (RainGaugeH2 * 100) + (RainGaugeH1 * 10) + RainGaugeH0 RainGaugeDataL2 = Left(Saving, 7) RainGaugeL2 = Right(RainGaugeDataL2, 1) 'RainGaugeL2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
RainGaugeDataL1 = Left(Saving, 8) RainGaugeL1 = Right(RainGaugeDataL1, 1) 'RainGaugeL1 RainGaugeDataL0 = Left(Saving, 9) RainGaugeL0 = Right(RainGaugeDataL0, 1) 'RainGaugeL0 RainGaugeL = (RainGaugeL2 * 100) + (RainGaugeL1 * 10) + RainGaugeL0 RainGauge = ((RainGaugeH * 256) + RainGaugeL) * 0.5 'RainGauge Data Text1.Text = Temperature Text3.Text = TemperatureMonth Text4.Text = TemperatureDate Text5.Text = 20 Text6.Text = TemperatureYear Text7.Text = TemperatureHours Text8.Text = TemperatureMinute Temperature8 = TemperatureDate & "-" & TemperatureMonth & "-" & "20" & TemperatureYear 'Temperature Date Temperature9 = TemperatureHours & ":" & TemperatureMinute 'Temperature Time Dim SQLTambah1 As String SQLTambah1 = "Insert Into AirTemperature ([Temperature (Date)],[Temperature (Time)],[Air Temperature Measuring (Celcius)]) values ('" & Temperature8 & "','" & Temperature9 & "','" & Temperature & "')" Conn.Execute SQLTambah1 RsAirTemperature.Requery If RainGauge = 0 Then Text2.Text = "" Text9.Text = "" Text10.Text = "" Text11.Text = "" Text12.Text = "" Text13.Text = "" Text14.Text = "" Text15.Text = "" Text16.Text = "" Text17.Text = "" Text18.Text = "" Text19.Text = "" Text20.Text = "" End If If RainGauge > 0 Then Text2.Text = RainGauge End If End If Comm1.PortOpen = False GoTo GetData End Sub Private Sub Command1_Click() SetRTCTime.Visible = True menu.Visible = False End Sub Private Sub Command2_Click()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
menu.Visible = False EndProgram.Visible = True End Sub Private Sub Timer1_Timer() Do While angka <= 6400 angka = angka + 0.1 Bola.Left = angka + 500 Simbol.Left = angka + 900 If Bola.Left = 6400 Then Bola.Left = 720 Simbol.Left = 1125 End If Loop End Sub Private Sub Timer2_Timer() Dim Day As Variant Day = Now Label2.Caption = Date$ Label3.Caption = Time$ Label8.Caption = Format(Day, "dddd") End Sub LISTING FORM ENDPROGRAM_______________________________________ Private Sub Command1_Click() End End Sub Private Sub Command2_Click() menu.Visible = True EndProgram.Visible = False End Sub
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
L7
LAMPIRAN DATASHEET
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Direct Page Registers
Addr. $0000
$0001 $0002 ↓ $0003
$0004
$0005 $0006 ↓ $000A
$000B
$000C
$000D
$000E
$000F
$0010
$0011
$0012
$0013
Register Name Port A Data Register Read: (PTA) Write: See page 104. Reset: Port B Data Register Read: (PTB) Write: See page 106. Reset:
Bit 7 R
6 AWUL
5
4
3
PTA5
PTA4
PTA3
2 PTA2
1
Bit 0
PTA1
PTA0
PTB1
PTB0
DDRA1
DDRA0
Unaffected by reset PTB7
PTB6
PTB5
PTB4
PTB3
PTB2
Unaffected by reset
Reserved
Data Direction Register A Read: (DDRA) Write: See page 104. Reset: Data Direction Register B Read: (DDRB) Write: See page 107. Reset:
0
R
R
DDRA5
DDRA4
DDRA3
0
0
0
0
0
0
0
0
DDRB7
DDRB6
DDRB5
DDRB4
DDRB3
DDRB2
DDRB1
DDRB0
0
0
0
0
0
0
0
0
PTAPUE5
PTAPUE4
PTAPUE3
PTAPUE2
PTAPUE1
PTAPUE0
0
0
0
0
0
0
0
PTBPUE6
PTBPUE5
PTBPUE4
PTBPUE3
PTBPUE2
PTBPUE1
PTBPUE0
0
0
0
0
0
0
0
R
SPMSTR
CPOL
CPHA
SPWOM
SPE
SPTIE
0
1 OVRF
0 MODF
1 SPTE
0
0
0
MODFEN
SPR1
SPR0
0 R2 T2
0 R1 T1
0 R0 T0
Reserved
Port A Input Pullup Enable Read: OSC2EN Register (PTAPUE) Write: See page 105. Reset: 0 Read: Port B Input Pullup Enable PTBPUE7 Register (PTBPUE) Write: See page 108. Reset: 0 Read: SPI Control Register SPRIE (SPCR) Write: See page 171. Reset: 0 Read: SPRF SPI Status and Control Register (SPSCR) Write: See page 172. Reset: 0 Read: R7 SPI Data Register (SPDR) Write: T7 See page 174. Reset: ESCI Control Register 1 Read: LOOPS (SCC1) Write: See page 122. Reset: 0 Read: ESCI Control Register 2 SCTIE (SCC2) Write: See page 124. Reset: 0 Read: R8 ESCI Control Register 3 (SCC3) Write: See page 125. Reset: U Read: SCTE ESCI Status Register 1 (SCS1) Write: See page 126. Reset: 1
0
ERRIE 0 R6 T6
0 R5 T5
ENSCI
TXINV
M
WAKE
ILTY
PEN
PTY
0
0
0
0
0
0
0
TCIE
SCRIE
ILIE
TE
RE
RWU
SBK
0
0
0
0
0
0
0
T8
R
R
ORIE
NEIE
FEIE
PEIE
0 TC
0 SCRF
0 IDLE
0 OR
0 NF
0 FE
0 PE
0 R
0 = Reserved
1 0 = Unimplemented
0 1 R4 R3 T4 T3 Unaffected by reset
0 0 U = Unaffected
0
Figure 2-2. Control, Status, and Data Registers (Sheet 1 of 5)
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Memory Addr. $0014
$0015
$0016
$0017
$0018
$0019
$001A
$001B
$001C
$001D
$001E
$001F
$0020
$0021
Register Name ESCI Status Register 2 Read: (SCS2) Write: See page 129. Reset: ESCI Data Register Read: (SCDR) Write: See page 129. Reset: ESCI Baud Rate Register Read: (SCBR) Write: See page 130. Reset: ESCI Prescaler Register Read: (SCPSC) Write: See page 131. Reset: ESCI Arbiter Control Read: Register (SCIACTL) Write: See page 135. Reset: ESCI Arbiter Data Register Read: (SCIADAT) Write: See page 136. Reset: Keyboard Status and Read: Control Register (KBSCR) Write: See page 87. Reset: Keyboard Interrupt Read: Enable Register (KBIER) Write: See page 88. Reset: Keyboard Interrupt Polarity Read: Register (KBIPR) Write: See page 88. Reset: IRQ Status and Control Read: Register (INTSCR) Write: See page 81. Reset: Configuration Register 2 Read: (CONFIG2)(1) Write: See page 57. Reset:
Configuration Register 1 Read: (CONFIG1)(1) Write: See page 58. Reset:
TIM Status and Control Read: Register (TSC) Write: See page 183. Reset: TIM Counter Register High Read: (TCNTH) Write: See page 185. Reset:
Bit 7 0
6 0
5 0
0 R7 T7
0 R6 T6
0 R5 T5
LINT
LINR
SCP1
SCP0
0
0
0
PDS2
PDS1
0
0 ALOST
AM1
4 0
3 0
2 0
1 BKF
Bit 0 RPF
0 R2 T2
0 R1 T1
0 R0 T0
R
SCR2
SCR1
SCR0
0
0
0
0
0
PDS0
PSSB4
PSSB3
PSSB2
PSSB1
PSSB0
0
0
AM0
ACLK
0 AFIN
0 ARUN
0 AROVFL
0 ARD8
0 0 R4 R3 T4 T3 Unaffected by reset
0 ARD7
0 ARD6
0 ARD5
0 ARD4
0 ARD3
0 ARD2
0 ARD1
0 ARD0
0 0
0 0
0 0
0 0
0 KEYF
0
0
IMASKK
MODEK
0 0
0
0
0
0
0 0 ACKK 0
0
0
AWUIE
KBIE5
KBIE4
KBIE3
KBIE2
KBIE1
KBIE0
0 0
0 0
0
0
0
0
0
0
KBIP5
KBIP4
KBIP3
KBIP2
KBIP1
KBIP0
0 0
0 0
0 0
0 0
0 IRQF
0
0
IMASK
MODE
0
0
0
0
0
0 0 ACK 0
IRQPUD
IRQEN
R
R
R
0 0 0 0 1. One-time writable register after each reset. 2. RSTEN reset to 0 by a power-on reset (POR) only. COPRS
LVISTOP
LVIRSTD
0
LVIPWRD
0 0 0 0 1. One-time writable register after each reset. 2. LVITRIP reset to 0 by a power-on reset (POR) only. TOF 0 0 Bit 15 0
TOIE
TSTOP
0 Bit 14
1 Bit 13
0 0 = Unimplemented
0 OSCENINESCIBDSRC STOP 0 0
0 RSTEN 0(2)
LVITRIP
SSREC
STOP
COPD
0(2)
0
0
0
PS2
PS1
PS0
0 Bit 10
0 Bit 9
0 Bit 8
0 TRST 0 Bit 12
0 0 Bit 11
0 R
0 = Reserved
0 0 U = Unaffected
0
Figure 2-2. Control, Status, and Data Registers (Sheet 2 of 5)
MC68HC908QB8 Data Sheet, Rev. 1 26
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Direct Page Registers Addr. $0022
$0023
$0024
$0025
$0026
$0027
$0028
$0029
$002A $002B ↓ $002F
$0030
$0031
$0032
$0033
$0034
$0035
Register Name TIM Counter Register Low Read: (TCNTL) Write: See page 185. Reset: TIM Counter Modulo Read: Register High (TMODH) Write: See page 185. Reset: TIM Counter Modulo Read: Register Low (TMODL) Write: See page 185. Reset: TIM Channel 0 Status and Read: Control Register (TSC0) Write: See page 186. Reset: TIM Channel 0 Read: Register High (TCH0H) Write: See page 189. Reset: TIM Channel 0 Read: Register Low (TCH0L) Write: See page 189. Reset: TIM Channel 1 Status and Read: Control Register (TSC1) Write: See page 186. Reset: TIM Channel 1 Read: Register High (TCH1H) Write: See page 189. Reset: TIM Channel 1 Read: Register Low (TCH1L) Write: See page 189. Reset:
Bit 7 Bit 7
6 Bit 6
5 Bit 5
4 Bit 4
3 Bit 3
2 Bit 2
1 Bit 1
Bit 0 Bit 0
0
0
0
0
0
0
0
0
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
1
1
1
1
1
1
1
1
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
1 CH0F 0 0
1
1
1
1
1
1
1
CH0IE
MS0B
MS0A
ELS0B
ELS0A
TOV0
CH0MAX
0
0
0
0
0
0
0
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
Indeterminate after reset Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Indeterminate after reset CH1F 0 0 Bit 15
0
CH1IE
MS1A
ELS1B
ELS1A
TOV1
CH1MAX
0
0
0
0
0
0
0
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
Indeterminate after reset Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Indeterminate after reset
Reserved
TIM Channel 2 Status and Read: Control Register (TSC2) Write: See page 186. Reset: TIM Channel 2 Read: Register High (TCH2H) Write: See page 189. Reset: TIM Channel 2 Read: Register Low (TCH2L) Write: See page 189. Reset: TIM Channel 3 Status and Read: Control Register (TSC3) Write: See page 186. Reset: TIM Channel 3 Read: Register High (TCH3H) Write: See page 189. Reset: TIM Channel 3 Read: Register Low (TCH3L) Write: See page 189. Reset:
CH2F 0 0 Bit 15
0
CH2IE
MS2A
ELS2B
ELS2A
TOV2
CH2MAX
0
0
0
0
0
0
0
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
Indeterminate after reset Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Indeterminate after reset CH3F 0 0 Bit 15
0
CH3IE
MS3A
ELS3B
ELS3A
TOV3
CH3MAX
0
0
0
0
0
0
0
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
Indeterminate after reset Bit 7
Bit 6
Bit 5
= Unimplemented
Bit 4
Bit 3
Indeterminate after reset R = Reserved
U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 3 of 5) MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Memory Addr. $0036
$0037
$0038 $0039 ↓ $003B
$003C
$003D
$003E
$003F
$FE00
$FE01
$FE02
$FE03
$FE04
$FE05
$FE06
Register Name Bit 7 6 Read: Oscillator Status and OSCOPT1 OSCOPT0 Control Register (OSCSC) Write: See page 100. Reset: 0 0
5
4
3
2
1
Bit 0 ECGST
ICFS1
ICFS0
ECFS1
ECFS0
ECGON
0
0
0
0
0
0
Reserved
Oscillator Trim Register (OSCTRIM) See page 101.
Read: Write:
TRIM7
TRIM6
TRIM5
TRIM4
TRIM3
TRIM2
TRIM1
TRIM0
Reset:
1
0
0
0
0
0
0
0
AIEN
ADCO
ADCH4
ADCH3
ADCH2
ADCH1
ADCH0
0 0 R 0 AD7 R 0
0 0 R 0 AD6 R 0
0 0 R 0 AD5 R 0
1 0 R 0 AD4 R 0
1 0 R 0 AD3 R 0
1 0 R 0 AD2 R 0
1 AD9 R 0 AD1 R 0
1 AD8 R 0 AD0 R 0
ADLPC
ADIV1
ADIV0
ADICLK
MODE1
MODE0
ADLSMP
ACLKEN
0
0
0
0
0
0
0
R
R
R
R
R
R
POR
PIN
COP
ILOP
ILAD
MODRST
0 SBSW 0 0 LVI
1 0
0 0
0 0
0 0
0 0
0 0
0 0
0
0
0
0
0
0
0
0
BCFE
R
R
R
R
R
R
R
IF3 R 0 IF11 R 0 IF19 R 0 R
IF2 R 0 IF10 R 0 IF18 R 0 = Reserved
Reserved
ADC10 Status and Control Read: Register (ADSCR) Write: See page 46. Reset: ADC10 Data Register High Read: (ADRH) Write: See page 48. Reset: ADC10 Data Register Low Read: (ADRL) Write: See page 48. Reset: ADC10 Clock Register Read: (ADCLK) Write: See page 49. Reset: Break Status Register Read: (BSR) Write: See page 195. Reset: SIM Reset Status Register Read: (SRSR) Write: See page 152. POR: Break Auxiliary Read: Register (BRKAR) Write: See page 195. Reset: Break Flag Control Read: Register (BFCR) Write: See page 195. Reset: Interrupt Status Register 1 Read: (INT1) Write: See page 149. Reset: Interrupt Status Register 2 Read: (INT2) Write: See page 149. Reset: Interrupt Status Register 3 Read: (INT3) Write: See page 149. Reset:
COCO
0 IF6 R 0 IF14 R 0 IF22 R 0
IF5 IF4 R R 0 0 IF13 IF12 R R 0 0 IF21 IF20 R R 0 0 = Unimplemented
IF1 0 R R 0 0 IF9 IF8 R R 0 0 IF17 IF16 R R 0 0 U = Unaffected
R 0 0 BDCOP
0 R 0 IF7 R 0 IF15 R 0
Figure 2-2. Control, Status, and Data Registers (Sheet 4 of 5)
MC68HC908QB8 Data Sheet, Rev. 1 28
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Direct Page Registers Addr. $FE07
$FE08
$FE09
$FE0A
$FE0B
$FE0C $FE0D ↓ $FE0F
$FFBE
Register Name
FLASH Control Register Read: (FLCR) Write: See page 31. Reset: Break Address High Read: Register (BRKH) Write: See page 194. Reset: Break Address low Read: Register (BRKL) Write: See page 194. Reset: Break Status and Control Read: Register (BRKSCR) Write: See page 194. Reset: LVI Status Register Read: (LVISR) Write: See page 91. Reset:
5
4
3
2
1
Bit 0
0
0
0
0
HVEN
MASS
ERASE
PGM
0
0
0
0
0
0
0
0
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
0
0
0
0
0
0
0
0
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
BRKE
BRKA
0 0
0 0
0 0
0 0
0 0
0 0
0 LVIOUT
0 0
0 0
0 0
0 0
0 0
0 0
0 R
0
0
0
0
0
0
0
0
BPR7
BPR6
BPR5
BPR4
BPR3
BPR2
BPR1
BPR0
TRIM2
TRIM1
TRIM0
Reserved
FLASH Block Protect Read: Register (FLBPR) Write: See page 36. Reset: Reserved
$FFC0
Internal Oscillator Trim Value
$FFFF
6
Reserved
$FFBF
$FFC1
Bit 7
Read: Write: Reset:
Unaffected by reset
TRIM7
TRIM6
TRIM5
TRIM4
TRIM3
Resets to factory programmed value
Reserved
COP Control Register Read: (COPCTL) Write: See page 63. Reset:
LOW BYTE OF RESET VECTOR WRITING CLEARS COP COUNTER (ANY VALUE) Unaffected by reset = Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 5 of 5)
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Central Processor Unit (CPU)
7.7 Instruction Set Summary Table 7-1 provides a summary of the M68HC08 instruction set.
ADC #opr ADC opr ADC opr ADC opr,X ADC opr,X ADC ,X ADC opr,SP ADC opr,SP ADD #opr ADD opr ADD opr ADD opr,X ADD opr,X ADD ,X ADD opr,SP ADD opr,SP
V H I N Z C
A ← (A) + (M) + (C)
Add with Carry
A ← (A) + (M)
Add without Carry
IMM DIR EXT IX2 – IX1 IX SP1 SP2
A9 B9 C9 D9 E9 F9 9EE9 9ED9
ii dd hh ll ee ff ff
IMM DIR EXT – IX2 IX1 IX SP1 SP2
AB BB CB DB EB FB 9EEB 9EDB
ii dd hh ll ee ff ff
ff ee ff
Cycles
Effect on CCR
Description
Operand
Operation
Opcode
Source Form
Address Mode
Table 7-1. Instruction Set Summary (Sheet 1 of 6)
2 3 4 4 3 2 4 5
ff ee ff
2 3 4 4 3 2 4 5
AIS #opr
Add Immediate Value (Signed) to SP
SP ← (SP) + (16 « M)
– – – – – – IMM
A7
ii
2
AIX #opr
Add Immediate Value (Signed) to H:X
H:X ← (H:X) + (16 « M)
– – – – – – IMM
AF
ii
2
A ← (A) & (M)
IMM DIR EXT IX2 0 – – – IX1 IX SP1 SP2
A4 B4 C4 D4 E4 F4 9EE4 9ED4
ii dd hh ll ee ff ff
2 3 4 4 3 2 4 5
0
DIR INH INH – – IX1 IX SP1
38 dd 48 58 68 ff 78 9E68 ff
4 1 1 4 3 5
C
DIR INH – – INH IX1 IX SP1
37 dd 47 57 67 ff 77 9E67 ff
4 1 1 4 3 5
AND #opr AND opr AND opr AND opr,X AND opr,X AND ,X AND opr,SP AND opr,SP ASL opr ASLA ASLX ASL opr,X ASL ,X ASL opr,SP
Logical AND
Arithmetic Shift Left (Same as LSL)
C b7
ASR opr ASRA ASRX ASR opr,X ASR opr,X ASR opr,SP
Arithmetic Shift Right
BCC rel
Branch if Carry Bit Clear
b0
b7
BCLR n, opr
Clear Bit n in M
b0
PC ← (PC) + 2 + rel ? (C) = 0
Mn ← 0
ff ee ff
– – – – – – REL
24
rr
3
DIR (b0) DIR (b1) DIR (b2) – – – – – – DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
11 13 15 17 19 1B 1D 1F
dd dd dd dd dd dd dd dd
4 4 4 4 4 4 4 4
BCS rel
Branch if Carry Bit Set (Same as BLO)
PC ← (PC) + 2 + rel ? (C) = 1
– – – – – – REL
25
rr
3
BEQ rel
Branch if Equal
PC ← (PC) + 2 + rel ? (Z) = 1
– – – – – – REL
27
rr
3
BGE opr
Branch if Greater Than or Equal To (Signed Operands)
PC ← (PC) + 2 + rel ? (N ⊕ V) = 0
– – – – – – REL
90
rr
3
BGT opr
Branch if Greater Than (Signed Operands)
PC ← (PC) + 2 + rel ? (Z) | (N ⊕ V) = 0 – – – – – – REL
92
rr
3
BHCC rel
Branch if Half Carry Bit Clear
PC ← (PC) + 2 + rel ? (H) = 0
– – – – – – REL
28
rr
BHCS rel
Branch if Half Carry Bit Set
PC ← (PC) + 2 + rel ? (H) = 1
– – – – – – REL
29
rr
BHI rel
Branch if Higher
PC ← (PC) + 2 + rel ? (C) | (Z) = 0
– – – – – – REL
22
rr
3 3 3
MC68HC908QB8 Data Sheet, Rev. 1 70
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Instruction Set Summary
Effect on CCR V H I N Z C
BHS rel
Branch if Higher or Same (Same as BCC)
BIH rel BIL rel
PC ← (PC) + 2 + rel ? (C) = 0
– – – – – – REL
Branch if IRQ Pin High
PC ← (PC) + 2 + rel ? IRQ = 1
Branch if IRQ Pin Low
PC ← (PC) + 2 + rel ? IRQ = 0
(A) & (M)
BIT #opr BIT opr BIT opr BIT opr,X BIT opr,X BIT ,X BIT opr,SP BIT opr,SP
Bit Test
BLE opr
Branch if Less Than or Equal To (Signed Operands)
Cycles
Description
Operand
Operation
Opcode
Source Form
Address Mode
Table 7-1. Instruction Set Summary (Sheet 2 of 6)
24
rr
3
– – – – – – REL
2F
rr
3
– – – – – – REL
2E
rr
3
IMM DIR EXT 0 – – – IX2 IX1 IX SP1 SP2
A5 B5 C5 D5 E5 F5 9EE5 9ED5
ii dd hh ll ee ff ff ff ee ff
2 3 4 4 3 2 4 5
rr
3
PC ← (PC) + 2 + rel ? (Z) | (N ⊕ V) = 1 – – – – – – REL
93
BLO rel
Branch if Lower (Same as BCS)
PC ← (PC) + 2 + rel ? (C) = 1
– – – – – – REL
25
rr
3
BLS rel
Branch if Lower or Same
PC ← (PC) + 2 + rel ? (C) | (Z) = 1
– – – – – – REL
23
rr
3
BLT opr
Branch if Less Than (Signed Operands)
PC ← (PC) + 2 + rel ? (N ⊕ V) =1
– – – – – – REL
91
rr
3
BMC rel
Branch if Interrupt Mask Clear
PC ← (PC) + 2 + rel ? (I) = 0
– – – – – – REL
2C
rr
3
BMI rel
Branch if Minus
PC ← (PC) + 2 + rel ? (N) = 1
– – – – – – REL
2B
rr
3
BMS rel
Branch if Interrupt Mask Set
PC ← (PC) + 2 + rel ? (I) = 1
– – – – – – REL
2D
rr
3 3
BNE rel
Branch if Not Equal
PC ← (PC) + 2 + rel ? (Z) = 0
– – – – – – REL
26
rr
BPL rel
Branch if Plus
PC ← (PC) + 2 + rel ? (N) = 0
– – – – – – REL
2A
rr
3
BRA rel
Branch Always
PC ← (PC) + 2 + rel
– – – – – – REL
20
rr
3
DIR (b0) DIR (b1) DIR (b2) DIR (b3) – – – – – DIR (b4) DIR (b5) DIR (b6) DIR (b7)
01 03 05 07 09 0B 0D 0F
dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr
5 5 5 5 5 5 5 5
BRCLR n,opr,rel Branch if Bit n in M Clear
BRN rel
Branch Never
BRSET n,opr,rel Branch if Bit n in M Set
BSET n,opr
Set Bit n in M
BSR rel
Branch to Subroutine
CBEQ opr,rel CBEQA #opr,rel CBEQX #opr,rel Compare and Branch if Equal CBEQ opr,X+,rel CBEQ X+,rel CBEQ opr,SP,rel
PC ← (PC) + 3 + rel ? (Mn) = 0
PC ← (PC) + 2
– – – – – – REL
21
rr
3
PC ← (PC) + 3 + rel ? (Mn) = 1
DIR (b0) DIR (b1) DIR (b2) DIR (b3) – – – – – DIR (b4) DIR (b5) DIR (b6) DIR (b7)
00 02 04 06 08 0A 0C 0E
dd rr dd rr dd rr dd rr dd rr dd rr dd rr dd rr
5 5 5 5 5 5 5 5
Mn ← 1
DIR (b0) DIR (b1) DIR (b2) – – – – – – DIR (b3) DIR (b4) DIR (b5) DIR (b6) DIR (b7)
10 12 14 16 18 1A 1C 1E
dd dd dd dd dd dd dd dd
4 4 4 4 4 4 4 4
PC ← (PC) + 2; push (PCL) SP ← (SP) – 1; push (PCH) SP ← (SP) – 1 PC ← (PC) + rel
– – – – – – REL
AD
rr
4
PC ← (PC) + 3 + rel ? (A) – (M) = $00 PC ← (PC) + 3 + rel ? (A) – (M) = $00 PC ← (PC) + 3 + rel ? (X) – (M) = $00 PC ← (PC) + 3 + rel ? (A) – (M) = $00 PC ← (PC) + 2 + rel ? (A) – (M) = $00 PC ← (PC) + 4 + rel ? (A) – (M) = $00
DIR IMM – – – – – – IMM IX1+ IX+ SP1
31 41 51 61 71 9E61
dd rr ii rr ii rr ff rr rr ff rr
5 4 4 5 4 6
CLC
Clear Carry Bit
C←0
– – – – – 0 INH
98
1
CLI
Clear Interrupt Mask
I←0
– – 0 – – – INH
9A
2
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Central Processor Unit (CPU)
CLR opr CLRA CLRX CLRH CLR opr,X CLR ,X CLR opr,SP CMP #opr CMP opr CMP opr CMP opr,X CMP opr,X CMP ,X CMP opr,SP CMP opr,SP
V H I N Z C
Clear
Compare A with M
COM opr COMA COMX COM opr,X COM ,X COM opr,SP
Complement (One’s Complement)
CPHX #opr CPHX opr
Compare H:X with M
CPX #opr CPX opr CPX opr CPX ,X CPX opr,X CPX opr,X CPX opr,SP CPX opr,SP
Compare X with M
DAA
Decimal Adjust A
DEC opr DECA DECX DEC opr,X DEC ,X DEC opr,SP
Decrement
DIV
Divide
INC opr INCA INCX INC opr,X INC ,X INC opr,SP
Exclusive OR M with A
Increment
M ← $00 A ← $00 X ← $00 H ← $00 M ← $00 M ← $00 M ← $00
DIR INH INH 0 – – 0 1 – INH IX1 IX SP1
3F dd 4F 5F 8C 6F ff 7F 9E6F ff
(A) – (M)
IMM DIR EXT IX2 – – IX1 IX SP1 SP2
A1 B1 C1 D1 E1 F1 9EE1 9ED1
DIR INH INH 0 – – 1 IX1 IX SP1
33 dd 43 53 63 ff 73 9E63 ff
M ← (M) = $FF – (M) A ← (A) = $FF – (M) X ← (X) = $FF – (M) M ← (M) = $FF – (M) M ← (M) = $FF – (M) M ← (M) = $FF – (M) (H:X) – (M:M + 1)
(X) – (M)
(A)10
DBNZ opr,rel DBNZA rel DBNZX rel Decrement and Branch if Not Zero DBNZ opr,X,rel DBNZ X,rel DBNZ opr,SP,rel
EOR #opr EOR opr EOR opr EOR opr,X EOR opr,X EOR ,X EOR opr,SP EOR opr,SP
Effect on CCR
ff ee ff
2 3 4 4 3 2 4 5 4 1 1 4 3 5
ii ii+1 dd
3 4
IMM DIR EXT IX2 – – IX1 IX SP1 SP2
A3 B3 C3 D3 E3 F3 9EE3 9ED3
ii dd hh ll ee ff ff
2 3 4 4 3 2 4 5
U – – INH
72
A ← (A) – 1 or M ← (M) – 1 or X ← (X) – 1 PC ← (PC) + 3 + rel ? (result) ≠ 0 DIR PC ← (PC) + 2 + rel ? (result) ≠ 0 INH PC ← (PC) + 2 + rel ? (result) ≠ 0 – – – – – – INH PC ← (PC) + 3 + rel ? (result) ≠ 0 IX1 PC ← (PC) + 2 + rel ? (result) ≠ 0 IX PC ← (PC) + 4 + rel ? (result) ≠ 0 SP1
3B 4B 5B 6B 7B 9E6B
ff ee ff
2 dd rr rr rr ff rr rr ff rr
M ← (M) – 1 A ← (A) – 1 X ← (X) – 1 M ← (M) – 1 M ← (M) – 1 M ← (M) – 1
DIR INH INH – – – IX1 IX SP1
A ← (H:A)/(X) H ← Remainder
– – – – INH
52
A ← (A ⊕ M)
IMM DIR EXT 0 – – – IX2 IX1 IX SP1 SP2
A8 B8 C8 D8 E8 F8 9EE8 9ED8
DIR INH – – – INH IX1 IX SP1
3C dd 4C 5C 6C ff 7C 9E6C ff
M ← (M) + 1 A ← (A) + 1 X ← (X) + 1 M ← (M) + 1 M ← (M) + 1 M ← (M) + 1
3 1 1 1 3 2 4
65 75
– –
IMM DIR
ii dd hh ll ee ff ff
Cycles
Description
Operand
Operation
Opcode
Source Form
Address Mode
Table 7-1. Instruction Set Summary (Sheet 3 of 6)
3A dd 4A 5A 6A ff 7A 9E6A ff
5 3 3 5 4 6 4 1 1 4 3 5 7
ii dd hh ll ee ff ff ff ee ff
2 3 4 4 3 2 4 5 4 1 1 4 3 5
MC68HC908QB8 Data Sheet, Rev. 1 72
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Instruction Set Summary
JSR opr JSR opr JSR opr,X JSR opr,X JSR ,X
Jump to Subroutine
LDHX #opr LDHX opr
Load H:X from M
2 3 4 3 2
PC ← (PC) + n (n = 1, 2, or 3) Push (PCL); SP ← (SP) – 1 Push (PCH); SP ← (SP) – 1 PC ← Unconditional Address
DIR EXT – – – – – – IX2 IX1 IX
BD CD DD ED FD
dd hh ll ee ff ff
4 5 6 5 4
A ← (M)
IMM DIR EXT IX2 0 – – – IX1 IX SP1 SP2
A6 B6 C6 D6 E6 F6 9EE6 9ED6
ii dd hh ll ee ff ff ff ee ff
2 3 4 4 3 2 4 5
ii jj dd
3 4
ii dd hh ll ee ff ff
2 3 4 4 3 2 4 5
H:X ← (M:M + 1)
Logical Shift Left (Same as ASL)
Logical Shift Right
MOV opr,opr MOV opr,X+ MOV #opr,opr MOV X+,opr
Move
MUL
Unsigned multiply
C b7
45 55 AE BE CE DE EE FE 9EEE 9EDE
0
DIR INH INH – – IX1 IX SP1
38 dd 48 58 68 ff 78 9E68 ff
4 1 1 4 3 5
C
DIR INH – – 0 INH IX1 IX SP1
34 dd 44 54 64 ff 74 9E64 ff
4 1 1 4 3 5
b0
0
IMM DIR
IMM DIR EXT IX2 0 – – – IX1 IX SP1 SP2
X ← (M)
b7
Negate (Two’s Complement)
0 – – –
b0
H:X ← (H:X) + 1 (IX+D, DIX+)
DD DIX+ 0 – – – IMD IX+D
X:A ← (X) × (A)
– 0 – – – 0 INH
M ← –(M) = $00 – (M) A ← –(A) = $00 – (A) X ← –(X) = $00 – (X) M ← –(M) = $00 – (M) M ← –(M) = $00 – (M)
DIR INH INH – – IX1 IX SP1
(M)Destination ← (M)Source
4E 5E 6E 7E
dd dd dd ii dd dd
42
No Operation
None
– – – – – – INH
9D
NSA
Nibble Swap A
A ← (A[3:0]:A[7:4])
– – – – – – INH
62
A ← (A) | (M)
IMM DIR EXT IX2 0 – – – IX1 IX SP1 SP2
AA BA CA DA EA FA 9EEA 9EDA
Inclusive OR A and M
ff ee ff
5 4 4 4 5
30 dd 40 50 60 ff 70 9E60 ff
NOP ORA #opr ORA opr ORA opr ORA opr,X ORA opr,X ORA ,X ORA opr,SP ORA opr,SP
Cycles
dd hh ll ee ff ff
Load X from M
LSR opr LSRA LSRX LSR opr,X LSR ,X LSR opr,SP
NEG opr NEGA NEGX NEG opr,X NEG ,X NEG opr,SP
BC CC DC EC FC
Jump
Load A from M
LSL opr LSLA LSLX LSL opr,X LSL ,X LSL opr,SP
PC ← Jump Address
DIR EXT – – – – – – IX2 IX1 IX
Effect on CCR
Description
V H I N Z C
LDA #opr LDA opr LDA opr LDA opr,X LDA opr,X LDA ,X LDA opr,SP LDA opr,SP
LDX #opr LDX opr LDX opr LDX opr,X LDX opr,X LDX ,X LDX opr,SP LDX opr,SP
Operand
JMP opr JMP opr JMP opr,X JMP opr,X JMP ,X
Operation
Address Mode
Source Form
Opcode
Table 7-1. Instruction Set Summary (Sheet 4 of 6)
4 1 1 4 3 5 1 3
ii dd hh ll ee ff ff ff ee ff
2 3 4 4 3 2 4 5
PSHA
Push A onto Stack
Push (A); SP ← (SP) – 1
– – – – – – INH
87
2
PSHH
Push H onto Stack
Push (H); SP ← (SP) – 1
– – – – – – INH
8B
2
PSHX
Push X onto Stack
Push (X); SP ← (SP) – 1
– – – – – – INH
89
2
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Central Processor Unit (CPU)
V H I N Z C
Cycles
Effect on CCR
Description
Operand
Operation
Opcode
Source Form
Address Mode
Table 7-1. Instruction Set Summary (Sheet 5 of 6)
PULA
Pull A from Stack
SP ← (SP + 1); Pull (A)
– – – – – – INH
86
2
PULH
Pull H from Stack
SP ← (SP + 1); Pull (H)
– – – – – – INH
8A
2
PULX
Pull X from Stack
SP ← (SP + 1); Pull (X)
– – – – – – INH
C
DIR INH INH – – IX1 IX SP1
39 dd 49 59 69 ff 79 9E69 ff
4 1 1 4 3 5
DIR INH – – INH IX1 IX SP1
36 dd 46 56 66 ff 76 9E66 ff
4 1 1 4 3 5
ROL opr ROLA ROLX ROL opr,X ROL ,X ROL opr,SP
Rotate Left through Carry
b7
b0
88
2
ROR opr RORA RORX ROR opr,X ROR ,X ROR opr,SP
Rotate Right through Carry
RSP
Reset Stack Pointer
SP ← $FF
– – – – – – INH
9C
1
RTI
Return from Interrupt
SP ← (SP) + 1; Pull (CCR) SP ← (SP) + 1; Pull (A) SP ← (SP) + 1; Pull (X) SP ← (SP) + 1; Pull (PCH) SP ← (SP) + 1; Pull (PCL)
INH
80
7
RTS
Return from Subroutine
SP ← SP + 1; Pull (PCH) SP ← SP + 1; Pull (PCL)
– – – – – – INH
81
4
A ← (A) – (M) – (C)
IMM DIR EXT – – IX2 IX1 IX SP1 SP2
A2 B2 C2 D2 E2 F2 9EE2 9ED2
SBC #opr SBC opr SBC opr SBC opr,X SBC opr,X SBC ,X SBC opr,SP SBC opr,SP
C b7
Subtract with Carry
b0
ii dd hh ll ee ff ff ff ee ff
2 3 4 4 3 2 4 5
SEC
Set Carry Bit
C←1
– – – – – 1 INH
99
1
SEI
Set Interrupt Mask
I←1
– – 1 – – – INH
9B
2
M ← (A)
DIR EXT IX2 0 – – – IX1 IX SP1 SP2
B7 C7 D7 E7 F7 9EE7 9ED7
(M:M + 1) ← (H:X)
0 – – – DIR
35
I ← 0; Stop Processing
– – 0 – – – INH
8E
M ← (X)
DIR EXT IX2 0 – – – IX1 IX SP1 SP2
BF CF DF EF FF 9EEF 9EDF
dd hh ll ee ff ff
IMM DIR EXT – – IX2 IX1 IX SP1 SP2
A0 B0 C0 D0 E0 F0 9EE0 9ED0
ii dd hh ll ee ff ff
STA opr STA opr STA opr,X STA opr,X STA ,X STA opr,SP STA opr,SP
Store A in M
STHX opr
Store H:X in M
STOP
Enable Interrupts, Stop Processing, Refer to MCU Documentation
STX opr STX opr STX opr,X STX opr,X STX ,X STX opr,SP STX opr,SP SUB #opr SUB opr SUB opr SUB opr,X SUB opr,X SUB ,X SUB opr,SP SUB opr,SP
Store X in M
Subtract
A ← (A) – (M)
dd hh ll ee ff ff ff ee ff
3 4 4 3 2 4 5
dd
4 1
ff ee ff
ff ee ff
3 4 4 3 2 4 5 2 3 4 4 3 2 4 5
MC68HC908QB8 Data Sheet, Rev. 1 74
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Opcode Map
SWI
Software Interrupt
PC ← (PC) + 1; Push (PCL) SP ← (SP) – 1; Push (PCH) SP ← (SP) – 1; Push (X) SP ← (SP) – 1; Push (A) SP ← (SP) – 1; Push (CCR) SP ← (SP) – 1; I ← 1 PCH ← Interrupt Vector High Byte PCL ← Interrupt Vector Low Byte
– – 1 – – – INH
83
9
CCR ← (A)
INH
84
2
X ← (A)
– – – – – – INH
97
1
A ← (CCR)
– – – – – – INH
85
(A) – $00 or (X) – $00 or (M) – $00
DIR INH INH 0 – – – IX1 IX SP1
H:X ← (SP) + 1
– – – – – – INH
95
2
A ← (X)
– – – – – – INH
9F
1
(SP) ← (H:X) – 1
– – – – – – INH
94
2
I bit ← 0; Inhibit CPU clocking until interrupted
– – 0 – – – INH
8F
1
TAP
Transfer A to CCR Transfer A to X
TPA
Transfer CCR to A
Test for Negative or Zero
TSX
Transfer SP to H:X
TXA
Transfer X to A
TXS
Transfer H:X to SP
WAIT A C CCR dd dd rr DD DIR DIX+ ee ff EXT ff H H hh ll I ii IMD IMM INH IX IX+ IX+D IX1 IX1+ IX2 M N
Cycles
V H I N Z C
TAX TST opr TSTA TSTX TST opr,X TST ,X TST opr,SP
Effect on CCR
Description
Operand
Operation
Opcode
Source Form
Address Mode
Table 7-1. Instruction Set Summary (Sheet 6 of 6)
Enable Interrupts; Wait for Interrupt
Accumulator Carry/borrow bit Condition code register Direct address of operand Direct address of operand and relative offset of branch instruction Direct to direct addressing mode Direct addressing mode Direct to indexed with post increment addressing mode High and low bytes of offset in indexed, 16-bit offset addressing Extended addressing mode Offset byte in indexed, 8-bit offset addressing Half-carry bit Index register high byte High and low bytes of operand address in extended addressing Interrupt mask Immediate operand byte Immediate source to direct destination addressing mode Immediate addressing mode Inherent addressing mode Indexed, no offset addressing mode Indexed, no offset, post increment addressing mode Indexed with post increment to direct addressing mode Indexed, 8-bit offset addressing mode Indexed, 8-bit offset, post increment addressing mode Indexed, 16-bit offset addressing mode Memory location Negative bit
n opr PC PCH PCL REL rel rr SP1 SP2 SP U V X Z & |
⊕
() –( ) #
«
← ? : —
3D dd 4D 5D 6D ff 7D 9E6D ff
1 3 1 1 3 2 4
Any bit Operand (one or two bytes) Program counter Program counter high byte Program counter low byte Relative addressing mode Relative program counter offset byte Relative program counter offset byte Stack pointer, 8-bit offset addressing mode Stack pointer 16-bit offset addressing mode Stack pointer Undefined Overflow bit Index register low byte Zero bit Logical AND Logical OR Logical EXCLUSIVE OR Contents of Negation (two’s complement) Immediate value Sign extend Loaded with If Concatenated with Set or cleared Not affected
7.8 Opcode Map See Table 7-2.
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Chapter 18 Electrical Specifications 18.1 Introduction This section contains electrical and timing specifications.
18.2 Absolute Maximum Ratings Maximum ratings are the extreme limits to which the microcontroller unit (MCU) can be exposed without permanently damaging it. NOTE This device is not guaranteed to operate properly at the maximum ratings. Refer to 18.5 5-V DC Electrical Characteristics and 18.8 3-V DC Electrical Characteristics for guaranteed operating conditions. Characteristic(1)
Symbol
Value
Unit
Supply voltage
VDD
–0.3 to +6.0
V
Input voltage
VIN
VSS –0.3 to VDD +0.3
V
VTST
VSS –0.3 to +9.1
V
I
±15
mA
IPTA0—IPTA5
±25
mA
Storage temperature
TSTG
–55 to +150
°C
Maximum current out of VSS
IMVSS
100
mA
Maximum current into VDD
IMVDD
100
mA
Mode entry voltage, IRQ pin Maximum current per pin excluding PTA0–PTA5, VDD, and VSS Maximum current for pins PTA0–PTA5
1. Voltages references to VSS.
NOTE This device contains circuitry to protect the inputs against damage due to high static voltages or electric fields; however, it is advised that normal precautions be taken to avoid application of any voltage higher than maximum-rated voltages to this high-impedance circuit. For proper operation, it is recommended that VIN and VOUT be constrained to the range VSS ≤ (VIN or VOUT) ≤ VDD. Reliability of operation is enhanced if unused inputs are connected to an appropriate logic voltage level (for example, either VSS or VDD.)
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
207
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Electrical Specifications
18.3 Functional Operating Range Characteristic
Operating temperature range Operating voltage range
Symbol
Value
Unit
Temperature Code
TA (TL to TH)
– 40 to +125 – 40 to +105 – 40 to +85
°C
M V C
VDD
2.7 to 5.5
V
—
18.4 Thermal Characteristics Characteristic
Symbol
Value
Unit
Thermal resistance 16-pin PDIP 16-pin SOIC 16-pin TSSOP
θJA
76 90 133
°C/W
I/O pin power dissipation
PI/O
User determined
W
Power dissipation(1)
PD
PD = (IDD x VDD) + PI/O = K/(TJ + 273°C)
W
Constant(2)
K
PD x (TA + 273°C) + PD2 x θJA
W/°C
Average junction temperature
TJ
TA + (PD x θJA)
°C
TJM
150
°C
Maximum junction temperature
1. Power dissipation is a function of temperature. 2. K constant unique to the device. K can be determined for a known TA and measured PD. With this value of K, PD and TJ can be determined for any value of TA.
MC68HC908QB8 Data Sheet, Rev. 1 208
Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5-V DC Electrical Characteristics
18.5 5-V DC Electrical Characteristics Characteristic(1)
Symbol
Min
Typ(2)
Max
VDD –0.4 VDD –1.5 VDD –0.8
— — —
— — —
—
—
50
— — —
— — —
0.4 1.5 0.8
Unit
Output high voltage ILoad = –2.0 mA, all I/O pins ILoad = –10.0 mA, all I/O pins ILoad = –15.0 mA, PTA0, PTA1, PTA3–PTA5 only
VOH
Maximum combined IOH (all I/O pins)
IOHT
Output low voltage ILoad = 1.6 mA, all I/O pins ILoad = 10.0 mA, all I/O pins ILoad = 15.0 mA, PTA0, PTA1, PTA3–PTA5 only
VOL
Maximum combined IOL (all I/O pins)
IOHL
—
—
50
mA
Input high voltage PTA0–PTA5, PTB0–PTB7
VIH
0.7 x VDD
—
VDD
V
Input low voltage PTA0–PTA5, PTB0–PTB7
VIL
VSS
—
0.3 x VDD
V
VHYS
0.06 x VDD
—
—
V
IINJ
–2
—
+2
mA
IINJTOT
–25
—
+25
mA
Ports Hi-Z leakage current
IIL
–1
±0.1
+1
µA
Capacitance Ports (as input)(3)
CIN
—
—
8
pF
VPOR
750
—
—
mV
RPOR
0.035
—
—
V/ms
VTST
VDD + 2.5
—
9.1
V
Pullup resistors PTA0–PTA5, PTB0–PTB7
RPU
16
26
36
kΩ
Pulldown resistors(7) PTA0–PTA5
RPD
16
26
36
kΩ
Low-voltage inhibit reset, trip falling voltage
VTRIPF
3.90
4.20
4.50
V
Low-voltage inhibit reset, trip rising voltage
VTRIPR
4.00
4.30
4.60
V
Low-voltage inhibit reset/recover hysteresis
VHYS
—
100
—
mV
Input hysteresis(3) (4)
DC injection current, all ports
Total dc current injection (sum of all
I/O)(4)
POR rearm voltage (3)(5)
POR rise time ramp rate
Monitor mode entry voltage
(3)
V
mA
V
(6)
1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted. 2. Typical values reflect average measurements at midpoint of voltage range, 25°C only. Typical values are for reference only and are not tested in production. 3. Values are based on characterization results, not tested in production. 4. Guaranteed by design, not tested in production. 5. If minimum VDD is not reached before the internal POR reset is released, the LVI will hold the part in reset until minimum VDD is reached. 6. RPU is measured at VDD = 5.0 V. 7. RPD is measured at VDD = 5.0 V, Pulldown resistors only available when KBIx is enabled with KBIxPOL =1.
MC68HC908QB8 Data Sheet, Rev. 1 Freescale Semiconductor
209
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LM35/LM35A/LM35C/LM35CA/LM35D Precision Centigrade Temperature Sensors General Description The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in § Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling. The LM35 does not require any external calibration or trimming to provide typical accuracies of g (/4§ C at room temperature and g */4§ C over a full b55 to a 150§ C temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35’s low output impedance, linear output, and precise inherent calibration make interfacing to readout or control circuitry especially easy. It can be used with single power supplies, or with plus and minus supplies. As it draws only 60 mA from its supply, it has very low self-heating, less than 0.1§ C in still air. The LM35 is rated to operate over a b55§ to a 150§ C temperature range, while the LM35C is rated for a b40§ to a 110§ C range (b10§ with improved accuracy). The LM35 series is
available packaged in hermetic TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface mount small outline package and a plastic TO-202 package.
Features Y Y Y Y Y Y Y Y Y Y Y
Calibrated directly in § Celsius (Centigrade) Linear a 10.0 mV/§ C scale factor 0.5§ C accuracy guaranteeable (at a 25§ C) Rated for full b55§ to a 150§ C range Suitable for remote applications Low cost due to wafer-level trimming Operates from 4 to 30 volts Less than 60 mA current drain Low self-heating, 0.08§ C in still air Nonlinearity only g (/4§ C typical Low impedance output, 0.1 X for 1 mA load
Connection Diagrams TO-92 Plastic Package
TO-46 Metal Can Package*
SO-8 Small Outline Molded Package
TL/H/5516 – 2 TL/H/5516–1
*Case is connected to negative pin (GND)
Order Number LM35H, LM35AH, LM35CH, LM35CAH or LM35DH See NS Package Number H03H TO-202 Plastic Package
TL/H/5516 – 21
Order Number LM35CZ, LM35CAZ or LM35DZ See NS Package Number Z03A
Top View N.C. e No Connection
Order Number LM35DM See NS Package Number M08A
Typical Applications
TL/H/5516 – 3
FIGURE 1. Basic Centigrade Temperature Sensor ( a 2§ C to a 150§ C)
TL/H/5516 – 4
Choose R1 e b VS/50 mA VOUT e a 1,500 mV at a 150§ C e a 250 mV at a 25§ C
TL/H/5516–24
Order Number LM35DP See NS Package Number P03A
eb 550 mV at b 55§ C
FIGURE 2. Full-Range Centigrade Temperature Sensor
TRI-STATEÉ is a registered trademark of National Semiconductor Corporation. C1995 National Semiconductor Corporation
TL/H/5516
RRD-B30M75/Printed in U. S. A.
LM35/LM35A/LM35C/LM35CA/LM35D Precision Centigrade Temperature Sensors
December 1994
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Absolute Maximum Ratings (Note 10) SO Package (Note 12):
If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/Distributors for availability and specifications. Supply Voltage
Vapor Phase (60 seconds)
215§ C
Infrared (15 seconds) 220§ C ESD Susceptibility (Note 11) 2500V Specified Operating Temperature Range: TMIN to TMAX (Note 2) b 55§ C to a 150§ C LM35, LM35A b 40§ C to a 110§ C LM35C, LM35CA LM35D 0§ C to a 100§ C
a 35V to b 0.2V
a 6V to b 1.0V Output Voltage Output Current 10 mA b 60§ C to a 180§ C Storage Temp., TO-46 Package, b 60§ C to a 150§ C TO-92 Package, b 65§ C to a 150§ C SO-8 Package, b 65§ C to a 150§ C TO-202 Package, Lead Temp.: TO-46 Package, (Soldering, 10 seconds) 300§ C TO-92 Package, (Soldering, 10 seconds) 260§ C a 230§ C TO-202 Package, (Soldering, 10 seconds)
Electrical Characteristics (Note 1) (Note 6) LM35A Parameter
Accuracy (Note 7)
Conditions
TA e a 25§ C TA eb10§ C TA e TMAX TA e TMIN
Typical
Tested Limit (Note 4)
g 0.2
g 0.5
g 0.2
g 0.5
Design Limit (Note 5)
Units (Max.)
g 0.4
g 1.0
g 0.4
g 0.4
g 1.0
g 0.4
g 1.5
g 0.15
g 0.3
§C
a 10.0
a 9.9, a 10.1
mV/§ C
g 0.18
Sensor Gain (Average Slope)
TMINsTAsTMAX
a 10.0
a 9.9, a 10.1
Load Regulation (Note 3) 0sILs1 mA
TA e a 25§ C TMINsTAsTMAX
g 0.4
g 1.0
g 0.5
Line Regulation (Note 3)
TA e a 25§ C 4VsVSs30V
g 0.02
Quiescent Current (Note 9)
VS e a 5V, a 25§ C VS e a 5V VS e a 30V, a 25§ C VS e a 30V
56 105 56.2 105.5
Temperature Coefficient of Quiescent Current
Tested Limit (Note 4)
g 0.3
TMINsTAsTMAX
4VsVSs30V, a 25§ C 4VsVSs30V
Typical
§C §C §C §C
g 0.3
Nonlinearity (Note 8)
Change of Quiescent Current (Note 3)
LM35CA Design Limit (Note 5)
g 0.01
g 0.35
g 0.4 g 3.0
g 0.5
g 0.1
g 0.02
g 0.05
g 0.01
133
56 91 56.2 91.5
2.0
0.2 0.5
a 0.39
a 0.5
a 2.0
0.2 0.5
Minimum Temperature for Rated Accuracy
In circuit of Figure 1 , IL e 0
a 1.5
Long Term Stability
TJ e TMAX, for 1000 hours
g 0.08
67 131 68 1.0
g 1.0 g 1.0
g 1.0 g 3.0
mV/mA mV/mA
g 0.1
mV/V mV/V
g 0.05
67
116
mA mA mA mA
2.0
mA mA
a 0.39
a 0.5
mA/§ C
a 1.5
a 2.0
§C
g 0.08
114 68 1.0
§C
Note 1: Unless otherwise noted, these specifications apply: b 55§ C s TJ s a 150§ C for the LM35 and LM35A; b 40§ s TJ s a 110§ C for the LM35C and LM35CA; and 0§ s TJ s a 100§ C for the LM35D. VS e a 5Vdc and ILOAD e 50 mA, in the circuit of Figure 2. These specifications also apply from a 2§ C to TMAX in the circuit of Figure 1 . Specifications in boldface apply over the full rated temperature range. Note 2: Thermal resistance of the TO-46 package is 400§ C/W, junction to ambient, and 24§ C/W junction to case. Thermal resistance of the TO-92 package is 180§ C/W junction to ambient. Thermal resistance of the small outline molded package is 220§ C/W junction to ambient. Thermal resistance of the TO-202 package is 85§ C/W junction to ambient. For additional thermal resistance information see table in the Applications section.
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Electrical Characteristics (Note 1) (Note 6)
(Continued) LM35
Parameter
Accuracy, LM35, LM35C (Note 7)
Conditions
TA e a 25§ C TA eb10§ C TA e TMAX TA e TMIN
Typical
Tested Limit (Note 4)
g 0.4
g 1.0
g 0.5 g 0.8
g 1.5
g 0.8
g 1.5
Accuracy, LM35D (Note 7)
TA e a 25§ C TA e TMAX TA e TMIN
Nonlinearity (Note 8)
TMINsTAsTMAX
g 0.3
Sensor Gain (Average Slope)
TMINsTAsTMAX
a 10.0
a 9.8, a 10.2
Load Regulation (Note 3) 0sILs1 mA
TA e a 25§ C TMINsTAsTMAX
g 0.4
g 2.0
g 0.5
Line Regulation (Note 3)
TA e a 25§ C 4VsVSs30V
g 0.02
Quiescent Current (Note 9)
VS e a 5V, a 25§ C VS e a 5V VS e a 30V, a 25§ C VS e a 30V
56 105 56.2 105.5
Change of Quiescent Current (Note 3)
4VsVSs30V, a 25§ C 4VsVSs30V
Temperature Coefficient of Quiescent Current
LM35C, LM35D Design Limit (Note 5)
Typical
Tested Limit (Note 4)
g 0.4
g 1.0
g 0.5
g 1.5
g 0.8
g 1.5
g 0.8 g 0.6
g 2.0 g 1.5
g 0.01
g 0.9
g 2.0 g 0.5
§C
a 10.0
a 9.8, a 10.2
mV/§ C
g 0.4 g 0.5
g 0.2
g 0.02
g 0.01
161
56 91 56.2 91.5
3.0
0.2 0.5
a 0.39
a 0.7
a 2.0
0.2 0.5
Minimum Temperature for Rated Accuracy
In circuit of Figure 1 , IL e 0
a 1.5
Long Term Stability
TJ e TMAX, for 1000 hours
g 0.08
80 158 82 2.0
§C §C §C §C
g 0.2
g 5.0 g 0.1
Units (Max.)
§C §C §C
g 0.9
g 0.5
Design Limit (Note 5)
g 2.0
g 2.0 g 5.0
mV/mA mV/mA
g 0.2
mV/V mV/V
g 0.1
80
141
mA mA mA mA
3.0
mA mA
a 0.39
a 0.7
mA/§ C
a 1.5
a 2.0
§C
g 0.08
138 82 2.0
§C
Note 3: Regulation is measured at constant junction temperature, using pulse testing with a low duty cycle. Changes in output due to heating effects can be computed by multiplying the internal dissipation by the thermal resistance. Note 4: Tested Limits are guaranteed and 100% tested in production. Note 5: Design Limits are guaranteed (but not 100% production tested) over the indicated temperature and supply voltage ranges. These limits are not used to calculate outgoing quality levels. Note 6: Specifications in boldface apply over the full rated temperature range. Note 7: Accuracy is defined as the error between the output voltage and 10mv/§ C times the device’s case temperature, at specified conditions of voltage, current, and temperature (expressed in § C). Note 8: Nonlinearity is defined as the deviation of the output-voltage-versus-temperature curve from the best-fit straight line, over the device’s rated temperature range. Note 9: Quiescent current is defined in the circuit of Figure 1 . Note 10: Absolute Maximum Ratings indicate limits beyond which damage to the device may occur. DC and AC electrical specifications do not apply when operating the device beyond its rated operating conditions. See Note 1. Note 11: Human body model, 100 pF discharged through a 1.5 kX resistor. Note 12: See AN-450 ‘‘Surface Mounting Methods and Their Effect on Product Reliability’’ or the section titled ‘‘Surface Mount’’ found in a current National Semiconductor Linear Data Book for other methods of soldering surface mount devices.
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Typical Performance Characteristics Thermal Resistance Junction to Air
Thermal Time Constant
Thermal Response in Still Air
Thermal Response in Stirred Oil Bath
Minimum Supply Voltage vs. Temperature
Quiescent Current vs. Temperature (In Circuit of Figure 1 .)
TL/H/5516 – 17
Quiescent Current vs. Temperature (In Circuit of Figure 2 .)
Accuracy vs. Temperature (Guaranteed)
Accuracy vs. Temperature (Guaranteed)
TL/H/5516 – 18
Noise Voltage
Start-Up Response
TL/H/5516 – 22
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Applications The TO-46 metal package can also be soldered to a metal surface or pipe without damage. Of course, in that case the Vb terminal of the circuit will be grounded to that metal. Alternatively, the LM35 can be mounted inside a sealed-end metal tube, and can then be dipped into a bath or screwed into a threaded hole in a tank. As with any IC, the LM35 and accompanying wiring and circuits must be kept insulated and dry, to avoid leakage and corrosion. This is especially true if the circuit may operate at cold temperatures where condensation can occur. Printed-circuit coatings and varnishes such as Humiseal and epoxy paints or dips are often used to insure that moisture cannot corrode the LM35 or its connections. These devices are sometimes soldered to a small lightweight heat fin, to decrease the thermal time constant and speed up the response in slowly-moving air. On the other hand, a small thermal mass may be added to the sensor, to give the steadiest reading despite small deviations in the air temperature.
The LM35 can be applied easily in the same way as other integrated-circuit temperature sensors. It can be glued or cemented to a surface and its temperature will be within about 0.01§ C of the surface temperature. This presumes that the ambient air temperature is almost the same as the surface temperature; if the air temperature were much higher or lower than the surface temperature, the actual temperature of the LM35 die would be at an intermediate temperature between the surface temperature and the air temperature. This is expecially true for the TO-92 plastic package, where the copper leads are the principal thermal path to carry heat into the device, so its temperature might be closer to the air temperature than to the surface temperature. To minimize this problem, be sure that the wiring to the LM35, as it leaves the device, is held at the same temperature as the surface of interest. The easiest way to do this is to cover up these wires with a bead of epoxy which will insure that the leads and wires are all at the same temperature as the surface, and that the LM35 die’s temperature will not be affected by the air temperature.
Temperature Rise of LM35 Due To Self-heating (Thermal Resistance)
Still air Moving air Still oil Stirred oil (Clamped to metal, Infinite heat sink)
TO-46, TO-46, TO-92, TO-92, SO-8 SO-8 TO-202 TO-202 *** no heat sink small heat fin* no heat sink small heat fin** no heat sink small heat fin** no heat sink small heat fin 100§ C/W 180§ C/W 140§ C/W 220§ C/W 110§ C/W 85§ C/W 60§ C/W 400§ C/W 40§ C/W 90§ C/W 70§ C/W 105§ C/W 90§ C/W 25§ C/W 40§ C/W 100§ C/W 40§ C/W 90§ C/W 70§ C/W 100§ C/W 30§ C/W 45§ C/W 40§ C/W 50§ C/W (24§ C/W)
(55§ C/W)
(23§ C/W)
* Wakefield type 201, or 1× disc of 0.020× sheet brass, soldered to case, or similar. ** TO-92 and SO-8 packages glued and leads soldered to 1× square of (/16× printed circuit board with 2 oz. foil or similar.
Typical Applications (Continued)
TL/H/5516 – 19
FIGURE 3. LM35 with Decoupling from Capacitive Load TL/H/5516 – 20
FIGURE 4. LM35 with R-C Damper capacitance because the capacitance forms a bypass from ground to input, not on the output. However, as with any linear circuit connected to wires in a hostile environment, its performance can be affected adversely by intense electromagnetic sources such as relays, radio transmitters, motors with arcing brushes, SCR transients, etc, as its wiring can act as a receiving antenna and its internal junctions can act as rectifiers. For best results in such cases, a bypass capacitor from VIN to ground and a series R-C damper such as 75X in series with 0.2 or 1 mF from output to ground are often useful. These are shown in Figures 13, 14, and 16.
CAPACITIVE LOADS Like most micropower circuits, the LM35 has a limited ability to drive heavy capacitive loads. The LM35 by itself is able to drive 50 pf without special precautions. If heavier loads are anticipated, it is easy to isolate or decouple the load with a resistor; see Figure 3 . Or you can improve the tolerance of capacitance with a series R-C damper from output to ground; see Figure 4 . When the LM35 is applied with a 200X load resistor as shown in Figure 5, 6, or 8, it is relatively immune to wiring
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DS1305 Serial Alarm Real-Time Clock www.maxim-ic.com
FEATURES §
§ § § § § § § § § §
PIN ASSIGNMENT
Real-time clock (RTC) counts seconds, minutes, hours, date of the month, month, day of the week, and year with leap-year compensation valid up to 2100 96-byte, battery-backed NV RAM for data storage Two time-of-day alarms, programmable on combination of seconds, minutes, hours, and day of the week Serial interface supports Motorola SPI™ (serial peripheral interface) serial data ports or standard 3-wire interface Burst mode for reading/writing successive addresses in clock/RAM Dual-power supply pins for primary and backup power supplies Optional trickle charge output to backup supply 2.0V to 5.5V operation Optional industrial temperature range: -40°C to +85°C Available in space-efficient, 20-pin TSSOP package Underwriters Laboratory (UL) recognized
1
20
VBAT
2
19
VCC1 NC
X1
3
18
PF
NC
4
17
VCCIF
X2
5
16
SD0
NC
6
15
SDI
INT0
7
14
SCLK
NC
8
13
NC
INT1
9
12
CE
GND
10
11
SERMODE
DS1305 20-Pin TSSOP (4.4mm) VCC2
1
16
VCC1
VBAT
2
15
PF VCCIF
X1
3
14
X2
4
13
SDO
NC
5
12
SDI
INT0
6
11
SCLK
INT1
7
10
CE
GND
8
9
SERMODE
DS1305 16-Pin DIP (300mil) Package dimension information can be found at: http://www.maxim-ic.com/TechSupport/DallasPackInfo.htm
TYPICAL OPERATING CIRCUIT
ORDERING INFORMATION DS1305 DS1305N DS1305E DS1305EN
VCC2
16-Pin DIP (300mil) 16-Pin DIP (Industrial) 20-Pin TSSOP (173mil) 20-Pin TSSOP (Industrial)
SPI is a trademark of Motorola, Inc.
1 of 20
061202
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DS1305
Figure 2. RTC REGISTERS AND ADDRESS MAP HEX ADDRESS READ WRITE 00H 80H 01H 81H 02H
82H
Bit7
Bit6
0 0 0
03H 04H 05H 06H
83H 84H 85H 86H
0 0 0
—
—
07H 08H
87H 88H
M M
09H
89H
M
0AH
8AH
M
—
—
0BH 0CH
8BH 8CH
M M
0DH
8DH
M
0EH 0FH 10H 11H 12–1FH 20–7FH
8EH 8FH 90H 91H 92–9FH A0–FFH
M
12 24 0 0 0
12 24 0
12 24 0
Bit5
Bit4
Bit3
Bit2
Bit1
10-SEC SEC 10-MIN MIN P 10-HR HOURS A 10 0 0 DAY 10-DATE DATE 10-MONTH MONTH 10 YEAR YEAR ALARM 0 10-SEC ALARM SEC ALARM 10-MIN ALARM MIN ALARM P A 10 HR HOUR ALARM 10 0 0 DAY ALARM ALARM 1 10-SEC ALARM SEC ALARM 10-MIN ALARM MIN ALARM P A 10 HR HOUR ALARM 10 0 0 DAY ALARM CONTROL REGISTER STATUS REGISTER TRICKLE CHARGER REGISTER RESERVED 96 BYTES USER RAM
Bit0
RANGE 00–59 00–59 01–12 + P/A 00–23 1–7 1–31 01–12 00–99 —
00–59 00–59 01–12 + P/A 00–23 01–07 —
00–59 00–59 01–12 + P/A 00–23 01–07 — — — — 00–FF
Note: Range for alarm registers does not include mask’m’ bits.
The DS1305 can be run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the 12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is the AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20 to 23 hours). The DS1305 contains two time-of-day alarms. Time-of-day Alarm 0 can be set by writing to registers 87h to 8Ah. Time-of-day Alarm 1 can be set by writing to registers 8Bh to 8Eh. The alarms can be programmed (by the INTCN bit of the control register) to operate in two different modes; each alarm can drive its own separate interrupt output or both alarms can drive a common interrupt output. Bit 7 of each of the time-of-day alarm registers are mask bits (Table 1). When all of the mask bits are logic 0, a timeof-day alarm only occurs once per week when the values stored in timekeeping registers 00h to 03h match the values stored in the time-of-day alarm registers. An alarm is generated every day when bit 7 of the day alarm register is set to a logic 1. An alarm is generated every hour when bit 7 of the day and hour alarm registers is set to a logic 1. Similarly, an alarm is generated every minute when bit 7 of the day, hour, and minute alarm registers is set to a logic 1. When bit 7 of the day, hour, minute, and seconds alarm registers is set to a logic 1, alarm occurs every second.
6 of 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DS1305
DC ELECTRICAL CHARACTERISTICS PARAMETER
SYMBOL
Input Leakage Output Leakage Logic 0 Output IOL= 1.5mA IOL = 4.0mA Logic 1 Output IOH = -0.4mA IOH = -1.0mA VCC1 Active Supply Current VCC1 Timekeeping Current (Osc on)
VCC1 Standby Current (Osc off)
VCC2 Active Supply Current VCC2 Timekeeping Current (Osc on) VCC2 Standby Current (Osc off)
VOL VOH ICC1A ICC1T ICC1S ICC2A ICC2T ICC2S IBAT IBATS
VCC Trip Point
VCCTP
Trickle Charge Diode Voltage Drop
MIN
ILI ILO
Battery Timekeeping Current Battery Standby Current
Trickle Charge Resistors
Over the operating range* TYP
-100 -1 VCC = 2.0V VCC = 5V VCCIF = 2.0V VCCIF = 5V VCC1 = 2.0V VCC1 = 5V VCC1 = 2.0V VCC1 = 5V VCC1 = 2.0V VCC1 = 5V VCC2 = 2.0V VCC2 = 5V VCC2 = 2.0V VCC2 = 5V VCC2 = 2.0V VCC2 = 5V VBAT = 3V VBAT = 3V
MAX
UNITS
+500 1 0.4 0.4
µA µA
1.6 2.4
NOTES
V V
0.425 1.28 25.3 81 25 80 0.4 1.2 0.3 1 200 200 400 200 VBAT + 200
VBAT - 50
mA
2, 8
µA
1, 8, 12
µA
6, 8, 12
mA
2, 9
µA
1, 9, 12
nA
6, 9, 12
nA nA
10, 12 10, 12
mV
R2 R3
2 4 8
kW
VTD
0.7
V
R1
*Unless otherwise specified.
CAPACITANCE PARAMETER Input Capacitance Output Capacitance Crystal Capacitance
(TA = +25°C) SYMBOL CI CO CX
CONDITION
16 of 20
TYP 10 15 6
MAX
UNITS pF pF pF
NOTES
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19-4323; Rev 11; 2/03
+5V-Powered, Multichannel RS-232 Drivers/Receivers ____________________________Features Superior to Bipolar ♦ Operate from Single +5V Power Supply (+5V and +12V—MAX231/MAX239) ♦ Low-Power Receive Mode in Shutdown (MAX223/MAX242) ♦ Meet All EIA/TIA-232E and V.28 Specifications ♦ Multiple Drivers and Receivers ♦ 3-State Driver and Receiver Outputs ♦ Open-Line Detection (MAX243)
Ordering Information
________________________Applications PART MAX220CPE MAX220CSE MAX220CWE MAX220C/D MAX220EPE MAX220ESE MAX220EWE MAX220EJE MAX220MJE
Portable Computers Low-Power Modems Interface Translation Battery-Powered RS-232 Systems Multidrop RS-232 Networks
TEMP RANGE 0°C to +70°C 0°C to +70°C 0°C to +70°C 0°C to +70°C -40°C to +85°C -40°C to +85°C -40°C to +85°C -40°C to +85°C -55°C to +125°C
PIN-PACKAGE 16 Plastic DIP 16 Narrow SO 16 Wide SO Dice* 16 Plastic DIP 16 Narrow SO 16 Wide SO 16 CERDIP 16 CERDIP
Ordering Information continued at end of data sheet. *Contact factory for dice specifications.
Selection Table Part Number MAX220 MAX222 MAX223 (MAX213) MAX225 MAX230 (MAX200) MAX231 (MAX201) MAX232 (MAX202) MAX232A MAX233 (MAX203) MAX233A MAX234 (MAX204) MAX235 (MAX205) MAX236 (MAX206) MAX237 (MAX207) MAX238 (MAX208) MAX239 (MAX209) MAX240 MAX241 (MAX211) MAX242 MAX243 MAX244 MAX245 MAX246 MAX247 MAX248 MAX249
Power Supply (V) +5 +5 +5 +5 +5 +5 and +7.5 to +13.2 +5 +5 +5 +5 +5 +5 +5 +5 +5 +5 and +7.5 to +13.2 +5 +5 +5 +5 +5 +5 +5 +5 +5 +5
No. of RS-232 Drivers/Rx 2/2 2/2 4/5 5/5 5/0 2/2
No. of Ext. Caps 4 4 4 0 4 2
Nominal Cap. Value (µF) 0.1 0.1 1.0 (0.1) — 1.0 (0.1) 1.0 (0.1)
SHDN & ThreeState No Yes Yes Yes Yes No
Rx Active in SHDN — — ✔ ✔ — —
Data Rate (kbps) 120 200 120 120 120 120
2/2 2/2 2/2 2/2 4/0 5/5 4/3 5/3 4/4 3/5
4 4 0 0 4 0 4 4 4 2
1.0 (0.1) 0.1 — — 1.0 (0.1) — 1.0 (0.1) 1.0 (0.1) 1.0 (0.1) 1.0 (0.1)
No No No No No Yes Yes No No No
— — — — — — — — — —
120 (64) 200 120 200 120 120 120 120 120 120
5/5 4/5 2/2 2/2 8/10 8/10 8/10 8/9 8/8 6/10
4 4 4 4 4 0 0 0 4 4
1.0 1.0 (0.1) 0.1 0.1 1.0 — — — 1.0 1.0
Yes Yes Yes No No Yes Yes Yes Yes Yes
— — ✔ — — ✔ ✔ ✔ ✔ ✔
120 120 200 200 120 120 120 120 120 120
Features Ultra-low-power, industry-standard pinout Low-power shutdown MAX241 and receivers active in shutdown Available in SO 5 drivers with shutdown Standard +5/+12V or battery supplies; same functions as MAX232 Industry standard Higher slew rate, small caps No external caps No external caps, high slew rate Replaces 1488 No external caps Shutdown, three state Complements IBM PC serial port Replaces 1488 and 1489 Standard +5/+12V or battery supplies; single-package solution for IBM PC serial port DIP or flatpack package Complete IBM PC serial port Separate shutdown and enable Open-line detection simplifies cabling High slew rate High slew rate, int. caps, two shutdown modes High slew rate, int. caps, three shutdown modes High slew rate, int. caps, nine operating modes High slew rate, selective half-chip enables Available in quad flatpack package
________________________________________________________________ Maxim Integrated Products
For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at 1-888-629-4642, or visit Maxim’s website at www.maxim-ic.com.
1
MAX220–MAX249
General Description The MAX220–MAX249 family of line drivers/receivers is intended for all EIA/TIA-232E and V.28/V.24 communications interfaces, particularly applications where ±12V is not available. These parts are especially useful in battery-powered systems, since their low-power shutdown mode reduces power dissipation to less than 5µW. The MAX225, MAX233, MAX235, and MAX245/MAX246/MAX247 use no external components and are recommended for applications where printed circuit board space is critical.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MAX220–MAX249
+5V-Powered, Multichannel RS-232 Drivers/Receivers ABSOLUTE MAXIMUM RATINGS—MAX220/222/232A/233A/242/243 20-Pin Plastic DIP (derate 8.00mW/°C above +70°C) ..440mW 16-Pin Narrow SO (derate 8.70mW/°C above +70°C) ...696mW 16-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW 18-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW 20-Pin Wide SO (derate 10.00mW/°C above +70°C)....800mW 20-Pin SSOP (derate 8.00mW/°C above +70°C) ..........640mW 16-Pin CERDIP (derate 10.00mW/°C above +70°C).....800mW 18-Pin CERDIP (derate 10.53mW/°C above +70°C).....842mW Operating Temperature Ranges MAX2_ _AC_ _, MAX2_ _C_ _ .............................0°C to +70°C MAX2_ _AE_ _, MAX2_ _E_ _ ..........................-40°C to +85°C MAX2_ _AM_ _, MAX2_ _M_ _ .......................-55°C to +125°C Storage Temperature Range .............................-65°C to +160°C Lead Temperature (soldering, 10s) .................................+300°C
Supply Voltage (VCC) ...............................................-0.3V to +6V Input Voltages TIN..............................................................-0.3V to (VCC - 0.3V) RIN (Except MAX220) ........................................................±30V RIN (MAX220).....................................................................±25V TOUT (Except MAX220) (Note 1) .......................................±15V TOUT (MAX220)...............................................................±13.2V Output Voltages TOUT ...................................................................................±15V ROUT .........................................................-0.3V to (VCC + 0.3V) Driver/Receiver Output Short Circuited to GND.........Continuous Continuous Power Dissipation (TA = +70°C) 16-Pin Plastic DIP (derate 10.53mW/°C above +70°C)....842mW 18-Pin Plastic DIP (derate 11.11mW/°C above +70°C)....889mW
Note 1: Input voltage measured with TOUT in high-impedance state, SHDN or VCC = 0V. Note 2: For the MAX220, V+ and V- can have a maximum magnitude of 7V, but their absolute difference cannot exceed 13V. Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.
ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243 (VCC = +5V ±10%, C1–C4 = 0.1µF‚ MAX220, C1 = 0.047µF, C2–C4 = 0.33µF, TA = TMIN to TMAX‚ unless otherwise noted.) PARAMETER
CONDITIONS
MIN
TYP
MAX
UNITS
RS-232 TRANSMITTERS Output Voltage Swing
All transmitter outputs loaded with 3kΩ to GND
±5
Input Logic Threshold Low Input Logic Threshold High Logic Pull-Up/lnput Current Output Leakage Current
±8 1.4
All devices except MAX220 MAX220: VCC = 5.0V
2
V 0.8
1.4
V
2.4
All except MAX220, normal operation
5
40
SHDN = 0V, MAX222/242, shutdown, MAX220
±0.01
±1
VCC = 5.5V, SHDN = 0V, VOUT = ±15V, MAX222/242
±0.01
±10
VCC = SHDN = 0V, VOUT = ±15V
±0.01
±10
200
116
Data Rate
V
µA µA kbps
Transmitter Output Resistance
VCC = V+ = V- = 0V, VOUT = ±2V
300
10M
Ω
Output Short-Circuit Current
VOUT = 0V
±7
±22
mA
RS-232 RECEIVERS RS-232 Input Voltage Operating Range
±30
RS-232 Input Threshold Low
VCC = 5V
RS-232 Input Threshold High
VCC = 5V
RS-232 Input Hysteresis
All except MAX243 R2IN
0.8
MAX243 R2IN (Note 2)
-3 1.8
2.4
MAX243 R2IN (Note 2)
-0.5
-0.1
0.5
1
RS-232 Input Resistance
2
1 3
TTL/CMOS Output Voltage High
IOUT = -1.0mA
TTL/CMOS Output Short-Circuit Current
0.2
MAX243 IOUT = 3.2mA
V
All except MAX243 R2IN
All except MAX243, VCC = 5V, no hysteresis in shdn.
TTL/CMOS Output Voltage Low
1.3
V
V V
5
7
kΩ
0.2
0.4
V
3.5
VCC - 0.2
Sourcing VOUT = GND
-2
-10
Shrinking VOUT = VCC
10
30
_______________________________________________________________________________________
V mA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
+5V-Powered, Multichannel RS-232 Drivers/Receivers (VCC = +5V ±10%, C1–C4 = 0.1µF‚ MAX220, C1 = 0.047µF, C2–C4 = 0.33µF, TA = TMIN to TMAX‚ unless otherwise noted.) PARAMETER
CONDITIONS
TTL/CMOS Output Leakage Current
SHDN = VCC or EN = VCC (SHDN = 0V for MAX222), 0V ≤ VOUT ≤ VCC
EN Input Threshold Low
MAX242
EN Input Threshold High
MAX242
2.0
Operating Supply Voltage
3kΩ load both inputs
MAX220
UNITS
±0.05
±10
µA
1.4
0.8
V
1.4 5.5
MAX222/232A/233A/242/243
4
10
MAX220
12
MAX222/232A/233A/242/243
15
TA = +25°C
0.1
10
TA = 0°C to +70°C
2
50
TA = -40°C to +85°C
2
50
TA = -55°C to +125°C
35
100
SHDN Input Leakage Current
MAX222/242
SHDN Threshold Low
MAX222/242
SHDN Threshold High
MAX222/242 CL = 50pF to 2500pF, MAX222/232A/233A/242/243 RL = 3kΩ to 7kΩ, VCC = 5V, TA = +25°C, measured from +3V MAX220 to -3V or -3V to +3V MAX222/232A/233A/242/243 tPHLT MAX220 tPLHT
V 2
MAX222/242
Transmitter Propagation Delay TLL to RS-232 (Normal Operation), Figure 1
MAX
0.5
Shutdown Supply Current
Transition Slew Rate
TYP
4.5 No load
VCC Supply Current (SHDN = VCC), Figures 5, 6, 11, 19
MIN
1.4
MAX222/232A/233A/242/243
mA
µA
±1
µA
0.8
V
2.0
1.4
V
6
12
30
1.5
3
30
1.3
3.5
V/µs
4
10
1.5
3.5
µs
5
10
MAX222/232A/233A/242/243
0.5
1
MAX220
0.6
3
MAX222/232A/233A/242/243
0.6
1
MAX220
0.8
3
tPHLS
MAX242
0.5
10
tPLHS
MAX242
2.5
10
Receiver-Output Enable Time, Figure 3 tER
MAX242
125
500
ns
Receiver-Output Disable Time, Figure 3 tDR
MAX242
160
500
ns
Transmitter-Output Enable Time (SHDN Goes High), Figure 4
tET
MAX222/242, 0.1µF caps (includes charge-pump start-up)
250
µs
Transmitter-Output Disable Time (SHDN Goes Low), Figure 4
tDT
MAX222/242, 0.1µF caps
600
ns
Transmitter + to - Propagation Delay Difference (Normal Operation)
tPHLT - tPLHT
MAX222/232A/233A/242/243
300
MAX220
2000
Receiver + to - Propagation Delay Difference (Normal Operation)
tPHLR - tPLHR
MAX222/232A/233A/242/243
100
MAX220
225
Receiver Propagation Delay RS-232 to TLL (Normal Operation), Figure 2 Receiver Propagation Delay RS-232 to TLL (Shutdown), Figure 2
tPHLR tPLHR
MAX220
V
µs
µs
ns ns
Note 3: MAX243 R2OUT is guaranteed to be low when R2IN is ≥ 0V or is floating. _______________________________________________________________________________________
3
MAX220–MAX249
ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243 (continued)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
+5V-Powered, Multichannel RS-232 Drivers/Receivers MAX220–MAX249
+5V INPUT
C3
TOP VIEW C5 C1+ 1
16 VCC
V+ 2
15 GND
C1- 3
14 T1OUT
MAX220 MAX232 MAX232A
C2+ 4 C2- 5
1 C1 C2
13 R1IN
11 T1IN
T2OUT 7
TTL/CMOS INPUTS
10 T2IN 9
R2IN 8
R2OUT
DIP/SO
DEVICE MAX220 MAX232 MAX232A
-10V C4
T1OUT 14 RS-232 OUTPUTS
400kΩ 10 T2IN
T2OUT 7 R1IN 13
TTL/CMOS OUTPUTS
C5 4.7 1.0 0.1
6
V-
+5V
12 R1OUT
CAPACITANCE (µF) C1 C2 C3 C4 4.7 4.7 10 10 1.0 1.0 1.0 1.0 0.1 0.1 0.1 0.1
V+ 2 +10V
3 C14 C2+ +10V TO -10V 5 C2- VOLTAGE INVERTER +5V 400kΩ 11 T1IN
12 R1OUT
V- 6
16 VCC +5V TO +10V VOLTAGE DOUBLER
C1+
RS-232 INPUTS
5kΩ R2IN 8
9 R2OUT
5kΩ GND 15
Figure 5. MAX220/MAX232/MAX232A Pin Configuration and Typical Operating Circuit +5V INPUT C3 ALL CAPACITORS = 0.1µF
TOP VIEW C5
17 VCC 3 +10V C1+ +5V TO +10V V+ 4 C1- VOLTAGE DOUBLER 5 C2+ 7 -10V +10V TO -10V V6 C2C4 VOLTAGE INVERTER 2
(N.C.) EN 1 (N.C.) EN 1
C1+ 2
19 VCC
C1+ 2
17 VCC
V+ 3
18 GND
V+ 3
16 GND
C1- 4
17 T1OUT
C1- 4
15 T1OUT
C2+ 5
14 R1IN
C2- 6
C2+ 5 C2- 6
18 SHDN
MAX222 MAX242
13 R1OUT
V- 7
12 T1IN
T2OUT 8
11 T2IN
R2IN 9
10 R2OUT
DIP/SO
MAX222 MAX242
C2
+5V 400kΩ 12 T1IN
16 N.C. 15 R1IN
V- 7 T2OUT
C1
20 SHDN
14 R1OUT
8
13 N.C.
R2IN 9
12 T1IN
R2OUT 10
11 T2IN
TTL/CMOS INPUTS
(EXCEPT MAX220) T1OUT 15
+5V 400kΩ 11 T2IN
T2OUT 8
13 R1OUT
R1IN 14
TTL/CMOS OUTPUTS
SSOP
RS-232 INPUTS
5kΩ R2IN 9
10 R2OUT 1 (N.C.) EN
( ) ARE FOR MAX222 ONLY. PIN NUMBERS IN TYPICAL OPERATING CIRCUIT ARE FOR DIP/SO PACKAGES ONLY.
RS-232 OUTPUTS
(EXCEPT MAX220)
5kΩ SHDN
GND
18
16
Figure 6. MAX222/MAX242 Pin Configurations and Typical Operating Circuit ______________________________________________________________________________________
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
+5V-Powered, Multichannel RS-232 Drivers/Receivers
MAX222CPN
PART
TEMP RANGE 0°C to +70°C
18 Plastic DIP
PIN-PACKAGE
PART MAX232AC/D
TEMP RANGE 0°C to +70°C
PIN-PACKAGE Dice*
MAX222CWN
0°C to +70°C
18 Wide SO
MAX232AEPE
-40°C to +85°C
16 Plastic DIP
MAX222C/D
0°C to +70°C
Dice*
MAX232AESE
-40°C to +85°C
16 Narrow SO
MAX222EPN
-40°C to +85°C
18 Plastic DIP
MAX232AEWE
-40°C to +85°C
16 Wide SO
MAX222EWN
-40°C to +85°C
18 Wide SO
MAX232AEJE
-40°C to +85°C
16 CERDIP
MAX222EJN
-40°C to +85°C
18 CERDIP
MAX232AMJE
-55°C to +125°C
16 CERDIP
MAX222MJN
-55°C to +125°C
18 CERDIP
MAX232AMLP
-55°C to +125°C
20 LCC
MAX223CAI
0°C to +70°C
28 SSOP
MAX233CPP
0°C to +70°C
20 Plastic DIP
MAX223CWI
0°C to +70°C
28 Wide SO
MAX233EPP
-40°C to +85°C
20 Plastic DIP
MAX223C/D
0°C to +70°C
Dice*
MAX233ACPP
0°C to +70°C
20 Plastic DIP
MAX223EAI
-40°C to +85°C
28 SSOP
MAX233ACWP
0°C to +70°C
20 Wide SO
MAX223EWI
-40°C to +85°C
28 Wide SO
MAX233AEPP
-40°C to +85°C
20 Plastic DIP
MAX225CWI
0°C to +70°C
28 Wide SO
MAX233AEWP
-40°C to +85°C
20 Wide SO
MAX225EWI
-40°C to +85°C
28 Wide SO
MAX234CPE
0°C to +70°C
16 Plastic DIP
MAX230CPP
0°C to +70°C
20 Plastic DIP
MAX234CWE
0°C to +70°C
16 Wide SO
MAX230CWP
0°C to +70°C
20 Wide SO
MAX234C/D
0°C to +70°C
Dice*
MAX230C/D
0°C to +70°C
Dice*
MAX234EPE
-40°C to +85°C
16 Plastic DIP
MAX230EPP
-40°C to +85°C
20 Plastic DIP
MAX234EWE
-40°C to +85°C
16 Wide SO
-40°C to +85°C
16 CERDIP 16 CERDIP
MAX230EWP
-40°C to +85°C
20 Wide SO
MAX234EJE
MAX230EJP
-40°C to +85°C
20 CERDIP
MAX234MJE
-55°C to +125°C
MAX230MJP
-55°C to +125°C
20 CERDIP
MAX235CPG
0°C to +70°C
24 Wide Plastic DIP
MAX231CPD
0°C to +70°C
14 Plastic DIP
MAX235EPG
-40°C to +85°C
24 Wide Plastic DIP
MAX231CWE
0°C to +70°C
16 Wide SO
MAX235EDG
-40°C to +85°C
24 Ceramic SB
0°C to +70°C
14 CERDIP
MAX235MDG
-55°C to +125°C
24 Ceramic SB
MAX231C/D
0°C to +70°C
Dice*
MAX236CNG
0°C to +70°C
24 Narrow Plastic DIP
MAX231EPD
-40°C to +85°C
14 Plastic DIP
MAX236CWG
0°C to +70°C
24 Wide SO
MAX231EWE
-40°C to +85°C
16 Wide SO
MAX236C/D
0°C to +70°C
Dice*
MAX231EJD
-40°C to +85°C
14 CERDIP
MAX236ENG
-40°C to +85°C
24 Narrow Plastic DIP
14 CERDIP
MAX236EWG
-40°C to +85°C
24 Wide SO
MAX231CJD
MAX231MJD
-55°C to +125°C
MAX232CPE
0°C to +70°C
16 Plastic DIP
MAX236ERG
-40°C to +85°C
24 Narrow CERDIP
MAX232CSE
0°C to +70°C
16 Narrow SO
MAX236MRG
-55°C to +125°C
24 Narrow CERDIP
MAX232CWE
0°C to +70°C
16 Wide SO
MAX237CNG
0°C to +70°C
24 Narrow Plastic DIP
MAX232C/D
0°C to +70°C
Dice*
MAX237CWG
0°C to +70°C
24 Wide SO
MAX232EPE
-40°C to +85°C
16 Plastic DIP
MAX237C/D
0°C to +70°C
Dice*
MAX232ESE
-40°C to +85°C
16 Narrow SO
MAX237ENG
-40°C to +85°C
24 Narrow Plastic DIP
MAX232EWE
-40°C to +85°C
16 Wide SO
MAX237EWG
-40°C to +85°C
24 Wide SO
MAX232EJE
-40°C to +85°C
16 CERDIP
MAX237ERG
-40°C to +85°C
24 Narrow CERDIP
MAX232MJE
-55°C to +125°C
16 CERDIP
MAX237MRG
-55°C to +125°C
24 Narrow CERDIP
MAX232MLP
-55°C to +125°C
20 LCC
MAX238CNG
0°C to +70°C
24 Narrow Plastic DIP
MAX232ACPE
0°C to +70°C
16 Plastic DIP
MAX238CWG
0°C to +70°C
24 Wide SO
MAX232ACSE
0°C to +70°C
16 Narrow SO
MAX238C/D
0°C to +70°C
Dice*
MAX232ACWE
0°C to +70°C
16 Wide SO
MAX238ENG
-40°C to +85°C
24 Narrow Plastic DIP
* Contact factory for dice specifications. ______________________________________________________________________________________
35
MAX220–MAX249
___________________________________________Ordering Information (continued)