Anda di halaman 1dari 138

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

STASIUN CUACA MINI


Berbasis Mikrokontroler MC68HC908QB8

TUGAS AKHIR
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik pada
Program Studi Teknik Elektro

Disusun oleh:
Y.S. SOEFIAN NUR HIDAYAT
NIM: 035114003

PROGRAM STUDI TEKNIK ELEKTRO


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007

i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

MINI WEATHER STATION


Based on MC68HC908QB8 Microcontroller

FINAL PROJECT
Presented as Partial Fulfillment of the Requirements
To Obtain the SARJANA TEKNIK Degree
in Electrical Engineering

By:
Y.S. SOEFIAN NUR HIDAYAT
Student Number: 035114003

ELECTRICAL ENGINEERING DEPARTEMENT


SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007

ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LEMBAR PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini
tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.

Yogyakarta, 13 September 2007

Y.S. Soefian Nur Hidayat

v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

MOTTO DAN PERSEMBAHAN

MOTTO:
BERTAMBAHNYA UMUR ITU PASTI, TETAPI MENJADI
DEWASA ITU ADALAH SEBUAH PILIHAN
A - MILD

HIDUP BAGAIKAN MENULIS SEBUAH BUKU, ENTAH


BAGAIMANA KITA SEMUA INGIN MENULIS BUKU KITA,
MENJADI CERITA YANG MENARIK BAGI ORANG LAIN ATAU
MENJADI CERITA YANG ...
PENULIS

Kupersembahkan Tugas Akhir ini untuk:


Tuhanku yang Termulia
Papa dan Mamaku yang Terkasih
Kakak-kakakku yang Tersayang
Adikku yang Tercinta
Keponakan-keponakanku yang Ku-Sayangi

vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Judul : 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. Kawankawan 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 (TE04) 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
datadata 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

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

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

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

Gambar 2-1 Pencatat Hujan Tipping-Bucket


A. Wadah penampung C. Magnet
B. Wadah penampung 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

Gambar 2-3 Konfigurasi Terhalang ON


1. Bila Q1 terhalang (gelap), maka photo NPN OFF dan VoVcc.
2. Bila Q1 tidak terhalang (terang), maka photo NPN ON dan Vo0.

Untuk menghitung besarnya nilai RLed dan Rc dapat dilakukan perhitungan


menggunakan hukum kirchoff tegangan sebagai berikut:
-Vcc + ILed. RLed + VLed = 0
Vcc - VLed
RLed = ........................................................................... (2.1.a)
ILed
-Vcc + Ic. Rc + VCE = 0
Vcc - VCE
Rc = .............................................................................. (2.1.b)
IC

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

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
Vb VBE
RB = ............................................................................... (2.2.a)
IB
VCC IC. RC VCE = 0
VCC VCE
RC = ............................................................................. (2.2.b)
IC

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

3. Memiliki ketepatan 0,5C pada suhu + 25C


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,08C di udara diam.
10. Ketidaklinearan hanya sekitar 0,25 oC.
11. Impedansi keluaran yang kecil, 0,1 untuk beban 1 mA.

Pada aplikasinya LM35 membutuhkan penambahan R dan C. Besarnya


resistor yang diseri dengan kapasitor tersebut adalah 75 , sedangkan kapasitor yang
digunakan besarnya 1 F. Tujuan pemasangan R dan C yang diseri tersebut adalah
sebagai damper R-C sensor LM35, damper R-C tersebut dapat mengurangi noise yang
ditimbulkan dari kabel penghubung [6]. Gambar 2-6 menunjukkan konfigurasi LM35
dengan damper R-C.

Gambar 2-6 LM35 dengan Damper R-C

2.5. Real Time Clock (RTC) DS1305


2.5.1. Pengenalan
DS1305 merupakan sumber jam dan penanggalan digital. DS1305 dapat
memberikan informasi detik, menit, jam, hari, tanggal, bulan dan tahun. Tanggal
terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih kecil
dari 31 hari dan koreksi pada tahun kabisat. DS1305 berkomunikasi dengan
mikrokontroler dengan sistem komunikasi Serial Peripheral Interface (SPI) atau
koneksi antarmuka tiga kabel. Pengiriman data hanya dapat dilakukan untuk satu byte
atau beberapa byte dalam waktu tertentu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

10

2.5.2. Fitur
RTC DS1305 memiliki fitur sebagai berikut:
1. DS1305 menghitung detik, menit, jam, hari, tanggal, bulan dan tahun (termasuk
tahun kabisat).
2. 96 byte nonvolatile RAM untuk menyimpan data.
3. Antarmuka dengan sistem komunikasi SPI, khusus mikrokontroler Motorola
atau menggunakan koneksi tiga kabel.
4. Dapat memberikan sinyal keluaran gelombang kotak yang terprogram, untuk
kombinasi detik, menit, jam dan hari.
5. Catu daya ganda: sebagai catu daya utama dan cadangan.
6. Disediakan pilihan dengan arus kecil untuk mengisi catu daya cadangan (Trickle
Charger).
7. Beroperasi pada tegangan 2V sampai 5,5V.
8. Jangkauan temperatur kerja 40oC sampai + 85oC.
9. Tersedia dalam kemasan 20 pin TSSOP dan 16 pin DIP.

2.5.3. Penempatan Pin


Penempatan pin RTC DS1305 ditunjukkan pada gambar 2-7.

Gambar 2-7 Penempatan Pin DS1305

DS1305 mempunyai 16 pin dengan fungsi-fungsi sebagai berikut:


1. Vcc1 = catu daya utama.
2. Vcc2 = catu daya cadangan. Pada sistem trickle charger, pin ini terhubung
dengan sumber pengisi baterai.
3. X1 dan X2 = dihubungkan dengan kristal 32,768 kHz.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

4. VBat = masukan catu daya cadangan +3V, dengan standar baterai lithium atau
sumber energi lainnya.
5. GND = ground.
6. Serial Data Input (SDI) = masukan data serial. Pada saat komunikasi SPI
dipilih, pin SDI akan menjadi masukan data serial bagi bus SPI. Ketika
komunikasi tiga kabel dipilih, pin SDI harus dihubungkan dengan pin SDO.
7. Serial Data Output (SDO) = keluaran data serial. Pada saat komunikasi SPI
dipilih, pin SDO akan menjadi keluaran data serial bagi bus SPI. Ketika
komunikasi tiga kabel dipilih, pin SDO harus dihubungkan dengan pin SDI.
8. Serial Clock Input (SCLK) = Clock serial. Digunakan untuk mensinkronisasi
pengiriman data pada antarmuka serial dengan SPI atau koneksi tiga kabel.
9. Serial Interface Mode Input (SERMODE) = mode antarmuka serial. Pin
SERMODE dipakai untuk memilih dua mode antarmuka serial. Ketika
terhubung dengan GND, maka mode yang dipilih komunikasi 3 kabel dan
ketika terhubung dengan Vcc, maka mode yang dipilih komunikasi SPI.
10. Chip Enable (CE) = sinyal CE harus berada pada kondisi tinggi selama proses
read/write. Pin ini memiliki resistor pulldown internal sebesar 55 k.
11. Interrupt 0 Output ( INT 0 ) = pin INT 0 memiliki keluaran yang aktif rendah
yang dapat digunakan sebagai interupsi bagi prosesor. Pin ini membutuhkan
resistor pullup eksternal.
12. Interrupt 1 Output ( INT 1 ) = pin INT 1 memiliki keluaran yang aktif rendah
yang dapat digunakan sebagai interupsi bagi prosesor. Pin ini membutuhkan
resistor pullup eksternal.
13. Power Fail Output ( PF ) = pin PF digunakan untuk menunjukkan keadaan
catu daya utama. Ketika Vcc1< Vcc2 atau Vcc1< Vbat, maka pin ini bernilai
rendah.
14. Interface Logic Power Supply Input (VCCIF) = pin ini memungkinkan DS1305
untuk mengatur keluaran pin SDO dan PF pada level yang tepat untuk logika
antarmuka.

2.5.4. Peta Memori RTC


Tabel 2-1 menunjukkan peta alamat register dan alamat RAM untuk DS1305.
Alamat register DS1305 berlokasi pada alamat 00h sampai 1Fh untuk baca (read) dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

80H sampai 9FH untuk baca (write). RAM berlokasi pada alamat 20h sampai 7Fh
untuk read dan A0h sampai FFH untuk write [7].
Tabel 2-1 Peta Alamat RTC DS1305 dan Alamat RAM

2.6. Komunikasi Serial


Pada PC standarT, biasanyaT terdapat sebuah port untuk komunikasi serial.
Pada prinsipnya, komunikasi serial ialah komunikasi di mana pengiriman data
dilakukan per-bit, sehingga lebih lambat dibandingkan komunikasi paralel, seperti
pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa
contoh penerapan komunikasi serial adalah mouse, scanner dan sistem akuisisi data
yang terhubung ke port serial COM1/COM2.
Tujuan dasar dari suatu komunikasi data adalah untuk saling menukar atau
mengirim informasi berupa data n-bit (1 byte atau lebih) antar stasiun. Komunikasi
data antar stasiun yang terpisah oleh jarak yang cukup berjauhan harus menggunakan
mode pengiriman data serial untuk mengirimkan datanya, yaitu data dikirim secara bit
per-bit melalui satu saluran (kabel) transmisi.
Pada metode asinkron, setiap karakter yang dikirim disinkronkan dengan
menyisipkan bit-bit framing (pembingkaian) pada permulaan karakter, yaitu bit start
dan pada akhir karakter, yaitu bit stop. Bit start selalu berlogika rendah (0) berfungsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

13

untuk menandakan permulaan karakter. Setelah bit data terakhir (MSB), 1 bit paritas
disisipkan, yang berfungsi untuk mengecek keabsahan dari data yang dikirim. Logika
1 untuk paritas genap dan logika 0 untuk paritas ganjil. Bit stop selalu berlogika tinggi
(1) dan berfungsi menandakan akhir dari karakter [8]. Gambar sebuah frame dalam
komunikasi serial ditunjukkan pada gambar 2-8.

Gambar 2-8 Sebuah Frame dalam Komunikasi Serial

2.6.1. Port Komunikasi Serial


Komunikasi serial membutuhkan port sebagai saluran data. Pada IBM PC
kompatibel port serial bersifat asinkron dimana dapat mengirimkan data sebanyak 1
bit dalam tiap satu waktu. Port yang digunakan biasanya menggunakan konektor
DB9. Standar RS232 menyangkut komunikasi data antar komputer (Data Terminal
Equipment/DTE) dengan alat-alat pelengkap komputer (Data Circuit-Terminating
Equipment/DCE). Berikut tampilan port serial DB9 yang umum digunakan sebagai
port serial [9].

T (a) (b)
TGambar 2-9 Port DB9: (a) Male; (b) Female

DB9 mempunyai 9 pin dengan fungsi-fungsi sebagai berikut:


1. pin 1 = Data Carrier Detect (DCD) atau Received Line Signal Detect, dengan
saluran ini DCE memberitahukan ke DTE bahwa pada terminal masukan, ada
data masukan.
2. pin 2 = Received Data (RxD), digunakan DTE untuk menerima data ke DCE.
3. pin 3 = Transmitted Data (TxD), digunakan DTE untuk mengirimkan data ke
DCE.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

4. pin 4 = Data Terminal Ready (DTR), pada saluran ini DTE memberitahukan
kesiapan terminalnya.
5. pin 5 = Signal Ground (common), saluran ground.
6. pin 6 = Data Set Ready (DSR), sinyal aktif pada saluran ini menunjukkan bahwa
DCE sudah siap.
7. pin 7 = Request To Send (RTS), dengan saluran ini DCE diminta untuk
mengirimkan data oleh DTE.
8. pin 8 = Clear To Send (CTS), dengan saluran ini DCE memberitahukan bahwa
DTE boleh mulai mengirimkan data.
9. pin 9 = Ring Indicator (RI), pada saluran ini DCE memberitahukan ke DTE
bahwa sebuah stasiun menghendaki hubungan dengannya.

Untuk dapat menggunakan port serial perlu diketahui alamatnya. Biasanya


tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Umumnya COM1 berada
di base address 1016 (3F8H), sedangkan COM2 di base address 760 (2F8H). Alamat
tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang
digunakan. Secara tepat alamat tersebut dapat dilihat pada peta memori, yaitu memori
0000.0400h untuk base address COM1 dan memori 0000.0402h untuk base address
COM2 [10].

2.6.2. RS232
RS232 merupakan standar yang biasanya digunakan untuk komunikasi serial
antar alat dengan komputer. RS232 dikembangkan oleh Electronics Industries
Association and The Telecommunications Industry (EIA/TIA) dan dipublikasikan
pertama kali pada tahun 1962. Perkembangan ini jauh terjadi sebelum IC TTL
populer, sehingga sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC
TTL. Standar ini hanya menyangkut komunikasi data antar komputer DTE dengan
alat-alat pelengkap komputer DCE. Standar RS232 inilah yang digunakan pada port
serial IBM kompatibel.
Standar sinyal serial RS 232 memiliki ketentuan level tegangan sebagai
berikut:
1. Logika 1 disebut mark terletak antara -3V hingga -25V.
2. Logika 0 disebut space terletak antara +3V hingga +25V.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

3. Daerah tegangan antara -3V hingga +3V, -25V dan +25V adalah invalid
level, yaitu daerah tegangan yang tidak memiliki logika pasti dan harus
dihindari.

Rangkaian pengubah level tegangan TTL menjadi level tegangan RS232


menggunakan rangkaian voltage doubler atau rangkaian pengganda tegangan dan
rangkaian voltage inverter atau rangkaian pembalik tegangan. Gambar 2-10 adalah
contoh level tegangan RS232 pada pengiriman huruf A dalam format ASCII tanpa
bit paritas pada level TTL dan level RS 232 [10].

Gambar 2-10 Level Tegangan TTL dan RS232 Pada Pengiriman Huruf A Tanpa Bit
Paritas

2.7. Pemrograman Visual Basic


Visual Basic merupakan pemrograman berorientasi objek (Object Oriented
Programming/OOP). Visual Basic menyediakan objek-objek yang sangat kuat,
berguna dan mudah dipakai. Pada Visual Basic yang dikerjakan pertama kali adalah
membuat tampilan program terlebih dahulu, kemudian dilanjutkan dengan membuat
kode yang akan digunakan oleh program [11]. Gambar Visual Basic IDE (Integrated
Development Environment) dari Visual Basic ditunjukkan pada gambar 2-11.

Gambar 2-11 Visual Basic IDE


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

IDE merupakan bidang kerja tempat progammer membuat aplikasi. Di dalam


IDE terdapat Programming Tools, Toobox Controls, Form Windows, Properties
Windows, Project Windows, Code Windows, Immediate Windows, Form Layout
Windows, Online Help Systems.
a. ToolBox: Merupakan kumpulan alat yang dipakai untuk merancang tampilan
dari aplikasi yang dibuat, termasuk kalau mau membuat objek seperti text area,
berbagai tombol dan scroll bar. Letaknya ada di sebelah kiri dari gambar 2-12.
b. Form: Bagian ini adalah tampilan yang akan dilihat oleh user. Di dalam form
terdapat berbagai kontrol yang bisa beraksi sesuai kode yang dibuat. Suatu
aplikasi bisa mempunyai 5 sampai 6 form. Namun ada juga aplikasi yang
mempunyai lebih banyak form. Letaknya ada di tengah atas dari gambar 2-12.
c. Code Windows: Bagian ini adalah tempat untuk menuliskan kode atau program.
Ada dua combo box di bagian atas dari code windows, box yang kiri
menunjukkan objek yang kodenya ditulis dan box yang kanan menunjukkan
prosedur atau event dari kontrol yang sedang didefinisi kelakuannya. Letaknya
ada di tengah bawah dari gambar 2-12.
d. Properties Window: Properties/karakter/sifat dari suatu kontrol ditentukan di
window ini, misalnya warna dimensi dan berbagai operasi yang terkait dengan
kontrol yang bersangkutan. Letaknya ada di kanan atas dari dari gambar 2-12.
e. Project Windows: Suatu aplikasi dalam Visual Basic dibuat melalui project.
Project adalah kumpulan file yang saling berkaitan satu sama lain. Sebagian dari
file ini berasal dari user, sedang sebagian lagi dibuat oleh sistem. Letaknya ada
di kanan bawah dari gambar 2-12. Isi dari Project Window antara lain:
1) Satu file untuk tiap form (ekstensi .frm)
2) Satu file untuk tiap module (ekstensi .bas)
3) Satu file untuk tiap custom control (ekstensi .vbx)

Dalam Visual Basic disediakan costum control untuk komunikasi serial yaitu
communication control. Bahasa pemrograman Visual Basic yang digunakan adalah:
1. Do [pernyataan-pernyataan] Loop Until [syarat]: Melakukan looping untuk
membaca tiap karakter yang diterima sampai syarat terpenuhi.
2. [Variabel] = DoEvents(): Memberikan kesempatan pada sistem operasi untuk
memproses kejadian (program) sampai selesai.
3. [Variabel] = Comm1.Input: Membaca karakter-karakter dari buffer penerima dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

dimasukkan variabel.
4. Comm1.Output = [Variabel]: Mengirimkan karakter-karakter yang terdapat pada
variabel melalui port Comm1.

Berikut adalah kode program beserta keterangannya pada prosedur


penerimaan data serial:
1. Comm1.CommPort = 1, perintah ini digunakan untuk menginisialisasi
penggunaan port com1 dengan nama Comm1
2. Comm1.Settings = 1200,N,8,1, perintah ini digunakan untuk mengeset port
com1 dengan parameter sebagai berikut:
1.Angka pertama menunjukkan kecepatan transmisi data 1200 baud.
2.N (none) menunjukkan tidak ada paritas yang digunakan.
3.Angka ketiga menunjukkan jumlah bit yang dikirim dalam 1 karakter yaitu 8
bit.
4.Angka terakhir menunjukkan bit akhir (stop bit) dalam satu karakter.
3. Comm1.InputLen = 0, perintah ini digunakan untuk menyatakan banyaknya
karakter yang akan dibaca jika input digunakan.
4. Comm1.PortOpen = True, perintah ini digunakan untuk membuka (true) atau
menutup (false) port Comm1.

Berikut adalah kode program pada prosedur pengiriman data serial:


1. Comm1.CommPort = 1
2. Comm1.Settings = 1200,N,8,1
3. Comm1.InputLen = 0
4. Comm1.PortOpen = True
5. Comm1.OutputLen = HAI APA KABAR? SALAM MANIS DARIKU +
Chr$(13)
6. Comm1.PortOpen = False

2.8. Mikrokontroler MC68HC908QB8


2.8.1. Gambaran Umum
MC68HC908QB8 termasuk dalam Microcontroller Units (MCUs) 8-bit
keluarga M68HC08 yang berdaya guna tinggi, murah dan dirancang berdasarkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

strategi Complexity Instruction Set Computer (CISC) dengan arsitektur Von


Neumann. Semua mikrokontroler dalam keluarga ini memakai Central Processor
Unit (CPU) M68HC08 dan tersedia dengan berbagai modul, tipe, ukuran memori dan
berbagai tipe kemasan.
MC68HC908QB8 memiliki 8 kbyte flash memori, 256 byte Random Access
Memory (RAM), 4 saluran Timer Interface Module (TIM) 16 bit, 10 saluran Analog to
Digital Converter (ADC) 10 bit, modul Enhanced Serial Communications Interface
(ESCI), modul Serial Peripheral Interface (SPI), internal osilator yang dapat diatur
secara software, memiliki kemampuan Auto Wakeup dari intruksi stop, kompatibel
dengan kode objek keluarga M68HC05 dan didesain untuk daya rendah dengan mode
stop and wait [12].

2.8.2. Port-Port Input/Output (PORTS)


Pada MC68HC908QB8 terdapat 13 pin I/O bidirectional dan 1 pin khusus
input. Semua I/O pin dapat diprogram sebagai input ataupun output. Port A adalah
port dengan fungsi khusus 6-bit yang men-share keenam pinnya dengan modul
keyboard interrupt (KBI), 4 saluran TIM, ADC 10 bit, IRQ, reset dan osilator. Port B
adalah port dengan fungsi khusus yang men-share kedelapan pinnya dengan saluran 4
TIM, ADC 10 bit, modul SPI dan modul ESCI. Tiap pin Port A dan Port B juga
memiliki devais pullup, yang dikonfigurasi program apabila pin port yang
bersangkutan dikonfigurasi sebagai input. Gambar konfigurasi Pin Mikrokontroler
MC68HC908QB8 ditunjukkan pada gambar 2-12 di bawah ini.

Gambar 2-12 Konfigurasi Pin Mikrokontroler MC68HC908QB8


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

2.8.2.1. Register Data Port A


Register data port A (PTA) berisi sebuah pengunci data (latch), untuk 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:
21 siklus ADCK 3 siklus bus
Waku konversi maksimum = + = 11,25 s
16 MHz/8 4 MHz
Jumlah siklus bus = 11,25s x 4 MHz = 45 siklus
VDD
Resolusi ADC = ; n = Jumlah bit (8/10) ................................... (2.3.a.)
2n
Resolusi ADC
Resolusi ADC terhadap Inputnya = .................. (2.3.b.)
Resolusi Inputnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

26

ADC10 Status and Control Register (ADCSC) yang ditunjukkan pada gambar
2-22 mengendalikan dan mengawasi operasi dari modul ADC10.

Gambar 2-22 ADC10 Status and Control Register (ADCSC)

Bit Conversions Complete (COCO) merupakan bit yang hanya dapat dibaca,
yang di-set pada akhir tiap konversi. COCO akan di-clear-kan pada saat ADCSC
ditulis atau sewaktu register data dibaca. Logika 1 pada bit yang bersifat read-only
ini, menandakan konversi selesai. Sebalinya, logika 0 pada bit ini menandakan
konversi belum selesai.
Bit Interrupt Enable (AIEN), ketika bit ini di-set sebuah interupsi dihasilkan
pada akhir konversi. Sinyal interupsi di-clear-kan ketika register data dibaca atau
ADCSC ditulis. Menulis logika 1 pada bit ini, menandakan interupsi ADC10
diijinkan. Sebaliknya, menulis logika 0 pada bit ini menandakan interupsi ADC10
tidak diijinkan
Bit Continuous Conversion Bit (ADCO), ketika bit di-set ADC10 akan
mengkonversi cuplikan secara kontinyu dan memperbaharui register hasil, diakhir tiap
konversi. Bit Channel Select (ADCH4 - ADCH0) membentuk 5 bit field, yang
digunakan untuk memilih salah satu dari saluran input. ADC10 Result High Register
(ADRH), merupakan register yang menyimpan MSB dari hasil konversi dan selalu
diperbaharui setiap waktu konversi selesai. Bit-bit yang lain terbaca sebagai 0.
Gambar 2-23 menunjukkan register ADRH.

Gambar 2-23 Register Data High ADC10, Mode 8-Bit dan Mode10-Bit
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

ADC10 Result Low Register (ADRL), merupakan register yang menyimpan


LSB dari hasil konversi dan selalu diperbaharui setiap waktu konversi selesai.
Gambar 2-24 menunjukkan register ADRL.

Gambar 2-24 Register Data Low ADC10

ADC10 Clock Register (ADCLK), merupakan register yang memilih frekuensi


clock ADC10 dan mode operasi. Gambar 2-25 menunjukkan register ADCLK.

Gambar 2-25 Register Clock ADC10 (ADCLK)

Bit Low Power Configuration (ADLPC) mengendalikan kecepatan dan daya


yang dikonsumsi selama proses konversi. Menulis logika 1 pada bit ADLPC berarti
menggunakan konfigurasi daya rendah. Sebaliknya, menulis logika 0 pada bit ADLPC
menggunakan konfigurasi kecepatan tinggi. Bit Clock Divider (ADIV1 dan ADIV0)
memilih rasio pembagi yang digunakan ADC10 untuk menghasilkan clock internal
ADCLK.
Bit Input Clock Select (ADICLK), digunakan untuk memilih bus clock atau
sumber clock alternatif sebagai masukan clock, ketika ACKLEN di-clear-kan.
Menulis logika 1 pada bit ACKLEN, akan memilih clock bus internal sebagai sumber
clock. Sebaliknya, menulis logika 0 pada bit ACKLEN , akan memilih clock alternatif
sebagai sumber clock.
Hardware Triggered Mode Selection (MODE1 MODE0), digunakan untuk
memilih operasi dengan 8 atau 10 bit.
00 = 8 bit, picuan ADCSC secara software.
01 = 10 bit, picuan ADCSC secara software.
10 = Dipesan.
11 = 10 bit, picuan ADCSC secara hardware.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

Long Sample Time Configuration (ADLSMP), digunakan untuk mengatur


waktu sampling ADC10 pada 3,5 atau 23,5 siklus clock ADCK.
1 = waktu sampling yang panjang (23,5 cycles).
0 = waktu sampling yang pendek (3,5 cycles).

Asynchronous Clock Source Enable (ACLKEN), digunakan untuk


mengaktifkan sumber clock asinkron, sebagai input clock dan memungkinkan stop
mode.
1 = clock asinkron dipilih sebagai sumber clock.
0 = ADICLK akan memilih sumber clock dan konversi tidak akan diteruskan saat
stop mode.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III
RANCANGAN PENELITIAN

Diagram blok dari Stasiun Cuaca Mini akan ditunjukkan pada Gambar 3-1.

Gambar 3-1 Rancangan Diagram Blok Stasiun Cuaca Mini

Cara kerja dari diagram blok di atas adalah sebagai berikut:


1. Blok sensor suhu: LM35 akan mengubah panas menjadi tegangan. Kemudian
tegangan keluaran dari LM35 akan dikirimkan ke mikrokontroler sebagai
informasi suhu udara.
2. Blok sensor curah hujan: Pin IRQ akan terpicu (tepian turun negatif ) ketika
optocoupler terhalang. Keluaran dari optocoupler akan dikirimkan ke
mikrokontroler sebagai informasi jumlah curah hujan. Setiap kali terhalang
menandakan bahwa wadah penampung sebesar 0,5 mm telah terisi penuh.
3. Blok pengumpul data: Mikrokontroler MC68HC908QB8 merupakan pengumpul
data dari setiap blok. Mikrokontroler menerima informasi dari sensor suhu,
sensor curah hujan dan data waktu/penanggalan dari RTC. Data-data tersebut
diolah terlebih dahulu sebelum dikirimkan ke PC. Proses pengumpulan data
akan diatur oleh mikrokontroler secara software.
4. Blok RTC: RTC merupakan sumber jam dan penanggalan digital. RTC
memberikan informasi detik, menit, jam, hari, tanggal, bulan dan tahun. Tanggal
terakhir pada akhir bulan disesuaikan secara otomatis untuk bulan yang lebih
kecil dari 31 hari, termasuk koreksi pada tahun kabisat. RTC berkomunikasi
dengan mikrokontroler, menggunakan sistem komunikasi SPI. Proses
pengiriman dan pengambilan data RTC akan diatur oleh mikrokontroler.

29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

5. Blok komputer: Data yang dikirim dan diterima dari komputer ke


mikrokontroler dilakukan secara serial, kemudian data-data tersebut akan
ditampilkan pada layar monitor menggunakan perangkat lunak Visual Basic.
Proses pengaturan jam untuk RTC diatur menggunakan sebuah tombol yang
berada pada form utama.

3.1. Perancangan Perangkat Keras


3.1.1. Perancangan Sensor Suhu
Sensor suhu yang dipakai pada perancangan ini adalah sensor suhu linear
LM35 yang memiliki karekteristik tegangan keluaran sebesar 10 mV/oC. Tegangan
P P

keluaran LM35 akan dihubungkan dengan pin PTA4 (AD2) pada mikrokontroler.
VCC
U4
1 2
VS+ VOUT PTA4
GND

R8 R7
LM35 150 150
3

C8
1uF

Gambar 3-2 Rancangan Sensor Suhu dengan IC LM35 [6]

Dari gambar 3-2 di atas, nilai resistor 75 tidak terdapat di pasaran. Untuk
mengatasi hal tersebut dibutuhkan dua buah resistor 150 (diparalel). Maksud
penambahan resistor 75 dan kapasitor 1 F adalah sebagai damper R-C sensor
LM35, sehingga dapat mengurangi noise yang ditimbulkan kabel penghubung antara
sensor dan mikrokontroller.
R7 x R8 150 x 150
Rparalel = = = 75
R7 + R8 150 + 150

Keluaran LM35 masih berupa data analog, oleh karena itu data tersebut akan
diubah menjadi data digital menggunakan fasilitas ADC internal (8/10 bit) yang
dimiliki oleh mikrokontroler. Pada perancangan ini dipilih mode ADC 10 bit agar
resolusi yang diterima semakin teliti (4,8828125 mV), proses pengambilan data suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

udara akan diatur secara software pada mikrokontroler. Berikut perhitungan resolusi
ADC terhadap LM35:
VDD 5V
Resolusi ADC = 10
= = 4,8828125 mV 5 mV
2 1024
Resolusi ADC 4,8828125 mV
Resolusi ADC terhadap LM35 = =
Resolusi LM35 10 mV/ o C
= 0,48828125 oC 0,5 OC
P P P P

Misal suhu yang terukur pada LM35 = 25 oC, maka data yang akan diterima di
P P

25 o C
dalam register mikrokontroler adalah : = 50 = 32H
0,5 o C

3.1.2. Perancangan Sensor Tingkat Curah Hujan


3.1.2.1. Tipping-Bucket [3]
Perancangan tipping-bucket mengacu pada dasar teori pada bab II. Pada
perancangan ini untuk mendeteksi banyaknya jumlah curah hujan yang diukur,
menggunakan sensor optis dengan konfigurasi terhalang ON. Berdasarkan hasil dari
studi laboratorium di Badan Penelitian dan Pengembangan Pusat Penelitian dan
Pengembangan Sumberdaya Air Balai SABO, Sopalan, Maguwoharjo, Depok,
Sleman, jumlah air hujan yang masuk ke dalam wadah penampung adalah 1 mm dan
2 pulsa mewakili 2 mm air hujan. Gelas ukur yang digunakan, harus sesuai dengan
luas corong, yaitu 200 cm2. Panjang pipa dan besar kemiringan corong masukan tidak
P P

mempengaruhi besarnya jumlah curah hujan yang terukur. Ukuran yang harus
diperhatikan pada perancangan ini adalah luasan corong masukan dan besarnya
wadah penampung air. Berikut gambar rancangan sensor pengukur curah hujan
beserta ukuran-ukurannya.
Pada perancangan ini bahan yang digunakan sebagai wadah penampung
menggunakan akrelik 3 mm. Model dan ukuran dari wadah penampung,
menyesuaikan model rain gauge yang berada pada Balai SABO. Untuk corong
masukan digunakan corong berbahan seng dengan luasan 200 cm2. Pipa keluaran air P P

hujan menggunakan botol dari tinta printer, agar debit air yang keluar tidak terlalu
kecil/besar. Untuk mengatur besarnya jumlah air hujan yang masuk pada wadah
penampung digunakan dua buah baut yang berbentuk T. Air yang masuk wadah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

penampung, akan langsung dibuang keluar melalu pipa pembuangan berbahan


paralon. Berikut gambar model rancangan sensor pengukur curah hujan.

Gambar 3-3 Rancangan Sensor Pengukur Curah Hujan

3.1.2.2. Sensor Optis dan Transistor Sebagai Saklar


Bila fototransistor terhalang atau tidak mendapatkan cahaya dari LED, maka
fototransistor akan OFF (cut-off) sehingga nilai Vo mendekati dengan Vcc. Akan
tetapi, bila fototransistor tidak terhalang atau mendapatkan cahaya dari LED, maka
fototransistor akan ON (saturasi) sehingga Vo mendekati nol (GND). Fungsi
transistor sebagai saklar adalah untuk menyalakan LED sebagai indikator adanya
cacahan jumlah curah hujan.
Pada perancangan ini diinginkan ILed = 10 mA; VLed = 1,4 V karena berbahanB B B B

silikon dan IC = 1 mA; VCE = 2,5 V, maka untuk mendapatkan nilai R2 dan R3 dapat
B B B B B B B B

dilakukan perhitungan dengan mengacu pada rumus 2.1.a dan 2.1.b:


-Vcc + ILed. R3 + VLed = 0 ; rumus 2.1.a
B B B B B B

-Vcc + Ic. R4 + VCE = 0 B B B B ; rumus 2.1.b


Vcc - VLed Vcc - VCE
R2 = R3 =
ILed IC
B B B B

5 - 1.4 5 - 2,5
R2 = = 360 R3 = = 2.500
10.10 3 1.10 3
B B B B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

Dari hasil perhitungan nilai hambatan yang diperoleh adalah R2 = 360 dan B B

R3 = 2k5, namun nilai hambatan tersebut tidak terdapat dipasaran, sehingga pada
B B

prakteknya digunakan hambatan sebesar 330 dan 2k2 .


Saat ada tegangan masukan ke basis transistor 0,7 > V > 12, maka ada arus
yang melewati basis sehingga transistor ON dan membuat tegangan keluaran kolektor
transistor rendah atau berlogika 0. Saat tegangan masukan ke basis transistor di
bawah 0,7 volt, maka tidak ada arus yang melewati basis sehingga transistor OFF
dan membuat tegangan keluaran kolektor transistor tinggi atau berlogika 1.
Pada perancangan ini diinginkan IC = 0,6 mA; Vce(sat) = 6 V, maka Untuk
B B B B

menentukan nilai R5 dan R6 untuk rangkaian transistor sebagai saklar, mengacu pada
B B B B

rumus 2.2.a dan 2.2.b:


Vcc Vce( sat )
R5 =
B B ; rumus 2.2.a
Ic
Vcc Vbe
R6 =
B B ; rumus 2.2.b
Ib
12V 6V 12V 0,7V
R5 = = 10 k ; R6 = = 28.250
0,6mA 0,4mA
B B B B

Dari hasil perhitungan nilai hambatan yang diperoleh adalah R5 = 10 K dan B B

R6 = 28.250 . Karena di pasaran tidak terdapat nilai R6 = 28.250, maka dipilih nilai
B B B B

yang paling mendekati yaitu 27 k.

VCC=5V

R4
VCC=5V VCC=12V 330

D1
R5 LED
2k2
R3 R2
330 2k2

3
2 2N2222A
1
3 R6
LED 27k
1
IRQ
PHOTO NPN

Gambar 3-4 Rancangan Sensor Optis


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

3.1.3. Perancangan Antarmuka Mikrokontroler dengan DS1305


DS1305 merupakan perangkat keras yang memberikan informasi jam dan
kalender, serta menyediakan memori sebesar 96 byte. Pada perancangan ini
komunikasi antara mikrokontroler dengan DS1305 dilakukan dengan modul SPI yang
dimiliki mikrokontroler. Modul SPI membutuhkan 3 kabel, 2 kabel (SDI/SDO) untuk
jalur data dan 1 kabel untuk clock. Koneksi mikrokontroler dengan DS1305
ditunjukkan pada Gambar 3-5 [7]. Agar DS1305 dapat beroperasi harus dilakukan
pengesetan secara hardware sebagai berikut:
1. Pin X1 dan X2 dihubungkan dengan kristal 32,768 kHz.
2. Pin Vbat dihubungkan dengan baterai 3 Volt (berbahan lithium) untuk catu
daya cadangan, agar pada saat catu daya utama terputus sistem jam, kalender
dan data pada memori tidak hilang.
3. Pin SDI dihubungkan dengan mikrokontroler pada pin PTB1/MOSI (Master
Out Serial IN). Sedangkan SDO dihubungkan dengan mikrokontroler pada pin
PTB2/MISO (Master IN Serial OUT).
4. Pin SCLK dihubungkan dengan mikrokontroler pin PTB0/SCK (Serial Clock).
Pada saat pembacaan dan penulisan data, RTC memerlukan sinyal clock. Pin
PTB0 mikrokontroler difungsikan untuk mengeluarkan sinyal clock yang
diatur secara software.
5. Pin INT 0 dihubungkan dengan mikrokontroler pin PTA3/KBI3. Pin ini akan
mengeluarkan logika rendah dan digunakan sebagai sumber interupsi
keyboard. Resistor pullup dibutuhkan pada pin INT 0 , jika diharapkan arus
yang dikonsumsi mikrokontroler pada setiap pin maksimal 0,15 mA pada VCCB B

= 5 V, maka perhitungan Rpullup adalah :


Vcc 5V
R pullup = = = 33.000 = 33 k
I 0,15 mA
6. Pin CE dihubungkan dengan mikrokontroler pin PTA1. Sinyal CE harus
berada pada kondisi tinggi selama proses read/write.
7. Pin SERMODE dihubungkan dengan Vcc. Pin ini berfungsi untuk memilih
komunikasi DS1305 dengan mikrokontroler. Komunikasi yang digunakan
pada perancangan ini adalah SPI.
8. Dibutuhkan sebuah kapasitor bypass sebesar 100 nF untuk mengurangi noise
dari sumber tegangan utama RTC.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

VCC = 5 V

16

14
C3 U2
100n R1

VCC1

VCCIF
33k U1
1 15
Y 1 32,768 kHz VCC2 PF 8
4 11 15 Pta3/kbi3/RST
X2 SCLK Ptb0/sck/AD4

DS1305
13 14
3 SDO 12 11 Ptb1/mosi/AD5
X1 SDI 12 Ptb2/miso/AD6
7 Pta1/tch1/AD1
9 INT1 6
3V SERMODE INT0 MC68HC908QB8
2 10

GND
- - - VBAT CE
BATTERY

Gambar 3-5 Rancangan Koneksi Mikrokontroler dengan DS1305

3.1.4. Perancangan Pengubah Level Tegangan TTL menjadi RS232


Pengubahan level tegangan TTL dari mikrokontroler MC68HC90QB8
menjadi tegangan dengan level RS232 menggunakan IC MAX232. Rancangan
pengubah level tegangan TTL menjadi tegangan RS232 ini mengikuti konfigurasi dari
datasheet MAX232. Input TTL pada MAX232 ada dua, yaitu T1IN dan T2IN. Pada B B B B

perancangan dipilih T2IN sebagai input tegangan TTL dari mikrokontroler, yaitu data
B B

yang akan dikirim. Sedangkan output TTL pada MAX232 juga ada dua saluran, yaitu
R1out dan R2out . Pada perancangan, dipilih R2out sebagai jalur data yang diterima oleh
B B B B B B

mikrokontroler. Sedangkan input dan output yang terhubung dengan port serial
dihubungkan dengan pin T2out dan R2out. Ground rangkaian dengan ground pada
B B B B

bagian komputer dihubungkan, agar referensi tegangan antar kedua perangkat sama
sehingga data dapat diterima dan dikirim dengan acuan yang sama. Gambar 3-6
menunjukkan konfigurasi MAX232 dengan DB9 dan I/O Mikrokontroler [10].
VCC = 5 V
P1
16

C4 U3 1
1uF 13 12 6
VCC

8 R1IN R1OUT 9 2
11 R2IN R2OUT 14 7
PTB4/Tx 10 T1IN T1OUT 7 3
T2IN T2OUT 8
1 4
C5 3 C+ 9
1uF 4 C1- 5
5 C2+
2 C2- CONNECTOR DB9
GND

C6 6 V+
1uF V-
1uF MAX232 PTB5/Rx
15

C7

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. C5 + sebagai kapasitor + internal voltage doubler.
B B

2. C5 sebagai kapasitor - internal voltage doubler.


B B

3. C6 + sebagai kapasitor + internal voltage doubler.


B B

4. C6 sebagai kapasitor - internal voltage doubler.


B B

Nilai-nilai kapasitor yang digunakan sesuai dengan nilai-nilai yang tertera


pada datasheet MAX232. Bila nilai C5 dan C6 dinaikkan, maka akan mengurangi nilai
B B B B

impedansi input rangkaian voltage doubler dan inverter. Bila nilai C4 dan C7
B B B B

dinaikkan, maka akan mengurangi riak catu daya.

3.2. Perancangan Perangkat Lunak


Perancangan perangkat lunak dibagi menjadi dua bagian, yaitu perancangan
perangkat lunak mikrokontroler dan Visual Basic 6.0. Program yang dirancang terdiri
atas program utama dan subrutin.

3.2.1. Perancangan Perangkat Lunak Mikrokontroler


Perancangan perangkat lunak mikrokontroler dimulai dengan proses
inisialisasi, misalnya alamat flash ROM, port I/O, RAM, interupsi keyboard, interupsi
eksternal (IRQ), modul ESCI, modul SPI , modul ADC10 dan lain-lain. Setelah
proses inisialisasi selesai, mikrokontroler sepenuhnya dikendalikan oleh sebuah rutin
program utama yang berfungsi sebagai pengatur dari keseluruhan rutin, yang 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 INT 0 ), proses pengaktifan interupsi satu
detik sekali pada DS1305 dilakukan secara software oleh mikrokontroler. Proses ini
akan dijelaskan lebih lanjut dalam rancangan diagram alir interupsi keyboard.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

Gambar 3-8 Rancangan Diagram Alir Subrutin Program Utama

3.2.1.1. Rancangan Diagram Alir Interupsi Keyboard (KBI)


Subrutin interupsi keyboard mendapatkan sinyal masukan dari interupsi satu
detik DS1305. Di dalam subrutin ini akan dilakukan proses pengambilan register baca
detik, hal ini dilakukan untuk membuat pin INT 0 kembali menjadi level tinggi
setelah memberikan interupsi satu detik sekali ke mikrokontroler. Fungsi dari subrutin
ini untuk melakukan proses penghitungan waktu yang digunakan untuk mengambil
data-data selama periode waktu tertentu yang dikehendaki. Pada saat menit mencapai
tiga, maka subrutin program utama akan melakukan proses pengambilan data suhu
dari ADC10, data curah hujan dan waktu suhu dari DS1305, kemudian data tersebut
diubah menjadi format ASCII sebelum dikirimkan secara serial ke PC. Gambar
perancangan diagram alir Interupsi Keyboard ditunjukkan pada gambar 3-9.

Gambar 3-9 Rancangan Diagram Alir Interupsi Keyboard


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

39

3.2.1.2. Rancangan Diagram Alir Interupsi Eksternal (IRQ)


Subrutin interupsi eksternal berisi sekumpulan instruksi yang akan melakukan
proses penghitungan jumlah curah hujan sebanyak 4 byte. Subrutin program ini dapat
mencacah jumlah curah hujan dari 0 sampai 65535. Bila terjadi hujan, interupsi ini
akan melakukan proses pengambilan waktu mulai hujan dan mengirimkannya kepada
PC dalam format ASCII. Proses koreksi hujan berhenti akan dilakukan oleh subrutin
cek hujan. Bila hujan berhenti mikrokontroler akan mengambil data jumlah curah
hujan, serta mengambil waktu hujan berhenti dari DS1305. Gambar perancangan
diagram alir interupsi eksternal ditunjukkan pada gambar 3-10.

Gambar 3-10 Rancangan Diagram Alir Interupsi Eksternal

3.2.1.3. Rancangan Diagram Alir Interupsi Penerimaan Data dari PC


Subrutin program ini berperan saat mikrokontroler menerima data set waktu
untuk DS1305. Subrutin ini akan aktif ketika mendapatkan data set waktu DS1305
dari PC. Data yang diterima dari PC kemudian diubah ke dalam format Pack BCD,
sebelum dikirimkan secara serial (SPI) kepada DS1305. Pengesetan waktu pada
DS1305 berfungsi untuk menyamakan waktu dan tanggal pada PC. Data akan
diterima per-bit untuk setiap 1 byte data tanpa parity, ketika penerimaan data 1 byte
telah selesai, maka SCRF (ESCI Receiver Full Bit) akan bernilai 1. Bila data 1 byte
tersebut belum diterima, maka data berikutnya tidak bisa masuk ke dalam register
SCDR. Gambar perancangan diagram alir interupsi penerimaan data dari PC
ditunjukkan pada gambar 3-11.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

40

Gambar 3-11 Rancangan Diagram Alir Interupsi Penerimaan Data dari PC

3.2.1.4. Rancangan Diagram Alir Subrutin Pengiriman Data ke PC


Subrutin program ini berperan saat mikrokontroler mengirim data ke PC. Data
akan dikirim per-bit untuk setiap 1 byte data tanpa parity, ketika pengiriman data 1
byte telah selesai, maka TC (Transmission Complete) akan bernilai 1. Bila data 1 byte
tersebut belum terkirim maka, data berikutnya tidak bisa masuk ke dalam register
SCDR. Rancangan diagram alir subrutin pengiriman data ke PC ditunjukkan pada
gambar 3-12.

Gambar 3-12 Rancangan Diagram Alir Subrutin Pengiriman Data ke PC

3.2.1.5. Rancangan Diagram Alir Subrutin Kirim/Ambil Data DS1305

Subrutin program ini berperan saat mikrokontroler mengirim dan mengambil


data waktu dari DS1305. Subrutin ini diawali dengan mengaktifkan SPI dan Chip
Enable, kemudian mikrokontroler akan mengambil alamat tulis atau baca dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

41

mengirimkan alamat tersebut pada DS1305. Untuk pengesetan waktu awal, DS1305
mendapatkan data awal dari PC yang sudah kita atur dengan waktu setempat dan data
dari PC tersebut. Kemudian data tersebut dikirimkan ke mikrokontroler secara serial
(ESCI). Di dalam mikrokontroler data tersebut diubah menjadi data pack BCD dan
dikirimkan ke register tulis DS1305. Mikrokontroler akan mengambil data waktu dan
tanggal pada saat 3 menit, mulai hujan dan hujan berhenti. Data waktu dan tanggal
tersebut akan disimpan di dalam RAM dan diubah ke dalam format ASCII sebelum
dikirimkan ke PC untuk ditampilkan pada form utama. Rancangan diagram alir
subrutin kirim/ambil data dari RTC ditunjukkan pada diagram alir gambar 3-13.

(a) (b)
Gambar 3-13 Rancangan Diagram Alir Subrutin DS1305: (a) Kirim ; (b) Ambil

3.2.1.6. Rancangan Diagram Alir Subrutin ADC10

Subrutin program ini berperan saat mikrokontroler melakukan proses


pengambilan data suhu udara. Apabila COCO (Conversion Complete) belum bernilai
satu, maka proses konversi data analog ke digital belum selesai. Gambar rancangan
diagram alir subrutin ADC10 ditunjukkan pada gambar 3-14.

Gambar 3-14 Rancangan Diagram Alir Subrutin ADC10


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

42

3.2.2. Perancangan Perangkat Lunak Visual Basic 6.0


Pemrograman obyek pada Visual Basic 6.0., yaitu berupa tampilan suhu udara,
curah hujan, waktu, tanggal, serta setting waktu dan tanggal untuk RTC. Program
akan melakukan inisialisasi kontrol, sesaat setelah program dieksekusi, seperti
inisialisasi penggunaan kecepatan baud rate. Setelah dilakukan inisialisasi, program
akan menampilkan suhu udara, tingkat curah hujan dan waktu. Form utama berfungsi
untuk menampilkan suhu udara, tingkat curah hujan dan waktu. Gambar 3-15
menunjukkan rancangan tampilan form utama.

Gambar 3-15 Rancangan Tampilan Form Utama

Perancangan diagram alir form utama dimulai dengan proses inisialisasi,


setelah proses inisialisasi selesai dilakukan pengaturan COM yang akan dipakai dan
pengaturan kecepatan komunikasi data (baud rate). Baud rate antara PC dengan
mikrokontroler harus sinkron (sama), bila telah sinkron maka form utama akan
ditampilkan. Program utam akan menunggu data yang masuk secara serial, 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 Start Rain Stop Rain Stop Rain Rainfall Result
(Date) (Time) (Date) (Time) (mm)
Data tanggal Data waktu Data tanggal Data waktu Data Hujan

Tabel 3-2 Perancangan Tabel Suhu Udara


Temperature (Date) Temperature (Time) Air Temperature Measuring (Celcius)
Data tanggal Data waktu Data suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV
HASIL DAN PEMBAHASAN

Bab ini membahas perihal pengamatan Stasiun Cuaca Mini dengan


mikrokontroler MC68HC908QB8 dan program Visual Basic. Pengujian dan
pengamatan dilakukan dengan menggunakan gelas ukur dengan nama Fur
Regenmesser mit 200 cm2 Auffangflache DIN 58667B untuk curah hujan dan
P P

Termometer untuk suhu udara, sebagai pembanding keluaran LM35.


Setelah seluruh komponen terpasang, jalur-jalur komponen sudah terhubung,
program untuk mikrokontroler selesai di-download dan program Visual Basic telah
diaktifkan, langkah selanjutnya adalah melakukan uji coba terhadap alat dan
pengkalibrasian alat.
Dari perakitan perangkat keras dan pemrograman perangkat lunak telah
dihasilkan suatu peralatan yang berfungsi untuk memberikan informasi cuaca, dalam
hal ini suhu udara dan tingkat curah hujan, seperti ditunjukkan pada gambar 4-1 dan
4-2.

Corong Masukan

Gambar 4-1 Tampilan Luar Perangkat Keras Stasiun Cuaca Mini

45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

46

Pipa Masukan

Rangkain Stasiun
Rangkaian Supply Cuaca Mini
Wadah
B A Penampung

Rangkaian Sensor Lubang Pengatur (Baut)


Optis Pembuangan Wadah Penampung
Gambar 4-2 Tampilan Dalam Perangkat Keras Stasiun Cuaca Mini

Pada saat alat dinyalakan LED indikator mikrokontroler akan menyala terus
sampai setting waktu dan tanggal DS1305 dikirimkan dari PC. Setelah mikrokontroler
mengatur waktu dan tanggal DS1305, LED indikator mikrokontroler akan menyala
dan padam setiap satu detik. DS1305 menghasilkan sinyal interupsi setiap satu detik
dari pin INT 0 . Sinyal interupsi ini berfungsi untuk menghitung proses waktu
pengambilan data suhu udara, curah hujan, waktu dan tanggal. Pada saat
mikrokontroler mendapatkan sinyal interupsi satu detik dari DS1305, mikrokontroler
akan mengambil isi register second alarm. Proses ini berfungsi agar interupsi satu
detik DS1305 kembali menjadi high. Berikut Tabel 4-1 menunjukkan hasil
pengamatan interupsi satu detik.
Tabel 4-1 Pengamatan Interupsi Satu Detik DS1305
Detik ke-n LED Indikator Detik ke-n LED Indikator
1 Menyala 8 Menyala
2 Padam 9 Padam
3 Menyala 10 Menyala
4 Padam 11 Padam
5 Menyala 12 Menyala
6 Padam ... ...
7 Menyala n ...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

47

4.1. Pengamatan dan Pembahasan Data Curah Hujan


Pengamatan data hujan bertujuan untuk mengamati hasil kalibrasi wadah
penampung yang telah dirancang (sebesar 1mm curah hujan, dengan mengatur baut
wadah penampung), sensor optis (optocoupler) sebagai sensor pendeteksi wadah
penampung yang berayun dan pengujian hujan dengan cara memasukkan air ke dalam
corong masukan sesuai dengan jumlah air yang telah diatur dengan gelas ukur. Hasil
pengujian kalibrasi wadah penampung ditunjukkan pada gambar 4-3 dan tabel 4-2.

Baut
Wadah Penampung

Gambar 4-3 Pengujian Wadah Penampung

Tabel 4-2 Pengujian Wadah Penampung


Kondisi Wadah Penampung
Jumlah Air (mm)
A B
0,2 KosongPosisi 4 Terisi air Posisi 1
0,4 KosongPosisi 4 Terisi air Posisi 1
0,6 KosongPosisi 4 Terisi air Posisi 1
0,8 KosongPosisi 4 Terisi air Posisi 1
Kenaikan
1 Kosong Naik ke Posisi 3 Kosong Turun ke Posisi 2
0,2 mm
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,20,8 mm,
wadah penampung B akan terisi air dan Naik. Kemudian dengan penambahan air
sebanyak 0,2 mm, wadah penampung B yang telah terisi air sebanyak 0,8 mm akan
turun dan wadah penampung A yang kosong akan naik. Pada saat penambahan air
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

48

telah mencapai 2 mm, wadah penampung A yang terisi air akan turun dan kosong.
Sedangkan wadah penampung B akan kosong dan naik. Hal ini membuktikan bahwa
wadah penampung akan turun, jika telah mencapai 1 mm.
Pada saat kedudukan wadah penampung berpindah, maka sensor optis akan
terhalang. Sensor optis akan berlogika tinggi pada kondisi terhalang dan akan
berlogika rendah pada kondisi tidak terhalang. Proses terhalangnya sensor optis akan
digunakan sebagai penghitung jumlah cacah yang terjadi. Dari hasil tabel 4-3,
tegangan keluaran sensor akan menjadi masukan bagi pin IRQ mikrokontroler. Pada
saat sensor optis pada kondisi terhalang menjadi tidak terhalang, akan menghasilkan
sebuah sinyal kotak (4,64V0,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
1 2,4 2
2,4 2
5 5
2 5 5
5 5
7,6 7
3 7,6 7
7,6 7
4 10 10
10 10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

49

10 10
15,8 15
5 15,8 15
15,8 15

Berdasarkan tabel pengamatan data curah hujan, pada kondisi jumlah air yang
terukur pada gelas ukur sebesar 2,4 mm, 7,6 mm dan 15.8 mm, jumlah curah hujan
yang terukur adalah 2 mm, 7 mm dan 15 mm. Hasil percobaan ini telah sesuai dengan
dasar teori pencatat hujan tipping-bucket. Sisa air yang tidak terukur tidak akan hilang
dan akan terukur kembali pada saat terjadi hujan kembali.

4.2. Pengamatan dan Pembahasan Data Suhu Udara


Proses pengambilan data suhu udara dilakukan beberapa kali dengan waktu
yang berbeda. Berikut Tabel 4-5 menunjukkan beberapa sampel hasil pengamatan
data suhu menggunakan termometer dan perangkat lunak Visual Basic.
Prosentase galat suhu udara dihitung berdasarkan termometer sebagai acuan.
Sebagai contoh perhitungan, untuk data Termometer (T) = 29.5 oC dan Visual Basic
P P

(VB) = 30 oC dapat diperoleh nilai prosentase galat suhu udara dengan perhitungan
P P

seperti di bawah ini.


VB T 30 29,5
% galat suhu udara = 100% = 100% = 1.695% 1.7%
T 29,5

Tabel 4-5 Pengamatan Data Suhu Udara


Suhu Udara (oC)
P P

Waktu Suhu Udara Galat (%)


Visual Basic (VB) Termometer (T)
11-09-2007 / 13:28 30 29,5 1,7
11-09-2007 / 13:31 30 29,5 1,7
11-09-2007 / 17:01 29 28,5 1,7
11-09-2007 / 17:22 28 27,5 1,7
11-09-2007 / 21:47 27 27 0
11-09-2007 / 21:53 26 26 0
11-09-2007 / 21:56 26 26 0
12-09-2007 / 00:54 26 26 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

50

12-09-2007 / 00:57 26 25,5 1,7


12-09-2007 / 01:00 25 25 0

Berdasarkan tabel pengamatan data suhu udara terlihat bahwa rata-rata galat
dari hasil percobaan sebesar 0,85%. Hal ini diakibatkan oleh systematic error dan
human error yang disebabkan oleh kekurangan pada ADC internal, dan kesalahan
pembacaan pada skala termometer. ADC internal memiliki kesalahan maksimal
sebesar 1 bit dan pada Visual Basic hasil yang diperoleh berupa data integer.

4.3. Pembahasan Progam Mikrokontroler


Pada saat terjadi hujan mikrokontroler akan mengambil data waktu dan
tanggal dari DS1305. Data waktu dan tanggal dari DS1305 masih berupa data pack
BCD, data pack BCD tersebut kemudian dikonversi menjadi ASCII menggunkan
sebuah rutin sebelum dikirimkan secara serial ke PC. Mikrokontroler mendeteksi
terjadinya hujan, ketika mendapatkan sinyal interupsi yang dihasilkan dari keluaran
sensor optis (optocoupler). Proses terhalangnya sensor optis akan menjadi counter
untuk menghitung jumlah curah hujan yang terjadi.
Dalam satu menit mikrokontroler akan mengecek register RainL, apakah
register RainL sama dengan register RainTemp. Bila register RainTemp tidak sama
dengan RainL, maka isi dari register RainL akan dipindahkan ke register RainTemp.
Sedangkan bila isi register RainL sama dengan isi register RainTemp, mikrokontroler
akan mengambil isi register RainL dan mengkonversikannya menjadi ASCII.
Kemudian dikirimkan secara serial bersama data waktu selesai hujan ke PC.
Pada saat register menit telah mencapai tiga, mikrokontroler akan mengambil
data LM35 dari register ADRL, waktu suhu udara dan curah hujan. Keluaran LM35
merupakan sinyal analog, sinyal tersebut kemudian diubah menjadi sinyal digital
menggunakan ADC internal yang tersedia pada mikrokontroler. Data digital tersebut
kemudian dikonversikan menjadi ASCII menggunakan sebuah subrutin sebelum
dikirimkan ke PC. Data waktu dari DS1305 masih berupa pack BCD, data tersebut
kemudian dikonversikan menjadi ASCII
Pin PTB0/SCK difungsikan sebagai clock komunikasi serial dengan DS1305.
Pin PTB1/MOSI difungsikan sebagai data keluaran mikrokontroler dari DS1305.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

51

Sedangkan pin PTB2/MISO difungsikan sebagai data masukan mikrokontroler dari


DS1305 dan pin PTA1 difungsikan sebagai CE bagi DS1305.
Pada proses penulisan data ke DS1305, pin PTA1 akan high sampai proses
pengiriman data selesai dan mikrokontroler mengirimkan alamat tulis register
waktu/tanggal dan data waktu/tanggal selama pin PTA1 high. Pada proses pembacaan
register data waktu/tanggal DS1305, mikrokontroler mengirimkan alamat baca
register waktu/tanggal dan dummy selama pin PTA1 high. Pengiriman dummy,
digunakan untuk mengeluarkan data yang akan dibaca dari register menit/tanggal.
Pin PTB5/Tx dan PTB4/Rx difungsikan sebagai port komunikasi serial
dengan komputer. Data hasil pengolahan mikrokontroler akan dikirim bit per-bit
melalui pin PTB5. Sebaliknya data hasil pengolahan PC akan diterima oleh
mikrokontroler secara bit per-bit, melalui pin PTB4. IC MAX232 difungsikan sebagai
rangkaian yang menjembatani logika TTL dan RS232.

4.4. Pengamatan dan Pembahasan Program Visual Basic


Pengamatan kerja program Visual Basic terdiri dari enam bagian. Bagian-
bagian tersebut berupa pengamatan proses kerja program pada masing-masing form,
yang memiliki fungsi yang berbeda dan pengamatan pada database.

4.4.1. Pengamatan dan Pembahasan Form Progress


Ketika program pertama kali diaktifkan, maka form progress akan muncul.
Form ini sebagai identitas program yang menunjukkan nama program dan pembuat
program. Penggunaan progresbar pada form ini menunjukkan proses loading pada
program MWS. Form ini akan muncul selama 5 detik, kemudian form progress
akan tertutup dan form SetRTCTime akan terbuka. Ganbar 4-4 adalah tampilan form
progress untuk program MWS.

Gambar 4-4 Tampilan Form Progress MWS


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

52

4.4.2. Pengamatan dan Pembahasan Form SetRTCTime


Form SetRTCTime terdiri dari 2 buah tombol yang memiliki fungsi berbeda.
Tombol OK berfungsi untuk mengeset waktu DS1305, sedangkan tombol Exit
berfungsi untuk keluar dari program. Waktu pengesetan DS1305 diambil dari waktu
PC dengan current time zone: SE Asia Standar Time. Pada bagian ini program akan
mencuplik waktu pada saat tombol OK ditekan dan mengirimkannya ke
mikrokontroler secara serial, kemudian form Set RTCTime akan tertutup dan form
kirim data akan muncul. Apabila tombol Exit ditekan, maka program MWS akan
berhenti. Gambar 4-5 adalah tampilan form SetRTCTime untuk program MWS.

Gambar 4-5 Tampilan Form SetRTCTime MWS

4.4.3. Pengamatan dan Pembahasan Form KirimData


Form KirimData berfungsi untuk menunjukkan proses pengiriman data waktu,
untuk mengeset DS1305. Form KirimData akan muncul selama 5 detik, kemudian
form ini akan tertutup dan form menu akan terbuka. Gambar 4-6 adalah tampilan form
KirimData untuk program MWS.

Gambar 4-6 Tampilan Form KirimData MWS

4.4.4. Pengamatan dan Pembahasan Form Menu


Tampilan form menu ditunjukkan oleh gambar 4-7. Pada form ini pengguna
dapat melihat waktu mulai hujan, waktu berhenti hujan, jumlah hujan, waktu suhu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

53

udara dan besarnya suhu udara. Pada saat terjadi hujan, maka waktu mulai hujan dan
simbol hujan (berupa bola berjalan) akan ditampilkan pada form ini, proses ini
ditunjukkan oleh gambar 4-8. Bila selama 3 menit hujan belum berhenti, maka simbol
hujan akan tetap ditampilkan dan jumlah hujan yang sudah terukur selama 3 menit
tersebut akan ditampilkan.

Gambar 4-7 Tampilan Form Menu MWS

Gambar 4-8 Tampilan Form Menu Saat Hujan MWS


Pada saat hujan berhenti, maka waktu berhenti hujan dan jumlah curah hujan
keseluruhan akan ditampilkan, sedangkan simbol hujan akan tidak ditampilkan.
Proses ini ditunjukkan oleh gambar 4-9. Apabila dalam waktu tiga menit tidak terjadi
hujan lagi, maka data hujan sebelumnya akan dihapus dari form utama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

54

Gambar 4-9 Tampilan Form Menu Selesai Hujan MWS

Setiap 3 menit mikrokontroler akan mengirimkan data suhu, waktu suhu dan
besarnya jumlah curah hujan. Bila jumlah curah hujan sama dengan nol, maka data
jumlah hujan tidak akan ditampilkan pada form utama. Sedangkan besarnya suhu
udara dan waktu suhu akan ditampilkan pada form utama. Data-data waktu mulai
hujan, waktu berhenti hujan, jumlah curah hujan, waktu suhu udara dan besar suhu
udara akan disimpan pada tabel suhu dan tabel hujan yang akan dijelaskan pada
bagian database. Pada saat tombol exit ditekan maka form menu akan tertutup dan
form EndProgram akan muncul.

4.4.5. Pengamatan dan Pembahasan Form EndProgram


Form EndProgram terdiri atas 2 tombol yang memiliki fingsi yang berbeda.
Pada saat tombol OK ditekan maka program MWS akan berhenti. Sedangkan bila
tombol Menu ditekan maka form EndProgram akan tertutup dan Form menu akan
muncul kembali. Gambar 4-10 adalah tampilan form EndProgram untuk program
MWS.

Gambar 4-10 Tampilan Form EndProgram MWS


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

55

4.4.6. Pengamatan dan Pembahasan Database


Database jumlah curah hujan dan suhu udara dibuat menggunakan Microsoft
Access Versi 2000, dengan perintah SQL. Seluruh field pada tabel curah hujan dan
suhu udara bertipe text untuk memudahkan pengaksesannya. Database diberi nama
MWS.mdb dan tabelnya diberi nama Rainfall dan AirTemperature. Tabel Rainfall
memiliki field yang bernama Start Rain (Date), Start Rain (Time), Stop Rain (Date),
Stop Rain (Time) dan Rainfall Result (mm). Sedangkan tebel AitTemperature
memiliki field yang bernama Temperature (Date), Temperature (Time) dan Air
Temeperature Measuring (Celcius).
Data-data jumlah hujan, suhu udara dan waktu akan disimpan pada directory
C:\Documents and Settings\Database\MWS.mdb. Pada saat data hujan atau suhu
udara diterima pada form utama, maka database akan terkoneksi dengan database
bernama MWS. Pada bagian ini bila data suhu yang masuk maka program akan
mencari tabel dengan nama AirTemperature, sedangkan bila jumlah curah hujan yang
masuk maka program akan mencari tabel dengan nama Rainfall. Data-data tersebut
akan diisikan pada setiap field-nya masing-masing. Misalnya RainTemp1 berisi data
tanggal mulai hujan diisikan ke field bernama Start Rain (Date), RainTemp2 berisi
data waktu mulai hujan diisikan ke field bernama Start Rain (Time), dan seterusnya.
Tabel database yang sudah berisi contoh data tampak pada gambar 4-11 .

Gambar 4-11 Tabel Database


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V
KESIMPULAN DAN SARAN

5.1. Kesimpulan
Setelah dilakukan pendesainan, pemrograman, pembuatan dan pengujian
Stasiun Cuaca Mini Berbasis Mikrokontroler MC68HC908QB8, dapat diambil
kesimpulan sebagai berikut:
1. Mikrokontroler sebagai pengumpul data bekerja dengan baik, terbukti dengan
proses pengiriman data waktu mulai hujan, waktu selesai hujan, jumlah curah
hujan, waktu suhu udara dan suhu udara, dapat ditampilkan pada PC
menggunakan perangkat lunak Visual Basic dan direkam pada PC menggunakan
perangkat lunak Microsoft Access.
2. Tingkat ketelitian curah hujan sebesar 1 mm.
3. Rata-rata prosentase galat hasil pengukuran suhu udara sebesar 0,85%.
4. Program stasiun cuaca mini pada Visual Basic, dapat menampilkan dan merekam
data-data waktu, curah hujan dan suhu udara dengan baik.

5.2. Saran
Penulis menyadari masih terdapat banyak kekurangan dan kelemahan. Berikut
ini saran penulis untuk pengembangan dari hasil penelitian ini:
1. Proses pengiriman data dapat dilakukan dengan sistem telemetri, hal ini
memudahkan untuk melakukan pengiriman data jarak jauh.
2. Agar data dapat direkam selain di PC, diperlukan sebuah perangkat eksternal
sebagai media penyimpanan, misalnya EEPROM. Hal ini bermanfaat, apabila
terjadi proses kesalhan dalam pengiriman, data-data masih tetap tersimpan.
3. Agar menjadi sitem stasiun cuaca yang besar, perlu adanya penambahan beberapa
sensor, seperti kelembaban udara, arah angin, kecepatan angin dan lain-lain.

56
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Daftar Pustaka

[1] FMIPA-ITB, 2006, KK Astronomi Menyimak Astronomi Indonesia,


www.fmipa.itb.ac.id/wp-content/uploads/2006/04/KK_Astronomib2.pdf,
tanggal akses 30 Januari 2007.
[2] Arief Chandra Setiawan, 2003, Otomatisasi Stasiun Cuaca Untuk Menunjang
Kegiatan Pertanian, tumoutou.net/702_07134/arief_c_setiawan.htm, tanggal
akses 3 Februari 2007.
[3] Meteorological office: Observers Handbook, London, Her Majestys 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

16

14
C3 U2
100n R1 C4 P1

16
VCC1

VCCIF
33k 1uF U3 1
1 15 13 12 6

VCC
Y 1 32,768 kHz VCC2 PF 8 R1IN R1OUT 9 2
4 11 11 R2IN R2OUT 14 7
X2 SCLK T1IN T1OUT

DS1305
13 10 7 3
3 SDO 12 T2IN T2OUT 8
X1 SDI 1 4
7 C5 3 C+ 9
9 INT1 6 1uF 4 C1- 5
3V SERMODE INT0 5 C2+
2 10 2 C2-

GND

GND
- - - VBAT CE V+
C6 6 CONNECTOR DB9
BATTERY 1uF V-
MAX232

15
1uF
8
C7

C1 4u7 R4 VCC = 5 V
VCC = 5 V 330 U4
VCC = 12 V 1 2
VS+ VOUT
C2 100n

GND
D1 R5 R2 R3
LED 2k2 2k2 330 R6 R7
J4 U1 LM35 150 150
R6

3
1 1 MC68HC908QB8 16 Q1 3 27k
VDD VSS

OPTOCOUPLER
Tes1 4 13 2N2222A 2
5 Pta5/ad3/osc1 Pta0/tch0/AD0 12 1
2 Pta4/ad2/osc2 Pta1/tch1/AD1 10 C8
Ptb7/tch3 Ptb3/ss/AD7 U5
3 11 1uF
Ptb6/tch2 Ptb2/miso/AD6
1
7

R8 6 14
330 7 Ptb5/ad9/Tx Ptb1/mosi/AD5 15 3
Ptb4/ad8/Rx Ptb0/sck/AD4 +
9 8 6
Pta2/kbi2/IRQ Pta3/kbi3/RST 2
-
LM741
D2
5
4

LED
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 Start Rain Stop Rain Stop Rain Rainfall Result
(Date) (Time) (Date) (Time) (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 Start Rain Stop Rain Stop Rain Rainfall Result
(Date) (Time) (Date) (Time) (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] B64C710 lda PCDayH


E239 [03] B743711 sta BinH
E23B [03] B64D712 lda PCDayL
E23D [03] B744713 sta BinL
E23F [05] CDE165
714 jsr BintoBCD
E242 [03] B758715 sta SetDay
E244 [03] B64E716 lda PCDateH
E246 [03] B743717 sta BinH
E248 [03] B64F718 lda PCDateL
E24A [03] B744719 sta BinL
E24C [05] CDE165
720 jsr BintoBCD
E24F [03] B759721 sta SetDate
E251 [03] B650722 lda PCMonthH
E253 [03] B743723 sta BinH
E255 [03] B651724 lda PCMonthL
E257 [03] B744725 sta BinL
E259 [05] CDE165
726 jsr BintoBCD
E25C [03] B75A727 sta SetMonth
E25E [03] B652728 lda PCYearH
E260 [03] B743729 sta BinH
E262 [03] B653730 lda PCYearL
E264 [03] B744731 sta BinL
E266 [05] CDE165
732 jsr BintoBCD
E269 [03] B75B733 sta SetYear
E26B [03] B65A735 ESCIRx15: lda SetMonth
E26D [03] B77F736 sta MonthTemp
E26F [03] B652737 lda PCYearH
E271 [03] B781738 sta YearH
E273 [03] B653739 lda PCYearL
E275 [03] B782740 sta YearL
E277 [03] B65B741 lda SetYear
E279 [03] B780742 sta Year
E27B [04] 1041743 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

Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0


Port A Data Register Read: AWUL PTA2
R PTA5 PTA4 PTA3 PTA1 PTA0
$0000 (PTA) Write:
See page 104. Reset: Unaffected by reset
Port B Data Register Read:
PTB7 PTB6 PTB5 PTB4 PTB3 PTB2 PTB1 PTB0
$0001 (PTB) Write:
See page 106. Reset: Unaffected by reset
$0002
Reserved
$0003

Data Direction Register A Read: 0


R R DDRA5 DDRA4 DDRA3 DDRA1 DDRA0
$0004 (DDRA) Write:
See page 104. Reset: 0 0 0 0 0 0 0 0
Data Direction Register B Read:
DDRB7 DDRB6 DDRB5 DDRB4 DDRB3 DDRB2 DDRB1 DDRB0
$0005 (DDRB) Write:
See page 107. Reset: 0 0 0 0 0 0 0 0
$0006
Reserved
$000A

Port A Input Pullup Enable Read: 0


OSC2EN PTAPUE5 PTAPUE4 PTAPUE3 PTAPUE2 PTAPUE1 PTAPUE0
$000B Register (PTAPUE) Write:
See page 105. Reset: 0 0 0 0 0 0 0 0
Port B Input Pullup Enable Read:
PTBPUE7 PTBPUE6 PTBPUE5 PTBPUE4 PTBPUE3 PTBPUE2 PTBPUE1 PTBPUE0
$000C Register (PTBPUE) Write:
See page 108. Reset: 0 0 0 0 0 0 0 0
SPI Control Register Read:
SPRIE R SPMSTR CPOL CPHA SPWOM SPE SPTIE
$000D (SPCR) Write:
See page 171. Reset: 0 0 1 0 1 0 0 0
SPI Status and Control Read: SPRF OVRF MODF SPTE
ERRIE MODFEN SPR1 SPR0
$000E Register (SPSCR) Write:
See page 172. Reset: 0 0 0 0 1 0 0 0
SPI Data Register Read: R7 R6 R5 R4 R3 R2 R1 R0
$000F (SPDR) Write: T7 T6 T5 T4 T3 T2 T1 T0
See page 174. Reset: Unaffected by reset
ESCI Control Register 1 Read:
LOOPS ENSCI TXINV M WAKE ILTY PEN PTY
$0010 (SCC1) Write:
See page 122. Reset: 0 0 0 0 0 0 0 0
ESCI Control Register 2 Read:
SCTIE TCIE SCRIE ILIE TE RE RWU SBK
$0011 (SCC2) Write:
See page 124. Reset: 0 0 0 0 0 0 0 0
ESCI Control Register 3 Read: R8
T8 R R ORIE NEIE FEIE PEIE
$0012 (SCC3) Write:
See page 125. Reset: U 0 0 0 0 0 0 0
ESCI Status Register 1 Read: SCTE TC SCRF IDLE OR NF FE PE
$0013 (SCS1) Write:
See page 126. 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)

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Memory

Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0


ESCI Status Register 2 Read: 0 0 0 0 0 0 BKF RPF
$0014 (SCS2) Write:
See page 129. Reset: 0 0 0 0 0 0 0 0
ESCI Data Register Read: R7 R6 R5 R4 R3 R2 R1 R0
$0015 (SCDR) Write: T7 T6 T5 T4 T3 T2 T1 T0
See page 129. Reset: Unaffected by reset
ESCI Baud Rate Register Read:
LINT LINR SCP1 SCP0 R SCR2 SCR1 SCR0
$0016 (SCBR) Write:
See page 130. Reset: 0 0 0 0 0 0 0 0
ESCI Prescaler Register Read:
PDS2 PDS1 PDS0 PSSB4 PSSB3 PSSB2 PSSB1 PSSB0
$0017 (SCPSC) Write:
See page 131. Reset: 0 0 0 0 0 0 0 0
ESCI Arbiter Control Read: ALOST AFIN ARUN AROVFL ARD8
AM1 AM0 ACLK
$0018 Register (SCIACTL) Write:
See page 135. Reset: 0 0 0 0 0 0 0 0
ESCI Arbiter Data Register Read: ARD7 ARD6 ARD5 ARD4 ARD3 ARD2 ARD1 ARD0
$0019 (SCIADAT) Write:
See page 136. Reset: 0 0 0 0 0 0 0 0
Keyboard Status and Read: 0 0 0 0 KEYF 0
IMASKK MODEK
$001A Control Register (KBSCR) Write: ACKK
See page 87. Reset: 0 0 0 0 0 0 0 0
Keyboard Interrupt Read: 0
AWUIE KBIE5 KBIE4 KBIE3 KBIE2 KBIE1 KBIE0
$001B Enable Register (KBIER) Write:
See page 88. Reset: 0 0 0 0 0 0 0 0
Keyboard Interrupt Polarity Read: 0 0
KBIP5 KBIP4 KBIP3 KBIP2 KBIP1 KBIP0
$001C Register (KBIPR) Write:
See page 88. Reset: 0 0 0 0 0 0 0 0
IRQ Status and Control Read: 0 0 0 0 IRQF 0
IMASK MODE
$001D Register (INTSCR) Write: ACK
See page 81. Reset: 0 0 0 0 0 0 0 0
Configuration Register 2 Read: OSCENIN-
IRQPUD IRQEN R R R ESCIBDSRC RSTEN
$001E (CONFIG2)(1) Write: STOP
See page 57. 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.

Configuration Register 1 Read:


COPRS LVISTOP LVIRSTD LVIPWRD LVITRIP SSREC STOP COPD
$001F (CONFIG1)(1) Write:
See page 58. 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.

TIM Status and Control Read: TOF 0 0


TOIE TSTOP PS2 PS1 PS0
$0020 Register (TSC) Write: 0 TRST
See page 183. Reset: 0 0 1 0 0 0 0 0
TIM Counter Register High Read: Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0021 (TCNTH) Write:
See page 185. Reset: 0 0 0 0 0 0 0 0
= Unimplemented R = Reserved U = Unaffected

Figure 2-2. Control, Status, and Data Registers (Sheet 2 of 5)

MC68HC908QB8 Data Sheet, Rev. 1

26 Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Direct Page Registers

Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0


TIM Counter Register Low Read: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$0022 (TCNTL) Write:
See page 185. Reset: 0 0 0 0 0 0 0 0
TIM Counter Modulo Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0023 Register High (TMODH) Write:
See page 185. Reset: 1 1 1 1 1 1 1 1
TIM Counter Modulo Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$0024 Register Low (TMODL) Write:
See page 185. Reset: 1 1 1 1 1 1 1 1
TIM Channel 0 Status and Read: CH0F
CH0IE MS0B MS0A ELS0B ELS0A TOV0 CH0MAX
$0025 Control Register (TSC0) Write: 0
See page 186. Reset: 0 0 0 0 0 0 0 0
TIM Channel 0 Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0026 Register High (TCH0H) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 0 Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$0027 Register Low (TCH0L) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 1 Status and Read: CH1F 0
CH1IE MS1A ELS1B ELS1A TOV1 CH1MAX
$0028 Control Register (TSC1) Write: 0
See page 186. Reset: 0 0 0 0 0 0 0 0
TIM Channel 1 Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0029 Register High (TCH1H) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 1 Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$002A Register Low (TCH1L) Write:
See page 189. Reset: Indeterminate after reset
$002B
Reserved
$002F

TIM Channel 2 Status and Read: CH2F 0


CH2IE MS2A ELS2B ELS2A TOV2 CH2MAX
$0030 Control Register (TSC2) Write: 0
See page 186. Reset: 0 0 0 0 0 0 0 0
TIM Channel 2 Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0031 Register High (TCH2H) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 2 Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$0032 Register Low (TCH2L) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 3 Status and Read: CH3F 0
CH3IE MS3A ELS3B ELS3A TOV3 CH3MAX
$0033 Control Register (TSC3) Write: 0
See page 186. Reset: 0 0 0 0 0 0 0 0
TIM Channel 3 Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$0034 Register High (TCH3H) Write:
See page 189. Reset: Indeterminate after reset
TIM Channel 3 Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$0035 Register Low (TCH3L) Write:
See page 189. Reset: Indeterminate after reset
= Unimplemented R = Reserved U = Unaffected

Figure 2-2. Control, Status, and Data Registers (Sheet 3 of 5)

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Memory

Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0


Oscillator Status and Read: ECGST
OSCOPT1 OSCOPT0 ICFS1 ICFS0 ECFS1 ECFS0 ECGON
$0036 Control Register (OSCSC) Write:
See page 100. Reset: 0 0 0 0 0 0 0 0

$0037 Reserved

Oscillator Trim Register Read:


TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
(OSCTRIM) Write:
$0038
See page 101.
Reset: 1 0 0 0 0 0 0 0
$0039
Reserved
$003B

ADC10 Status and Control Read: COCO


AIEN ADCO ADCH4 ADCH3 ADCH2 ADCH1 ADCH0
$003C Register (ADSCR) Write:
See page 46. Reset: 0 0 0 1 1 1 1 1
ADC10 Data Register High Read: 0 0 0 0 0 0 AD9 AD8
$003D (ADRH) Write: R R R R R R R R
See page 48. Reset: 0 0 0 0 0 0 0 0
ADC10 Data Register Low Read: AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0
$003E (ADRL) Write: R R R R R R R R
See page 48. Reset: 0 0 0 0 0 0 0 0
ADC10 Clock Register Read:
ADLPC ADIV1 ADIV0 ADICLK MODE1 MODE0 ADLSMP ACLKEN
$003F (ADCLK) Write:
See page 49. Reset: 0 0 0 0 0 0 0 0
Break Status Register Read: SBSW
R R R R R R R
$FE00 (BSR) Write: 0
See page 195. Reset: 0
SIM Reset Status Register Read: POR PIN COP ILOP ILAD MODRST LVI 0
$FE01 (SRSR) Write:
See page 152. POR: 1 0 0 0 0 0 0 0
Break Auxiliary Read: 0 0 0 0 0 0 0
BDCOP
$FE02 Register (BRKAR) Write:
See page 195. Reset: 0 0 0 0 0 0 0 0
Break Flag Control Read:
BCFE R R R R R R R
$FE03 Register (BFCR) Write:
See page 195. Reset: 0
Interrupt Status Register 1 Read: IF6 IF5 IF4 IF3 IF2 IF1 0 0
$FE04 (INT1) Write: R R R R R R R R
See page 149. Reset: 0 0 0 0 0 0 0 0
Interrupt Status Register 2 Read: IF14 IF13 IF12 IF11 IF10 IF9 IF8 IF7
$FE05 (INT2) Write: R R R R R R R R
See page 149. Reset: 0 0 0 0 0 0 0 0
Interrupt Status Register 3 Read: IF22 IF21 IF20 IF19 IF18 IF17 IF16 IF15
$FE06 (INT3) Write: R R R R R R R R
See page 149. Reset: 0 0 0 0 0 0 0 0
= Unimplemented R = Reserved U = Unaffected

Figure 2-2. Control, Status, and Data Registers (Sheet 4 of 5)

MC68HC908QB8 Data Sheet, Rev. 1

28 Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Direct Page Registers

Addr. Register Name Bit 7 6 5 4 3 2 1 Bit 0

$FE07 Reserved

FLASH Control Register Read: 0 0 0 0


HVEN MASS ERASE PGM
$FE08 (FLCR) Write:
See page 31. Reset: 0 0 0 0 0 0 0 0
Break Address High Read:
Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8
$FE09 Register (BRKH) Write:
See page 194. Reset: 0 0 0 0 0 0 0 0
Break Address low Read:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
$FE0A Register (BRKL) Write:
See page 194. Reset: 0 0 0 0 0 0 0 0
Break Status and Control Read: 0 0 0 0 0 0
BRKE BRKA
$FE0B Register (BRKSCR) Write:
See page 194. Reset: 0 0 0 0 0 0 0 0
LVI Status Register Read: LVIOUT 0 0 0 0 0 0 R
$FE0C (LVISR) Write:
See page 91. Reset: 0 0 0 0 0 0 0 0
$FE0D
Reserved
$FE0F

FLASH Block Protect Read:


BPR7 BPR6 BPR5 BPR4 BPR3 BPR2 BPR1 BPR0
$FFBE Register (FLBPR) Write:
See page 36. Reset: Unaffected by reset

$FFBF Reserved

Read:
Internal Oscillator TRIM7 TRIM6 TRIM5 TRIM4 TRIM3 TRIM2 TRIM1 TRIM0
$FFC0 Write:
Trim Value
Reset: Resets to factory programmed value

$FFC1 Reserved

COP Control Register Read: LOW BYTE OF RESET VECTOR


$FFFF (COPCTL) Write: WRITING CLEARS COP COUNTER (ANY VALUE)
See page 63. Reset: Unaffected by reset
= Unimplemented R = Reserved U = Unaffected

Figure 2-2. Control, Status, and Data Registers (Sheet 5 of 5)

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Central Processor Unit (CPU)

7.7 Instruction Set Summary


Table 7-1 provides a summary of the M68HC08 instruction set.

Table 7-1. Instruction Set Summary (Sheet 1 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
ADC #opr IMM A9 ii 2
ADC opr DIR B9 dd 3
ADC opr EXT C9 hh ll 4
ADC opr,X IX2 D9 ee ff 4
Add with Carry A (A) + (M) + (C)     
ADC opr,X IX1 E9 ff 3
ADC ,X IX F9 2
ADC opr,SP SP1 9EE9 ff 4
ADC opr,SP SP2 9ED9 ee ff 5
ADD #opr IMM AB ii 2
ADD opr DIR BB dd 3
ADD opr EXT CB hh ll 4
ADD opr,X Add without Carry A (A) + (M)      IX2 DB ee ff 4
ADD opr,X IX1 EB ff 3
ADD ,X IX FB 2
ADD opr,SP SP1 9EEB ff 4
ADD opr,SP SP2 9EDB ee ff 5
AIS #opr Add Immediate Value (Signed) to SP SP (SP) + (16 M) IMM A7 ii 2
AIX #opr Add Immediate Value (Signed) to H:X H:X (H:X) + (16 M) IMM AF ii 2
AND #opr IMM A4 ii 2
AND opr DIR B4 dd 3
AND opr EXT C4 hh ll 4
AND opr,X IX2 D4 ee ff 4
AND opr,X Logical AND A (A) & (M) 0   IX1 E4 ff 3
AND ,X IX F4 2
AND opr,SP SP1 9EE4 ff 4
AND opr,SP SP2 9ED4 ee ff 5
ASL opr DIR 38 dd 4
ASLA INH 48 1
ASLX Arithmetic Shift Left INH 58 1
ASL opr,X (Same as LSL)
C 0     IX1 68 ff 4
ASL ,X b7 b0 IX 78 3
ASL opr,SP SP1 9E68 ff 5
ASR opr DIR 37 dd 4
ASRA INH 47 1
ASRX Arithmetic Shift Right C     INH 57 1
ASR opr,X IX1 67 ff 4
ASR opr,X b7 b0 IX 77 3
ASR opr,SP SP1 9E67 ff 5
BCC rel Branch if Carry Bit Clear PC (PC) + 2 + rel ? (C) = 0 REL 24 rr 3
DIR (b0) 11 dd 4
DIR (b1) 13 dd 4
DIR (b2) 15 dd 4
BCLR n, opr Clear Bit n in M Mn 0 DIR (b3) 17 dd 4
DIR (b4) 19 dd 4
DIR (b5) 1B dd 4
DIR (b6) 1D dd 4
DIR (b7) 1F dd 4
BCS rel Branch if Carry Bit Set (Same as BLO) PC (PC) + 2 + rel ? (C) = 1 REL 25 rr 3
BEQ rel Branch if Equal PC (PC) + 2 + rel ? (Z) = 1 REL 27 rr 3
Branch if Greater Than or Equal To
BGE opr (Signed Operands) PC (PC) + 2 + rel ? (N V) = 0 REL 90 rr 3

Branch if Greater Than (Signed


BGT opr
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

MC68HC908QB8 Data Sheet, Rev. 1

70 Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Instruction Set Summary

Table 7-1. Instruction Set Summary (Sheet 2 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
Branch if Higher or Same
BHS rel PC (PC) + 2 + rel ? (C) = 0 REL 24 rr 3
(Same as BCC)
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 #opr IMM A5 ii 2
BIT opr DIR B5 dd 3
BIT opr EXT C5 hh ll 4
BIT opr,X Bit Test (A) & (M) 0   IX2 D5 ee ff 4
BIT opr,X IX1 E5 ff 3
BIT ,X IX F5 2
BIT opr,SP SP1 9EE5 ff 4
BIT opr,SP SP2 9ED5 ee ff 5
Branch if Less Than or Equal To
BLE opr (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
DIR (b0) 01 dd rr 5
DIR (b1) 03 dd rr 5
DIR (b2) 05 dd rr 5
DIR (b3) 07 dd rr 5
BRCLR n,opr,rel Branch if Bit n in M Clear PC (PC) + 3 + rel ? (Mn) = 0  DIR (b4) 09 dd rr 5
DIR (b5) 0B dd rr 5
DIR (b6) 0D dd rr 5
DIR (b7) 0F dd rr 5
BRN rel Branch Never PC (PC) + 2 REL 21 rr 3
DIR (b0) 00 dd rr 5
DIR (b1) 02 dd rr 5
DIR (b2) 04 dd rr 5
DIR (b3) 06 dd rr 5
BRSET n,opr,rel Branch if Bit n in M Set PC (PC) + 3 + rel ? (Mn) = 1 
DIR (b4) 08 dd rr 5
DIR (b5) 0A dd rr 5
DIR (b6) 0C dd rr 5
DIR (b7) 0E dd rr 5
DIR (b0) 10 dd 4
DIR (b1) 12 dd 4
DIR (b2) 14 dd 4
BSET n,opr Set Bit n in M Mn 1 DIR (b3) 16 dd 4
DIR (b4) 18 dd 4
DIR (b5) 1A dd 4
DIR (b6) 1C dd 4
DIR (b7) 1E dd 4
PC (PC) + 2; push (PCL)
SP (SP) 1; push (PCH)
BSR rel Branch to Subroutine REL AD rr 4
SP (SP) 1
PC (PC) + rel
CBEQ opr,rel PC (PC) + 3 + rel ? (A) (M) = $00 DIR 31 dd rr 5
CBEQA #opr,rel PC (PC) + 3 + rel ? (A) (M) = $00 IMM 41 ii rr 4
CBEQX #opr,rel Compare and Branch if Equal PC (PC) + 3 + rel ? (X) (M) = $00 IMM 51 ii rr 4
CBEQ opr,X+,rel PC (PC) + 3 + rel ? (A) (M) = $00 IX1+ 61 ff rr 5
CBEQ X+,rel PC (PC) + 2 + rel ? (A) (M) = $00 IX+ 71 rr 4
CBEQ opr,SP,rel PC (PC) + 4 + rel ? (A) (M) = $00 SP1 9E61 ff rr 6
CLC Clear Carry Bit C0 0 INH 98 1
CLI Clear Interrupt Mask I0 0 INH 9A 2

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Central Processor Unit (CPU)

Table 7-1. Instruction Set Summary (Sheet 3 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
CLR opr M $00 DIR 3F dd 3
CLRA A $00 INH 4F 1
CLRX X $00 INH 5F 1
CLRH Clear H $00 0 0 1 INH 8C 1
CLR opr,X M $00 IX1 6F ff 3
CLR ,X M $00 IX 7F 2
CLR opr,SP M $00 SP1 9E6F ff 4
CMP #opr IMM A1 ii 2
CMP opr DIR B1 dd 3
CMP opr EXT C1 hh ll 4
CMP opr,X IX2 D1 ee ff 4
Compare A with M (A) (M)    
CMP opr,X IX1 E1 ff 3
CMP ,X IX F1 2
CMP opr,SP SP1 9EE1 ff 4
CMP opr,SP SP2 9ED1 ee ff 5
COM opr M (M) = $FF (M) DIR 33 dd 4
COMA A (A) = $FF (M) INH 43 1
COMX X (X) = $FF (M) INH 53 1
Complement (Ones Complement) 0   1
COM opr,X M (M) = $FF (M) IX1 63 ff 4
COM ,X M (M) = $FF (M) IX 73 3
COM opr,SP M (M) = $FF (M) SP1 9E63 ff 5
CPHX #opr IMM 65 ii ii+1 3
Compare H:X with M (H:X) (M:M + 1)    
CPHX opr DIR 75 dd 4
CPX #opr IMM A3 ii 2
CPX opr DIR B3 dd 3
CPX opr EXT C3 hh ll 4
CPX ,X IX2 D3 ee ff 4
CPX opr,X Compare X with M (X) (M)     IX1 E3 ff 3
CPX opr,X IX F3 2
CPX opr,SP SP1 9EE3 ff 4
CPX opr,SP SP2 9ED3 ee ff 5
DAA Decimal Adjust A (A)10 U    INH 72 2
A (A) 1 or M (M) 1 or X (X) 1 5
DBNZ opr,rel PC (PC) + 3 + rel ? (result) 0 DIR 3B dd rr
DBNZA rel PC (PC) + 2 + rel ? (result) 0 INH 4B rr 3
3
DBNZX rel Decrement and Branch if Not Zero PC (PC) + 2 + rel ? (result) 0 INH 5B rr 5
DBNZ opr,X,rel PC (PC) + 3 + rel ? (result) 0 IX1 6B ff rr
DBNZ X,rel PC (PC) + 2 + rel ? (result) 0 IX 7B rr 4
6
DBNZ opr,SP,rel PC (PC) + 4 + rel ? (result) 0 SP1 9E6B ff rr
DEC opr M (M) 1 DIR 3A dd 4
DECA A (A) 1 INH 4A 1
DECX X (X) 1 INH 5A 1
Decrement   
DEC opr,X M (M) 1 IX1 6A ff 4
DEC ,X M (M) 1 IX 7A 3
DEC opr,SP M (M) 1 SP1 9E6A ff 5
A (H:A)/(X)
DIV Divide   INH 52 7
H Remainder
EOR #opr IMM A8 ii 2
EOR opr DIR B8 dd 3
EOR opr EXT C8 hh ll 4
EOR opr,X 0   IX2 D8 ee ff 4
EOR opr,X
Exclusive OR M with A A (A M) IX1 E8 ff 3
EOR ,X IX F8 2
EOR opr,SP SP1 9EE8 ff 4
EOR opr,SP SP2 9ED8 ee ff 5
INC opr M (M) + 1 DIR 3C dd 4
INCA A (A) + 1 INH 4C 1
INCX Increment X (X) + 1    INH 5C 1
INC opr,X M (M) + 1 IX1 6C ff 4
INC ,X M (M) + 1 IX 7C 3
INC opr,SP M (M) + 1 SP1 9E6C ff 5

MC68HC908QB8 Data Sheet, Rev. 1

72 Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Instruction Set Summary

Table 7-1. Instruction Set Summary (Sheet 4 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
JMP opr DIR BC dd 2
JMP opr EXT CC hh ll 3
JMP opr,X Jump PC Jump Address IX2 DC ee ff 4
JMP opr,X IX1 EC ff 3
JMP ,X IX FC 2
JSR opr PC (PC) + n (n = 1, 2, or 3) DIR BD dd 4
JSR opr EXT CD hh ll 5
JSR opr,X Jump to Subroutine Push (PCL); SP (SP) 1 IX2 DD ee ff 6
Push (PCH); SP (SP) 1
JSR opr,X PC Unconditional Address IX1 ED ff 5
JSR ,X IX FD 4
LDA #opr IMM A6 ii 2
LDA opr DIR B6 dd 3
LDA opr EXT C6 hh ll 4
LDA opr,X IX2 D6 ee ff 4
LDA opr,X Load A from M A (M) 0   IX1 E6 ff 3
LDA ,X IX F6 2
LDA opr,SP SP1 9EE6 ff 4
LDA opr,SP SP2 9ED6 ee ff 5
LDHX #opr IMM 45 ii jj 3
Load H:X from M H:X (M:M + 1) 0  
LDHX opr DIR 55 dd 4
LDX #opr IMM AE ii 2
LDX opr DIR BE dd 3
LDX opr EXT CE hh ll 4
LDX opr,X IX2 DE ee ff 4
LDX opr,X Load X from M X (M) 0   IX1 EE ff 3
LDX ,X IX FE 2
LDX opr,SP SP1 9EEE ff 4
LDX opr,SP SP2 9EDE ee ff 5
LSL opr DIR 38 dd 4
LSLA INH 48 1
LSLX Logical Shift Left INH 58 1
LSL opr,X (Same as ASL)
C 0     IX1 68 ff 4
LSL ,X b7 b0 IX 78 3
LSL opr,SP SP1 9E68 ff 5
LSR opr DIR 34 dd 4
LSRA INH 44 1
LSRX Logical Shift Right 0 C  0   INH 54 1
LSR opr,X IX1 64 ff 4
LSR ,X b7 b0 IX 74 3
LSR opr,SP SP1 9E64 ff 5
MOV opr,opr (M)Destination (M)Source DD 4E dd dd 5
MOV opr,X+ DIX+ 5E dd 4
MOV #opr,opr Move 0   IMD 6E ii dd 4
MOV X+,opr H:X (H:X) + 1 (IX+D, DIX+) IX+D 7E dd 4
MUL Unsigned multiply X:A (X) (A) 0 0 INH 42 5
NEG opr M (M) = $00 (M) DIR 30 dd 4
NEGA INH 40 1
NEGX A (A) = $00 (A) INH 50 1
Negate (Twos Complement) X (X) = $00 (X)    
NEG opr,X M (M) = $00 (M) IX1 60 ff 4
NEG ,X IX 70 3
NEG opr,SP M (M) = $00 (M) SP1 9E60 ff 5
NOP No Operation None INH 9D 1
NSA Nibble Swap A A (A[3:0]:A[7:4]) INH 62 3
ORA #opr IMM AA ii 2
ORA opr DIR BA dd 3
ORA opr EXT CA hh ll 4
ORA opr,X IX2 DA ee ff 4
Inclusive OR A and M A (A) | (M) 0  
ORA opr,X IX1 EA ff 3
ORA ,X IX FA 2
ORA opr,SP SP1 9EEA ff 4
ORA opr,SP SP2 9EDA ee ff 5
PSHA Push A onto Stack Push (A); SP (SP) 1 INH 87 2
PSHH Push H onto Stack Push (H); SP (SP) 1 INH 8B 2
PSHX Push X onto Stack Push (X); SP (SP) 1 INH 89 2

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 73
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Central Processor Unit (CPU)

Table 7-1. Instruction Set Summary (Sheet 5 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
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 opr DIR 39 dd 4
ROLA INH 49 1
ROLX INH 59 1
ROL opr,X Rotate Left through Carry C     IX1 69 ff 4
ROL ,X b7 b0 IX 79 3
ROL opr,SP SP1 9E69 ff 5
ROR opr DIR 36 dd 4
RORA INH 46 1
RORX Rotate Right through Carry C     INH 56 1
ROR opr,X IX1 66 ff 4
ROR ,X b7 b0 IX 76 3
ROR opr,SP SP1 9E66 ff 5
RSP Reset Stack Pointer SP $FF INH 9C 1
SP (SP) + 1; Pull (CCR)
SP (SP) + 1; Pull (A)
RTI Return from Interrupt SP (SP) + 1; Pull (X)       INH 80 7
SP (SP) + 1; Pull (PCH)
SP (SP) + 1; Pull (PCL)
SP SP + 1; Pull (PCH)
RTS Return from Subroutine INH 81 4
SP SP + 1; Pull (PCL)
SBC #opr IMM A2 ii 2
SBC opr DIR B2 dd 3
SBC opr EXT C2 hh ll 4
SBC opr,X Subtract with Carry A (A) (M) (C)     IX2 D2 ee ff 4
SBC opr,X IX1 E2 ff 3
SBC ,X IX F2 2
SBC opr,SP SP1 9EE2 ff 4
SBC opr,SP SP2 9ED2 ee ff 5
SEC Set Carry Bit C1 1 INH 99 1
SEI Set Interrupt Mask I1 1 INH 9B 2
STA opr DIR B7 dd 3
STA opr EXT C7 hh ll 4
STA opr,X IX2 D7 ee ff 4
STA opr,X Store A in M M (A) 0   IX1 E7 ff 3
STA ,X IX F7 2
STA opr,SP SP1 9EE7 ff 4
STA opr,SP SP2 9ED7 ee ff 5
STHX opr Store H:X in M (M:M + 1) (H:X) 0   DIR 35 dd 4
Enable Interrupts, Stop Processing,
STOP I 0; Stop Processing 0 INH 8E 1
Refer to MCU Documentation
STX opr DIR BF dd 3
STX opr EXT CF hh ll 4
STX opr,X IX2 DF ee ff 4
STX opr,X Store X in M M (X) 0   IX1 EF ff 3
STX ,X IX FF 2
STX opr,SP SP1 9EEF ff 4
STX opr,SP SP2 9EDF ee ff 5
SUB #opr IMM A0 ii 2
SUB opr DIR B0 dd 3
SUB opr EXT C0 hh ll 4
SUB opr,X Subtract A (A) (M)     IX2 D0 ee ff 4
SUB opr,X IX1 E0 ff 3
SUB ,X IX F0 2
SUB opr,SP SP1 9EE0 ff 4
SUB opr,SP SP2 9ED0 ee ff 5

MC68HC908QB8 Data Sheet, Rev. 1

74 Freescale Semiconductor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Opcode Map

Table 7-1. Instruction Set Summary (Sheet 6 of 6)

Operand
Effect

Address

Opcode

Cycles
Source on CCR

Mode
Operation Description
Form
V H I N Z C
PC (PC) + 1; Push (PCL)
SP (SP) 1; Push (PCH)
SP (SP) 1; Push (X)
SP (SP) 1; Push (A)
SWI Software Interrupt 1 INH 83 9
SP (SP) 1; Push (CCR)
SP (SP) 1; I 1
PCH Interrupt Vector High Byte
PCL Interrupt Vector Low Byte
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 opr DIR 3D dd 3
TSTA INH 4D 1
TSTX INH 5D 1
Test for Negative or Zero (A) $00 or (X) $00 or (M) $00 0  
TST opr,X IX1 6D ff 3
TST ,X IX 7D 2
TST opr,SP SP1 9E6D ff 4
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
I bit 0; Inhibit CPU clocking
WAIT Enable Interrupts; Wait for Interrupt 0 INH 8F 1
until interrupted
A Accumulator n Any bit
C Carry/borrow bit opr Operand (one or two bytes)
CCR Condition code register PC Program counter
dd Direct address of operand PCH Program counter high byte
dd rr Direct address of operand and relative offset of branch instruction PCL Program counter low byte
DD Direct to direct addressing mode REL Relative addressing mode
DIR Direct addressing mode rel Relative program counter offset byte
DIX+ Direct to indexed with post increment addressing mode rr Relative program counter offset byte
ee ff High and low bytes of offset in indexed, 16-bit offset addressing SP1 Stack pointer, 8-bit offset addressing mode
EXT Extended addressing mode SP2 Stack pointer 16-bit offset addressing mode
ff Offset byte in indexed, 8-bit offset addressing SP Stack pointer
H Half-carry bit U Undefined
H Index register high byte V Overflow bit
hh ll High and low bytes of operand address in extended addressing X Index register low byte
I Interrupt mask Z Zero bit
ii Immediate operand byte & Logical AND
IMD Immediate source to direct destination addressing mode | Logical OR
IMM Immediate addressing mode Logical EXCLUSIVE OR
INH Inherent addressing mode () Contents of
IX Indexed, no offset addressing mode ( ) Negation (twos complement)
IX+ Indexed, no offset, post increment addressing mode # Immediate value
IX+D Indexed with post increment to direct addressing mode Sign extend
IX1 Indexed, 8-bit offset addressing mode Loaded with
IX1+ Indexed, 8-bit offset, post increment addressing mode ? If
IX2 Indexed, 16-bit offset addressing mode : Concatenated with
M Memory location  Set or cleared
N Negative bit Not affected

7.8 Opcode Map


See Table 7-2.

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Chapter 18
Electrical Specifications

18.1 Introduction
This section contains electrical and timing specifications.

18.2 Absolute Maximum Ratings


Maximum ratings are the extreme limits to which the microcontroller unit (MCU) can be exposed without
permanently damaging it.
NOTE
This device is not guaranteed to operate properly at the maximum ratings.
Refer to 18.5 5-V DC Electrical Characteristics and 18.8 3-V DC Electrical
Characteristics for guaranteed operating conditions.

Characteristic(1) Symbol Value Unit

Supply voltage VDD 0.3 to +6.0 V


Input voltage VIN VSS 0.3 to VDD +0.3 V
Mode entry voltage, IRQ pin VTST VSS 0.3 to +9.1 V
Maximum current per pin excluding
I 15 mA
PTA0PTA5, VDD, and VSS
Maximum current for pins PTA0PTA5 IPTA0IPTA5 25 mA
Storage temperature TSTG 55 to +150 C
Maximum current out of VSS IMVSS 100 mA
Maximum current into VDD IMVDD 100 mA

1. Voltages references to VSS.

NOTE
This device contains circuitry to protect the inputs against damage due to
high static voltages or electric fields; however, it is advised that normal
precautions be taken to avoid application of any voltage higher than
maximum-rated voltages to this high-impedance circuit. For proper
operation, it is recommended that VIN and VOUT be constrained to the
range VSS (VIN or VOUT) VDD. Reliability of operation is enhanced if
unused inputs are connected to an appropriate logic voltage level (for
example, either VSS or VDD.)

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 207


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Electrical Specifications

18.3 Functional Operating Range


Temperature
Characteristic Symbol Value Unit
Code
40 to +125 M
TA
Operating temperature range 40 to +105 C V
(TL to TH)
40 to +85 C
Operating voltage range VDD 2.7 to 5.5 V

18.4 Thermal Characteristics


Characteristic Symbol Value Unit
Thermal resistance
16-pin PDIP 76
JA C/W
16-pin SOIC 90
16-pin TSSOP 133
I/O pin power dissipation PI/O User determined W
PD = (IDD x VDD)
Power dissipation(1) PD W
+ PI/O = K/(TJ + 273C)
PD x (TA + 273C)
Constant(2) K W/C
+ PD2 x JA
Average junction temperature TJ TA + (PD x JA) C
Maximum junction temperature TJM 150 C

1. Power dissipation is a function of temperature.


2. K constant unique to the device. K can be determined for a known TA and measured PD. With this value of K, PD and TJ
can be determined for any value of TA.

MC68HC908QB8 Data Sheet, Rev. 1

208 Freescale Semiconductor


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

5-V DC Electrical Characteristics

18.5 5-V DC Electrical Characteristics

Characteristic(1) Symbol Min Typ(2) Max Unit

Output high voltage


ILoad = 2.0 mA, all I/O pins VDD 0.4
VOH V
ILoad = 10.0 mA, all I/O pins VDD 1.5
ILoad = 15.0 mA, PTA0, PTA1, PTA3PTA5 only VDD 0.8
Maximum combined IOH (all I/O pins) IOHT 50 mA
Output low voltage
ILoad = 1.6 mA, all I/O pins 0.4
VOL V
ILoad = 10.0 mA, all I/O pins 1.5
ILoad = 15.0 mA, PTA0, PTA1, PTA3PTA5 only 0.8
Maximum combined IOL (all I/O pins) IOHL 50 mA
Input high voltage
VIH 0.7 x VDD VDD V
PTA0PTA5, PTB0PTB7
Input low voltage
VIL VSS 0.3 x VDD V
PTA0PTA5, PTB0PTB7
Input hysteresis(3) VHYS 0.06 x VDD V
(4)
DC injection current, all ports 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
Capacitance
CIN 8 pF
Ports (as input)(3)
POR rearm voltage VPOR 750 mV
(3)(5)
POR rise time ramp rate RPOR 0.035 V/ms
Monitor mode entry voltage (3)
VTST VDD + 2.5 9.1 V
(6)
Pullup resistors
RPU 16 26 36 k
PTA0PTA5, PTB0PTB7
Pulldown resistors(7)
RPD 16 26 36 k
PTA0PTA5
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

1. VDD = 4.5 to 5.5 Vdc, VSS = 0 Vdc, TA = TL to TH, unless otherwise noted.
2. Typical values reflect average measurements at midpoint of voltage range, 25C only. Typical values are for reference only
and are not tested in production.
3. Values are based on characterization results, not tested in production.
4. Guaranteed by design, not tested in production.
5. If minimum VDD is not reached before the internal POR reset is released, the LVI will hold the part in reset until minimum
VDD is reached.
6. RPU is measured at VDD = 5.0 V.
7. RPD is measured at VDD = 5.0 V, Pulldown resistors only available when KBIx is enabled with KBIxPOL =1.

MC68HC908QB8 Data Sheet, Rev. 1

Freescale Semiconductor 209


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Precision Centigrade Temperature Sensors


LM35/LM35A/LM35C/LM35CA/LM35D
December 1994

LM35/LM35A/LM35C/LM35CA/LM35D
Precision Centigrade Temperature Sensors
General Description
The LM35 series are precision integrated-circuit tempera- available packaged in hermetic TO-46 transistor packages,
ture sensors, whose output voltage is linearly proportional to while the LM35C, LM35CA, and LM35D are also available in
the Celsius (Centigrade) temperature. The LM35 thus has the plastic TO-92 transistor package. The LM35D is also
an advantage over linear temperature sensors calibrated in available in an 8-lead surface mount small outline package
Kelvin, as the user is not required to subtract a large con- and a plastic TO-202 package.
stant voltage from its output to obtain convenient Centi-
grade scaling. The LM35 does not require any external cali- Features
bration or trimming to provide typical accuracies of g (/4 C Y Calibrated directly in Celsius (Centigrade)
at room temperature and g */4 C over a full b55 to a 150 C Y Linear a 10.0 mV/ C scale factor
temperature range. Low cost is assured by trimming and Y 0.5 C accuracy guaranteeable (at a 25 C)
calibration at the wafer level. The LM35s low output imped-
ance, linear output, and precise inherent calibration make
Y Rated for full b55 to a 150 C range
interfacing to readout or control circuitry especially easy. It Y Suitable for remote applications
can be used with single power supplies, or with plus and Y Low cost due to wafer-level trimming
minus supplies. As it draws only 60 mA from its supply, it has Y Operates from 4 to 30 volts
very low self-heating, less than 0.1 C in still air. The LM35 is Y Less than 60 mA current drain
rated to operate over a b55 to a 150 C temperature Y Low self-heating, 0.08 C in still air
range, while the LM35C is rated for a b40 to a 110 C Y Nonlinearity only g (/4 C typical
range (b10 with improved accuracy). The LM35 series is Y Low impedance output, 0.1 X for 1 mA load

Connection Diagrams
TO-46 TO-92 SO-8
Metal Can Package* Plastic Package Small Outline Molded Package

TL/H/5516 2
TL/H/55161 TL/H/5516 21
*Case is connected to negative pin (GND) Order Number LM35CZ, Top View
LM35CAZ or LM35DZ N.C. e No Connection
Order Number LM35H, LM35AH, See NS Package Number Z03A
LM35CH, LM35CAH or LM35DH Order Number LM35DM
See NS Package Number H03H See NS Package Number M08A

TO-202
Plastic Package
Typical Applications

TL/H/5516 3
TL/H/5516 4
FIGURE 1. Basic Centigrade
Temperature Choose R1 e b VS/50 mA
Sensor ( a 2 C to a 150 C)
VOUT e a 1,500 mV at a 150 C
e a 250 mV at a 25 C
eb 550 mV at b 55 C
TL/H/551624
FIGURE 2. Full-Range Centigrade
Order Number LM35DP Temperature Sensor
See NS Package Number P03A
TRI-STATE is a registered trademark of National Semiconductor Corporation.

C1995 National Semiconductor Corporation TL/H/5516 RRD-B30M75/Printed in U. S. A.


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Absolute Maximum Ratings (Note 10)


If Military/Aerospace specified devices are required, SO Package (Note 12):
please contact the National Semiconductor Sales Vapor Phase (60 seconds) 215 C
Office/Distributors for availability and specifications.
Infrared (15 seconds) 220 C
Supply Voltage a 35V to b 0.2V
ESD Susceptibility (Note 11) 2500V
Output Voltage a 6V to b 1.0V
Specified Operating Temperature Range: TMIN to TMAX
Output Current 10 mA
(Note 2)
Storage Temp., TO-46 Package, b 60 C to a 180 C
LM35, LM35A b 55 C to a 150 C
TO-92 Package, b 60 C to a 150 C
LM35C, LM35CA b 40 C to a 110 C
SO-8 Package, b 65 C to a 150 C
LM35D 0 C to a 100 C
TO-202 Package, b 65 C to a 150 C
Lead Temp.:
TO-46 Package, (Soldering, 10 seconds) 300 C
TO-92 Package, (Soldering, 10 seconds) 260 C
TO-202 Package, (Soldering, 10 seconds) a 230 C

Electrical Characteristics (Note 1) (Note 6)


LM35A LM35CA
Tested Design Tested Design Units
Parameter Conditions
Typical Limit Limit Typical Limit Limit (Max.)
(Note 4) (Note 5) (Note 4) (Note 5)
Accuracy TA e a 25 C g 0.2 g 0.5 g 0.2 g 0.5 C
(Note 7) TA eb10 C g 0.3 g 0.3 g 1.0 C
TA e TMAX g 0.4 g 1.0 g 0.4 g 1.0 C
TA e TMIN g 0.4 g 1.0 g 0.4 g 1.5 C
Nonlinearity TMINsTAsTMAX g 0.18 g 0.35 g 0.15 g 0.3 C
(Note 8)
Sensor Gain TMINsTAsTMAX a 10.0 a 9.9, a 10.0 a 9.9, mV/ C
(Average Slope) a 10.1 a 10.1

Load Regulation TA e a 25 C g 0.4 g 1.0 g 0.4 g 1.0 mV/mA


(Note 3) 0sILs1 mA TMINsTAsTMAX g 0.5 g 3.0 g 0.5 g 3.0 mV/mA
Line Regulation TA e a 25 C g 0.01 g 0.05 g 0.01 g 0.05 mV/V
(Note 3) 4VsVSs30V g 0.02 g 0.1 g 0.02 g 0.1 mV/V
Quiescent Current VS e a 5V, a 25 C 56 67 56 67 mA
(Note 9) VS e a 5V 105 131 91 114 mA
VS e a 30V, a 25 C 56.2 68 56.2 68 mA
VS e a 30V 105.5 133 91.5 116 mA
Change of 4VsVSs30V, a 25 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 a 0.39 a 0.5 a 0.39 a 0.5 mA/ C
Coefficient of
Quiescent Current
Minimum Temperature In circuit of a 1.5 a 2.0 a 1.5 a 2.0 C
for Rated Accuracy Figure 1 , IL e 0
Long Term Stability TJ e TMAX, for g 0.08 g 0.08 C
1000 hours

Note 1: Unless otherwise noted, these specifications apply: b 55 C s TJ s a 150 C for the LM35 and LM35A; b 40 s TJ s a 110 C for the LM35C and LM35CA; and
0 s TJ s a 100 C for the LM35D. VS e a 5Vdc and ILOAD e 50 mA, in the circuit of Figure 2. These specifications also apply from a 2 C to TMAX in the circuit of
Figure 1 . Specifications in boldface apply over the full rated temperature range.
Note 2: Thermal resistance of the TO-46 package is 400 C/W, junction to ambient, and 24 C/W junction to case. Thermal resistance of the TO-92 package is
180 C/W junction to ambient. Thermal resistance of the small outline molded package is 220 C/W junction to ambient. Thermal resistance of the TO-202 package
is 85 C/W junction to ambient. For additional thermal resistance information see table in the Applications section.

2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Electrical Characteristics (Note 1) (Note 6) (Continued)

LM35 LM35C, LM35D


Tested Design Tested Design Units
Parameter Conditions
Typical Limit Limit Typical Limit Limit (Max.)
(Note 4) (Note 5) (Note 4) (Note 5)
Accuracy, TA e a 25 C g 0.4 g 1.0 g 0.4 g 1.0 C
LM35, LM35C TA eb10 C g 0.5 g 0.5 g 1.5 C
(Note 7) TA e TMAX g 0.8 g 1.5 g 0.8 g 1.5 C
TA e TMIN g 0.8 g 1.5 g 0.8 g 2.0 C
Accuracy, TA e a 25 C g 0.6 g 1.5 C
LM35D TA e TMAX g 0.9 g 2.0 C
(Note 7) TA e TMIN g 0.9 g 2.0 C
Nonlinearity TMINsTAsTMAX g 0.3 g 0.5 g 0.2 g 0.5 C
(Note 8)
Sensor Gain TMINsTAsTMAX a 10.0 a 9.8, a 10.0 a 9.8, mV/ C
(Average Slope) a 10.2 a 10.2

Load Regulation TA e a 25 C g 0.4 g 2.0 g 0.4 g 2.0 mV/mA


(Note 3) 0sILs1 mA TMINsTAsTMAX g 0.5 g 5.0 g 0.5 g 5.0 mV/mA
Line Regulation TA e a 25 C g 0.01 g 0.1 g 0.01 g 0.1 mV/V
(Note 3) 4VsVSs30V g 0.02 g 0.2 g 0.02 g 0.2 mV/V
Quiescent Current VS e a 5V, a 25 C 56 80 56 80 mA
(Note 9) VS e a 5V 105 158 91 138 mA
VS e a 30V, a 25 C 56.2 82 56.2 82 mA
VS e a 30V 105.5 161 91.5 141 mA
Change of 4VsVSs30V, a 25 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 a 0.39 a 0.7 a 0.39 a 0.7 mA/ C
Coefficient of
Quiescent Current
Minimum Temperature In circuit of a 1.5 a 2.0 a 1.5 a 2.0 C
for Rated Accuracy Figure 1 , IL e 0
Long Term Stability TJ e TMAX, for g 0.08 g 0.08 C
1000 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 devices 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 devices 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 Thermal Response
Junction to Air Thermal Time Constant in Still Air

Quiescent Current
Thermal Response in Minimum Supply vs. Temperature
Stirred Oil Bath Voltage vs. Temperature (In Circuit of Figure 1 .)

TL/H/5516 17
Quiescent Current
vs. Temperature Accuracy vs. Temperature Accuracy vs. Temperature
(In Circuit of Figure 2 .) (Guaranteed) (Guaranteed)

TL/H/5516 18
Noise Voltage Start-Up Response

TL/H/5516 22

4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Applications
The LM35 can be applied easily in the same way as other The TO-46 metal package can also be soldered to a metal
integrated-circuit temperature sensors. It can be glued or surface or pipe without damage. Of course, in that case the
cemented to a surface and its temperature will be within Vb terminal of the circuit will be grounded to that metal.
about 0.01 C of the surface temperature. Alternatively, the LM35 can be mounted inside a sealed-end
This presumes that the ambient air temperature is almost metal tube, and can then be dipped into a bath or screwed
the same as the surface temperature; if the air temperature into a threaded hole in a tank. As with any IC, the LM35 and
were much higher or lower than the surface temperature, accompanying wiring and circuits must be kept insulated
the actual temperature of the LM35 die would be at an inter- and dry, to avoid leakage and corrosion. This is especially
mediate temperature between the surface temperature and true if the circuit may operate at cold temperatures where
the air temperature. This is expecially true for the TO-92 condensation can occur. Printed-circuit coatings and var-
plastic package, where the copper leads are the principal nishes such as Humiseal and epoxy paints or dips are often
thermal path to carry heat into the device, so its tempera- used to insure that moisture cannot corrode the LM35 or its
ture might be closer to the air temperature than to the sur- connections.
face temperature. These devices are sometimes soldered to a small light-
To minimize this problem, be sure that the wiring to the weight heat fin, to decrease the thermal time constant and
LM35, as it leaves the device, is held at the same tempera- speed up the response in slowly-moving air. On the other
ture as the surface of interest. The easiest way to do this is hand, a small thermal mass may be added to the sensor, to
to cover up these wires with a bead of epoxy which will give the steadiest reading despite small deviations in the air
insure that the leads and wires are all at the same tempera- temperature.
ture as the surface, and that the LM35 dies temperature will
not be affected by 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 capacitance because the capacitance forms a bypass from


Like most micropower circuits, the LM35 has a limited ability ground to input, not on the output. However, as with any
to drive heavy capacitive loads. The LM35 by itself is able to linear circuit connected to wires in a hostile environment, its
drive 50 pf without special precautions. If heavier loads are performance can be affected adversely by intense electro-
anticipated, it is easy to isolate or decouple the load with a magnetic sources such as relays, radio transmitters, motors
resistor; see Figure 3 . Or you can improve the tolerance of with arcing brushes, SCR transients, etc, as its wiring can
capacitance with a series R-C damper from output to act as a receiving antenna and its internal junctions can act
ground; see Figure 4 . as rectifiers. For best results in such cases, a bypass capac-
itor from VIN to ground and a series R-C damper such as
When the LM35 is applied with a 200X load resistor as
75X in series with 0.2 or 1 mF from output to ground are
shown in Figure 5, 6, or 8, it is relatively immune to wiring
often useful. These are shown in Figures 13, 14, and 16.

5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DS1305
Serial Alarm Real-Time Clock
www.maxim-ic.com

FEATURES PIN ASSIGNMENT


Real-time clock (RTC) counts seconds,
VCC2 1 20 VCC1
minutes, hours, date of the month, month,
VBAT 2 19 NC
day of the week, and year with leap-year
X1 3 18 PF
compensation valid up to 2100
NC 4 17 VCCIF
96-byte, battery-backed NV RAM for data
X2 5 16 SD0
storage
NC 6 15 SDI
Two time-of-day alarms, programmable on INT0 7 14 SCLK
combination of seconds, minutes, hours, and NC 8 13 NC
day of the week INT1 9 12 CE
Serial interface supports Motorola SPI GND 10 11 SERMODE
(serial peripheral interface) serial data ports
or standard 3-wire interface DS1305 20-Pin TSSOP (4.4mm)
Burst mode for reading/writing successive VCC2 1 16 VCC1
addresses in clock/RAM VBAT 2 15 PF
Dual-power supply pins for primary and X1 3 14 VCCIF
backup power supplies X2 4 13 SDO
Optional trickle charge output to backup NC 5 12 SDI
supply INT0 6 11 SCLK
2.0V to 5.5V operation INT1 7 10 CE
Optional industrial temperature range: GND 8 9 SERMODE
-40C to +85C
Available in space-efficient, 20-pin TSSOP DS1305 16-Pin DIP (300mil)
package Package dimension information can be found at:
Underwriters Laboratory (UL) recognized http://www.maxim-ic.com/TechSupport/DallasPackInfo.htm

ORDERING INFORMATION TYPICAL OPERATING CIRCUIT


DS1305 16-Pin DIP (300mil)
DS1305N 16-Pin DIP (Industrial)
DS1305E 20-Pin TSSOP (173mil)
DS1305EN 20-Pin TSSOP (Industrial)

SPI is a trademark of Motorola, Inc.

1 of 20 061202
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DS1305
Figure 2. RTC REGISTERS AND ADDRESS MAP
HEX ADDRESS
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 RANGE
READ WRITE
00H 80H 0 10-SEC SEC 0059
01H 81H 0 10-MIN MIN 0059
P 0112 + P/A
12
02H 82H 0 A 10-HR HOURS
0023
24 10
03H 83H 0 0 0 0 DAY 17
04H 84H 0 0 10-DATE DATE 131
05H 85H 0 0 10-MONTH MONTH 0112
06H 86H 10 YEAR YEAR 0099
ALARM 0
07H 87H M 10-SEC ALARM SEC ALARM 0059
08H 88H M 10-MIN ALARM MIN ALARM 0059
P
12 0112 + P/A
09H 89H M A 10 HR HOUR ALARM
24 10 0023
0AH 8AH M 0 0 0 DAY ALARM 0107
ALARM 1
0BH 8BH M 10-SEC ALARM SEC ALARM 0059
0CH 8CH M 10-MIN ALARM MIN ALARM 0059
P
12 0112 + P/A
0DH 8DH M A 10 HR HOUR ALARM
24 10 0023
0EH 8EH M 0 0 0 DAY ALARM 0107
0FH 8FH CONTROL REGISTER
10H 90H STATUS REGISTER
11H 91H TRICKLE CHARGER REGISTER
121FH 929FH RESERVED
207FH A0FFH 96 BYTES USER RAM 00FF

Note: Range for alarm registers does not include maskm bits.

The DS1305 can be run in either 12-hour or 24-hour mode. Bit 6 of the hours register is defined as the
12- or 24-hour mode select bit. When high, the 12-hour mode is selected. In the 12-hour mode, bit 5 is the
AM/PM bit with logic high being PM. In the 24-hour mode, bit 5 is the second 10-hour bit (20 to 23
hours).

The DS1305 contains two time-of-day alarms. Time-of-day Alarm 0 can be set by writing to registers 87h
to 8Ah. Time-of-day Alarm 1 can be set by writing to registers 8Bh to 8Eh. The alarms can be
programmed (by the INTCN bit of the control register) to operate in two different modes; each alarm can
drive its own separate interrupt output or both alarms can drive a common interrupt output. Bit 7 of each
of the time-of-day alarm registers are mask bits (Table 1). When all of the mask bits are logic 0, a time-
of-day alarm only occurs once per week when the values stored in timekeeping registers 00h to 03h
match the values stored in the time-of-day alarm registers. An alarm is generated every day when bit 7 of
the day alarm register is set to a logic 1. An alarm is generated every hour when bit 7 of the day and hour
alarm registers is set to a logic 1. Similarly, an alarm is generated every minute when bit 7 of the day,
hour, and minute alarm registers is set to a logic 1. When bit 7 of the day, hour, minute, and seconds
alarm registers is set to a logic 1, alarm occurs every second.

6 of 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DS1305
DC ELECTRICAL CHARACTERISTICS Over the operating range*
PARAMETER SYMBOL MIN TYP MAX UNITS NOTES
Input Leakage ILI -100 +500 A
Output Leakage ILO -1 1 A
Logic 0 Output IOL= 1.5mA VCC = 2.0V 0.4
VOL V
IOL = 4.0mA VCC = 5V 0.4
Logic 1 Output IOH = -0.4mA VCCIF = 2.0V 1.6
VOH V
IOH = -1.0mA VCCIF = 5V 2.4
VCC1 = 2.0V 0.425
VCC1 Active Supply Current ICC1A mA 2, 8
VCC1 = 5V 1.28
VCC1 Timekeeping Current VCC1 = 2.0V 25.3
ICC1T A 1, 8, 12
(Osc on) VCC1 = 5V 81
VCC1 Standby Current VCC1 = 2.0V 25
ICC1S A 6, 8, 12
(Osc off) VCC1 = 5V 80
VCC2 Active Supply VCC2 = 2.0V 0.4
ICC2A mA 2, 9
Current VCC2 = 5V 1.2
VCC2 Timekeeping Current VCC2 = 2.0V 0.3
ICC2T A 1, 9, 12
(Osc on) VCC2 = 5V 1
VCC2 Standby Current VCC2 = 2.0V 200
ICC2S nA 6, 9, 12
(Osc off) VCC2 = 5V 200
Battery Timekeeping Current IBAT VBAT = 3V 400 nA 10, 12
Battery Standby Current IBATS VBAT = 3V 200 nA 10, 12
VBAT +
VCC Trip Point VCCTP VBAT - 50 mV
200
R1 2
Trickle Charge Resistors R2 4 kW
R3 8
Trickle Charge Diode
VTD 0.7 V
Voltage Drop
*Unless otherwise specified.

CAPACITANCE (TA = +25C)


PARAMETER SYMBOL CONDITION TYP MAX UNITS NOTES
Input Capacitance CI 10 pF
Output Capacitance CO 15 pF
Crystal Capacitance CX 6 pF

16 of 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19-4323; Rev 11; 2/03

+5V-Powered, Multichannel RS-232


Drivers/Receivers
General Description ____________________________Features

MAX220MAX249
The MAX220MAX249 family of line drivers/receivers is Superior to Bipolar
intended for all EIA/TIA-232E and V.28/V.24 communica- Operate from Single +5V Power Supply
tions interfaces, particularly applications where 12V is
(+5V and +12VMAX231/MAX239)
not available.
Low-Power Receive Mode in Shutdown
These parts are especially useful in battery-powered sys-
(MAX223/MAX242)
tems, since their low-power shutdown mode reduces
power dissipation to less than 5W. The MAX225, Meet All EIA/TIA-232E and V.28 Specifications
MAX233, MAX235, and MAX245/MAX246/MAX247 use Multiple Drivers and Receivers
no external components and are recommended for appli- 3-State Driver and Receiver Outputs
cations where printed circuit board space is critical. Open-Line Detection (MAX243)

________________________Applications Ordering Information


Portable Computers PART TEMP RANGE PIN-PACKAGE
MAX220CPE 0C to +70C 16 Plastic DIP
Low-Power Modems
MAX220CSE 0C to +70C 16 Narrow SO
Interface Translation MAX220CWE 0C to +70C 16 Wide SO
Battery-Powered RS-232 Systems MAX220C/D 0C to +70C Dice*
Multidrop RS-232 Networks MAX220EPE -40C to +85C 16 Plastic DIP
MAX220ESE -40C to +85C 16 Narrow SO
MAX220EWE -40C to +85C 16 Wide SO
MAX220EJE -40C to +85C 16 CERDIP
MAX220MJE -55C to +125C 16 CERDIP
Ordering Information continued at end of data sheet.
*Contact factory for dice specifications.

Selection Table
Power No. of Nominal SHDN Rx
Part Supply RS-232 No. of Cap. Value & Three- Active in Data Rate
Number (V) Drivers/Rx Ext. Caps (F) State SHDN (kbps) Features
MAX220 +5 2/2 4 0.1 No 120 Ultra-low-power, industry-standard pinout
MAX222 +5 2/2 4 0.1 Yes 200 Low-power shutdown
MAX223 (MAX213) +5 4/5 4 1.0 (0.1) Yes 120 MAX241 and receivers active in shutdown
MAX225 +5 5/5 0 Yes 120 Available in SO
MAX230 (MAX200) +5 5/0 4 1.0 (0.1) Yes 120 5 drivers with shutdown
MAX231 (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 MAX232
MAX232 (MAX202) +5 2/2 4 1.0 (0.1) No 120 (64) Industry standard
MAX232A +5 2/2 4 0.1 No 200 Higher slew rate, small caps
MAX233 (MAX203) +5 2/2 0 No 120 No external caps
MAX233A +5 2/2 0 No 200 No external caps, high slew rate
MAX234 (MAX204) +5 4/0 4 1.0 (0.1) No 120 Replaces 1488
MAX235 (MAX205) +5 5/5 0 Yes 120 No external caps
MAX236 (MAX206) +5 4/3 4 1.0 (0.1) Yes 120 Shutdown, three state
MAX237 (MAX207) +5 5/3 4 1.0 (0.1) No 120 Complements IBM PC serial port
MAX238 (MAX208) +5 4/4 4 1.0 (0.1) No 120 Replaces 1488 and 1489
MAX239 (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 port
MAX240 +5 5/5 4 1.0 Yes 120 DIP or flatpack package
MAX241 (MAX211) +5 4/5 4 1.0 (0.1) Yes 120 Complete IBM PC serial port
MAX242 +5 2/2 4 0.1 Yes 200 Separate shutdown and enable
MAX243 +5 2/2 4 0.1 No 200 Open-line detection simplifies cabling
MAX244 +5 8/10 4 1.0 No 120 High slew rate
MAX245 +5 8/10 0 Yes 120 High slew rate, int. caps, two shutdown modes
MAX246 +5 8/10 0 Yes 120 High slew rate, int. caps, three shutdown modes
MAX247 +5 8/9 0 Yes 120 High slew rate, int. caps, nine operating modes
MAX248 +5 8/8 4 1.0 Yes 120 High slew rate, selective half-chip enables
MAX249 +5 6/10 4 1.0 Yes 120 Available in quad flatpack package

________________________________________________________________ Maxim Integrated Products 1

For pricing, delivery, and ordering information, please contact Maxim/Dallas Direct! at
1-888-629-4642, or visit Maxims website at www.maxim-ic.com.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

+5V-Powered, Multichannel RS-232


Drivers/Receivers
ABSOLUTE MAXIMUM RATINGSMAX220/222/232A/233A/242/243
MAX220MAX249

Supply Voltage (VCC) ...............................................-0.3V to +6V 20-Pin Plastic DIP (derate 8.00mW/C above +70C) ..440mW
Input Voltages 16-Pin Narrow SO (derate 8.70mW/C above +70C) ...696mW
TIN..............................................................-0.3V to (VCC - 0.3V) 16-Pin Wide SO (derate 9.52mW/C above +70C)......762mW
RIN (Except MAX220) ........................................................30V 18-Pin Wide SO (derate 9.52mW/C above +70C)......762mW
RIN (MAX220).....................................................................25V 20-Pin Wide SO (derate 10.00mW/C above +70C)....800mW
TOUT (Except MAX220) (Note 1) .......................................15V 20-Pin SSOP (derate 8.00mW/C above +70C) ..........640mW
TOUT (MAX220)...............................................................13.2V 16-Pin CERDIP (derate 10.00mW/C above +70C).....800mW
Output Voltages 18-Pin CERDIP (derate 10.53mW/C above +70C).....842mW
TOUT ...................................................................................15V Operating Temperature Ranges
ROUT .........................................................-0.3V to (VCC + 0.3V) MAX2_ _AC_ _, MAX2_ _C_ _ .............................0C to +70C
Driver/Receiver Output Short Circuited to GND.........Continuous MAX2_ _AE_ _, MAX2_ _E_ _ ..........................-40C to +85C
Continuous Power Dissipation (TA = +70C) MAX2_ _AM_ _, MAX2_ _M_ _ .......................-55C to +125C
16-Pin Plastic DIP (derate 10.53mW/C above +70C)....842mW Storage Temperature Range .............................-65C to +160C
18-Pin Plastic DIP (derate 11.11mW/C above +70C)....889mW Lead Temperature (soldering, 10s) .................................+300C

Note 1: Input voltage measured with TOUT in high-impedance state, SHDN or VCC = 0V.
Note 2: For the MAX220, V+ and V- can have a maximum magnitude of 7V, but their absolute difference cannot exceed 13V.
Stresses beyond those listed under Absolute Maximum Ratings may cause permanent damage to the device. These are stress ratings only, and functional
operation of the device at these or any other conditions beyond those indicated in the operational sections of the specifications is not implied. Exposure to
absolute maximum rating conditions for extended periods may affect device reliability.

ELECTRICAL CHARACTERISTICSMAX220/222/232A/233A/242/243
(VCC = +5V 10%, C1C4 = 0.1F MAX220, C1 = 0.047F, C2C4 = 0.33F, TA = TMIN to TMAX unless otherwise noted.)
PARAMETER CONDITIONS MIN TYP MAX UNITS
RS-232 TRANSMITTERS
Output Voltage Swing All transmitter outputs loaded with 3k to GND 5 8 V
Input Logic Threshold Low 1.4 0.8 V
All devices except MAX220 2 1.4
Input Logic Threshold High V
MAX220: VCC = 5.0V 2.4
All except MAX220, normal operation 5 40
Logic Pull-Up/lnput Current A
SHDN = 0V, MAX222/242, shutdown, MAX220 0.01 1
VCC = 5.5V, SHDN = 0V, VOUT = 15V, MAX222/242 0.01 10
Output Leakage Current A
VCC = SHDN = 0V, VOUT = 15V 0.01 10
Data Rate 200 116 kbps
Transmitter Output Resistance VCC = V+ = V- = 0V, VOUT = 2V 300 10M
Output Short-Circuit Current VOUT = 0V 7 22 mA
RS-232 RECEIVERS
RS-232 Input Voltage Operating Range 30 V
All except MAX243 R2IN 0.8 1.3
RS-232 Input Threshold Low VCC = 5V V
MAX243 R2IN (Note 2) -3
All except MAX243 R2IN 1.8 2.4
RS-232 Input Threshold High VCC = 5V V
MAX243 R2IN (Note 2) -0.5 -0.1
All except MAX243, VCC = 5V, no hysteresis in shdn. 0.2 0.5 1
RS-232 Input Hysteresis V
MAX243 1
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 -10
TTL/CMOS Output Short-Circuit Current mA
Shrinking VOUT = VCC 10 30

2 _______________________________________________________________________________________
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

+5V-Powered, Multichannel RS-232


Drivers/Receivers
ELECTRICAL CHARACTERISTICSMAX220/222/232A/233A/242/243 (continued)

MAX220MAX249
(VCC = +5V 10%, C1C4 = 0.1F MAX220, C1 = 0.047F, C2C4 = 0.33F, TA = TMIN to TMAX unless otherwise noted.)
PARAMETER CONDITIONS MIN TYP MAX UNITS
SHDN = VCC or EN = VCC (SHDN = 0V for MAX222),
TTL/CMOS Output Leakage Current 0.05 10 A
0V VOUT VCC
EN Input Threshold Low MAX242 1.4 0.8 V
EN Input Threshold High MAX242 2.0 1.4 V
Operating Supply Voltage 4.5 5.5 V
MAX220 0.5 2
No load
VCC Supply Current (SHDN = VCC), MAX222/232A/233A/242/243 4 10
mA
Figures 5, 6, 11, 19 3k load MAX220 12
both inputs MAX222/232A/233A/242/243 15
TA = +25C 0.1 10
TA = 0C to +70C 2 50
Shutdown Supply Current MAX222/242 A
TA = -40C to +85C 2 50
TA = -55C to +125C 35 100
SHDN Input Leakage Current MAX222/242 1 A
SHDN Threshold Low MAX222/242 1.4 0.8 V
SHDN Threshold High MAX222/242 2.0 1.4 V
CL = 50pF to 2500pF,
RL = 3k to 7k, MAX222/232A/233A/242/243 6 12 30
Transition Slew Rate VCC = 5V, TA = +25C, V/s
measured from +3V MAX220 1.5 3 30
to -3V or -3V to +3V
MAX222/232A/233A/242/243 1.3 3.5
Transmitter Propagation Delay tPHLT
MAX220 4 10
TLL to RS-232 (Normal Operation), s
Figure 1 MAX222/232A/233A/242/243 1.5 3.5
tPLHT
MAX220 5 10
MAX222/232A/233A/242/243 0.5 1
Receiver Propagation Delay tPHLR
MAX220 0.6 3
RS-232 to TLL (Normal Operation), s
Figure 2 MAX222/232A/233A/242/243 0.6 1
tPLHR
MAX220 0.8 3
Receiver Propagation Delay tPHLS MAX242 0.5 10
s
RS-232 to TLL (Shutdown), Figure 2 tPLHS MAX242 2.5 10
Receiver-Output Enable Time, Figure 3 tER MAX242 125 500 ns
Receiver-Output Disable Time, Figure 3 tDR MAX242 160 500 ns
Transmitter-Output Enable Time MAX222/242, 0.1F caps
tET 250 s
(SHDN Goes High), Figure 4 (includes charge-pump start-up)
Transmitter-Output Disable Time
tDT MAX222/242, 0.1F caps 600 ns
(SHDN Goes Low), Figure 4
Transmitter + to - Propagation MAX222/232A/233A/242/243 300
tPHLT - tPLHT ns
Delay Difference (Normal Operation) MAX220 2000
Receiver + to - Propagation MAX222/232A/233A/242/243 100
tPHLR - tPLHR ns
Delay Difference (Normal Operation) MAX220 225

Note 3: MAX243 R2OUT is guaranteed to be low when R2IN is 0V or is floating.

_______________________________________________________________________________________ 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

+5V-Powered, Multichannel RS-232


Drivers/Receivers

MAX220MAX249
+5V INPUT C3
TOP VIEW
C5
16
1 VCC
C1+ 1 16 VCC C1+ V+ 2 +10V
C1 +5V TO +10V
V+ 2 3 C1-
15 GND VOLTAGE DOUBLER
4
C1- 3 C2+ +10V TO -10V 6 -10V
14 T1OUT C2 5 C2- VOLTAGE INVERTER
V-
C4
C2+ 4 MAX220 13 R1IN
+5V
MAX232
C2- 5 MAX232A 12 R1OUT 400k
V- 6 11 T1IN T1OUT 14
11 T1IN
+5V
T2OUT 7 10 T2IN TTL/CMOS RS-232
INPUTS 400k OUTPUTS
R2IN 8 9 R2OUT 10 T2IN T2OUT 7

DIP/SO 12 R1OUT R1IN 13

CAPACITANCE (F) TTL/CMOS 5k RS-232


OUTPUTS INPUTS
DEVICE C1 C2 C3 C4 C5
9 R2OUT R2IN 8
MAX220 4.7 4.7 10 10 4.7
MAX232 1.0 1.0 1.0 1.0 1.0
MAX232A 0.1 0.1 0.1 0.1 0.1 5k

GND
15

Figure 5. MAX220/MAX232/MAX232A Pin Configuration and Typical Operating Circuit

+5V INPUT C3
TOP VIEW ALL CAPACITORS = 0.1F
C5
17
2 VCC 3 +10V
C1+ +5V TO +10V
C1 V+
(N.C.) EN 1 4 C1- VOLTAGE DOUBLER
20 SHDN
5
(N.C.) EN 1 C1+ 2 C2+ 7 -10V
18 SHDN 19 VCC
C2 +10V TO -10V V-
6 C2- C4
VOLTAGE INVERTER
C1+ 2 17 VCC V+ 3 18 GND
V+ 3 C1- 4 +5V
16 GND 17 T1OUT (EXCEPT MAX220)
400k
C1- 4 15 T1OUT C2+ 5 MAX222 16 N.C.
MAX242 12 T1IN T1OUT 15
C2+ 5 MAX222 14 R1IN C2- 6 15 R1IN +5V
MAX242 TTL/CMOS RS-232
V- 7 400k (EXCEPT MAX220)
C2- 6 13 R1OUT 14 R1OUT INPUTS OUTPUTS
11 T2IN T2OUT 8
V- 7 12 T1IN T2OUT 8 13 N.C.
T2OUT 8 11 T2IN R2IN 9 12 T1IN 13 R1OUT R1IN 14
R2IN 9 10 R2OUT R2OUT 10 11 T2IN
TTL/CMOS 5k RS-232
OUTPUTS INPUTS
DIP/SO 10 R2OUT R2IN 9
SSOP
1 (N.C.) EN 5k
( ) ARE FOR MAX222 ONLY. 18
GND SHDN
PIN NUMBERS IN TYPICAL OPERATING CIRCUIT ARE FOR DIP/SO PACKAGES ONLY.
16

Figure 6. MAX222/MAX242 Pin Configurations and Typical Operating Circuit

______________________________________________________________________________________ 17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

+5V-Powered, Multichannel RS-232


Drivers/Receivers
___________________________________________Ordering Information (continued)

MAX220MAX249
PART TEMP RANGE PIN-PACKAGE PART TEMP RANGE PIN-PACKAGE
MAX222CPN 0C to +70C 18 Plastic DIP MAX232AC/D 0C to +70C Dice*
MAX222CWN 0C to +70C 18 Wide SO MAX232AEPE -40C to +85C 16 Plastic DIP
MAX222C/D 0C to +70C Dice* MAX232AESE -40C to +85C 16 Narrow SO
MAX222EPN -40C to +85C 18 Plastic DIP MAX232AEWE -40C to +85C 16 Wide SO
MAX222EWN -40C to +85C 18 Wide SO MAX232AEJE -40C to +85C 16 CERDIP
MAX222EJN -40C to +85C 18 CERDIP MAX232AMJE -55C to +125C 16 CERDIP
MAX222MJN -55C to +125C 18 CERDIP MAX232AMLP -55C to +125C 20 LCC
MAX223CAI 0C to +70C 28 SSOP MAX233CPP 0C to +70C 20 Plastic DIP
MAX223CWI 0C to +70C 28 Wide SO MAX233EPP -40C to +85C 20 Plastic DIP
MAX223C/D 0C to +70C Dice* MAX233ACPP 0C to +70C 20 Plastic DIP
MAX223EAI -40C to +85C 28 SSOP MAX233ACWP 0C to +70C 20 Wide SO
MAX223EWI -40C to +85C 28 Wide SO MAX233AEPP -40C to +85C 20 Plastic DIP
MAX225CWI 0C to +70C 28 Wide SO MAX233AEWP -40C to +85C 20 Wide SO
MAX225EWI -40C to +85C 28 Wide SO MAX234CPE 0C to +70C 16 Plastic DIP
MAX230CPP 0C to +70C 20 Plastic DIP MAX234CWE 0C to +70C 16 Wide SO
MAX230CWP 0C to +70C 20 Wide SO MAX234C/D 0C to +70C Dice*
MAX230C/D 0C to +70C Dice* MAX234EPE -40C to +85C 16 Plastic DIP
MAX230EPP -40C to +85C 20 Plastic DIP MAX234EWE -40C to +85C 16 Wide SO
MAX230EWP -40C to +85C 20 Wide SO MAX234EJE -40C to +85C 16 CERDIP
MAX230EJP -40C to +85C 20 CERDIP MAX234MJE -55C to +125C 16 CERDIP
MAX230MJP -55C to +125C 20 CERDIP MAX235CPG 0C to +70C 24 Wide Plastic DIP
MAX231CPD 0C to +70C 14 Plastic DIP MAX235EPG -40C to +85C 24 Wide Plastic DIP
MAX231CWE 0C to +70C 16 Wide SO MAX235EDG -40C to +85C 24 Ceramic SB
MAX231CJD 0C to +70C 14 CERDIP MAX235MDG -55C to +125C 24 Ceramic SB
MAX231C/D 0C to +70C Dice* MAX236CNG 0C to +70C 24 Narrow Plastic DIP
MAX231EPD -40C to +85C 14 Plastic DIP MAX236CWG 0C to +70C 24 Wide SO
MAX231EWE -40C to +85C 16 Wide SO MAX236C/D 0C to +70C Dice*
MAX231EJD -40C to +85C 14 CERDIP MAX236ENG -40C to +85C 24 Narrow Plastic DIP
MAX231MJD -55C to +125C 14 CERDIP MAX236EWG -40C to +85C 24 Wide SO
MAX232CPE 0C to +70C 16 Plastic DIP MAX236ERG -40C to +85C 24 Narrow CERDIP
MAX232CSE 0C to +70C 16 Narrow SO MAX236MRG -55C to +125C 24 Narrow CERDIP
MAX232CWE 0C to +70C 16 Wide SO MAX237CNG 0C to +70C 24 Narrow Plastic DIP
MAX232C/D 0C to +70C Dice* MAX237CWG 0C to +70C 24 Wide SO
MAX232EPE -40C to +85C 16 Plastic DIP MAX237C/D 0C to +70C Dice*
MAX232ESE -40C to +85C 16 Narrow SO MAX237ENG -40C to +85C 24 Narrow Plastic DIP
MAX232EWE -40C to +85C 16 Wide SO MAX237EWG -40C to +85C 24 Wide SO
MAX232EJE -40C to +85C 16 CERDIP MAX237ERG -40C to +85C 24 Narrow CERDIP
MAX232MJE -55C to +125C 16 CERDIP MAX237MRG -55C to +125C 24 Narrow CERDIP
MAX232MLP -55C to +125C 20 LCC MAX238CNG 0C to +70C 24 Narrow Plastic DIP
MAX232ACPE 0C to +70C 16 Plastic DIP MAX238CWG 0C to +70C 24 Wide SO
MAX232ACSE 0C to +70C 16 Narrow SO MAX238C/D 0C to +70C Dice*
MAX232ACWE 0C to +70C 16 Wide SO MAX238ENG -40C to +85C 24 Narrow Plastic DIP
* Contact factory for dice specifications.
______________________________________________________________________________________ 35

Anda mungkin juga menyukai