BAB III METODE PENELITIAN. untuk mengumpulkan data, informasi serta materi materi dasar yang bersifat

dokumen-dokumen yang mirip
BAB III PERANCANGAN. Dalam bab ini akan dibahas mengenai deskripsi alat, perancangan dan realisasi dari

BAB III PERANCANGAN STAND ALONE RFID READER. Dalam penelitian ini, perancangan sistem meliputi :

BAB III PERANCANGAN ALAT. dibuat. Gambar 3.1. menunjukkan blok diagram alat secara keseluruhan.

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

BAB IV PENGUJIAN DAN EVALUASI SISTEM. keras dan perangkat lunak yang telah dibuat. Berdasarkan data-data dan bukti

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

Mikrokontroler 89C51 Bagian II :

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB I PENDAHULUAN. 1.2 Rumusan Masalah Berdasarkan uraian di atas, dapat dikemukakan permasalahan sebagai berikut:

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

Perancangan Serial Stepper

BAB III PERANCANGAN SISTEM. 3.1 Pengantar Perancangan Sistem Pengendalian Lampu Pada Lapangan Bulu

Menampilkan nilai dari 8 kanal ADC ke Port Serial PC oleh Modul ST-51 dan AD-0809 V2.0

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut :

BAB III PERANCANGAN SISTEM

(b) Gambar 3.1 (a) Blok Diagram Sistem Telemetri Bagian Pengirim Data. (b) Blok Diagram Sistem Telemetri Bagian Penerima Data

BAB III PERANCANGAN ALAT SIMULASI PEGENDALI LAMPU JARAK JAUH DAN DEKAT PADA KENDARAAN SECARA OTOMATIS

Memprogram Port sebagai Output dan Input Sederhana

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

Wireless Infrared Printer dengan DST-51 (Komunikasi Infra Merah dengan DST-51)

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

Percobaan 6. SERIAL INTERFACE Menggunakan DT-51 MinSys

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB III RANCANGAN DAN CARA KERJA ALAT

BAB III PERANCANGAN ALAT

DT-AVR Application Note. Gambar 1 Blok Diagram AN133

BAB III PERANCANGAN DAN REALISASI ALAT

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

RANCANG BANGUN PEMANTAUAN INFUS PASIEN SECARA TERPUSAT BERBASIS MIKROKONTROLER

BAB III PERANCANGAN SISTEM

de KITS Application Note AN34 Jam Pasir Digital

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

BAB III PERENCANAAN DAN REALISASI

4. Port Input/Output Mikrokontroler MCS-51

BAB IV PENGUJIAN DAN ANALISA DATA

BAB 3 PERANCANGAN SISTEM

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB 3 PERANCANGAN SISTEM

BAB V HASIL DAN PEMBAHASAN Perangkat Keras (Hardware)

DT-51 Application Note

BAB III METODE PENELITIAN

BAB III PERANCANGAN DAN PEMBUATAN SISTEM ABSENSI. Penulis mengharapkan sistem absensi RFID menggunakan custom RFID reader

TAMPILKAN NADA DTMF DAN DERING TELEPHONE OLEH MODUL DF-88 DAN MODUL DST-51 PADA LCD

BAB III PERANCANGAN SISTEM

BAB III PERENCANAAN DAN REALISASI SISTEM

BAB IV PENGUJIAN DAN ANALISA. Pengujian terhadap sistem yang telah dibuat dilakukan untuk mengetahui

PROGRAMMABLE TIMER DENGAN TAMPILAN M1632 LCD MENGGUNAKAN MODUL DST-51

Happy Chandraleka

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

SISTEM KENDALI SUHU RUANG BERBASIS MIKROKONTROLER AT89S51

PC-Link Application Note

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN SISTEM

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

Gambar 1 Blok Diagram AN72. (a) (b) (c) Gambar 2 SPC Seven Segment (a), DT-51 Low Cost Micro System (b), dan DT-51 Low Cost Nano System (c)

Gambar Komunikasi serial dengan komputer

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN SISTEM

Bidang Information Technology and Communication 336 PERANCANGAN DAN REALISASI AUTOMATIC TIME SWITCH BERBASIS REAL TIME CLOCK DS1307 UNTUK SAKLAR LAMPU

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT PENDETEKSI KERUSAKAN KABEL

BAB III DESAIN DAN PENGEMBANGAN SISTEM

BAB III METODE PENELITIAN. Penelitian ini dilakukan pada bulan Maret 2015 sampai dengan Agustus

BAB III PERANCANGAN SISTEM

BAB III METODE PENELITIAN

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

DAFTAR ISI. ABSTRAK... i KATA PENGANTAR... ii DAFTAR ISI... iv DAFTAR GAMBAR... vii DAFTAR TABEL... x DAFTAR LAMPIRAN... xi

BAB 3 PERANCANGAN SISTEM. Di bawah ini adalah blok diagram dari perancangan alat sensor keamanan menggunakan PIR (Passive Infrared).

dan sensor warna sebagai masukan atau inpu, dan keluaran atau ou^u, ya 8 berupa respon dari Valve. Blok diagram sistem dapa, diliha, pada Gambar 3.

BAB 3 PERANCANGAN SISTEM PEMANTAUAN POSISI DAN TINGKAT PENCEMARAN UDARA BEGERAK

Erry Yadie, ST. (Staf Teknologi Informasi Politeknik Negeri Samarinda) Abstrak

BAB IV PENGUJIAN DAN EVALUASI SISTEM. harus dilakukan pengujian terhadap masing-masing alat dan sofware, adapun

BAB II LANDASAN TEORI

BAB III PERANCANGAN. Gambar 3.1. Blok sistem secara keseluruhan. Sensor tegangan dan sensor arus RTC. Antena Antena. Sensor suhu.

BAB III PERANCANGAN DAN PEMBUATAN ALAT

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

BAB III PERANCANGAN SISTEM

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

TUGAS AKHIR JAM DIGITAL BERBASIS MIKROKONTROLER AT89S51. Disusun oleh : MUHAMAD YUSUF PARDEDE NIM:

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

Mesin Absensi Sederhana dengan menggunakan R/W RFID

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Antar Muka Modul RTC-1287 dengan Modul DST-51

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

Pertemuan 10 Arsitektur Mikrokontroler 8051

BAB IV ANALISIS DATA DAN PEMBAHASAN

Transkripsi:

4 BAB III METODE PENELITIAN Metode penelitian yang digunakan dalam penelitian tugas akhir ini adalah studi kepustakaan dan melakukan percobaan. Dengan ini penulis berusaha untuk mengumpulkan data, informasi serta materi materi dasar yang bersifat teoritis yang sesuai dengan permasalahan. Hal tersebut diperoleh dari buku, materi kuliah, literatur melalui browsing di internet dan melakukan berbagai percobaan. Dari data-data yang diperoleh penulis berusaha menerapkannya untuk menyelesaikan permasalahan yang ada dalam penelitian ini. Pada sub bab ini akan membahas tentang perancangan sistem secara keseluruhan dari penelitian ini, yaitu tentang perancangan perangkat keras dan perangkat lunak. Keseluruhan sistem pada penelitian ini sesuai dengan blok diagram pada Gambar.. KOMPUTER MAX Converter Mikrokontroler Serial RTC Driver Baris Driver Kolom Display DOT MATRIK Gambar. Blok Diagram rangkaian keseluruhan.

4. Perancangan Perangkat Keras Langkah selanjutnya dalam perancangan perangkat keras pada sistem kalender digital menggunakan dot matrix ini adalah merealisasikan rangkaian pada diagram diatas. Rangkaian-rangkaian yang akan direalisasikan adalah:. Rangkaian Minimum Sistem AT9S5.. Rangkaian Komunikasi Serial RS.. Rangkaian Serial RTC DS0. 4. Rangkaian Driver Baris (TIP4). 5. Rangkaian Shift Register 4LS64. 6. Rangkaian Display Dot Matrix. Dalam perancangan perangkat lunak terdapat proses-proses sebagai berikut: program utama, program interrupt serial, program konversi kalender... Rangkaian Minimum Sistem AT9S5 Rangkaian mikrokontroler berfungsi sebagai pusat pengontrol dari rangkaian Kalender Digital ini. Pada Tugas Akhir ini digunakan mikrokontroler keluaran ATMEL yaitu Mikrokontroler AT9S5. Mikrokontroler ini mempunyai 40 pin dengan 4 jalur port yaitu Port 0, Port, Port, dan Port. Untuk mengetahui lebih lanjut konfigurasi mikrokontroler sebagai pengendali sistem, skematik rangkaian terlihat pada Gambar..

4 RN U Baris Baris Baris Baris4 Baris5 Baris6 Baris Baris 5v 4 5 6 9 RNR-PACK 4 5 6 9 R-PACK XTAL XTAL D0 D D D D4 D5 D6 D 9 6 5 4 4 5 6 9 9 40 P0.0/AD0 P0./AD P0./AD P0./AD P0.4/AD4 P0.5/AD5 P0.6/AD6 P0./AD P.0/T P./TEX P. P. P.4/SS P.5/MOSI P.6/MISO P./SCK XTAL XTAL EA/VPP RST GND P.0/A P./A9 P./A0 P./A P.4/A P.5/A P.6/A4 P./A5 P.0/RXD P./TXD P./INT0 P./INT P.4/T0 P.5/T P.6/WR P./RD PSEN ALE/PROG 4 5 6 0 4 5 6 9 0 SDA SCL A A9 A0 A P.0 Rx P. Tx DATA CLOCK WE OE 0pF XTAL AT9S5 0 Y CRYSTAL.059Mhz 0pF XTAL Gambar. Minimum sistem Mikrokontroler AT9S5 Pada skematik yang tecantum pada gambar. terdapat beberapa port yang berhubungan dengan komponen yang lainnya. Port 0 dihubungkan dengan komponen 4HC5 yang berfungsi sebagai penyangga data yang diterima dari mikrokontroler. Port terhubung dengan rangkaian driver baris. Pada port ini digunakan untuk melakukan scanning baris. Port (P.4 dan P.5) masingmasing berfungsi sebagai input data dan input clock pada shift register. Pin RxD dan TxD berfungsi sebagai penerima dan pengirim data serial ke komputer, terhubung melalui MAX sebagai konverter. Pada rangkaian mikrokontroler ini, digunakan komponen XTAL,059 Mhz yang terhubung pada pin XTAL dan XTAL. A. Rangkaian Programmer

44 Penulis menggunakan rangkaian programmer yang terdiri dari sebuah IC 4LS44 yang berguna sebagai buffer dan kabel downloader dengan interface DB5 yang terhubung pada port LPT pada komputer dalam melakukan proses download program dalam format.hex dari komputer ke mikrokontroler. Sedangkan software yang digunakan adalah Atmel Microcontroller ISP Software. Skematik kabel downloader yang digunakan untuk mendownload program ke mikrokontroler seperti pada Gambar.. P 4 5 6 4 5 6 9 0 9 0 4 5 4 6 5 9 U A A A A4 A5 A6 A A OE OE 4LS44 0 Y 6 Y 4 Y Y4 9 Y5 Y6 5 Y Y GND 0 4 5 6 J HEADER 6 CONNECTOR DB5 Gambar. Rangkaian kabel downloader pada port LPT Setelah kabel downloader terhubung ke Port paralel pada PC melalui DB5 dan terhubung ke mikrokontroler melalui konektor 6 pin. Tahap selanjutnya adalah melakukan download program ke mikro. Penulis menggunakan software Atmel Microcontroller. Antarmuka software dapat dilihat pada Gambar.4.

45 Gambar.4 Atmel Microcontroller ISP Software Konektor 6 pin pada Gambar. dihubungkan terlebih dahulu pada Mikrokontroler AT9S5 jika akan melakukan proses download program. Konektor yang terhubung ke mikro seperti pada Gambar.5. TR MOSI MISO SCK RESET J 4 5 6 downloader Gambar.5 Konektor downloader pada Mikrokontroler.. Rangkaian Komunikasi Serial RS Data yang diterima dari komputer melalui serial port adalah berupa tegangan dengan standar RS-, yaitu antara - sampai -5 Volt untuk kondisi high dan + sampai +5 Volt untuk kondisi low. Sedangkan mikrokontroler bekerja dalam level tegangan TTL, yaitu +5 Volt untuk kondisi high dan 0 Volt

46 untuk kondisi low. MAX akan mengubah level tegangan RS- menjadi level tegangan TTL agar dapat diolah oleh mikrokontroler. Demikian pula sebaliknya, data yang dikirim mikrokontroler akan diubah ke level tegangan RS- agar dapat diolah oleh komputer. Pengiriman data dari program visual di PC ke mikrokontroler menggunakan komunikasi serial RS. Diagram skematik dari rangkaian serial terlihat pada Gambar.6. P.0 Rx P. Tx + C 0u C + 0u C + 0 4 5 6 U 6 RIN ROUT 9 RIN ROUT 4 TIN TOUT TIN TOUT C+ C- C+ C- V+ 5 V- 5 4 P DB9 9 6 0u GND MAX + C4 0u Gambar.6 Rangkaian skematik RS Penulis menggunakan komunikasi serial mode dengan baudrate sebesar 9600 bps. Sehingga pengaturan register SCON dan register PCON adalah seperti pada tabel. dan tabel.. Tabel. Susunan bit dalam register SCON SM0 SM SM REN TB RB TI RI 0 0 0 0 0 0 Dari tabel. maka SCON bernilai 0x50 dimana SM0 = 0 dan SM = berarti menggunakan mode, sedangkan REN = berarti mengaktifkan port serial untuk menerima data.

4 Tabel. Susunan bit dalam register PCON SMOD - - - GF GF0 PD IDL 0 0 0 0 0 0 0 0 Dari tabel. maka PCON bernilai 0 x 00,.. Rangkaian Serial RTC DS0 Real Time Clock DS0 digunakan untuk merancang jam digital. RTC ini berkomunikasi secara serial dengan mikrokontroler melalui kaki SDA (serial data) dan SCL (serial clock). Pada rangkaian ini DS0 beroperasi sebagai slave dengan mengirimkan data waktu ke mikrontroler yang berfungsi sebagai master. Konfigurasi dari pin RTC DS0 yang digunakan dalam Tugas Akhir ini dapat dilihat pada Gambar.. Y U45.6kHz SCL C 00nF X X 6 SCL VBAT BT CR0 V SDA 5 SQW/OUT GND 4 DS0 SDA GND Gambar. Rangkaian Real Time Clock DS0..4 Rangkaian Driver Baris (TIP4) Pada rangkaian kontroler memiliki pasang transistor yang berfungsi sebagai driver baris. Dimana setiap pasang terdiri dari transistor 90 dan TIP4. Rangkaian driver baris terhubung ke Port mikrokontroler dan ke baris dot matrix. Agar lebih jelas mengenai uraian diatas, dapat dilihat skematik driver baris seperti Gambar..

4 BARIS B BARIS5 QA C90 R9 BRS R9 BRS 5 Q Q4A C90 Q BARIS Q5A C90 BARIS6 QA C90 R9 B BRS R9 BRS 6 Q Q BARIS Q6A C90 BARIS QA C90 R9 B BRS R9 BRS Q Q BARIS4 QA C90 BARIS R9 QA C90 BRS R9 BRS 4 Q Q Gambar. Rangkaian driver baris transistor TIP4 Output dari mikrokontroler tidak cukup kuat untuk menyalakan satu baris led dot matrix yang terdiri atas led. Dibutuhkan transistor yang berdaya besar untuk memperkuat arus dari mikrokontroler agar dapat menyalakan atau mematikan tiap baris led dot matrix. Penulis menggunakan buah transistor PNP tipe TIP4 dan 90 yang dirangkai seperti pada gambar.. Transistor berfungsi sebagai saklar untuk menyalakan atau mematikan tiap baris dari led dot matrix. Display dot matrix terdiri dari baris led sehingga digunakan pasang rangkaian dengan setiap pasang transistor terhubung ke Port P.0 sampai Port.. Pin basis pada TIP4 terhubung ke mikrokontroler, pin collector sebagai output yang terhubung ke pin baris pada led dot matrix, sedangkan pin emitter terhubung pada tegangan 5V. Rangkaian driver ini mempunyai karakteristik akan aktif jika mendapat input low. Saat output dari mikrokontroler high, maka

49 transistor 90 akan ON, tegangan di kolektor akan menjadi 0 V dan transistor TIP4 akan OFF, sehingga baris led akan mati. Sebaliknya jika output mikrokontroler low, maka transistor 90 akan OFF, tegangan di kolektor 90 akan menjadi V dan transistor TIP4 akan ON sehingga baris led akan hidup...5 Rangkaian Shift Register 4LS64 Rangkaian shift register digunakan sebagai driver kolom pada display dot matrix. Input pada IC shift register berupa data, clock dan clear dimana masingmasing terhubung ke Port P.4, Port P.5 dan dari mikrokontroler. Output shift register terhubung pada kolom display dot matrix. Agar lebih jelas tentang konfigurasi pin dari IC 4LS64, dapat dilihat skematik rangkaian pada Gambar.9. C6 C6 DATA CLK DATA CLK 9 U6 A B CLK CLR 4 GND QA QB 4 QC 5 QD 6 QE 0 QF QG QH 4LS64 R R R R4 R5 R6 R R H H H H4 H5 H6 H H H CLK 9 U6 A B CLK CLR 4 GND QA QB 4 QC 5 QD 6 QE 0 QF QG QH 4LS64 R9 H9 R0 H0 R H R H R H R4 H4 R5 H5 R6 H6 C6 C6 H6 CLK 9 U6 A B CLK CLR 4 GND QA QB 4 QC 5 QD 6 QE 0 QF QG QH 4LS64 R H R H R9 H9 R0 H0 R H R H R H R4 H4 H4 CLK 9 U6 A B CLK CLR 4 GND QA QB 4 QC 5 QD 6 QE 0 QF QG QH 4LS64 R5 H5 R6 H6 R H R H R9 H9 R0 H0 R H R H H Gambar.9 Rangkaian Shift Register 4LS64 Pada rangkaian display dot matrix terdiri dari kolom sehingga masingmasing kolom tidak dapat terhubung langsung ke port mikrokontroler. Shift

50 Register digunakan untuk mengatasi masalah ini, dimana cukup dipakai output dari mikrokontroler untuk mengatur seluruh kolom led. Shift Register mempunyai input A dan B yang terhubung oleh gerbang and, kedua input ini dihubungkan jadi satu dan dihubungkan ke Port P.5 dari mikrokontroler. Output dan Shift Register hanya ada (QA-QH) jadi dipakai 6 buah Shift Register untuk mengatur kolom LED. Output terakhir dari Shift Register (QH) dihubungkan ke input Shift Register yang berikutnya agar semua data dapat digeser oleh Shift Register. Semua kaki Clock dari Shift Register terhubung ke Port P.4 dan semua kaki Clear terhubung ke agar semua Shift Register berjalan secara sinkron. Rangkaian ini menggunakan sistem SIPO (Serial Input Parallel Output)...6 Rangkaian Display Dot Matrix Dalam perancangan kalender digital dengan dot matrix ini, ukuran display yang digunakan 4x4, dimana mikrokontroler mempunyai display ukuran x. Pola display tidak memanjang tetapi berbentuk persegi, karena dot matrix yang disusun ke bawah secara rapat sehingga membentuk suatu display dot matrix ukuran 4x4. Maksud dari rangkaian display dot matrix diperjelas melalui skematik seperti pada gambar.0.

5 J J H BRS H BRS H BRS H4 BRS4 4 5 6 9 0 4 5 6 9 0 4 H5 BRS5 H6 BRS6 H BRS H BRS H9 BRS H0 BRS H BRS H BRS4 4 5 6 9 0 4 5 6 9 0 4 H BRS5 H4 BRS6 H5 BRS H6 BRS DOT MATRIX J5 DOT MATRIX J4 H BRS H BRS H9 BRS H0 BRS4 4 5 6 9 0 4 5 6 9 0 4 H BRS5 H BRS6 H BRS H4 BRS H5 BRS H6 BRS H BRS H BRS4 4 5 6 9 0 4 5 6 9 0 4 H9 BRS5 H0 BRS6 H BRS H BRS DOT MATRIX DOT MATRIX Gambar.0. Rangkaian display dot matrix. Perancangan Perangkat Lunak Dalam perancangan perangkat lunak dibagi atas jenis : perancangan perangkat lunak pada komputer dan perancangan perangkat lunak pada mikrokontroler... Perangkat Lunak pada Komputer Perancangan perangkat lunak pada komputer berfungsi sebagai interface dan digunakan dalam proses konversi kalender yang selanjutnya digunakan untuk mengirimkan data pada mikrokontroler. Proses-proses utama pada perangkat lunak komputer antara lain proses konversi kalender dan proses menentukan hari dari kalender yang di-input-kan. Pada perancangan perangkat lunak, penulis menggunakan software Borland Delphi 5.0. Software ini berfungsi untuk melakukan konversi sistem penanggalan yang di-input-kan. Kalender Masehi yang akan ditampilkan ke

5 display dot matrix dilakukan proses konversi terlebih dahulu menjadi beberapa macam kalender serta menampilkan hari. A. Proses Penentuan Hari Proses penentuan hari bertujuan untuk mengetahui hari dari kalender yang telah di-input-kan. Hal ini dikarenakan terkadang kita tidak mengetahui hari pada kalender di masa lalu ataupun di masa mendatang. Kalender Masehi yang dijadikan input memiliki rentang waktu dari tahun 000 sampai tahun 099. Berikut ini algoritma untuk mencari hari dalam kalender : a = 4 month y = year a m = month + a (.) Untuk kalender Masehi: y y y m d = (day + y + - + + ) mod 4 00 400 Dari perhitungan d akan didapatkan nilai sisa pembagian yang memiliki arti : 0 = Hari Minggu = Hari Senin = Hari Selasa. = Hari Rabu 4 = Hari Kamis 5 = Hari Jumat 6 = Hari Sabtu

5 Listing program proses penentuan hari seperti berikut: begin Dum := (4 - Month) DIV ; Dum := Year - Dum; Dum := Month + ( * Dum) - ; Day := (Date + Dum + (Dum DIV 4) - (Dum DIV 00) + (Dum DIV 400) + (*Dum) DIV ); Day := Day MOD ; Case Day of 0 : Label.Caption := 'Senin'; : Label.Caption := 'Selasa'; : Label.Caption := 'Rabu'; : Label.Caption := 'Kamis'; 4 : Label.Caption := 'Jumat'; 5 : Label.Caption := 'Sabtu'; 6 : Label.Caption := 'Minggu'; end; end; B. Proses Konversi Kalender Proses konversi kalender ini meliputi konversi dari kalender Masehi ke kalender Hijriyah, kalender Cina, kalender Jawa. Proses konversi kalender tercantum dalam listing program berikut: // Konversi kalender Masehi ke Hijriyah Begin if ((y>5) OR((y=5) AND (m>0))or((y=5) AND (m=0) AND (d>4))) then jd := intpart((46*(y+400+intpart((m-4)/)))/4)+ intpart((6*(m--*(intpart((m-4)/))))/)- intpart((*(intpart( (y+4900+intpart((m-4)/))/00)))/4)+d-05 else jd := 6*y-intPart((*(y+500+intPart((m-9)/)))/4)+ intpart((5*m)/9)+d+9; L := jd-94440+06; N := intpart((l-)/06); L := L-06*n+54; J := (intpart((095-l)/56))*(intpart((50*l)/9))+ (intpart(l/560))*(intpart((4*l)/5)); L := L-(intPart((0-j)/5))*(intPart((9*j)/50))- (intpart(j/6))*(intpart((5*j)/4))+9; Rm := intpart((4*l)/09); Rd := l-intpart((09*rm)/4); Ry := 0*n+j-0; // Konversi kalender Masehi ke Cina Function TForm.DecodeGregToCNDate (dtgreg: TDateTime): TCNDate;

54 Var IDayLeave: Integer; WYear, wmonth, wday: WORD; I, j: integer; WBigSmallDist, wleap, wcount, wleapshift: WORD; Label OK; Begin Result := 0; IDayLeave := Trunc (dtgreg) - cstdateorg; DecodeDate (IncMonth (dtgreg, -), wyear, wmonth, wday); If (idayleave <0) or (idayleave> 95) then Exit; For i:= Low (cstcntable) to High (cstcntable) do begin WBigSmallDist := cstcntabel [i]; WLeap := wbigsmalldist shr ; If wleap> then begin WLeap := wleap and ; WLeapShift := ; End else WLeapShift := 0; For j:= to do begin WCount := (wbigsmalldist and ) + 9; If j = wleap then wcount := wcount - wleapshift; If idayleave <wcount then begin Result := (i shl 9) + (j shl 5) + idayleave + ; Exit; IDayLeave := idayleave - wcount; If j = wleap then begin WCount := 9 + wleapshift; If idayleave <wcount then begin Result := (i shl 9) + (j shl 5) + idayleave + + ( shl ); Exit; IDayLeave := idayleave - wcount; WBigSmallDist := wbigsmalldist shr ; Function TForm.isCNLeap(cnDate: TCNDate): boolean; Begin Result := (cndate and $00000) <> 0; Function GetGregDateFromCN (cnyear, cnmonth, cnday: word; bleap: Boolean = False): TDateTime; Var I, j: integer; DayCount: integer; WBigSmallDist, wleap, wleapshift: WORD;

55 Begin DayCount := 0; If (cnyear <990) or (cnyear> 050) then begin Result := 0; Exit; For i := cstcnyearorg to cnyear- do begin WBigSmallDist := cstcntabel [i]; If (wbigsmalldist and $F000) <> 0 then DayCount := DayCount + 9; DayCount := DayCount + * 9; For j := to do begin DayCount := DayCount + wbigsmalldist and ; WBigSmallDist := wbigsmalldist shr ; WBigSmallDist := cstcntabel [cnyear]; WLeap := wbigsmalldist shr ; If wleap > then begin WLeap := wleap and ; WLeapShift := ; // Tai, in Runru. End else WLeapShift := 0; For j := to cnmonth- do begin DayCount := DayCount + (wbigsmalldist and ) + 9; If j = wleap then DayCount := DayCount + 9; WBigSmallDist := wbigsmalldist shr ; If bleap and (cnmonth = wleap) then begin DayCount := DayCount + 0 - wleapshift; Result := DayCount + cstdateorg + cnday - ;.. Perangkat Lunak pada Mikrokontroler Perancangan perangkat lunak pada mikrokontroler berfungsi sebagai pengendali sistem dan digunakan dalam proses pengujian display dot matrix yang selanjutnya digunakan untuk mengirimkan data. Perangkat lunak yang digunakan adalah bahasa assembly dengan software MIDE. Proses-proses utama pada perangkat lunak mikrokontroler antara lain proses scanning baris, proses update waktu dan proses serial interrupt.

56 A. Proses Scanning Baris Untuk menghasilkan tampilan display dot matrix yang tidak berkedip, maka frekuensi dari scanning baris harus melebihi frekuensi penglihatan mata manusia dalam keadaan normal (60 Hz). Sehingga mikrokontroler harus dapat melakukan proses scanning delapan baris dengan frekuensi diatas 60 Hz. Perhitungannya adalah sebagai berikut: T = f (.) = 60Hz 0.06 s = 6, ms Sehingga masing-masing baris membutuhkan waktu maksimal sebesar: 6, =.09 ms Karena dalam satu baris terdapat kolom titik dot matrix, maka untuk menyalakan masing-masing led dalam dot matrix diberikan waktu sebesar:.09ms led = 0.00 ms/led. Dalam perangkat tugas akhir ini penulis menentukan waktu scanning tiap baris sebesar.09ms. Dengan waktu tersebut mikrokontroler dapat menghasilkan frekuensi sebesar 6, Hz. perhitungannya adalah sebagai berikut:.09 x baris = 6. ms F = 6,ms = 6. Hz

5 Proses scanning baris pada modul mikrokontroler dapat ditunjukkan oleh diagram alir pada Gambar.. Start Matikan semua transistor baris Baris = Baris + Baris = 9 T Baca data baris Y Baris = Output ke Shift register 4LS64 Aktifkan transistor baris Gambar.. Diagram alir proses scanning baris Berikut listring program scanning pada baris : Program EQU 0000h TH0Val_C EQU 0Fh ; nilai timer untuk scanning TL0Val_C EQU 000h; : (6556 - TH0:TL0) * ( MHz /.059 MHz) JCol_C EQU 00

5 DispBuffAddr_C EQU 0h ;-------------------------- ; PORTS ;-------------------------- Clk_P BIT p.4 Data_P BIT p.5 Row_P EQU p ;-------------------------- Timer_0 ;-------------------------- th0,#th0val_c tl0,#tl0val_c PUSH a PUSH psw PUSH dph PUSH dpl PUSH ; off all transistor Row_P,#0 dptr,#dispbuffaddr_c r,#jcol_c T0J X a,@dptr ; cycles (4 osc.periods) CLR Data_P ; cycle ( osc.periods) ANL a,bitmask_m ; cycle ( osc.periods) JZ T0J4 ; cycles (4 osc.periods) SETB Data_P ; cycle ( osc.periods) T0J4 SETB Clk_P ; cycle ( osc.periods) CLR Clk_P ; cycle ( osc.periods) INC dptr ; cycles (4 osc.periods) DJNZ r,t0j Row_P,RowMask_M RR RL CLR INC CJNE SETB a,bitmask_m a BitMask_M,a a,rowmask_m a RowMask_M,a LastRow_F ScanCtr_M a,scanctr_m a,#,t0j LastRow_F ScanCtr_M,#0 RowMask_M,#0000000b T0J POP POP dpl POP dph POP psw POP a RETI

59 B. Proses Update Waktu Proses set dan update waktu pada modul mikrokontroler dapat ditunjukkan oleh diagram alir pada Gambar.. START Inisialisasi awal Memori, Timer, Serial Cek RTC valid? T Reset Tanggal & Waktu Y Baca Tanggal Masehi Hijriyah Jawa Cina & Waktu (Jam, Menit, Detik) Taruh di Buffer Display (RAM) Baca tanggal Masehi dan waktu dari RTC T Detik sdh berubah? Y Update tanggal jawa Cina & hijriyah di RTC Taruh data di Buffer Display (RAM) Gambar.. Diagram alir program utama Penjelasan dari diagram alir program utama pada Gambar. yaitu pada saat program pertama kali dijalankan, dilakukan inisialisasi terlebih dahulu yang

60 meliputi inisialisasi memori, timer dan serial. Dilakukan cek apakah internal clock serial RTC sudah sesuai. Jika internal clock tak sesuai dilakukan reset pada RTC. Sebaliknya jika sesuai dilakukan pembacaan tanggal dan waktu. Setelah di-set data internal clock diletakkan di buffer RAM. Setelah semua proses dilakukan, selanjutnya dilakukan update internal clock RTC. Proses ini dilakukan berulangulang dan setiap selesai update data disimpan pada buffer display pada RAM. C. Proses Serial Interrupt Proses serial interrupt menangani apabila terdapat interrupt dari user untuk mengganti atau melakukan update pada kalender. Proses tersebut ditunjukkan oleh diagram alir pada Gambar.. START Ambil data dari SBUF T RETI Data sudah di terima Lengkap? (Jam,Menit, Detik, Tgl,Bln,Thn Masehi, Hijriyah,Jawa,Cina) Y Update waktu, tgl Masehi, tgl Hijriyah, tgl Jawa, tgl Cina RETI Gambar.. Diagram alir program serial interrupt

6 Penjelasan dari diagram alir program utama pada Gambar. adalah saat terjadi interupsi dari user dengan memberi input tanggal yang lain pada komputer dan melakukan update kalender. Program akan membaca data dari register SBUF. Kemudian program akan melakukan cek apakah data yang dikirimkan sudah diterima dengan lengkap meliputi jam, menit, detik, tanggal, bulan dan tahun Masehi, Hijriyah, Jawa, dan Cina. Seandainya data sudah lengkap akan dilakukan update kalender.