• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
21
0
0

Teks penuh

(1)

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 3.1.

Gambar 3.1 Blok Diagram rangkaian keseluruhan. KOMPUTER MAX 232 Converter Mikrokontroler Display DOT MATRIK Driver Baris Driver Kolom Serial RTC

(2)

3.1 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:

1. Rangkaian Minimum Sistem AT89S52. 2. Rangkaian Komunikasi Serial RS232. 3. Rangkaian Serial RTC DS1307. 4. Rangkaian Driver Baris (TIP42). 5. Rangkaian Shift Register 74LS164. 6. Rangkaian Display Dot Matrix.

Dalam perancangan perangkat lunak terdapat proses-proses sebagai berikut: program utama, program interrupt serial, program konversi kalender .

3.1.1 Rangkaian Minimum Sistem AT89S52

Rangkaian mikrokontroler berfungsi sebagai pusat pengontrol dari rangkaian Kalender Digital ini. Pada Tugas Akhir ini digunakan mikrokontroler keluaran ATMEL yaitu Mikrokontroler AT89S52. Mikrokontroler ini mempunyai 40 pin dengan 4 jalur port yaitu Port 0, Port 1, Port 2, dan Port 3. Untuk mengetahui lebih lanjut konfigurasi mikrokontroler sebagai pengendali sistem, skematik rangkaian terlihat pada Gambar 3.2.

(3)

A10 A9 D0 5v Baris6 XTAL1 D4 Baris1 A11 XTAL2 Y 1 CRY STAL 11.0592Mhz 30pF SCL 30pF Baris7 XTAL1 U2 AT89S52 11 12 13 14 15 16 17 18 19 2 0 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 1 2 3 4 5 6 7 8 9 10 P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD XTAL2 XTAL1 GN D P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 PSEN ALE/PROG EA/VPP P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 VCC P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4/SS P1.5/MOSI P1.6/MISO P1.7/SCK RST P3.0/RXD D3 D7 CLOCK Baris2 DATA SDA Baris8 RN2 R-PACK 1 2 3 4 5 6 7 8 9 RN2 R-PACK 2 3 4 5 6 7 8 9 P3.0 Rx D6 Baris4 WE Baris3 D2 P3.1 Tx XTAL2 D5 A8 Baris5 OE D1 VCC

Gambar 3.2 Minimum sistem Mikrokontroler AT89S52

Pada skematik yang tecantum pada gambar 3.2 terdapat beberapa port yang berhubungan dengan komponen yang lainnya. Port 0 dihubungkan dengan komponen 74HC573 yang berfungsi sebagai penyangga data yang diterima dari mikrokontroler. Port 1 terhubung dengan rangkaian driver baris. Pada port 1 ini digunakan untuk melakukan scanning 8 baris. Port 3 (P3.4 dan P3.5) masing-masing 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 232 sebagai konverter.

Pada rangkaian mikrokontroler ini, digunakan komponen XTAL 11,0592 Mhz yang terhubung pada pin XTAL1 dan XTAL2.

(4)

Penulis menggunakan rangkaian programmer yang terdiri dari sebuah IC 74LS244 yang berguna sebagai buffer dan kabel downloader dengan interface DB25 yang terhubung pada port LPT1 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 3.3.

P2 CONNECTOR DB25 13 25 12 24 11 23 10 22 9 21 8 20 7 19 6 18 5 17 4 16 3 15 2 14 1 U11 74LS244 A1 2 A2 4 A3 6 A4 8 1OE 1 Y 1 18 Y 2 16 Y 3 14 Y 4 12 VC C 2 0 GN D 1 0 A5 11 A6 13 A7 15 A8 17 Y 5 9 Y 6 7 Y 7 5 Y 8 3 2OE 19 J1 HEADER 6 1 2 3 4 5 6

Gambar 3.3 Rangkaian kabel downloader pada port LPT

Setelah kabel downloader terhubung ke Port paralel pada PC melalui DB25 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 3.4.

(5)

Gambar 3.4 Atmel Microcontroller ISP Software

Konektor 6 pin pada Gambar 3.3 dihubungkan terlebih dahulu pada Mikrokontroler AT89S52 jika akan melakukan proses download program. Konektor yang terhubung ke mikro seperti pada Gambar 3.5.

TR J2 downloader 1 2 3 4 5 6 MOSI SCK MISO RESET

Gambar 3.5 Konektor downloader pada Mikrokontroler

3.1.2 Rangkaian Komunikasi Serial RS232

Data yang diterima dari komputer melalui serial port adalah berupa tegangan dengan standar RS-232, yaitu antara -3 sampai -25 Volt untuk kondisi high dan +3 sampai +25 Volt untuk kondisi low. Sedangkan mikrokontroler bekerja dalam level tegangan TTL, yaitu +5 Volt untuk kondisi high dan 0 Volt

(6)

untuk kondisi low. MAX232 akan mengubah level tegangan RS-232 menjadi level tegangan TTL agar dapat diolah oleh mikrokontroler. Demikian pula sebaliknya, data yang dikirim mikrokontroler akan diubah ke level tegangan RS-232 agar dapat diolah oleh komputer. Pengiriman data dari program visual di PC ke mikrokontroler menggunakan komunikasi serial RS232. Diagram skematik dari rangkaian serial terlihat pada Gambar 3.6.

Gambar 3.6 Rangkaian skematik RS232

Penulis menggunakan komunikasi serial mode 1 dengan baudrate sebesar 9600 bps. Sehingga pengaturan register SCON dan register PCON adalah seperti pada tabel 3.1 dan tabel 3.2.

Tabel 3.1 Susunan bit dalam register SCON

SM0 SM1 SM2 REN TB8 RB8 TI RI

0 1 0 1 0 0 0 0

Dari tabel 3.1 maka SCON bernilai 0x50 dimana SM0 = 0 dan SM1 = 1 berarti menggunakan mode 1, sedangkan REN = 1 berarti mengaktifkan port serial untuk menerima data.

VCC U1 MAX232 C1+ 1 C1-3 C2+ 4 C2-5 VCC 16 GND 15 V+ 2 V-6 R1OUT 12 R2OUT 9 T1IN 11 T2IN 10 R1IN 13 R2IN 8 T1OUT 14 T2OUT 7 P1 DB9 5 9 4 8 3 7 2 6 1 + C1 10u + C2 10u + C3 10u + C4 10u P3.0 Rx P3.1 Tx

(7)

Tabel 3.2 Susunan bit dalam register PCON

SMOD - - - GF1 GF0 PD IDL

0 0 0 0 0 0 0 0

Dari tabel 3.2 maka PCON bernilai 0 x 00,

3.1.3 Rangkaian Serial RTC DS1307

Real Time Clock DS1307 digunakan untuk merancang jam digital. RTC ini berkomunikasi secara serial dengan mikrokontroler melalui kaki SDA (serial data) dan SCL (serial clock). Pada rangkaian ini DS1307 beroperasi sebagai slave dengan mengirimkan data waktu ke mikrontroler yang berfungsi sebagai master. Konfigurasi dari pin RTC DS1307 yang digunakan dalam Tugas Akhir ini dapat dilihat pada Gambar 3.7.

SDA SCL U45 DS1307 GN D 4 SQW/OUT 7 SDA 5 X1 1 X2 2 SCL 6 VBAT 3 VCC 8 GND Y 3 32.768kHz C1 100nF BT2 CR2032 3V VCC

Gambar 3.7 Rangkaian Real Time Clock DS1307

3.1.4 Rangkaian Driver Baris (TIP42)

Pada rangkaian kontroler memiliki 8 pasang transistor yang berfungsi sebagai driver baris. Dimana setiap pasang terdiri dari transistor 9013 dan TIP42. Rangkaian driver baris terhubung ke Port 1 mikrokontroler dan ke baris dot matrix. Agar lebih jelas mengenai uraian diatas, dapat dilihat skematik driver baris seperti Gambar 3.8.

(8)

VCC Q3 Q5A C9013 3 1 2 VCC Q11A C9013 3 1 2 R93 BRS 4 R93 Q6A C9013 3 1 2 Q3 R93 BARIS4 BARIS2 BRS 7 Q3 B1 Q11A C9013 3 1 2 VCC BRS 5 BRS 6 VCC Q3 BARIS3 R93 BARIS1 Q11A C9013 3 1 2 BARIS7 VCC Q3 BRS 2 R93 VCC BARIS5 BRS 1 Q11A C9013 3 1 2 BARIS8 R93 BARIS6 R93 VCC BRS 3 VCC Q11A C9013 3 1 2 Q4A C9013 3 1 2 B1 R93 Q3 B1 BRS 8 Q3 Q3

Gambar 3.8 Rangkaian driver baris transistor TIP42

Output dari mikrokontroler tidak cukup kuat untuk menyalakan satu baris led dot matrix yang terdiri atas 288 led. Dibutuhkan transistor yang berdaya besar untuk memperkuat arus dari mikrokontroler agar dapat menyalakan atau mematikan tiap baris led dot matrix.

Penulis menggunakan 2 buah transistor PNP tipe TIP42 dan 9013 yang dirangkai seperti pada gambar 3.8. Transistor berfungsi sebagai saklar untuk menyalakan atau mematikan tiap baris dari led dot matrix. Display dot matrix terdiri dari 8 baris led sehingga digunakan 8 pasang rangkaian dengan setiap pasang transistor terhubung ke Port P1.0 sampai Port 1.7.

Pin basis pada TIP42 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

(9)

transistor 9013 akan ON, tegangan di kolektor akan menjadi 0 V dan transistor TIP42 akan OFF, sehingga baris led akan mati. Sebaliknya jika output mikrokontroler low, maka transistor 9013 akan OFF, tegangan di kolektor 9013 akan menjadi 12 V dan transistor TIP42 akan ON sehingga baris led akan hidup.

3.1.5 Rangkaian Shift Register 74LS164

Rangkaian shift register digunakan sebagai driver kolom pada display dot matrix. Input pada IC shift register berupa data, clock dan clear dimana masing-masing terhubung ke Port P3.4, Port P3.5 dan VCC dari mikrokontroler. Output shift register terhubung pada kolom display dot matrix. Agar lebih jelas tentang konfigurasi pin dari IC 74LS164, dapat dilihat skematik rangkaian pada Gambar 3.9. H5 H7 H8 H21 H23 H24 H17 H18 H19 H22 H20 H13 H15 H16 H9 H10 H11 H12 H14 H29 H31 H32 H33 H25 H26 H27 H28 H30 U16 74LS164 A 1 B 2 CLK 8 CLR 9 QA 3 QB 4 QC 5 QD 6 QE 10 QF 11 QG 12 QH 13 VC C 1 4 GN D 7 H24 C6 DATA H16 H8 CLK VCC CLK VCC CLK VCC R28 R25 R26 R27 R32 R29 R30 R31 DATA CLK VCC U16 74LS164 A 1 B 2 CLK 8 CLR 9 QA 3 QB 4 QC 5 QD 6 QE 10 QF 11 QG 12 QH 13 VC C 1 4 GN D 7 C6 R4 R1 R2 R3 R8 R5 R6 R7 U16 74LS164 A 1 B 2 CLK 8 CLR 9 QA 3 QB 4 QC 5 QD 6 QE 10 QF 11 QG 12 QH 13 VC C 1 4 GN D 7 C6 R12 R9 R10 R11 R16 R13 R14 R15 VCC CLK U16 74LS164 A 1 B 2 CLK 8 CLR 9 QA 3 QB 4 QC 5 QD 6 QE 10 QF 11 QG 12 QH 13 VC C 1 4 GN D 7 C6 R20 R17 R18 R19 R24 R21 R22 R23 H3 H2 H4 H1 H6

Gambar 3.9 Rangkaian Shift Register 74LS164

Pada rangkaian display dot matrix terdiri dari 288 kolom sehingga masing-masing kolom tidak dapat terhubung langsung ke port mikrokontroler. Shift

(10)

Register digunakan untuk mengatasi masalah ini, dimana cukup dipakai 3 output dari mikrokontroler untuk mengatur seluruh 288 kolom led.

Shift Register mempunyai 2 input A dan B yang terhubung oleh gerbang ’and’, kedua input ini dihubungkan jadi satu dan dihubungkan ke Port P3.5 dari mikrokontroler. Output dan Shift Register hanya ada 8 (QA-QH) jadi dipakai 36

buah Shift Register untuk mengatur 288 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 P3.4 dan semua kaki Clear terhubung ke VCC agar semua Shift Register berjalan secara sinkron. Rangkaian ini menggunakan sistem SIPO (Serial Input Parallel Output).

3.1.6 Rangkaian Display Dot Matrix

Dalam perancangan kalender digital dengan dot matrix ini, ukuran display yang digunakan 48x48, dimana mikrokontroler mempunyai display ukuran 8x288. Pola display tidak memanjang tetapi berbentuk persegi, karena dot matrix yang disusun ke bawah secara rapat sehingga membentuk suatu display dot matrix ukuran 48x48. Maksud dari rangkaian display dot matrix diperjelas melalui skematik seperti pada gambar 3.10.

(11)

H30 J2 DOT MATRIX 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 J3 DOT MATRIX 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 J4 DOT MATRIX 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 J5 DOT MATRIX 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 H1 H2 BRS1 BRS3 H3 BRS2 BRS4 H4 H29 BRS5 BRS7 H31 BRS6 BRS8 H32 BRS1 H9 H11 BRS2 H10 H12 BRS3 BRS4 H13 H14 BRS5 BRS7 H15 BRS6 BRS8 H16 BRS5 H5 H7 BRS6 H6 H8 BRS7 BRS8 H25 BRS1 H27 BRS2 H26 H28 BRS3 BRS4 H17 BRS1 H19 BRS2 H18 H20 BRS3 BRS4 H21 BRS5 H23 BRS6 H22 H24 BRS7 BRS8

Gambar 3.10. Rangkaian display dot matrix

3.1 Perancangan Perangkat Lunak

Dalam perancangan perangkat lunak dibagi atas 2 jenis : perancangan perangkat lunak pada komputer dan perancangan perangkat lunak pada mikrokontroler.

3.2.1 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

(12)

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 2000 sampai tahun 2099. Berikut ini algoritma untuk mencari hari dalam kalender :

a = 12 14−month (3.2) y = year – a m = month + 12a – 2 Untuk kalender Masehi:

d = (day + y + 4 y - 100 y + 400 y + 12 m 31 ) mod 7

Dari perhitungan d akan didapatkan nilai sisa pembagian yang memiliki arti : 0 = Hari Minggu 1 = Hari Senin 2 = Hari Selasa. 3 = Hari Rabu 4 = Hari Kamis 5 = Hari Jumat 6 = Hari Sabtu

(13)

Listing program proses penentuan hari seperti berikut:

begin

Dum1 := (14 - Month) DIV 12; Dum2 := Year - Dum1;

Dum3 := Month + (12 * Dum1) - 2;

Day := (Date + Dum2 + (Dum2 DIV 4) - (Dum2 DIV 100) + (Dum2 DIV 400) + (31*Dum3) DIV 12);

Day := Day MOD 7; Case Day of 0 : Label21.Caption := 'Senin'; 1 : Label21.Caption := 'Selasa'; 2 : Label21.Caption := 'Rabu'; 3 : Label21.Caption := 'Kamis'; 4 : Label21.Caption := 'Jumat'; 5 : Label21.Caption := 'Sabtu'; 6 : Label21.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 ((y2>1582) OR((y2=1582) AND (m2>10))OR((y2=1582) AND (m2=10) AND (d2>14))) then jd := intPart((1461*(y2+4800+intPart((m2-14)/12)))/4)+ intPart((367*(m2-2-12*(intPart((m2-14)/12))))/12)- intPart((3*(intPart( (y2+4900+intPart((m2-14)/12))/100)))/4)+d2-32075 else jd := 367*y2-intPart((7*(y2+5001+intPart((m2-9)/7)))/4)+ intPart((275*m2)/9)+d2+1729777; L := jd-1948440+10632; N := intPart((L-1)/10631); L := L-10631*n+354; J := (intPart((10985-L)/5316))*(intPart((50*L)/17719))+ (intPart(L/5670))*(intPart((43*l)/15238)); L := L-(intPart((30-j)/15))*(intPart((17719*j)/50))- (intPart(j/16))*(intPart((15238*j)/43))+29; Rm := intPart((24*L)/709); Rd := l-intPart((709*Rm)/24); Ry := 30*n+j-30;

// Konversi kalender Masehi ke Cina

(14)

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, -1), wYear, wMonth, wDay); If (iDayLeave <0) or (iDayLeave> 22295) then Exit; For i:= Low (cstCNTable) to High (cstCNTable) do begin WBigSmallDist := cstCNTabel [i];

WLeap := wBigSmallDist shr 12; If wLeap> 12 then begin WLeap := wLeap and 7; WLeapShift := 1; End else

WLeapShift := 0; For j:= 1 to 12 do begin

WCount := (wBigSmallDist and 1) + 29;

If j = wLeap then wCount := wCount - wLeapShift; If iDayLeave <wCount then begin

Result := (i shl 9) + (j shl 5) + iDayLeave + 1; Exit;

End;

IDayLeave := iDayLeave - wCount; If j = wLeap then begin

WCount := 29 + wLeapShift; If iDayLeave <wCount then begin

Result := (i shl 9) + (j shl 5) + iDayLeave + 1 + (1 shl 21); Exit;

End;

IDayLeave := iDayLeave - wCount; End;

WBigSmallDist := wBigSmallDist shr 1; End;

End; End;

Function TForm1.isCNLeap(cnDate: TCNDate): boolean; Begin

Result := (cnDate and $200000) <> 0; End;

Function GetGregDateFromCN (cnYear, cnMonth, cnDay: word; bLeap: Boolean = False): TDateTime;

Var

I, j: integer; DayCount: integer;

(15)

Begin

DayCount := 0;

If (cnYear <1990) or (cnYear> 2050) then begin Result := 0;

Exit; End;

For i := cstCNYearOrg to cnYear-1 do begin WBigSmallDist := cstCNTabel [i];

If (wBIgSmallDist and $F000) <> 0 then DayCount := DayCount + 29; DayCount := DayCount + 12 * 29;

For j := 1 to 12 do begin

DayCount := DayCount + wBigSmallDist and 1; WBigSmallDist := wBigSmallDist shr 1; End;

End;

WBigSmallDist := cstCNTabel [cnYear]; WLeap := wBigSmallDist shr 12; If wLeap > 12 then begin WLeap := wLeap and 7;

WLeapShift := 1; // Tai, in Runru. End else

WLeapShift := 0;

For j := 1 to cnMonth-1 do begin

DayCount := DayCount + (wBigSmallDist and 1) + 29; If j = wLeap then DayCount := DayCount + 29; WBigSmallDist := wBigSmallDist shr 1;

End;

If bLeap and (cnMonth = wLeap) then begin DayCount := DayCount + 30 - wLeapShift; Result := DayCount + cstDateOrg + cnDay - 1; End;

3.2.2 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.

(16)

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 1 (3.1) = Hz 60 1 ≅ 0.0167 s = 16,7 ms

Sehingga masing-masing baris membutuhkan waktu maksimal sebesar: 8 7 , 16 = 2.09 ms

Karena dalam satu baris terdapat 288 kolom titik dot matrix, maka untuk menyalakan masing-masing led dalam dot matrix diberikan waktu sebesar:

led ms 288 09 . 2 = 0.007 ms/led.

Dalam perangkat tugas akhir ini penulis menentukan waktu scanning tiap baris sebesar 2.09ms. Dengan waktu tersebut mikrokontroler dapat menghasilkan frekuensi sebesar 61,27 Hz. perhitungannya adalah sebagai berikut:

2.09 x 8 baris = 16.32 ms F = ms 32 , 16 1 = 61.27 Hz

(17)

Proses scanning baris pada modul mikrokontroler dapat ditunjukkan oleh diagram alir pada Gambar 3.11.

Start Matikan semua transistor baris Baris = Baris +1 Baris = 9 Baris =1

Baca data baris

Output ke Shift register 74LS164 Aktifkan transistor baris Y T

Gambar 3.11. Diagram alir proses scanning baris

Berikut listring program scanning pada baris :

Program EQU 0000h

TH0Val_C EQU 0F8h ; nilai timer untuk scanning

TL0Val_C EQU 000h; : (65536 - TH0:TL0) * (12 MHz / 11.0592 MHz)

(18)

DispBuffAddr_C EQU 0h ;--- ; PORTS ;--- Clk_P BIT p3.4 Data_P BIT p3.5 Row_P EQU p1 ;--- Timer_0 ;--- MOV th0,#TH0Val_C MOV tl0,#TL0Val_C PUSH a PUSH psw PUSH dph PUSH dpl PUSH 7

; off all transistor

MOV Row_P,#0

MOV dptr,#DispBuffAddr_C

MOV r7,#JCol_C

T0J3

MOVX a,@dptr ; 2 cycles (24 osc.periods)

CLR Data_P ; 1 cycle (12 osc.periods)

ANL a,BitMask_M ; 1 cycle (12 osc.periods)

JZ T0J4 ; 2 cycles (24 osc.periods)

SETB Data_P ; 1 cycle (12 osc.periods)

T0J4

SETB Clk_P ; 1 cycle (12 osc.periods)

CLR Clk_P ; 1 cycle (12 osc.periods)

INC dptr ; 2 cycles (24 osc.periods)

DJNZ r7,T0J3 MOV Row_P,RowMask_M MOV a,BitMask_M RR a MOV BitMask_M,a MOV a,RowMask_M RL a MOV RowMask_M,a CLR LastRow_F INC ScanCtr_M MOV a,ScanCtr_M CJNE a,#8,T0J1 SETB LastRow_F MOV ScanCtr_M,#0 MOV RowMask_M,#00000001b T0J1 POP 7 POP dpl POP dph POP psw POP a RETI

(19)

B. Proses Update Waktu

Proses set dan update waktu pada modul mikrokontroler dapat ditunjukkan oleh diagram alir pada Gambar 3.12.

START

Inisialisasi awal Memori, Timer, Serial

Cek RTC valid? Reset Tanggal & Waktu Baca Tanggal Masehi Hijriyah Jawa Cina &

Waktu (Jam, Menit, Detik)

Taruh di Buffer Display (RAM)

Baca tanggal Masehi dan waktu dari RTC

Detik sdh berubah?

Update tanggal jawa Cina & hijriyah di

RTC

Taruh data di Buffer Display (RAM)

Y

Y

T T

Gambar 3.12. Diagram alir program utama

Penjelasan dari diagram alir program utama pada Gambar 3.12 yaitu pada saat program pertama kali dijalankan, dilakukan inisialisasi terlebih dahulu yang

(20)

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 berulang-ulang 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 3.13.

START Ambil data dari SBUF Data sudah di terima Lengkap? (Jam,Menit, Detik, Tgl,Bln,Thn Masehi, Hijriyah,Jawa,Cina) Update waktu, tgl Masehi, tgl Hijriyah, tgl Jawa, tgl Cina RETI Y T RETI

(21)

Penjelasan dari diagram alir program utama pada Gambar 3.13 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.

Gambar

Gambar 3.1 Blok Diagram rangkaian keseluruhan.
Gambar 3.2  Minimum sistem Mikrokontroler AT89S52
Gambar 3.3 Rangkaian kabel downloader pada port  LPT
Gambar 3.4 Atmel Microcontroller ISP Software
+7

Referensi

Dokumen terkait

Penelitian bertujuan untuk menentukan takaran kebutuhan hara nitrogen (N) pada jagung hibrida berdasarkan nilai skala Bagan Warna Daun (BWD) pada pertumbuhan fase V9 atau

Tujuan dari penelitian ini adalah untuk mengidentifikasi dan mencari solusi permasalahan cahaya alami terhadap kenyamanan visual di ruang kerja pada rumah tinggal mahasiswa

- Pengalaman kerja diutamakan dibidangnya - Familiar dengan bidang pemasaran property - Memiliki kemampuan negosiasi/presentasi - Networking luas, berpenampilan menarik,

Untuk mengetahui exercise Half Semont Manuver lebih baik dari exercise Brandt-doroff Manuver dalam menggurangi keluhan vertigo pada gangguan fungsi Vestibular Posterior

bermacam bentuk, seperti gerakan separatis dan lain-lain, antara lain: Gerakan Separatis dengan lepasnya Timor Timur dari Indonesia yang dimulai dengan

Perbedaan dengan penelitian ini adalah jenis penelitian ini adalah teknik yang diberikan, tempat, subjek penelitian, waktu penelitian dan variabel

Dalam periode Taisho dan Showa awal dua arsitek Amerika yang berpengaruh bekerja di Jepang, Frank Lloyd Wright yang merancang Imperial Hotel, Tokyo (1913-1923) dan Yodoko Guest

METY SUPRIYATI Kepala Sub Bidang Sosial, Kesehatan, Tenaga Kerja dan Kependudukan pada Bidang Pemerintahan dan Sosial Badan Perencanaan Pembangunan, Penelitian dan