stasiun cuaca mini - core.ac.uk · 7. bapak petrus setyo prabowo, s.t., yang selalu menghibur dan...
TRANSCRIPT
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 : Stasiun Cuaca Mini Nama Mahasiswa : Y.S. Soefian Nur Hidayat No. Mahasiswa : 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 : Mini Weather Station Student Name : Y.S. Soefian Nur Hidayat Student Number : 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 data-
data 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
A. Wadah penampung
B. Wadah penampung
C. Magnet
D. Reed Switch
2.2. 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 = Led
Led
IV -Vcc ........................................................................... (2.1.a)
-Vcc + Ic. Rc + VCE = 0
Rc = C
CE
IV -Vcc .............................................................................. (2.1.b)
2.3. 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 = B
BE
IVVb − ............................................................................... (2.2.a)
VCC – IC. RC – VCE = 0
RC = C
CECC
IVV − ............................................................................. (2.2.b)
2.4. 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 ( 0INT ) = pin 0INT memiliki keluaran yang aktif rendah
yang dapat digunakan sebagai interupsi bagi prosesor. Pin ini membutuhkan
resistor pullup eksternal.
12. Interrupt 1 Output ( 1INT ) = pin 1INT 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 masing-
masing 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 masing-
masing 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 enable-
nya 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:
s 11,25 MHz4
siklus 3MHz/816
ADCK siklus 21 maksimum konversiWaku μ=+=bus
Jumlah siklus bus = 11,25µs x 4 MHz = 45 siklus
Resolusi ADC = n
DD
2V ; n = Jumlah bit (8/10) ................................... (2.3.a.)
Resolusi ADC terhadap Inputnya = Inputnya Resolusi
ADC Resolusi .................. (2.3.b.)
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
29
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. Proses
pengiriman dan pengambilan data RTC akan diatur oleh mikrokontroler.
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/P
oPC. Tegangan
keluaran LM35 akan dihubungkan dengan pin PTA4 (AD2) pada mikrokontroler. VCC
PTA4
U4
LM35
1 2
3
VS+ VOUT
GN
D
C81uF
R7150
R8150
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 = Ω=+
=+
75150150150 x 150
R8R7R8x R7
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:
Resolusi ADC = mV 8828125,402415V
2V
10
DD== ≈ 5 mV
Resolusi ADC terhadap LM35 = ComV/01mV 4,8828125
LM35ResolusiADC Resolusi
=
= 0,48828125 P
oPC ≈ 0,5 P
OPC
Misal suhu yang terukur pada LM35 = 25 P
oPC, maka data yang akan diterima di
dalam register mikrokontroler adalah : 32H 50C 0,5
C 25o
o==
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 cmP
2P. Panjang pipa dan besar kemiringan corong masukan tidak
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 cmP
2P. Pipa keluaran air
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 IBLed B = 10 mA; VBLed B = 1,4 V karena berbahan
silikon dan I BC B = 1 mA; VBCEB = 2,5 V, maka untuk mendapatkan nilai RB2B dan RB3 Bdapat
dilakukan perhitungan dengan mengacu pada rumus 2.1.a dan 2.1.b:
-Vcc + IBLed B. RB3 B + VBLed B = 0 ; rumus 2.1.a
-Vcc + Ic. RB4 B + VBCEB = 0 ; rumus 2.1.b
RB2 B= Led
Led
IV -Vcc RB3 B=
C
CE
IV -Vcc
RB2 B= Ω=−
36010.10
1.4- 53
RB3 B= Ω 500.210.1
2,5- 53=
−
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Dari hasil perhitungan nilai hambatan yang diperoleh adalah RB2 B = 360 Ω dan
RB3 B = 2k5, namun nilai hambatan tersebut tidak terdapat dipasaran, sehingga pada
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 IBC B = 0,6 mA; VBceB(sat) = 6 V, maka Untuk
menentukan nilai RB5 B dan RB6 Buntuk rangkaian transistor sebagai saklar, mengacu pada
rumus 2.2.a dan 2.2.b:
RB5 B= Ic
satVceVcc )(− ; rumus 2.2.a
RB6 B = Ib
VbeVcc − ; rumus 2.2.b
RB5 B = mA
VV6,0
612 − = 10 kΩ ; RB6 B = mA
VV4,0
7,012 − = 28.250 Ω
Dari hasil perhitungan nilai hambatan yang diperoleh adalah RB5 B = 10 KΩ dan
RB6 B= 28.250 Ω. Karena di pasaran tidak terdapat nilai RB6 B= 28.250Ω, maka dipilih nilai
yang paling mendekati yaitu 27 kΩ.
VCC=5V VCC=12V
VCC=5V
IRQ
LED
PHOTO NPN
1
3 R627k
R22k2
R3330
R52k2
2N2222A3
21
D1LED
R4330
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 0INT dihubungkan dengan mikrokontroler pin PTA3/KBI3. Pin ini akan
mengeluarkan logika rendah dan digunakan sebagai sumber interupsi
keyboard. Resistor pullup dibutuhkan pada pin 0INT , jika diharapkan arus
yang dikonsumsi mikrokontroler pada setiap pin maksimal 0,15 mA pada VBCCB
= 5 V, maka perhitungan Rpullup adalah :
Ω==== k 33 Ω .00033mA 0,15
5VI
VccR pullup
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
VCC = 5 V
U1
MC68HC908QB8
1514
1211
8
Ptb0/sck/AD4Ptb1/mosi/AD5
Pta1/tch1/AD1Ptb2/miso/AD6
Pta3/kbi3/RST
---
3V
BATTERY
R133k
C3100n
U2
DS
1305
67
8
13
15
3
4
9
10
11
12
2
1416
1
INT0INT1
GN
D
SDO
PF
X1
X2
SERMODE
CE
SCLK
SDI
VBAT
VC
CIF
VC
C1
VCC2Y1 32,768 kHz
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 T1BINB dan T2BINB. Pada
perancangan dipilih T2BINB sebagai input tegangan TTL dari mikrokontroler, yaitu data
yang akan dikirim. Sedangkan output TTL pada MAX232 juga ada dua saluran, yaitu
R1Bout B dan R2BoutB . Pada perancangan, dipilih R2 BoutB sebagai jalur data yang diterima oleh
mikrokontroler. Sedangkan input dan output yang terhubung dengan port serial
dihubungkan dengan pin T2BoutB dan R2Bout B. Ground rangkaian dengan ground pada
bagian komputer dihubungkan, agar referensi tegangan antar kedua perangkat sama
sehingga data dapat diterima dan dikirim dengan acuan yang sama. Gambar 3-6
menunjukkan konfigurasi MAX232 dengan DB9 dan I/O Mikrokontroler [10].
VCC = 5 V
C71uF
C41uF
C51uF
P1
CONNECTOR DB9
594837261U3
MAX232
138
1110
134526
129147
1615
R1INR2INT1INT2IN
C+C1-C2+C2-V+V-
R1OUTR2OUTT1OUTT2OUT
VCC
GN
D
C61uF
PTB4/Tx
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. Masing-
masing kapasitor digunakan sebagai berikut:
1. CB5 B+ sebagai kapasitor “+” internal voltage doubler.
2. CB5 B sebagai kapasitor “-” internal voltage doubler.
3. CB6 B+ sebagai kapasitor “+” internal voltage doubler.
4. CB6 B sebagai kapasitor “-” internal voltage doubler.
Nilai-nilai kapasitor yang digunakan sesuai dengan nilai-nilai yang tertera
pada datasheet MAX232. Bila nilai CB5 B dan CB6 B dinaikkan, maka akan mengurangi nilai
impedansi input rangkaian voltage doubler dan inverter. Bila nilai CB4 B dan CB7B
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 masing-
masing 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 0INT ), 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 0INT 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, tombol-
tombol 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 masing-
masing, 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
(Date)
Start Rain
(Time)
Stop Rain
(Date)
Stop Rain
(Time)
Rainfall Result
(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
45
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 cmP
2P Auffangflache DIN 58667B untuk curah hujan dan
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.
Gambar 4-1 Tampilan Luar Perangkat Keras Stasiun Cuaca Mini
Corong Masukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
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 0INT . 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 ...
Wadah Penampung
Lubang Pembuangan
Rangkaian Supply
Pipa Masukan
Rangkain Stasiun Cuaca Mini
Rangkaian Sensor Optis
B A
Pengatur (Baut) Wadah Penampung
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.
Gambar 4-3 Pengujian Wadah Penampung
Tabel 4-2 Pengujian Wadah Penampung
Kondisi Wadah Penampung Jumlah Air (mm)
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
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
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
Baut Wadah Penampung
Kenaikan 0,2 mm
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
Jumlah Curah Hujan (mm) Percobaan ke-n
Gelas Ukur (GU) Visual Basic (VB)
2,4 2
2,4 2 1
2,4 2
5 5
5 5 2
5 5
7,6 7
7,6 7 3
7,6 7
10 10 4
10 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
10 10
15,8 15
15,8 15 5
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 P
oPC dan Visual Basic
(VB) = 30P
oPC dapat diperoleh nilai prosentase galat suhu udara dengan perhitungan
seperti di bawah ini.
%7.1%695.1%1005,29
5,2930%100T
TVBudarasuhu galat % ≅=×−
=×−
=
Tabel 4-5 Pengamatan Data Suhu Udara
Suhu Udara ( P
oPC)
Waktu Suhu Udara Visual Basic (VB) Termometer (T)
Galat (%)
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
VCC = 5 V VCC = 5 V
VCC = 5 VVCC = 5 V
VCC = 12 V
R22k2
R3330
U1
MC68HC908QB8
1514
1312
1110
9
23
45
67
16
8
1
Ptb0/sck/AD4Ptb1/mosi/AD5
Pta0/tch0/AD0Pta1/tch1/AD1
Ptb2/miso/AD6Ptb3/ss/AD7
Pta2/kbi2/IRQ
Ptb7/tch3Ptb6/tch2
Pta5/ad3/osc1Pta4/ad2/osc2
Ptb5/ad9/TxPtb4/ad8/Rx
VSS
Pta3/kbi3/RST
VDD
C61uF
C71uF
D2
LED
R8330
---
3V
BATTERY
C1 4u7
C2 100n
R133k
C3100n
U4
LM35
1 2
3
VS+ VOUT
GN
D
Q12N2222A
32
1
C41uF
D1LED
R4330
C51uF
P1
CONNECTOR DB9
594837261U3
MAX232
138
1110
134526
129147
1615
R1INR2INT1INT2IN
C+C1-C2+C2-V+V-
R1OUTR2OUTT1OUTT2OUT
VC
CG
ND
R52k2
U2
DS
1305
67
8
13
15
3
4
9
10
11
12
2
1416
1
INT0INT1
GN
D
SDO
PF
X1
X2
SERMODE
CE
SCLK
SDI
VBAT
VCC
IF
VC
C1
VCC2
R627k
J4
Tes11
OPT
OC
OU
PLER
Y1 32,768 kHz
+
-
U5
LM741
3
26
7145
R7150
R6150
C81uF
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) Start Rain
(Time) Stop Rain
(Date) Stop Rain
(Time) Rainfall Result
(mm) 18-09-2007 10:30 18-09-2007 10:32 28 18-09-2007 10:44 18-09-2007 10:46 137 18-09-2007 10:46 18-09-2007 10:49 72 18-09-2007 11:01 18-09-2007 11:03 31 18-09-2007 11:07 18-09-2007 11:08 23 18-09-2007 11:16 18-09-2007 11:18 24 18-09-2007 11:18 18-09-2007 11:20 53 18-09-2007 11:22 18-09-2007 11:23 1 18-09-2007 11:24 18-09-2007 11:25 47 18-09-2007 12:10 18-09-2007 12:12 4 18-09-2007 12:12 18-09-2007 12:14 9 18-09-2007 12:17 18-09-2007 12:19 11 18-09-2007 12:23 18-09-2007 12:25 16 18-09-2007 12:39 18-09-2007 12:45 29 18-09-2007 13:57 18-09-2007 13:59 5 19-09-2007 10:06 19-09-2007 10:08 5 19-09-2007 10:31 19-09-2007 10:36 71 19-09-2007 11:23 19-09-2007 11:24 5 19-09-2007 11:26 19-09-2007 11:28 3 12-09-2007 00:18 12-09-2007 00:20 5 12-09-2007 00:23 12-09-2007 00:25 5 12-09-2007 00:34 12-09-2007 00:36 5 12-09-2007 00:40 12-09-2007 00:43 10 12-09-2007 00:46 12-09-2007 00:49 10 12-09-2007 01:04 12-09-2007 01:08 10 12-09-2007 01:24 12-09-2007 01:29 15 12-09-2007 01:47 12-09-2007 01:51 15 12-09-2007 01:52 12-09-2007 01:55 15 12-09-2007 09:23 12-09-2007 09:25 20 12-09-2007 09:26 12-09-2007 09:31 20 12-09-2007 09:43 12-09-2007 09:47 20 12-09-2007 09:57 12-09-2007 10:04 25 12-09-2007 10:04 12-09-2007 10:11 25 12-09-2007 10:12 12-09-2007 10:19 25 12-09-2007 16:50 12-09-2007 16:52 5 12-09-2007 22:36 12-09-2007 22:38 2 12-09-2007 22:53 12-09-2007 22:54 2 12-09-2007 23:03 12-09-2007 23:05 2 12-09-2007 23:08 12-09-2007 23:09 7 12-09-2007 23:11 12-09-2007 23:13 7 12-09-2007 23:17 12-09-2007 23:18 7 12-09-2007 23:23 12-09-2007 23:25 3 12-09-2007 23:37 12-09-2007 23:39 9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Rainfall Start Rain
(Date) Start Rain
(Time) Stop Rain
(Date) Stop Rain
(Time) Rainfall Result
(mm) 13-09-2007 10:10 13-09-2007 10:12 18 13-09-2007 20:57 13-09-2007 20:59 10 14-09-2007 09:32 14-09-2007 09:34 1 15-09-2007 08:38 15-09-2007 08:40 31 15-09-2007 17:36 15-09-2007 17:38 6 15-09-2007 17:38 15-09-2007 17:40 5 18-09-2007 09:23 18-09-2007 09:25 16 18-09-2007 09:27 18-09-2007 09:29 43 18-09-2007 09:29 18-09-2007 09:31 12 18-09-2007 09:31 18-09-2007 09:33 51 18-09-2007 09:35 18-09-2007 09:37 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) Air Temperature Measuring (Celcius) 11-09-2007 13:28 30 11-09-2007 13:31 30 11-09-2007 14:25 30 11-09-2007 14:28 30 11-09-2007 14:31 30 11-09-2007 14:34 30 11-09-2007 14:37 30 11-09-2007 14:40 30 11-09-2007 14:43 30 11-09-2007 14:46 30 11-09-2007 14:49 30 11-09-2007 14:52 30 11-09-2007 14:55 30 11-09-2007 14:58 30 11-09-2007 15:01 30 11-09-2007 15:04 30 11-09-2007 15:07 30 11-09-2007 15:10 30 11-09-2007 15:13 30 11-09-2007 15:16 30 11-09-2007 15:19 30 11-09-2007 15:22 30 11-09-2007 15:25 30 11-09-2007 15:28 30 11-09-2007 15:31 30 11-09-2007 15:34 30 11-09-2007 15:37 30 11-09-2007 15:40 30 11-09-2007 15:43 30 11-09-2007 15:46 30 11-09-2007 15:49 30 11-09-2007 15:52 30 11-09-2007 15:55 30 11-09-2007 15:58 30 11-09-2007 16:01 30 11-09-2007 16:04 30 11-09-2007 16:07 30 11-09-2007 16:10 30 11-09-2007 16:13 30 11-09-2007 16:16 30 11-09-2007 16:19 30 11-09-2007 16:22 30 11-09-2007 16:25 30 11-09-2007 16:28 30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
AirTemperature Temperature (Date) Temperature (Time) Air Temperature Measuring (Celcius) 11-09-2007 16:31 30 11-09-2007 16:34 30 11-09-2007 16:37 30 11-09-2007 16:40 30 11-09-2007 16:43 29 11-09-2007 16:46 30 11-09-2007 16:49 30 11-09-2007 16:52 30 11-09-2007 16:55 30 11-09-2007 16:58 30 11-09-2007 17:01 29 11-09-2007 17:04 29 11-09-2007 17:07 29 11-09-2007 17:10 29 11-09-2007 17:13 29 11-09-2007 17:16 29 11-09-2007 17:19 29 11-09-2007 17:22 28 11-09-2007 17:38 29 11-09-2007 21:44 26 11-09-2007 21:47 27 11-09-2007 21:53 26 11-09-2007 21:56 26 11-09-2007 21:59 26 11-09-2007 22:02 26 12-09-2007 00:18 26 12-09-2007 00:21 26 12-09-2007 00:24 26 12-09-2007 00:27 26 12-09-2007 00:30 26 12-09-2007 00:33 26 12-09-2007 00:39 26 12-09-2007 00:42 26 12-09-2007 00:45 26 12-09-2007 00:48 26 12-09-2007 00:51 26 12-09-2007 00:54 26 12-09-2007 00:57 26 12-09-2007 01:00 25 12-09-2007 01:03 25 12-09-2007 01:06 26 12-09-2007 01:09 26 12-09-2007 01:12 26 12-09-2007 01:15 26 12-09-2007 01:18 26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
AirTemperature Temperature (Date) Temperature (Time) Air Temperature Measuring (Celcius) 12-09-2007 01:21 26 12-09-2007 01:24 26 12-09-2007 01:27 26 12-09-2007 01:30 26 12-09-2007 01:33 26 12-09-2007 01:36 26 12-09-2007 01:39 25 12-09-2007 01:45 26 12-09-2007 01:48 26 12-09-2007 01:54 26 12-09-2007 02:00 26 12-09-2007 02:03 27 12-09-2007 09:17 26 12-09-2007 09:20 27 12-09-2007 09:26 28 12-09-2007 09:29 28 12-09-2007 09:32 28 12-09-2007 09:35 28 12-09-2007 09:38 28 12-09-2007 09:41 28 12-09-2007 09:44 28 12-09-2007 09:50 28 12-09-2007 09:53 28 12-09-2007 09:56 28 12-09-2007 09:59 28 12-09-2007 10:02 29 12-09-2007 10:05 28 12-09-2007 10:08 28 12-09-2007 10:14 28 12-09-2007 10:17 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 61 Ibuf rmb 1 ; Index pointer to received data fromPC 0043 62 BinH rmb 1 ; High Nibble binary data 0044 63 BinL rmb 1 ; Low Nibble binary data 0045 64 BCD rmb 1 ; Pack BCD data 0046 65 PCSecH rmb 1 ; High byte Second data from PC 0047 66 PCSecL rmb 1 ; Low byte Second data from PC 0048 67 PCMinH rmb 1 ; High byte Minute data from PC 0049 68 PCMinL rmb 1 ; Low byte Minute data from PC 004A 69 PCHoursH rmb 1 ; High byte Hours data from PC 004B 70 PCHoursL rmb 1 ; Low byte Hours data from PC 004C 71 PCDayH rmb 1 ; High byte Day data from PC 004D 72 PCDayL rmb 1 ; Low byte Day data from PC 004E 73 PCDateH rmb 1 ; High byte Date data from PC 004F 74 PCDateL rmb 1 ; Low byte Date data from PC 0050 75 PCMonthH rmb 1 ; High byte Month data from PC 0051 76 PCMonthL rmb 1 ; Low byte Month data from PC 0052 77 PCYearH rmb 1 ; High byte Year data from PC 0053 78 PCYearL rmb 2 ; Low byte Year data from PC 0055 79 SetSec rmb 1 ; Second data to set RTC 0056 80 SetMin rmb 1 ; Minute data to set RTC 0057 81 SetHours rmb 1 ; Hours data to set RTC 0058 82 SetDay rmb 1 ; Day data to set RTC 0059 83 SetDate rmb 1 ; Date data to set RTC 005A 84 SetMonth rmb 1 ; Month data to set RTC 005B 85 SetYear rmb 1 ; Year data to set RTC 005C 86 TimeBCD rmb 1 ; Register temp to get time from RTC 005D 87 SecBCD rmb 1 ; Register temporary second 005E 88 MinBCD rmb 1 ; Register temporary minute 005F 89 HoursBCD rmb 1 ; Register temporary hours 0060 90 DayBCD rmb 1 ; Register temporary day 0061 91 DateBCD rmb 1 ; Register temporary date 0062 92 MonthBCD rmb 1 ; Register temporary month 0063 93 YearBCD rmb 1 ; Register temporary year 0064 94 MinuteH rmb 1 ; High Nibble Minute dt for temperature 0065 95 MinuteL rmb 1 ; Low Nibble Minute dt for temperature 0066 96 HoursH rmb 1 ; High Nibble Hours dt for temperature 0067 97 HoursL rmb 1 ; Low Nibble Hours data for temperature 0068 98 DateH rmb 1 ; High Nibble Date data for temperature 0069 99 DateL rmb 1 ; Low Nibble Date data for temperature 006A 100 MonthH rmb 1 ; High Nibble Month dt for temperature 006B 101 MonthL rmb 1 ; Low Nibble Month data for temperature 006C 102 Temperature2 rmb 1 ;\ 006D 103 Temperature1 rmb 1 ; - Temperature Dt (Desimal --> ; Temperature2, ...0) 006E 104 Temperature0 rmb 1 ;/ 006F 105 RainMinH rmb 1 ; High Nibble Minute data for ; start rain time 0070 106 RainMinL rmb 1 ; Low Nibble Minute data for ; start rain time 0071 107 RainHrsH rmb 1 ; High Nibble Hours data for ; start rain time 0072 108 RainHrsL rmb 1 ; Low Nibble Hours data for start ; rain time 0073 109 RainDtH rmb 1 ; High Nibble Date data for start ; rain time 0074 110 RainDtL rmb 1 ; Low Nibble Date data for start ; rain time 0075 111 RainMthH rmb 1 ; High Nibble Month data for ; start rain time 0076 112 RainMthL rmb 1 ; Low Nibble Month data for start ; rain time
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
0077 113 StopRainMinH rmb 1 ; High Nibble Minute data for ; stop rain time 0078 114 StopRainMinL rmb 1 ; Low Nibble Minute data for stop ; rain time 0079 115 StopRainHrsH rmb 1 ; High Nibble Hours data for stop ; rain time 007A 116 StopRainHrsL rmb 1 ; Low Nibble Hours data for stop ; rain time 007B 117 StopRainDtH rmb 1 ; High Nibble Date data for stop ; rain time 007C 118 StopRainDtL rmb 1 ; Low Nibble Date data for stop ; rain time 007D 119 StopRainMthH rmb 1 ; High Nibble Month data for stop ; rain time 007E 120 StopRainMthL rmb 1 ; Low Nibble Month data for stop ; rain time 007F 121 MonthTemp rmb 1 ; Month Temporary register 0080 122 Year rmb 1 ; Year Register 0081 123 YearH rmb 1 ; High Nibble Year data 0082 124 YearL rmb 1 ; Low Nibble Year data 0083 125 RainH rmb 1 ; High byte rain dt from tipping bucket 0084 126 RainL rmb 1 ; Low byte rain dt from tipping bucket 0085 127 TempRainL rmb 1 ; Low byte temporary rain data ; from tipping bucket 0086 128 RainH2 rmb 1 ; \ 0087 129 RainH1 rmb 1 ; - High byte rain data (Desimal --> ; RainH2...0) 0088 130 RainH0 rmb 1 ; / 0089 131 RainL2 rmb 1 ; \ 008A 132 RainL1 rmb 1 ; - Low byte rain data (Desimal --> ; RainL2...0) 008B 133 RainL0 rmb 1 ; / 008C 134 Detik rmb 1 ; Second Address register for ; manipulation time counting 008D 135 Menit rmb 1 ; Minute address register for ; manipulation counting 008E 136 DataBCD rmb 1 ; Data BCD register 008F 137 ASCII_H rmb 1 ; High Nibble ASCII data 0090 138 ASCII_L rmb 1 ; Low Nibble ASCII data 0091 139 Bin rmb 1 ; Binnary register 0092 140 Des2 rmb 1 ; Byte2 result conversion (ASCII) 0093 141 Des1 rmb 1 ; Byte1 result conversion (ASCII) 0094 142 Des0 rmb 1 ; Byte0 result conversion (ASCII) 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 0096 148 LED5A equ $5 ; Output LED PortA bit 4 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 [04] 6E0001 161 mov #$00,PortB DE18 [04] 6E380D 162 mov #$38,SPCR DE1B [04] 6E090E 163 mov #$09,SPSCR DE1E [04] 6E041D 164 mov #$04,INTSCR DE21 [04] 6E061A 165 mov #$06,KBSCR DE24 [04] 6E081B 166 mov #$08,KBIER DE27 [04] 6E001C 167 mov #$00,KBIPR DE2A [04] 6ED43F 168 mov #$D4,ADCLK DE2D [04] 6E4010 169 mov #$40,SCC1 DE30 [04] 6E2C11 170 mov #$2C,SCC2 DE33 [04] 6E0012 171 mov #$00,SCC3 DE36 [04] 6E0016 172 mov #$00,SCBR DE39 [04] 6E7E17 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 [03] B787 222 sta RainH1 DE9A [03] B694 223 lda Des0 DE9C [03] B788 224 sta RainH0 DE9E [05] CDE0D4 225 jsr GetTime DEA1 [03] B65E 226 lda MinBCD DEA3 [05] CDE153 227 jsr BCDtoASCII DEA6 [03] B68F 228 lda ASCII_H DEA8 [03] B764 229 sta MinuteH DEAA [03] B690 230 lda ASCII_L DEAC [03] B765 231 sta MinuteL DEAE [03] B65F 232 lda HoursBCD DEB0 [05] CDE153 233 jsr BCDtoASCII DEB3 [03] B68F 234 lda ASCII_H DEB5 [03] B766 235 sta HoursH DEB7 [03] B690 236 lda ASCII_L DEB9 [03] B767 237 sta HoursL DEBB [03] B661 238 lda DateBCD DEBD [05] CDE153 239 jsr BCDtoASCII DEC0 [03] B68F 240 lda ASCII_H DEC2 [03] B768 241 sta DateH DEC4 [03] B690 242 lda ASCII_L DEC6 [03] B769 243 sta DateL DEC8 [03] B662 244 lda MonthBCD DECA [05] CDE153 245 jsr BCDtoASCII DECD [03] B68F 246 lda ASCII_H DECF [03] B76A 247 sta MonthH DED1 [03] B690 248 lda ASCII_L DED3 [03] B76B 249 sta MonthL 250 DED5 [02] A654 251 Main40: lda #"T" DED7 [05] CDE1F1 252 jsr ESCITx DEDA [03] B66D 253 lda Temperature1 DEDC [05] CDE1F1 254 jsr ESCITx DEDF [03] B66E 255 lda Temperature0 DEE1 [05] CDE1F1 256 jsr ESCITx DEE4 [03] B686 257 lda RainH2 DEE6 [05] CDE1F1 258 jsr ESCITx DEE9 [03] B687 259 lda RainH1 DEEB [05] CDE1F1 260 jsr ESCITx DEEE [03] B688 261 lda RainH0 DEF0 [05] CDE1F1 262 jsr ESCITx DEF3 [03] B689 263 lda RainL2 DEF5 [05] CDE1F1 264 jsr ESCITx DEF8 [03] B68A 265 lda RainL1 DEFA [05] CDE1F1 266 jsr ESCITx DEFD [03] B68B 267 lda RainL0 DEFF [05] CDE1F1 268 jsr ESCITx DF02 [03] B664 269 lda MinuteH DF04 [05] CDE1F1 270 jsr ESCITx DF07 [03] B665 271 lda MinuteL DF09 [05] CDE1F1 272 jsr ESCITx DF0C [03] B666 273 lda HoursH DF0E [05] CDE1F1 274 jsr ESCITx DF11 [03] B667 275 lda HoursL DF13 [05] CDE1F1 276 jsr ESCITx DF16 [03] B668 277 lda DateH DF18 [05] CDE1F1 278 jsr ESCITx DF1B [03] B669 279 lda DateL DF1D [05] CDE1F1 280 jsr ESCITx DF20 [03] B66A 281 lda MonthH DF22 [05] CDE1F1 282 jsr ESCITx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DF25 [03] B66B 283 lda MonthL DF27 [05] CDE1F1 284 jsr ESCITx DF2A [03] B681 285 lda YearH DF2C [05] CDE1F1 286 jsr ESCITx DF2F [03] B682 287 lda YearL DF31 [05] CDE1F1 288 jsr ESCITx DF34 [02] A620 289 lda #" " DF36 [05] CDE1F1 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 [02] AE80 466 ldx #$80 E08E [03] B60E 467 lda SPSCR E090 [03] BF0F 468 stx SPDR E092 [01] 8C 469 clrh E093 [01] 5F 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 527 cmp MonthTemp E0F7 [03] 2601 528 bne GetTime1 E0F9 [04] 81 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 [03] B64C 710 lda PCDayH E239 [03] B743 711 sta BinH E23B [03] B64D 712 lda PCDayL E23D [03] B744 713 sta BinL E23F [05] CDE165 714 jsr BintoBCD E242 [03] B758 715 sta SetDay E244 [03] B64E 716 lda PCDateH E246 [03] B743 717 sta BinH E248 [03] B64F 718 lda PCDateL E24A [03] B744 719 sta BinL E24C [05] CDE165 720 jsr BintoBCD E24F [03] B759 721 sta SetDate E251 [03] B650 722 lda PCMonthH E253 [03] B743 723 sta BinH E255 [03] B651 724 lda PCMonthL E257 [03] B744 725 sta BinL E259 [05] CDE165 726 jsr BintoBCD E25C [03] B75A 727 sta SetMonth E25E [03] B652 728 lda PCYearH E260 [03] B743 729 sta BinH E262 [03] B653 730 lda PCYearL E264 [03] B744 731 sta BinL E266 [05] CDE165 732 jsr BintoBCD E269 [03] B75B 733 sta SetYear E26B [03] B65A 735 ESCIRx15: lda SetMonth E26D [03] B77F 736 sta MonthTemp E26F [03] B652 737 lda PCYearH E271 [03] B781 738 sta YearH E273 [03] B653 739 lda PCYearL E275 [03] B782 740 sta YearL E277 [03] B65B 741 lda SetYear E279 [03] B780 742 sta Year E27B [04] 1041 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 0044 BINTOBCD E165 CEKIRQ DF9A CEKIRQ5 DFA9 CEKIRQ90 DFA8 COCO 0007 CONFIG1 001F CONFIG2 001E CONVERT E118 CONVERT1 E12A CONVERT2 E136 COUNT 0095 DATABCD 008E DATEBCD 0061 DATEH 0068 DATEL 0069 DAYBCD 0060 DDRA 0004 DDRB 0005 DES0 0094 DES1 0093 DES2 0092 DETIK 008C DODETIK 0000 END 0000 ESCIRX E1F9 ESCIRX15 E26B ESCIRX20 E27D ESCIRX5 E210 ESCITX E1F1 FLASH DE00 GETTIME E0D4 GETTIME0 E0E2 GETTIME1 E0FA GETTIME2 E113 HOURSBCD 005F HOURSH 0066 HOURSL 0067 IBUF 0042 IMASKK 0001 INTSCR 001D IRQ DF7E IRQ10 DF90 IRQ15 DF96 IRQ5 DF8B KBI DF3C KBI10 DF65 KBI15 DF72 KBI5 DF5D KBIER 001B KBIPR 001C KBSCR 001A LED5A 0005 LSB 0000 MAIN DE4B MAIN10 DE53 MAIN15 DE5F MAIN35 DE62 MAIN40 DED5 MAIN45 DF39 MENIT 008D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MINBCD 005E MINUTEH 0064 MINUTEL 0065 MONTHBCD 0062 MONTHH 006A MONTHL 006B MONTHTEMP 007F MYBITS 0040 MYTIME 0041 NEXX E0AE OSCSC 0036 PCDATEH 004E PCDATEL 004F PCDAYH 004C PCDAYL 004D PCHOURSH 004A PCHOURSL 004B PCMINH 0048 PCMINL 0049 PCMONTHH 0050 PCMONTHL 0051 PCSECH 0046 PCSECL 0047 PCYEARH 0052 PCYEARL 0053 PORTA 0000 PORTB 0001 PUTTIME E089 PUTTIME0 E094 RAIN E173 RAINDTH 0073 RAINDTL 0074 RAINH 0083 RAINH0 0088 RAINH1 0087 RAINH2 0086 RAINHRSH 0071 RAINHRSL 0072 RAINL 0084 RAINL0 008B RAINL1 008A RAINL2 0089 RAINMINH 006F RAINMINL 0070 RAINMTHH 0075 RAINMTHL 0076 RAM 0040 REPEAT0 E120 REPEAT1 E12C REPEAT2 E138 RES8 E073 RESET DE00 RESULT E140 RTCCE 0001 RTC_OFF E1EC RTC_ON E1E7 SCBR 0016 SCC1 0010 SCC2 0011 SCC3 0012 SCDR 0015
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
SCPSC 0017 SCRF 0005 SCRIE 0005 SCS1 0013 SECBCD 005D SENDALARM E0A3 SENDCONT E0BD SETDATE 0059 SETDAY 0058 SETHOURS 0057 SETMIN 0056 SETMONTH 005A SETSEC 0055 SETYEAR 005B SPCR 000D SPDR 000F SPE 0001 SPRF 0007 SPSCR 000E SPTE 0003 STOPRAINDTH 007B STOPRAINDTL 007C STOPRAINHRSH 0079 STOPRAINHRSL 007A STOPRAINMINH 0077 STOPRAINMINL 0078 STOPRAINMTHH 007D STOPRAINMTHL 007E TC 0006 TEMPERATURE0 006E TEMPERATURE1 006D TEMPERATURE2 006C TEMPRAINL 0085 TIMEBCD 005C YEAR 0080 YEARBCD 0063 YEARH 0081 YEARL 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
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 25
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
$0000Port A Data Register
(PTA)See page 104.
Read:R
AWULPTA5 PTA4 PTA3
PTA2PTA1 PTA0
Write:Reset: Unaffected by reset
$0001Port B Data Register
(PTB)See page 106.
Read:PTB7 PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0
Write:Reset: Unaffected by reset
$0002↓
$0003Reserved
$0004Data Direction Register A
(DDRA)See page 104.
Read:R R DDRA5 DDRA4 DDRA3
0DDRA1 DDRA0
Write:Reset: 0 0 0 0 0 0 0 0
$0005Data Direction Register B
(DDRB)See page 107.
Read:DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0
Write:Reset: 0 0 0 0 0 0 0 0
$0006↓
$000AReserved
$000BPort A Input Pullup Enable
Register (PTAPUE)See page 105.
Read:OSC2EN
0PTAPUE5 PTAPUE4 PTAPUE3 PTAPUE2 PTAPUE1 PTAPUE0
Write:Reset: 0 0 0 0 0 0 0 0
$000CPort B Input Pullup Enable
Register (PTBPUE)See page 108.
Read:PTBPUE7 PTBPUE6 PTBPUE5 PTBPUE4 PTBPUE3 PTBPUE2 PTBPUE1 PTBPUE0
Write:Reset: 0 0 0 0 0 0 0 0
$000DSPI Control Register
(SPCR)See page 171.
Read:SPRIE R SPMSTR CPOL CPHA SPWOM SPE SPTIE
Write:Reset: 0 0 1 0 1 0 0 0
$000ESPI Status and Control
Register (SPSCR)See page 172.
Read: SPRFERRIE
OVRF MODF SPTEMODFEN SPR1 SPR0
Write:Reset: 0 0 0 0 1 0 0 0
$000FSPI Data Register
(SPDR)See page 174.
Read: R7 R6 R5 R4 R3 R2 R1 R0Write: T7 T6 T5 T4 T3 T2 T1 T0Reset: Unaffected by reset
$0010ESCI Control Register 1
(SCC1)See page 122.
Read:LOOPS ENSCI TXINV M WAKE ILTY PEN PTY
Write:Reset: 0 0 0 0 0 0 0 0
$0011ESCI Control Register 2
(SCC2)See page 124.
Read:SCTIE TCIE SCRIE ILIE TE RE RWU SBK
Write:Reset: 0 0 0 0 0 0 0 0
$0012ESCI Control Register 3
(SCC3)See page 125.
Read: R8T8 R R ORIE NEIE FEIE PEIE
Write:Reset: U 0 0 0 0 0 0 0
$0013ESCI Status Register 1
(SCS1)See page 126.
Read: SCTE TC SCRF IDLE OR NF FE PEWrite:Reset: 1 1 0 0 0 0 0 0
= Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 1 of 5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Memory
MC68HC908QB8 Data Sheet, Rev. 1
26 Freescale Semiconductor
$0014ESCI Status Register 2
(SCS2)See page 129.
Read: 0 0 0 0 0 0 BKF RPFWrite:Reset: 0 0 0 0 0 0 0 0
$0015ESCI Data Register
(SCDR)See page 129.
Read: R7 R6 R5 R4 R3 R2 R1 R0Write: T7 T6 T5 T4 T3 T2 T1 T0Reset: Unaffected by reset
$0016ESCI Baud Rate Register
(SCBR)See page 130.
Read:LINT LINR SCP1 SCP0 R SCR2 SCR1 SCR0
Write:Reset: 0 0 0 0 0 0 0 0
$0017ESCI Prescaler Register
(SCPSC)See page 131.
Read:PDS2 PDS1 PDS0 PSSB4 PSSB3 PSSB2 PSSB1 PSSB0
Write:Reset: 0 0 0 0 0 0 0 0
$0018ESCI Arbiter ControlRegister (SCIACTL)
See page 135.
Read:AM1
ALOSTAM0 ACLK
AFIN ARUN AROVFL ARD8Write:Reset: 0 0 0 0 0 0 0 0
$0019ESCI Arbiter Data Register
(SCIADAT)See page 136.
Read: ARD7 ARD6 ARD5 ARD4 ARD3 ARD2 ARD1 ARD0Write:Reset: 0 0 0 0 0 0 0 0
$001AKeyboard Status and
Control Register (KBSCR)See page 87.
Read: 0 0 0 0 KEYF 0IMASKK MODEK
Write: ACKKReset: 0 0 0 0 0 0 0 0
$001BKeyboard Interrupt
Enable Register (KBIER)See page 88.
Read: 0AWUIE KBIE5 KBIE4 KBIE3 KBIE2 KBIE1 KBIE0
Write:Reset: 0 0 0 0 0 0 0 0
$001CKeyboard Interrupt Polarity
Register (KBIPR)See page 88.
Read: 0 0KBIP5 KBIP4 KBIP3 KBIP2 KBIP1 KBIP0
Write:Reset: 0 0 0 0 0 0 0 0
$001DIRQ Status and Control
Register (INTSCR)See page 81.
Read: 0 0 0 0 IRQF 0IMASK MODE
Write: ACKReset: 0 0 0 0 0 0 0 0
$001EConfiguration Register 2
(CONFIG2)(1)
See page 57.
Read:IRQPUD IRQEN R R R ESCIBDSRC
OSCENIN-STOP
RSTENWrite:Reset: 0 0 0 0 0 0 0 0(2)
1. One-time writable register after each reset. 2. RSTEN reset to 0 by a power-on reset (POR) only.
$001FConfiguration Register 1
(CONFIG1)(1)
See page 58.
Read:COPRS LVISTOP LVIRSTD LVIPWRD LVITRIP SSREC STOP COPD
Write:Reset: 0 0 0 0 0(2) 0 0 0
1. One-time writable register after each reset. 2. LVITRIP reset to 0 by a power-on reset (POR) only.
$0020TIM Status and Control
Register (TSC)See page 183.
Read: TOFTOIE TSTOP
0 0PS2 PS1 PS0
Write: 0 TRSTReset: 0 0 1 0 0 0 0 0
$0021TIM Counter Register High
(TCNTH)See page 185.
Read: Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8Write:Reset: 0 0 0 0 0 0 0 0
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
= Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 2 of 5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Direct Page Registers
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 27
$0022TIM Counter Register Low
(TCNTL)See page 185.
Read: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0Write:Reset: 0 0 0 0 0 0 0 0
$0023TIM Counter Modulo
Register High (TMODH)See page 185.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: 1 1 1 1 1 1 1 1
$0024TIM Counter Modulo
Register Low (TMODL)See page 185.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: 1 1 1 1 1 1 1 1
$0025TIM Channel 0 Status and
Control Register (TSC0)See page 186.
Read: CH0FCH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX
Write: 0Reset: 0 0 0 0 0 0 0 0
$0026TIM Channel 0
Register High (TCH0H)See page 189.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: Indeterminate after reset
$0027TIM Channel 0
Register Low (TCH0L)See page 189.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: Indeterminate after reset
$0028TIM Channel 1 Status and
Control Register (TSC1)See page 186.
Read: CH1FCH1IE
0MS1A ELS1B ELS1A TOV1 CH1MAX
Write: 0Reset: 0 0 0 0 0 0 0 0
$0029TIM Channel 1
Register High (TCH1H)See page 189.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: Indeterminate after reset
$002ATIM Channel 1
Register Low (TCH1L)See page 189.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: Indeterminate after reset
$002B↓
$002FReserved
$0030TIM Channel 2 Status and
Control Register (TSC2)See page 186.
Read: CH2FCH2IE
0MS2A ELS2B ELS2A TOV2 CH2MAX
Write: 0Reset: 0 0 0 0 0 0 0 0
$0031TIM Channel 2
Register High (TCH2H)See page 189.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: Indeterminate after reset
$0032TIM Channel 2
Register Low (TCH2L)See page 189.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: Indeterminate after reset
$0033TIM Channel 3 Status and
Control Register (TSC3)See page 186.
Read: CH3FCH3IE
0MS3A ELS3B ELS3A TOV3 CH3MAX
Write: 0Reset: 0 0 0 0 0 0 0 0
$0034TIM Channel 3
Register High (TCH3H)See page 189.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: Indeterminate after reset
$0035TIM Channel 3
Register Low (TCH3L)See page 189.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: Indeterminate after reset
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
= Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 3 of 5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Memory
MC68HC908QB8 Data Sheet, Rev. 1
28 Freescale Semiconductor
$0036Oscillator Status and
Control Register (OSCSC)See page 100.
Read:OSCOPT1 OSCOPT0 ICFS1 ICFS0 ECFS1 ECFS0 ECGON
ECGSTWrite:Reset: 0 0 0 0 0 0 0 0
$0037 Reserved
$0038
Oscillator Trim Register(OSCTRIM)
See page 101.
Read:TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
Write:
Reset: 1 0 0 0 0 0 0 0
$0039↓
$003BReserved
$003CADC10 Status and Control
Register (ADSCR)See page 46.
Read: COCOAIEN ADCO ADCH4 ADCH3 ADCH2 ADCH1 ADCH0
Write:Reset: 0 0 0 1 1 1 1 1
$003DADC10 Data Register High
(ADRH)See page 48.
Read: 0 0 0 0 0 0 AD9 AD8Write: R R R R R R R RReset: 0 0 0 0 0 0 0 0
$003EADC10 Data Register Low
(ADRL)See page 48.
Read: AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0Write: R R R R R R R RReset: 0 0 0 0 0 0 0 0
$003FADC10 Clock Register
(ADCLK)See page 49.
Read:ADLPC ADIV1 ADIV0 ADICLK MODE1 MODE0 ADLSMP ACLKEN
Write:Reset: 0 0 0 0 0 0 0 0
$FE00Break Status Register
(BSR)See page 195.
Read:R R R R R R
SBSWR
Write: 0Reset: 0
$FE01SIM Reset Status Register
(SRSR)See page 152.
Read: POR PIN COP ILOP ILAD MODRST LVI 0Write:POR: 1 0 0 0 0 0 0 0
$FE02Break Auxiliary
Register (BRKAR)See page 195.
Read: 0 0 0 0 0 0 0BDCOP
Write:Reset: 0 0 0 0 0 0 0 0
$FE03Break Flag Control
Register (BFCR)See page 195.
Read:BCFE R R R R R R R
Write:Reset: 0
$FE04Interrupt Status Register 1
(INT1)See page 149.
Read: IF6 IF5 IF4 IF3 IF2 IF1 0 0Write: R R R R R R R RReset: 0 0 0 0 0 0 0 0
$FE05Interrupt Status Register 2
(INT2)See page 149.
Read: IF14 IF13 IF12 IF11 IF10 IF9 IF8 IF7Write: R R R R R R R RReset: 0 0 0 0 0 0 0 0
$FE06Interrupt Status Register 3
(INT3)See page 149.
Read: IF22 IF21 IF20 IF19 IF18 IF17 IF16 IF15Write: R R R R R R R RReset: 0 0 0 0 0 0 0 0
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
= Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 4 of 5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Direct Page Registers
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 29
$FE07 Reserved
$FE08FLASH Control Register
(FLCR)See page 31.
Read: 0 0 0 0HVEN MASS ERASE PGM
Write:Reset: 0 0 0 0 0 0 0 0
$FE09Break Address High
Register (BRKH)See page 194.
Read:Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
Write:Reset: 0 0 0 0 0 0 0 0
$FE0ABreak Address low
Register (BRKL)See page 194.
Read:Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:Reset: 0 0 0 0 0 0 0 0
$FE0BBreak Status and Control
Register (BRKSCR)See page 194.
Read:BRKE BRKA
0 0 0 0 0 0Write:Reset: 0 0 0 0 0 0 0 0
$FE0CLVI Status Register
(LVISR)See page 91.
Read: LVIOUT 0 0 0 0 0 0 RWrite:Reset: 0 0 0 0 0 0 0 0
$FE0D↓
$FE0FReserved
$FFBEFLASH Block Protect
Register (FLBPR)See page 36.
Read:BPR7 BPR6 BPR5 BPR4 BPR3 BPR2 BPR1 BPR0
Write:Reset: Unaffected by reset
$FFBF Reserved
$FFC0Internal Oscillator
Trim Value
Read:TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
Write:Reset: Resets to factory programmed value
$FFC1 Reserved
$FFFFCOP Control Register
(COPCTL)See page 63.
Read: LOW BYTE OF RESET VECTORWrite: WRITING CLEARS COP COUNTER (ANY VALUE)Reset: Unaffected by reset
Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0
= Unimplemented R = Reserved U = Unaffected
Figure 2-2. Control, Status, and Data Registers (Sheet 5 of 5)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Central Processor Unit (CPU)
MC68HC908QB8 Data Sheet, Rev. 1
70 Freescale Semiconductor
7.7 Instruction Set Summary
Table 7-1 provides a summary of the M68HC08 instruction set.
Table 7-1. Instruction Set Summary (Sheet 1 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
ADC #oprADC oprADC oprADC opr,XADC opr,XADC ,XADC opr,SPADC opr,SP
Add with Carry A ← (A) + (M) + (C) –
IMMDIREXTIX2IX1IXSP1SP2
A9B9C9D9E9F9
9EE99ED9
iiddhh llee ffff
ffee ff
23443245
ADD #oprADD oprADD oprADD opr,XADD opr,XADD ,XADD opr,SPADD opr,SP
Add without Carry A ← (A) + (M) –
IMMDIREXTIX2IX1IXSP1SP2
ABBBCBDBEBFB
9EEB9EDB
iiddhh llee ffff
ffee ff
23443245
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
AND #oprAND oprAND oprAND opr,XAND opr,XAND ,XAND opr,SPAND opr,SP
Logical AND A ← (A) & (M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
A4B4C4D4E4F4
9EE49ED4
iiddhh llee ffff
ffee ff
23443245
ASL oprASLAASLXASL opr,XASL ,XASL opr,SP
Arithmetic Shift Left(Same as LSL) – –
DIRINHINHIX1IXSP1
3848586878
9E68
dd
ff
ff
411435
ASR oprASRAASRXASR opr,XASR opr,XASR opr,SP
Arithmetic Shift Right – –
DIRINHINHIX1IXSP1
3747576777
9E67
dd
ff
ff
411435
BCC rel Branch if Carry Bit Clear PC ← (PC) + 2 + rel ? (C) = 0 – – – – – – REL 24 rr 3
BCLR n, opr Clear Bit n in M Mn ← 0 – – – – – –
DIR (b0)DIR (b1)DIR (b2)DIR (b3)DIR (b4)DIR (b5)DIR (b6)DIR (b7)
11131517191B1D1F
dd dd dd dd dd dd dd dd
44444444
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 3
BHCS rel Branch if Half Carry Bit Set PC ← (PC) + 2 + rel ? (H) = 1 – – – – – – REL 29 rr 3
BHI rel Branch if Higher PC ← (PC) + 2 + rel ? (C) | (Z) = 0 – – – – – – REL 22 rr 3
C
b0b7
0
b0b7
C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Instruction Set Summary
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 71
BHS rel Branch if Higher or Same(Same as BCC) PC ← (PC) + 2 + rel ? (C) = 0 – – – – – – REL 24 rr 3
BIH rel Branch if IRQ Pin High PC ← (PC) + 2 + rel ? IRQ = 1 – – – – – – REL 2F rr 3
BIL rel Branch if IRQ Pin Low PC ← (PC) + 2 + rel ? IRQ = 0 – – – – – – REL 2E rr 3
BIT #oprBIT oprBIT oprBIT opr,XBIT opr,XBIT ,XBIT opr,SPBIT opr,SP
Bit Test (A) & (M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
A5B5C5D5E5F5
9EE59ED5
iiddhh llee ffff
ffee ff
23443245
BLE opr Branch if Less Than or Equal To (Signed Operands) PC ← (PC) + 2 + rel ? (Z) | (N ⊕ V) = 1 – – – – – – REL 93 rr 3
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
BNE rel Branch if Not Equal PC ← (PC) + 2 + rel ? (Z) = 0 – – – – – – REL 26 rr 3
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
BRCLR n,opr,rel Branch if Bit n in M Clear PC ← (PC) + 3 + rel ? (Mn) = 0 – – – – –
DIR (b0)DIR (b1)DIR (b2)DIR (b3)DIR (b4)DIR (b5)DIR (b6)DIR (b7)
01030507090B0D0F
dd rrdd rrdd rrdd rrdd rrdd rrdd rrdd rr
55555555
BRN rel Branch Never PC ← (PC) + 2 – – – – – – REL 21 rr 3
BRSET n,opr,rel Branch if Bit n in M Set PC ← (PC) + 3 + rel ? (Mn) = 1 – – – – –
DIR (b0)DIR (b1)DIR (b2)DIR (b3)DIR (b4)DIR (b5)DIR (b6)DIR (b7)
00020406080A0C0E
dd rrdd rrdd rrdd rrdd rrdd rrdd rrdd rr
55555555
BSET n,opr Set Bit n in M Mn ← 1 – – – – – –
DIR (b0)DIR (b1)DIR (b2)DIR (b3)DIR (b4)DIR (b5)DIR (b6)DIR (b7)
10121416181A1C1E
dddddddddddddddd
44444444
BSR rel Branch to Subroutine
PC ← (PC) + 2; push (PCL)SP ← (SP) – 1; push (PCH)
SP ← (SP) – 1PC ← (PC) + rel
– – – – – – REL AD rr 4
CBEQ opr,relCBEQA #opr,relCBEQX #opr,relCBEQ opr,X+,relCBEQ X+,relCBEQ opr,SP,rel
Compare and Branch if Equal
PC ← (PC) + 3 + rel ? (A) – (M) = $00PC ← (PC) + 3 + rel ? (A) – (M) = $00PC ← (PC) + 3 + rel ? (X) – (M) = $00PC ← (PC) + 3 + rel ? (A) – (M) = $00PC ← (PC) + 2 + rel ? (A) – (M) = $00PC ← (PC) + 4 + rel ? (A) – (M) = $00
– – – – – –
DIRIMMIMMIX1+IX+SP1
3141516171
9E61
dd rrii rrii rrff rrrrff rr
544546
CLC Clear Carry Bit C ← 0 – – – – – 0 INH 98 1
CLI Clear Interrupt Mask I ← 0 – – 0 – – – INH 9A 2
Table 7-1. Instruction Set Summary (Sheet 2 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Central Processor Unit (CPU)
MC68HC908QB8 Data Sheet, Rev. 1
72 Freescale Semiconductor
CLR oprCLRACLRXCLRHCLR opr,XCLR ,XCLR opr,SP
Clear
M ← $00A ← $00X ← $00H ← $00M ← $00M ← $00M ← $00
0 – – 0 1 –
DIRINHINHINHIX1IXSP1
3F4F5F8C6F7F
9E6F
dd
ff
ff
3111324
CMP #oprCMP oprCMP oprCMP opr,XCMP opr,XCMP ,XCMP opr,SPCMP opr,SP
Compare A with M (A) – (M) – –
IMMDIREXTIX2IX1IXSP1SP2
A1B1C1D1E1F1
9EE19ED1
iiddhh llee ffff
ffee ff
23443245
COM oprCOMACOMXCOM opr,XCOM ,XCOM opr,SP
Complement (One’s Complement)
M ← (M) = $FF – (M)A ← (A) = $FF – (M)X ← (X) = $FF – (M)M ← (M) = $FF – (M)M ← (M) = $FF – (M)M ← (M) = $FF – (M)
0 – – 1
DIRINHINHIX1IXSP1
3343536373
9E63
dd
ff
ff
411435
CPHX #oprCPHX opr Compare H:X with M (H:X) – (M:M + 1) – – IMM
DIR6575
ii ii+1dd
34
CPX #oprCPX oprCPX oprCPX ,XCPX opr,XCPX opr,XCPX opr,SPCPX opr,SP
Compare X with M (X) – (M) – –
IMMDIREXTIX2IX1IXSP1SP2
A3B3C3D3E3F3
9EE39ED3
iiddhh llee ffff
ffee ff
23443245
DAA Decimal Adjust A (A)10 U – – INH 72 2
DBNZ opr,relDBNZA relDBNZX relDBNZ opr,X,relDBNZ X,relDBNZ opr,SP,rel
Decrement and Branch if Not Zero
A ← (A) – 1 or M ← (M) – 1 or X ← (X) – 1PC ← (PC) + 3 + rel ? (result) ≠ 0PC ← (PC) + 2 + rel ? (result) ≠ 0PC ← (PC) + 2 + rel ? (result) ≠ 0PC ← (PC) + 3 + rel ? (result) ≠ 0PC ← (PC) + 2 + rel ? (result) ≠ 0PC ← (PC) + 4 + rel ? (result) ≠ 0
– – – – – –
DIRINHINHIX1IXSP1
3B4B5B6B7B
9E6B
dd rrrrrrff rrrrff rr
533546
DEC oprDECADECXDEC opr,XDEC ,XDEC opr,SP
Decrement
M ← (M) – 1A ← (A) – 1X ← (X) – 1M ← (M) – 1M ← (M) – 1M ← (M) – 1
– – –
DIRINHINHIX1IXSP1
3A4A5A6A7A
9E6A
dd
ff
ff
411435
DIV Divide A ← (H:A)/(X)H ← Remainder – – – – INH 52 7
EOR #oprEOR oprEOR oprEOR opr,XEOR opr,XEOR ,XEOR opr,SPEOR opr,SP
Exclusive OR M with A A ← (A ⊕ M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
A8B8C8D8E8F8
9EE89ED8
iiddhh llee ffff
ffee ff
23443245
INC oprINCAINCXINC opr,XINC ,XINC opr,SP
Increment
M ← (M) + 1A ← (A) + 1X ← (X) + 1M ← (M) + 1M ← (M) + 1M ← (M) + 1
– – –
DIRINHINHIX1IXSP1
3C4C5C6C7C
9E6C
dd
ff
ff
411435
Table 7-1. Instruction Set Summary (Sheet 3 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Instruction Set Summary
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 73
JMP oprJMP oprJMP opr,XJMP opr,XJMP ,X
Jump PC ← Jump Address – – – – – –
DIREXTIX2IX1IX
BCCCDCECFC
ddhh llee ffff
23432
JSR oprJSR oprJSR opr,XJSR opr,XJSR ,X
Jump to Subroutine
PC ← (PC) + n (n = 1, 2, or 3)Push (PCL); SP ← (SP) – 1Push (PCH); SP ← (SP) – 1PC ← Unconditional Address
– – – – – –
DIREXTIX2IX1IX
BDCDDDEDFD
ddhh llee ffff
45654
LDA #oprLDA oprLDA oprLDA opr,XLDA opr,XLDA ,XLDA opr,SPLDA opr,SP
Load A from M A ← (M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
A6B6C6D6E6F6
9EE69ED6
iiddhh llee ffff
ffee ff
23443245
LDHX #oprLDHX opr Load H:X from M H:X ← (M:M + 1) 0 – – – IMM
DIR4555
ii jjdd
34
LDX #oprLDX oprLDX oprLDX opr,XLDX opr,XLDX ,XLDX opr,SPLDX opr,SP
Load X from M X ← (M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
AEBECEDEEEFE
9EEE9EDE
iiddhh llee ffff
ffee ff
23443245
LSL oprLSLALSLXLSL opr,XLSL ,XLSL opr,SP
Logical Shift Left(Same as ASL) – –
DIRINHINHIX1IXSP1
3848586878
9E68
dd
ff
ff
411435
LSR oprLSRALSRXLSR opr,XLSR ,XLSR opr,SP
Logical Shift Right – – 0
DIRINHINHIX1IXSP1
3444546474
9E64
dd
ff
ff
411435
MOV opr,oprMOV opr,X+MOV #opr,oprMOV X+,opr
Move(M)Destination ← (M)Source
H:X ← (H:X) + 1 (IX+D, DIX+)0 – – –
DDDIX+IMDIX+D
4E5E6E7E
dd ddddii dddd
5444
MUL Unsigned multiply X:A ← (X) × (A) – 0 – – – 0 INH 42 5
NEG oprNEGANEGXNEG opr,XNEG ,XNEG opr,SP
Negate (Two’s Complement)
M ← –(M) = $00 – (M)A ← –(A) = $00 – (A)X ← –(X) = $00 – (X)M ← –(M) = $00 – (M)M ← –(M) = $00 – (M)
– –
DIRINHINHIX1IXSP1
3040506070
9E60
dd
ff
ff
411435
NOP No Operation None – – – – – – INH 9D 1
NSA Nibble Swap A A ← (A[3:0]:A[7:4]) – – – – – – INH 62 3
ORA #oprORA oprORA oprORA opr,XORA opr,XORA ,XORA opr,SPORA opr,SP
Inclusive OR A and M A ← (A) | (M) 0 – – –
IMMDIREXTIX2IX1IXSP1SP2
AABACADAEAFA
9EEA9EDA
iiddhh llee ffff
ffee ff
23443245
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
Table 7-1. Instruction Set Summary (Sheet 4 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
C
b0b7
0
b0b7
C0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Central Processor Unit (CPU)
MC68HC908QB8 Data Sheet, Rev. 1
74 Freescale Semiconductor
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 88 2
ROL oprROLAROLXROL opr,XROL ,XROL opr,SP
Rotate Left through Carry – –
DIRINHINHIX1IXSP1
3949596979
9E69
dd
ff
ff
411435
ROR oprRORARORXROR opr,XROR ,XROR opr,SP
Rotate Right through Carry – –
DIRINHINHIX1IXSP1
3646566676
9E66
dd
ff
ff
411435
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
SBC #oprSBC oprSBC oprSBC opr,XSBC opr,XSBC ,XSBC opr,SPSBC opr,SP
Subtract with Carry A ← (A) – (M) – (C) – –
IMMDIREXTIX2IX1IXSP1SP2
A2B2C2D2E2F2
9EE29ED2
iiddhh llee ffff
ffee ff
23443245
SEC Set Carry Bit C ← 1 – – – – – 1 INH 99 1
SEI Set Interrupt Mask I ← 1 – – 1 – – – INH 9B 2
STA oprSTA oprSTA opr,XSTA opr,XSTA ,XSTA opr,SPSTA opr,SP
Store A in M M ← (A) 0 – – –
DIREXTIX2IX1IXSP1SP2
B7C7D7E7F7
9EE79ED7
ddhh llee ffff
ffee ff
3443245
STHX opr Store H:X in M (M:M + 1) ← (H:X) 0 – – – DIR 35 dd 4
STOPEnable Interrupts, Stop Processing, Refer to MCU Documentation
I ← 0; Stop Processing – – 0 – – – INH 8E 1
STX oprSTX oprSTX opr,XSTX opr,XSTX ,XSTX opr,SPSTX opr,SP
Store X in M M ← (X) 0 – – –
DIREXTIX2IX1IXSP1SP2
BFCFDFEFFF
9EEF9EDF
ddhh llee ffff
ffee ff
3443245
SUB #oprSUB oprSUB oprSUB opr,XSUB opr,XSUB ,XSUB opr,SPSUB opr,SP
Subtract A ← (A) – (M) – –
IMMDIREXTIX2IX1IXSP1SP2
A0B0C0D0E0F0
9EE09ED0
iiddhh llee ffff
ffee ff
23443245
Table 7-1. Instruction Set Summary (Sheet 5 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
C
b0b7
b0b7
C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Opcode Map
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 75
7.8 Opcode Map
See Table 7-2.
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 BytePCL ← Interrupt Vector Low Byte
– – 1 – – – INH 83 9
TAP Transfer A to CCR CCR ← (A) INH 84 2
TAX Transfer A to X X ← (A) – – – – – – INH 97 1
TPA Transfer CCR to A A ← (CCR) – – – – – – INH 85 1
TST oprTSTATSTXTST opr,XTST ,XTST opr,SP
Test for Negative or Zero (A) – $00 or (X) – $00 or (M) – $00 0 – – –
DIRINHINHIX1IXSP1
3D4D5D6D7D
9E6D
dd
ff
ff
311324
TSX Transfer SP to H:X H:X ← (SP) + 1 – – – – – – INH 95 2
TXA Transfer X to A A ← (X) – – – – – – INH 9F 1
TXS Transfer H:X to SP (SP) ← (H:X) – 1 – – – – – – INH 94 2
WAIT Enable Interrupts; Wait for Interrupt I bit ← 0; Inhibit CPU clockinguntil interrupted – – 0 – – – INH 8F 1
A Accumulator n Any bitC Carry/borrow bit opr Operand (one or two bytes)CCR Condition code register PC Program counterdd Direct address of operand PCH Program counter high bytedd rr Direct address of operand and relative offset of branch instruction PCL Program counter low byteDD Direct to direct addressing mode REL Relative addressing modeDIR Direct addressing mode rel Relative program counter offset byteDIX+ Direct to indexed with post increment addressing mode rr Relative program counter offset byteee ff High and low bytes of offset in indexed, 16-bit offset addressing SP1 Stack pointer, 8-bit offset addressing modeEXT Extended addressing mode SP2 Stack pointer 16-bit offset addressing modeff Offset byte in indexed, 8-bit offset addressing SP Stack pointerH Half-carry bit U UndefinedH Index register high byte V Overflow bithh ll High and low bytes of operand address in extended addressing X Index register low byteI Interrupt mask Z Zero bitii Immediate operand byte & Logical ANDIMD Immediate source to direct destination addressing mode | Logical ORIMM Immediate addressing mode ⊕ Logical EXCLUSIVE ORINH Inherent addressing mode ( ) Contents ofIX Indexed, no offset addressing mode –( ) Negation (two’s complement)IX+ Indexed, no offset, post increment addressing mode # Immediate valueIX+D Indexed with post increment to direct addressing mode « Sign extendIX1 Indexed, 8-bit offset addressing mode ← Loaded withIX1+ Indexed, 8-bit offset, post increment addressing mode ? IfIX2 Indexed, 16-bit offset addressing mode : Concatenated withM Memory location Set or clearedN Negative bit — Not affected
Table 7-1. Instruction Set Summary (Sheet 6 of 6)
SourceForm Operation Description
Effecton CCR
Ad
dre
ssM
od
e
Op
cod
e
Op
eran
d
Cyc
les
V H I N Z C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 207
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.
NOTEThis 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.
NOTEThis 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.)
Characteristic(1)
1. Voltages references to VSS.
Symbol Value Unit
Supply voltage VDD –0.3 to +6.0 V
Input voltage VIN VSS –0.3 to VDD +0.3 V
Mode entry voltage, IRQ pin VTST VSS –0.3 to +9.1 V
Maximum current per pin excludingPTA0–PTA5, VDD, and VSS
I ±15 mA
Maximum current for pins PTA0–PTA5 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Electrical Specifications
MC68HC908QB8 Data Sheet, Rev. 1
208 Freescale Semiconductor
18.3 Functional Operating Range
18.4 Thermal Characteristics
Characteristic Symbol Value UnitTemperature
Code
Operating temperature rangeTA
(TL to TH)
– 40 to +125 – 40 to +105 – 40 to +85
°CMVC
Operating voltage range VDD 2.7 to 5.5 V —
Characteristic Symbol Value Unit
Thermal resistance16-pin PDIP16-pin SOIC16-pin TSSOP
θJA7690133
°C/W
I/O pin power dissipation PI/O User determined W
Power dissipation(1)
1. Power dissipation is a function of temperature.
PDPD = (IDD x VDD)
+ PI/O = K/(TJ + 273°C)W
Constant(2)
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 TJcan be determined for any value of TA.
KPD x (TA + 273°C)
+ PD2 x θJA
W/°C
Average junction temperature TJ TA + (PD x θJA) °C
Maximum junction temperature TJM 150 °C
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5-V DC Electrical Characteristics
MC68HC908QB8 Data Sheet, Rev. 1
Freescale Semiconductor 209
18.5 5-V DC Electrical Characteristics
Characteristic(1)
1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
Symbol Min Typ(2)
2. Typical values reflect average measurements at midpoint of voltage range, 25°C only. Typical values are for reference onlyand are not tested in production.
Max Unit
Output high voltageILoad = –2.0 mA, all I/O pinsILoad = –10.0 mA, all I/O pinsILoad = –15.0 mA, PTA0, PTA1, PTA3–PTA5 only
VOHVDD–0.4VDD–1.5VDD–0.8
———
———
V
Maximum combined IOH (all I/O pins) IOHT — — 50 mA
Output low voltageILoad = 1.6 mA, all I/O pinsILoad = 10.0 mA, all I/O pinsILoad = 15.0 mA, PTA0, PTA1, PTA3–PTA5 only
VOL———
———
0.41.50.8
V
Maximum combined IOL (all I/O pins) IOHL — — 50 mA
Input high voltagePTA0–PTA5, PTB0–PTB7
VIH 0.7 x VDD — VDD V
Input low voltagePTA0–PTA5, PTB0–PTB7
VIL VSS — 0.3 x VDD V
Input hysteresis(3)
3. Values are based on characterization results, not tested in production.
VHYS 0.06 x VDD — — V
DC injection current, all ports(4)
4. Guaranteed by design, not tested in production.
IINJ –2 — +2 mA
Total dc current injection (sum of all I/O)(4) IINJTOT –25 — +25 mA
Ports Hi-Z leakage current IIL –1 ±0.1 +1 µA
CapacitancePorts (as input)(3) CIN — — 8 pF
POR rearm voltage VPOR 750 — — mV
POR rise time ramp rate(3)(5)
5. If minimum VDD is not reached before the internal POR reset is released, the LVI will hold the part in reset until minimumVDD is reached.
RPOR 0.035 — — V/ms
Monitor mode entry voltage (3) VTST VDD + 2.5 — 9.1 V
Pullup resistors(6)
PTA0–PTA5, PTB0–PTB7
6. RPU is measured at VDD = 5.0 V.
RPU 16 26 36 kΩ
Pulldown resistors(7)
PTA0–PTA5
7. RPD is measured at VDD = 5.0 V, Pulldown resistors only available when KBIx is enabled with KBIxPOL =1.
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TL/H/5516
LM
35/LM
35A
/LM
35C
/LM
35C
A/LM
35D
Pre
cis
ion
Centig
rade
Tem
pera
ture
Sensors
December 1994
LM35/LM35A/LM35C/LM35CA/LM35DPrecision Centigrade Temperature SensorsGeneral DescriptionThe LM35 series are precision integrated-circuit tempera-
ture 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 con-
stant voltage from its output to obtain convenient Centi-
grade scaling. The LM35 does not require any external cali-
bration or trimming to provide typical accuracies of g(/4§Cat room temperature and g*/4§C over a full b55 to a150§Ctemperature range. Low cost is assured by trimming and
calibration at the wafer level. The LM35’s low output imped-
ance, 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 a150§C temperature
range, while the LM35C is rated for a b40§ to a110§Crange (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.
FeaturesY Calibrated directly in § Celsius (Centigrade)Y Linear a 10.0 mV/§C scale factorY 0.5§C accuracy guaranteeable (at a25§C)Y Rated for full b55§ to a150§C rangeY Suitable for remote applicationsY Low cost due to wafer-level trimmingY Operates from 4 to 30 voltsY Less than 60 mA current drainY Low self-heating, 0.08§C in still airY Nonlinearity only g(/4§C typicalY Low impedance output, 0.1 X for 1 mA load
Connection DiagramsTO-46
Metal Can Package*
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-92
Plastic Package
TL/H/5516–2
Order Number LM35CZ,
LM35CAZ or LM35DZ
See NS Package Number Z03A
SO-8
Small Outline Molded Package
TL/H/5516–21
Top View
N.C. e No Connection
Order Number LM35DM
See NS Package Number M08A
TO-202
Plastic Package
TL/H/5516–24
Order Number LM35DP
See NS Package Number P03A
Typical Applications
TL/H/5516–3
FIGURE 1. Basic Centigrade
Temperature
Sensor (a2§C to a150§C)
TL/H/5516–4
Choose R1 e bVS/50 mA
VOUTea1,500 mV at a150§Cea250 mV at a25§Ceb550 mV at b55§C
FIGURE 2. Full-Range Centigrade
Temperature Sensor
TRI-STATEÉ is a registered trademark of National Semiconductor Corporation.
C1995 National Semiconductor Corporation RRD-B30M75/Printed in U. S. A.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Absolute Maximum Ratings (Note 10)
If Military/Aerospace specified devices are required,
please contact the National Semiconductor Sales
Office/Distributors for availability and specifications.
Supply Voltage a35V to b0.2V
Output Voltage a6V to b1.0V
Output Current 10 mA
Storage Temp., TO-46 Package, b60§C to a180§CTO-92 Package, b60§C to a150§CSO-8 Package, b65§C to a150§CTO-202 Package, b65§C to a150§C
Lead Temp.:
TO-46 Package, (Soldering, 10 seconds) 300§CTO-92 Package, (Soldering, 10 seconds) 260§CTO-202 Package, (Soldering, 10 seconds) a230§C
SO Package (Note 12):
Vapor Phase (60 seconds) 215§CInfrared (15 seconds) 220§C
ESD Susceptibility (Note 11) 2500V
Specified Operating Temperature Range: TMIN to TMAX
(Note 2)
LM35, LM35A b55§C to a150§CLM35C, LM35CA b40§C to a110§CLM35D 0§C to a100§C
Electrical Characteristics (Note 1) (Note 6)
LM35A LM35CA
Parameter ConditionsTested Design Tested Design Units
Typical Limit Limit Typical Limit Limit (Max.)
(Note 4) (Note 5) (Note 4) (Note 5)
Accuracy TAea25§C g0.2 g0.5 g0.2 g0.5 §C(Note 7) TAeb10§C g0.3 g0.3 g1.0 §C
TAeTMAX g0.4 g1.0 g0.4 g1.0 §CTAeTMIN g0.4 g1.0 g0.4 g1.5 §C
Nonlinearity TMINsTAsTMAX g0.18 g0.35 g0.15 g0.3 §C(Note 8)
Sensor Gain TMINsTAsTMAX a10.0 a9.9, a10.0 a9.9, mV/§C(Average Slope) a10.1 a10.1
Load Regulation TAea25§C g0.4 g1.0 g0.4 g1.0 mV/mA
(Note 3) 0sILs1 mA TMINsTAsTMAX g0.5 g3.0 g0.5 g3.0 mV/mA
Line Regulation TAea25§C g0.01 g0.05 g0.01 g0.05 mV/V
(Note 3) 4VsVSs30V g0.02 g0.1 g0.02 g0.1 mV/V
Quiescent Current VSea5V, a25§C 56 67 56 67 mA
(Note 9) VSea5V 105 131 91 114 mA
VSea30V, a25§C 56.2 68 56.2 68 mA
VSea30V 105.5 133 91.5 116 mA
Change of 4VsVSs30V, a25§C 0.2 1.0 0.2 1.0 mA
Quiescent Current 4VsVSs30V 0.5 2.0 0.5 2.0 mA
(Note 3)
Temperature a0.39 a0.5 a0.39 a0.5 mA/§CCoefficient of
Quiescent Current
Minimum Temperature In circuit of a1.5 a2.0 a1.5 a2.0 §Cfor Rated Accuracy Figure 1, ILe0
Long Term Stability TJeTMAX, for g0.08 g0.08 §C1000 hours
Note 1: Unless otherwise noted, these specifications apply: b55§CsTJsa150§C for the LM35 and LM35A; b40§sTJsa110§C for the LM35C and LM35CA; and
0§sTJsa100§C for the LM35D. VSea5Vdc and ILOADe50 mA, in the circuit of Figure 2. These specifications also apply from a2§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 LM35C, LM35D
Parameter ConditionsTested Design Tested Design Units
Typical Limit Limit Typical Limit Limit (Max.)
(Note 4) (Note 5) (Note 4) (Note 5)
Accuracy, TAea25§C g0.4 g1.0 g0.4 g1.0 §CLM35, LM35C TAeb10§C g0.5 g0.5 g1.5 §C(Note 7) TAeTMAX g0.8 g1.5 g0.8 g1.5 §C
TAeTMIN g0.8 g1.5 g0.8 g2.0 §C
Accuracy, TAea25§C g0.6 g1.5 §CLM35D TAeTMAX g0.9 g2.0 §C(Note 7) TAeTMIN g0.9 g2.0 §C
Nonlinearity TMINsTAsTMAX g0.3 g0.5 g0.2 g0.5 §C(Note 8)
Sensor Gain TMINsTAsTMAX a10.0 a9.8, a10.0 a9.8, mV/§C(Average Slope) a10.2 a10.2
Load Regulation TAea25§C g0.4 g2.0 g0.4 g2.0 mV/mA
(Note 3) 0sILs1 mA TMINsTAsTMAX g0.5 g5.0 g0.5 g5.0 mV/mA
Line Regulation TAea25§C g0.01 g0.1 g0.01 g0.1 mV/V
(Note 3) 4VsVSs30V g0.02 g0.2 g0.02 g0.2 mV/V
Quiescent Current VSea5V, a25§C 56 80 56 80 mA
(Note 9) VSea5V 105 158 91 138 mA
VSea30V, a25§C 56.2 82 56.2 82 mA
VSea30V 105.5 161 91.5 141 mA
Change of 4VsVSs30V, a25§C 0.2 2.0 0.2 2.0 mA
Quiescent Current 4VsVSs30V 0.5 3.0 0.5 3.0 mA
(Note 3)
Temperature a0.39 a0.7 a0.39 a0.7 mA/§CCoefficient of
Quiescent Current
Minimum Temperature In circuit of a1.5 a2.0 a1.5 a2.0 §Cfor Rated Accuracy Figure 1, ILe0
Long Term Stability TJeTMAX, for g0.08 g0.08 §C1000 hours
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 ofFigure 1.)
TL/H/5516–17
Quiescent Current
vs. Temperature
(In Circuit ofFigure 2.)
Accuracy vs. Temperature
(Guaranteed)
Accuracy vs. Temperature
(Guaranteed)
TL/H/5516–18
Start-Up ResponseNoise Voltage
TL/H/5516–22
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ApplicationsThe 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 inter-
mediate 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 tempera-
ture might be closer to the air temperature than to the sur-
face temperature.
To minimize this problem, be sure that the wiring to the
LM35, as it leaves the device, is held at the same tempera-
ture 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 tempera-
ture as the surface, and that the LM35 die’s temperature will
not be affected by the air temperature.
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 var-
nishes 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 light-
weight 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.
Temperature Rise of LM35 Due To Self-heating (Thermal Resistance)
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
Still air 400§C/W 100§C/W 180§C/W 140§C/W 220§C/W 110§C/W 85§C/W 60§C/W
Moving air 100§C/W 40§C/W 90§C/W 70§C/W 105§C/W 90§C/W 25§C/W 40§C/W
Still oil 100§C/W 40§C/W 90§C/W 70§C/W
Stirred oil 50§C/W 30§C/W 45§C/W 40§C/W
(Clamped to metal,
Infinite heat sink) (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
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
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 electro-
magnetic 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 capac-
itor 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.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1 of 20 061202
FEATURES Real-time clock (RTC) counts seconds,
minutes, hours, date of the month, month,day of the week, and year with leap-yearcompensation valid up to 2100
96-byte, battery-backed NV RAM for datastorage
Two time-of-day alarms, programmable oncombination of seconds, minutes, hours, andday of the week
Serial interface supports Motorola SPI™
(serial peripheral interface) serial data portsor standard 3-wire interface
Burst mode for reading/writing successiveaddresses in clock/RAM
Dual-power supply pins for primary andbackup power supplies
Optional trickle charge output to backupsupply
2.0V to 5.5V operation Optional industrial temperature range:
-C to +85C Available in space-efficient, 20-pin TSSOP
package Underwriters Laboratory (UL) recognized
ORDERING INFORMATIONDS1305 16-Pin DIP (300mil)DS1305N 16-Pin DIP (Industrial)DS1305E 20-Pin TSSOP (173mil)DS1305EN 20-Pin TSSOP (Industrial)
PIN ASSIGNMENTVCC2 1 20 VCC1
VBAT 2 19 NCX1 3 18 PFNC 4 17 VCCIF
X2 5 16 SD0NC 6 15 SDIINT0 7 14 SCLKNC 8 13 NCINT1 9 12 CEGND 10 11 SERMODE
DS1305 20-Pin TSSOP (4.4mm)
VCC2 1 16 VCC1
VBAT 2 15 PFX1 3 14 VCCIF
X2 4 13 SDONC 5 12 SDIINT0 6 11 SCLKINT1 7 10 CEGND 8 9 SERMODE
DS1305 16-Pin DIP (300mil)
TYPICAL OPERATING CIRCUIT
www.maxim-ic.com
DS1305Serial Alarm Real-Time Clock
Package dimension information can be found at:http://www.maxim-ic.com/TechSupport/DallasPackInfo.htm
SPI is a trademark of Motorola, Inc.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DS1305
6 of 20
Figure 2. RTC REGISTERS AND ADDRESS MAPHEX ADDRESS
READ WRITE Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 RANGE
00H 80H 0 10-SEC SEC 00–5901H 81H 0 10-MIN MIN 00–59
P 01–12 + P/A12 A02H 82H 024 10
10-HR HOURS 00–23
03H 83H 0 0 0 0 DAY 1–704H 84H 0 0 10-DATE DATE 1–3105H 85H 0 0 10-MONTH MONTH 01–1206H 86H 10 YEAR YEAR 00–99
— — ALARM 0 —07H 87H M 10-SEC ALARM SEC ALARM 00–5908H 88H M 10-MIN ALARM MIN ALARM 00–59
P12 A 01–12 + P/A09H 89H M24 10
10 HR HOUR ALARM00–23
0AH 8AH M 0 0 0 DAY ALARM 01–07— — ALARM 1 —
0BH 8BH M 10-SEC ALARM SEC ALARM 00–590CH 8CH M 10-MIN ALARM MIN ALARM 00–59
P12 A 01–12 + P/A0DH 8DH M24 10
10 HR HOUR ALARM00–23
0EH 8EH M 0 0 0 DAY ALARM 01–070FH 8FH CONTROL REGISTER —10H 90H STATUS REGISTER —11H 91H TRICKLE CHARGER REGISTER —
12–1FH 92–9FH RESERVED —20–7FH A0–FFH 96 BYTES USER RAM 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 the12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is theAM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20 to 23hours).
The DS1305 contains two time-of-day alarms. Time-of-day Alarm 0 can be set by writing to registers 87hto 8Ah. Time-of-day Alarm 1 can be set by writing to registers 8Bh to 8Eh. The alarms can beprogrammed (by the INTCN bit of the control register) to operate in two different modes; each alarm candrive its own separate interrupt output or both alarms can drive a common interrupt output. Bit 7 of eachof the time-of-day alarm registers are mask bits (Table 1). When all of the mask bits are logic 0, a time-of-day alarm only occurs once per week when the values stored in timekeeping registers 00h to 03hmatch the values stored in the time-of-day alarm registers. An alarm is generated every day when bit 7 ofthe day alarm register is set to a logic 1. An alarm is generated every hour when bit 7 of the day and houralarm 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 secondsalarm registers is set to a logic 1, alarm occurs every second.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DS1305
16 of 20
DC ELECTRICAL CHARACTERISTICS Over the operating range*PARAMETER SYMBOL MIN TYP MAX UNITS NOTES
Input Leakage ILI -100 +500 µAOutput Leakage ILO -1 1 µA
VCC = 2.0V 0.4Logic 0 Output IOL= 1.5mA IOL = 4.0mA
VOL VCC = 5V 0.4V
VCCIF = 2.0V 1.6Logic 1 Output IOH = -0.4mA IOH = -1.0mA VOH VCCIF = 5V 2.4
V
VCC1 = 2.0V 0.425VCC1 Active Supply Current ICC1A VCC1 = 5V 1.28
mA 2, 8
VCC1 = 2.0V 25.3VCC1 Timekeeping Current(Osc on)
ICC1T VCC1 = 5V 81µA 1, 8, 12
VCC1 = 2.0V 25VCC1 Standby Current(Osc off)
ICC1S VCC1 = 5V 80µA 6, 8, 12
VCC2 = 2.0V 0.4VCC2 Active SupplyCurrent ICC2A VCC2 = 5V 1.2
mA 2, 9
VCC2 = 2.0V 0.3VCC2 Timekeeping Current(Osc on)
ICC2T VCC2 = 5V 1µA 1, 9, 12
VCC2 = 2.0V 200VCC2 Standby Current(Osc off)
ICC2S VCC2 = 5V 200nA 6, 9, 12
Battery Timekeeping Current IBAT VBAT = 3V 400 nA 10, 12Battery Standby Current IBATS VBAT = 3V 200 nA 10, 12
VCC Trip Point VCCTP VBAT - 50 VBAT +200 mV
Trickle Charge ResistorsR1R2R3
248
k
Trickle Charge DiodeVoltage Drop VTD 0.7 V
*Unless otherwise specified.
CAPACITANCE (TA = +25C)PARAMETER SYMBOL CONDITION TYP MAX UNITS NOTES
Input Capacitance CI 10 pFOutput Capacitance CO 15 pFCrystal Capacitance CX 6 pF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
General DescriptionThe MAX220–MAX249 family of line drivers/receivers isintended for all EIA/TIA-232E and V.28/V.24 communica-tions interfaces, particularly applications where ±12V isnot available. These parts are especially useful in battery-powered sys-tems, since their low-power shutdown mode reducespower dissipation to less than 5µW. The MAX225,MAX233, MAX235, and MAX245/MAX246/MAX247 useno external components and are recommended for appli-cations where printed circuit board space is critical.
________________________ApplicationsPortable Computers
Low-Power Modems
Interface Translation
Battery-Powered RS-232 Systems
Multidrop RS-232 Networks
____________________________FeaturesSuperior 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
Ordering Information continued at end of data sheet.*Contact factory for dice specifications.
MA
X2
20
–MA
X2
49
+5V-Powered, Multichannel RS-232Drivers/Receivers
________________________________________________________________ Maxim Integrated Products 1
Selection Table
19-4323; Rev 11; 2/03
PARTMAX220CPEMAX220CSEMAX220CWE 0°C to +70°C
0°C to +70°C0°C to +70°C
TEMP RANGE PIN-PACKAGE16 Plastic DIP16 Narrow SO16 Wide SO
MAX220C/D 0°C to +70°C Dice*MAX220EPEMAX220ESEMAX220EWE -40°C to +85°C
-40°C to +85°C-40°C to +85°C 16 Plastic DIP
16 Narrow SO16 Wide SO
MAX220EJE -40°C to +85°C 16 CERDIPMAX220MJE -55°C to +125°C 16 CERDIP
Power No. of Nominal SHDN RxPart Supply RS-232 No. of Cap. Value & Three- Active in Data RateNumber (V) Drivers/Rx Ext. Caps (µF) State SHDN (kbps) FeaturesMAX220 +5 2/2 4 0.1 No — 120 Ultra-low-power, industry-standard pinoutMAX222 +5 2/2 4 0.1 Yes — 200 Low-power shutdownMAX223 (MAX213) +5 4/5 4 1.0 (0.1) Yes 120 MAX241 and receivers active in shutdownMAX225 +5 5/5 0 — Yes 120 Available in SOMAX230 (MAX200) +5 5/0 4 1.0 (0.1) Yes — 120 5 drivers with shutdownMAX231 (MAX201) +5 and 2/2 2 1.0 (0.1) No — 120 Standard +5/+12V or battery supplies;
+7.5 to +13.2 same functions as MAX232MAX232 (MAX202) +5 2/2 4 1.0 (0.1) No — 120 (64) Industry standardMAX232A +5 2/2 4 0.1 No — 200 Higher slew rate, small capsMAX233 (MAX203) +5 2/2 0 — No — 120 No external capsMAX233A +5 2/2 0 — No — 200 No external caps, high slew rateMAX234 (MAX204) +5 4/0 4 1.0 (0.1) No — 120 Replaces 1488MAX235 (MAX205) +5 5/5 0 — Yes — 120 No external capsMAX236 (MAX206) +5 4/3 4 1.0 (0.1) Yes — 120 Shutdown, three stateMAX237 (MAX207) +5 5/3 4 1.0 (0.1) No — 120 Complements IBM PC serial portMAX238 (MAX208) +5 4/4 4 1.0 (0.1) No — 120 Replaces 1488 and 1489MAX239 (MAX209) +5 and 3/5 2 1.0 (0.1) No — 120 Standard +5/+12V or battery supplies;
+7.5 to +13.2 single-package solution for IBM PC serial portMAX240 +5 5/5 4 1.0 Yes — 120 DIP or flatpack packageMAX241 (MAX211) +5 4/5 4 1.0 (0.1) Yes — 120 Complete IBM PC serial portMAX242 +5 2/2 4 0.1 Yes 200 Separate shutdown and enableMAX243 +5 2/2 4 0.1 No — 200 Open-line detection simplifies cablingMAX244 +5 8/10 4 1.0 No — 120 High slew rateMAX245 +5 8/10 0 — Yes 120 High slew rate, int. caps, two shutdown modesMAX246 +5 8/10 0 — Yes 120 High slew rate, int. caps, three shutdown modesMAX247 +5 8/9 0 — Yes 120 High slew rate, int. caps, nine operating modesMAX248 +5 8/8 4 1.0 Yes 120 High slew rate, selective half-chip enablesMAX249 +5 6/10 4 1.0 Yes 120 Available in quad flatpack package
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MA
X2
20
–MA
X2
49
+5V-Powered, Multichannel RS-232Drivers/Receivers
2 _______________________________________________________________________________________
ABSOLUTE MAXIMUM RATINGS—MAX220/222/232A/233A/242/243
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.)
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 functionaloperation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure toabsolute maximum rating conditions for extended periods may affect device reliability.
Supply Voltage (VCC) ...............................................-0.3V to +6VInput VoltagesTIN..............................................................-0.3V to (VCC - 0.3V)RIN (Except MAX220) ........................................................±30VRIN (MAX220).....................................................................±25VTOUT (Except MAX220) (Note 1) .......................................±15VTOUT (MAX220)...............................................................±13.2V
Output VoltagesTOUT...................................................................................±15VROUT.........................................................-0.3V to (VCC + 0.3V)
Driver/Receiver Output Short Circuited to GND.........ContinuousContinuous Power Dissipation (TA = +70°C)16-Pin Plastic DIP (derate 10.53mW/°C above +70°C)....842mW18-Pin Plastic DIP (derate 11.11mW/°C above +70°C)....889mW
20-Pin Plastic DIP (derate 8.00mW/°C above +70°C) ..440mW16-Pin Narrow SO (derate 8.70mW/°C above +70°C) ...696mW16-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW18-Pin Wide SO (derate 9.52mW/°C above +70°C)......762mW20-Pin Wide SO (derate 10.00mW/°C above +70°C)....800mW20-Pin SSOP (derate 8.00mW/°C above +70°C) ..........640mW16-Pin CERDIP (derate 10.00mW/°C above +70°C).....800mW18-Pin CERDIP (derate 10.53mW/°C above +70°C).....842mW
Operating Temperature RangesMAX2_ _AC_ _, MAX2_ _C_ _.............................0°C to +70°CMAX2_ _AE_ _, MAX2_ _E_ _ ..........................-40°C to +85°CMAX2_ _AM_ _, MAX2_ _M_ _.......................-55°C to +125°C
Storage Temperature Range .............................-65°C to +160°CLead Temperature (soldering, 10s) .................................+300°C
V1.4 0.8Input Logic Threshold Low
UNITSMIN TYP MAXPARAMETER CONDITIONS
Input Logic Threshold HighAll devices except MAX220 2 1.4
V
All except MAX220, normal operation 5 40Logic Pull-Up/lnput Current
SHDN = 0V, MAX222/242, shutdown, MAX220 ±0.01 ±1µA
VCC = 5.5V, SHDN = 0V, VOUT = ±15V, MAX222/242 ±0.01 ±10Output Leakage Current
VCC = SHDN = 0V, VOUT = ±15V ±0.01 ±10µA
200 116Data Rate kbps
Transmitter Output Resistance VCC = V+ = V- = 0V, VOUT = ±2V 300 10M ΩOutput Short-Circuit Current VOUT = 0V ±7 ±22 mA
RS-232 Input Voltage Operating Range ±30 V
All except MAX243 R2IN 0.8 1.3RS-232 Input Threshold Low VCC = 5V
MAX243 R2IN (Note 2) -3V
All except MAX243 R2IN 1.8 2.4RS-232 Input Threshold High VCC = 5V
MAX243 R2IN (Note 2) -0.5 -0.1V
All except MAX243, VCC = 5V, no hysteresis in shdn. 0.2 0.5 1RS-232 Input Hysteresis
MAX243 1V
RS-232 Input Resistance 3 5 7 kΩTTL/CMOS Output Voltage Low IOUT = 3.2mA 0.2 0.4 V
TTL/CMOS Output Voltage High IOUT = -1.0mA 3.5 VCC - 0.2 V
Sourcing VOUT = GND -2 -10mATTL/CMOS Output Short-Circuit Current
Shrinking VOUT = VCC 10 30
V±5 ±8Output Voltage Swing All transmitter outputs loaded with 3kΩ to GND
RS-232 TRANSMITTERS
RS-232 RECEIVERS
2.4MAX220: VCC = 5.0V
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MA
X2
20
–MA
X2
49
+5V-Powered, Multichannel RS-232Drivers/Receivers
_______________________________________________________________________________________ 3
Note 3: MAX243 R2OUT is guaranteed to be low when R2IN is ≥ 0V or is floating.
ELECTRICAL CHARACTERISTICS—MAX220/222/232A/233A/242/243 (continued)(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.)
Operating Supply Voltage
SHDN Threshold High
4.5 5.5 V
MAX222/242
Transmitter-Output Enable Time (SHDN Goes High), Figure 4
2.0 1.4 V
MAX220 0.5 2
tET
No loadMAX222/232A/233A/242/243 4 10
MAX222/232A/233A/242/243 6 12 30
MAX220 12VCC Supply Current (SHDN = VCC),Figures 5, 6, 11, 19 3kΩ load
both inputs MAX222/232A/233A/242/243 15
mA
Transition Slew Rate
TA = +25°C 0.1 10
CL = 50pF to 2500pF, RL = 3kΩ to 7kΩ, VCC = 5V, TA = +25°C,measured from +3V to -3V or -3V to +3V
TA = 0°C to +70°C
CONDITIONS
2 50
MAX220 1.5 3 30
V/µs
TA = -40°C to +85°C 2 50
MAX222/242, 0.1µF caps(includes charge-pump start-up)
Shutdown Supply Current MAX222/242
TA = -55°C to +125°C 35 100
µA
SHDN Input Leakage Current MAX222/242 ±1 µA
SHDN Threshold Low MAX222/242 1.4 0.8 V
250
MAX222/232A/233A/242/243 1.3 3.5
µs
tPHLTMAX220 4 10
Transmitter-Output Disable Time (SHDN Goes Low), Figure 4
tDT
MAX222/232A/233A/242/243 1.5 3.5
Transmitter Propagation DelayTLL to RS-232 (Normal Operation), Figure 1 tPLHT
MAX220 5 10
µs
V2.0 1.4
MAX222/242, 0.1µF caps
µA±0.05 ±10
600
TTL/CMOS Output Leakage Current
EN Input Threshold High
MAX222/232A/233A/242/243 0.5 1
ns
tPHLRMAX220 0.6 3
tPLHRMAX222/232A/233A/242/243 0.6 1
Receiver Propagation DelayRS-232 to TLL (Normal Operation),Figure 2
tPHLT - tPLHT
MAX220 0.8 3
µs
MAX222/232A/233A/242/243
tPHLS MAX242 0.5 10Receiver Propagation Delay RS-232 to TLL (Shutdown), Figure 2 tPLHS MAX242 2.5 10
µs
Receiver-Output Enable Time, Figure 3 tER MAX242
UNITSMIN TYP MAX
125 500
PARAMETER
MAX242
ns
SHDN = VCC or EN = VCC (SHDN = 0V for MAX222),0V ≤ VOUT ≤ VCC
Receiver-Output Disable Time, Figure 3 tDR MAX242 160 500 ns
300ns
Transmitter + to - Propagation Delay Difference (Normal Operation) MAX220 2000
tPHLR - tPLHRMAX222/232A/233A/242/243 100
nsReceiver + to - Propagation Delay Difference (Normal Operation) MAX220 225
V1.4 0.8EN Input Threshold Low MAX242
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MA
X2
20
–MA
X2
49
+5V-Powered, Multichannel RS-232Drivers/Receivers
______________________________________________________________________________________ 17
TOP VIEW
16
15
14
13
12
11
10
9
1
2
3
4
5
6
7
8
VCC
GND
T1OUT
R1INC2+
C1-
V+
C1+
MAX220MAX232
MAX232A R1OUT
T1IN
T2IN
R2OUTR2IN
T2OUT
V-
C2-
DIP/SO
V+
V-
2 +10VC1+C1
C2
1
34
5
11
10
12
9
6
14
7
13
8
T1IN
R1OUT
T2IN
R2OUT
T1OUT
R1IN
T2OUT
R2IN
+5V INPUT
C2+ -10V
C4
RS-232OUTPUTS
RS-232INPUTS
TTL/CMOSINPUTS
TTL/CMOSOUTPUTS
GND15
5kΩ
5kΩ
400kΩ
400kΩ+5V
+5V
+10V TO -10VVOLTAGE INVERTER
+5V TO +10VVOLTAGE DOUBLER
16
C3
C5
CAPACITANCE (µF)DEVICEMAX220MAX232MAX232A
C14.71.00.1
C24.71.00.1
C3101.00.1
C4101.00.1
C54.71.00.1
C2-
C1-
VCC
5kΩ
DIP/SO
18
17
16
15
14
13
12
11
1
2
3
4
5
6
7
8
SHDN
VCC
GND
T1OUTC1-
V+
C1+
(N.C.) EN
R1IN
R1OUT
T1IN
T2INT2OUT
V-
C2-
C2+
109 R2OUTR2IN
MAX222MAX242
20
19
18
17
16
15
14
13
1
2
3
4
5
6
7
8
SHDN
VCC
GND
T1OUTC1-
V+
C1+
(N.C.) EN
N.C.
R1IN
R1OUT
N.C.T2OUT
V-
C2-
C2+
12
11
9
10
T1IN
T2INR2OUT
R2IN
MAX222MAX242
SSOP
( ) ARE FOR MAX222 ONLY.PIN NUMBERS IN TYPICAL OPERATING CIRCUIT ARE FOR DIP/SO PACKAGES ONLY.
V+
V-
3 +10VC1
C2
2
45
6
12
11
13
7
15
8
14
9
T1IN
R1OUT
T2IN
R2OUT
T1OUT
(EXCEPT MAX220)
(EXCEPT MAX220)
R1IN
T2OUT
R2IN
+5V INPUT
C2+ -10V
C4
RS-232OUTPUTS
RS-232INPUTS
TTL/CMOSINPUTS
TTL/CMOSOUTPUTS
GND16
5kΩ
400kΩ
400kΩ+5V
+5V
+10V TO -10VVOLTAGE INVERTER
VCC+5V TO +10V
VOLTAGE DOUBLER
17
C3
C5
1
10
18SHDN
EN(N.C.)
ALL CAPACITORS = 0.1µF
C2-
C1+C1-
TOP VIEW
Figure 5. MAX220/MAX232/MAX232A Pin Configuration and Typical Operating Circuit
Figure 6. MAX222/MAX242 Pin Configurations and Typical Operating Circuit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MA
X2
20
–MA
X2
49
+5V-Powered, Multichannel RS-232Drivers/Receivers
______________________________________________________________________________________ 35
___________________________________________Ordering Information (continued)
PART
MAX222CPN 0°C to +70°C
TEMP RANGE PIN-PACKAGE PART TEMP RANGE PIN-PACKAGE
18 Plastic DIP
MAX222CWN 0°C to +70°C 18 Wide SO
MAX222C/D 0°C to +70°C Dice*
MAX222EPN -40°C to +85°C 18 Plastic DIP
MAX222EWN -40°C to +85°C 18 Wide SO
MAX222EJN -40°C to +85°C 18 CERDIP
MAX222MJN -55°C to +125°C 18 CERDIP
MAX223CAI 0°C to +70°C 28 SSOP
MAX223CWI 0°C to +70°C 28 Wide SO
MAX223C/D 0°C to +70°C Dice*
MAX223EAI -40°C to +85°C 28 SSOP
MAX223EWI -40°C to +85°C 28 Wide SO
MAX225CWI 0°C to +70°C 28 Wide SO
MAX225EWI -40°C to +85°C 28 Wide SO
MAX230CPP 0°C to +70°C 20 Plastic DIP
MAX230CWP 0°C to +70°C 20 Wide SO
MAX230C/D 0°C to +70°C Dice*
MAX230EPP -40°C to +85°C 20 Plastic DIP
MAX230EWP -40°C to +85°C 20 Wide SO
MAX230EJP -40°C to +85°C 20 CERDIP
MAX230MJP -55°C to +125°C 20 CERDIP
MAX231CPD 0°C to +70°C 14 Plastic DIP
MAX231CWE 0°C to +70°C 16 Wide SO
MAX231CJD 0°C to +70°C 14 CERDIP
MAX231C/D 0°C to +70°C Dice*
MAX231EPD -40°C to +85°C 14 Plastic DIP
MAX231EWE -40°C to +85°C 16 Wide SO
MAX231EJD -40°C to +85°C 14 CERDIP
MAX231MJD -55°C to +125°C 14 CERDIP
MAX232CPE 0°C to +70°C 16 Plastic DIP
MAX232CSE 0°C to +70°C 16 Narrow SO
MAX232CWE 0°C to +70°C 16 Wide SO
MAX232C/D 0°C to +70°C Dice*
MAX232EPE -40°C to +85°C 16 Plastic DIP
MAX232ESE -40°C to +85°C 16 Narrow SO
MAX232EWE -40°C to +85°C 16 Wide SO
MAX232EJE -40°C to +85°C 16 CERDIP
MAX232MJE -55°C to +125°C 16 CERDIP
MAX232MLP -55°C to +125°C 20 LCC
MAX232ACPE 0°C to +70°C 16 Plastic DIP
MAX232ACSE 0°C to +70°C 16 Narrow SO
MAX232ACWE 0°C to +70°C 16 Wide SO
MAX232AC/D
MAX232AEPE -40°C to +85°C 16 Plastic DIP
MAX232AESE
0°C to +70°C Dice*
-40°C to +85°C 16 Narrow SO
MAX232AEWE -40°C to +85°C 16 Wide SO
MAX232AEJE -40°C to +85°C 16 CERDIP
MAX232AMJE -55°C to +125°C 16 CERDIP
MAX232AMLP -55°C to +125°C 20 LCC
MAX233CPP 0°C to +70°C 20 Plastic DIP
MAX233EPP -40°C to +85°C 20 Plastic DIP
MAX233ACPP 0°C to +70°C 20 Plastic DIP
MAX233ACWP 0°C to +70°C 20 Wide SO
MAX233AEPP -40°C to +85°C 20 Plastic DIP
MAX233AEWP -40°C to +85°C 20 Wide SO
MAX234CPE 0°C to +70°C 16 Plastic DIP
MAX234CWE 0°C to +70°C 16 Wide SO
MAX234C/D 0°C to +70°C Dice*
MAX234EPE -40°C to +85°C 16 Plastic DIP
MAX234EWE -40°C to +85°C 16 Wide SO
MAX234EJE -40°C to +85°C 16 CERDIP
MAX234MJE -55°C to +125°C 16 CERDIP
MAX235CPG 0°C to +70°C 24 Wide Plastic DIP
MAX235EPG -40°C to +85°C 24 Wide Plastic DIP
MAX235EDG -40°C to +85°C 24 Ceramic SB
MAX235MDG -55°C to +125°C 24 Ceramic SB
MAX236CNG 0°C to +70°C 24 Narrow Plastic DIP
MAX236CWG 0°C to +70°C 24 Wide SO
MAX236C/D 0°C to +70°C Dice*
MAX236ENG -40°C to +85°C 24 Narrow Plastic DIP
MAX236EWG -40°C to +85°C 24 Wide SO
MAX236ERG -40°C to +85°C 24 Narrow CERDIP
MAX236MRG -55°C to +125°C 24 Narrow CERDIP
MAX237CNG 0°C to +70°C 24 Narrow Plastic DIP
MAX237CWG 0°C to +70°C 24 Wide SO
MAX237C/D 0°C to +70°C Dice*
MAX237ENG -40°C to +85°C 24 Narrow Plastic DIP
MAX237EWG -40°C to +85°C 24 Wide SO
MAX237ERG -40°C to +85°C 24 Narrow CERDIP
MAX237MRG -55°C to +125°C 24 Narrow CERDIP
MAX238CNG 0°C to +70°C 24 Narrow Plastic DIP
MAX238CWG 0°C to +70°C 24 Wide SO
MAX238C/D 0°C to +70°C Dice*
MAX238ENG -40°C to +85°C 24 Narrow Plastic DIP
* Contact factory for dice specifications.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI