Merakit sendiri jam dan Kalender Digital Dot Matrix

tentunya menyenangkan sekali bisa merakit sendiri jam dan kalender digital dot matrix. dengan kita bisa merakit sendiri tentu ada kepuasan tersendiri. di samping itu bisa menghemat biaya dari pada membeli jadi. proyek ini merupakan pengembangan dari proyek sebelumnya yaitu merakit jam digital dot matrix pada postingan sebelumnya. jadi bisa dikatakan kita tambahkan fungsi kalender. pada proyek-proyek berikutnya bisa kita tambahkan dengan fungsi-fungsi yang lain yang terkait.

pada kesempatan ini saya mau berbagi kepada para elektro hobies mania bagaimana Merakit sendiri jam dan Kalender Digital Dot Matrix. bagi yang awam dengan dunia pemrograman Mikrokontroler jangan kuatir. file .hex akan saya lampirkan di akhir postingan. anda bisa salin sendiri dan di coba disimulasikan di Proteus , atau bisa diterapkan langsung ke jam dan kalender digital yang sudah dirakit sebelumnya. akan tetapi bagi yang ingin belajar pemrogramannya bisa mengikuti potongan-potongan kode yang saya berikan.

skema jam digital dot matrik

untuk kontroler jam digital dan kalender digital ini menggunakan Mikrokontroler Atmega328. Atmega328 membaca informasi jam dan tanggal dari IC RTC DS1307. kemudian informasi jam tanggal tersebut di proses dan di konversi ke sebuah Bufffer Display yang tersimpan di RAM Mikrokontroler yang merepresentasikan bentuk tampilan Dot matrix. kemudian data data itu dikeluarkan satu demi satu atau serial atau beruntun dengan kecepatan tinggi ke IC Serial to Pararel MAX7219, IC ini akan mengembalikan bentuk data yang tersimpan di RAM mikrokontroler ke display dot matrix. sehingga display dot matrix akan serupa isinya dengan buffer display.

berikut listing program pembacaan RTC DS1307. 

Getdatetime:
  I2cstart
  I2cwbyte Ds1307w
  I2cwbyte 0

  I2cstart
  I2cwbyte Ds1307r
  I2crbyte _sec , Ack
  I2crbyte _min , Ack
  I2crbyte _hour , Ack
  I2crbyte Weekday , Ack
  I2crbyte _day , Ack
  I2crbyte _month , Ack
  I2crbyte _year , Nack
  I2cstop
  Jam = Makedec(_hour)
  Menit = Makedec(_min)
  '_sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
  '_day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
Return

Setdate:
  _day = Makebcd(_day) : _month = Makebcd(_month) : _year = Makebcd(_year)
  I2cstart
  I2cwbyte Ds1307w
  I2cwbyte 4
  I2cwbyte _day
  I2cwbyte _month
  I2cwbyte _year
  I2cstop
Return

Settime:
  _sec = Makebcd(_sec) : _min = Makebcd(_min) : _hour = Makebcd(_hour)
  I2cstart
  I2cwbyte Ds1307w
  I2cwbyte 0
  I2cwbyte _sec
  I2cwbyte _min
  I2cwbyte _hour
  I2cstop
Return

kode ini akan menyimpan data satuan menit, puluhan menit, satuan jam, puluhan jam, satuan tanggal, puluhan tanggal, satuan bulan,puluhan bulan, satuan tahun, dan puluhan tahun ke dalam RAM Mikrokontroler.

sub bcdtoram
  'ambil nilai satuan & puluhan detik
   Satdetik = _sec And &B00001111
   Rotate _sec , Right , 4
   Puldetik = _sec And &B00001111

   'ambil nilai satuan & puluhan menit
   Satmin = _min And &B00001111
   Rotate _min , Right , 4
   Pulmin = _min And &B00001111

   'ambil nilai satuan & puluhan jam
   Satjam = _hour And &B00001111
   Rotate _hour , Right , 4
   Puljam = _hour And &B00001111

   'ambil nilai satuan & puluhan tanggal
   Sattgl = _day And &B00001111
   Rotate _day , Right , 4
   Pultgl = _day And &B00001111

   'ambil nilai satuan & puluhan bulan
   Satbln = _month And &B00001111
   Rotate _month , Right , 4
   Pulbln = _month And &B00001111

   'ambil nilai satuan & puluhan tahun
   Satthn = _year And &B00001111
   Rotate _year , Right , 4
   Pulthn = _year And &B00001111
end sub

dari kode di atas kita sudah mengantongi nilai-nilai jam, menit,tanggal,bulan,dan tahun. akan tetapi nilai tersebut belum bisa ditampilkan ke dot matrix. harus dikonversi dulu menggunakan kode di bawah ini

'konversi dec to dot
Sub Bcdtoled()
Select Case Bil
Case 0:
   Dot1 = Lookup(0 , Angka0)
   Dot2 = Lookup(1 , Angka0)
   Dot3 = Lookup(2 , Angka0)
   Dot4 = Lookup(3 , Angka0)
   Dot5 = Lookup(4 , Angka0)
   Dot6 = Lookup(5 , Angka0)
   Dot7 = Lookup(6 , Angka0)
   Dot8 = Lookup(7 , Angka0)
Case 1
   Dot1 = Lookup(0 , Angka1)
   Dot2 = Lookup(1 , Angka1)
   Dot3 = Lookup(2 , Angka1)
   Dot4 = Lookup(3 , Angka1)
   Dot5 = Lookup(4 , Angka1)
   Dot6 = Lookup(5 , Angka1)
   Dot7 = Lookup(6 , Angka1)
   Dot8 = Lookup(7 , Angka1)
Case 2:
   Dot1 = Lookup(0 , Angka2)
   Dot2 = Lookup(1 , Angka2)
   Dot3 = Lookup(2 , Angka2)
   Dot4 = Lookup(3 , Angka2)
   Dot5 = Lookup(4 , Angka2)
   Dot6 = Lookup(5 , Angka2)
   Dot7 = Lookup(6 , Angka2)
   Dot8 = Lookup(7 , Angka2)
Case 3:
   Dot1 = Lookup(0 , Angka3)
   Dot2 = Lookup(1 , Angka3)
   Dot3 = Lookup(2 , Angka3)
   Dot4 = Lookup(3 , Angka3)
   Dot5 = Lookup(4 , Angka3)
   Dot6 = Lookup(5 , Angka3)
   Dot7 = Lookup(6 , Angka3)
   Dot8 = Lookup(7 , Angka3)
Case 4:
   Dot1 = Lookup(0 , Angka4)
   Dot2 = Lookup(1 , Angka4)
   Dot3 = Lookup(2 , Angka4)
   Dot4 = Lookup(3 , Angka4)
   Dot5 = Lookup(4 , Angka4)
   Dot6 = Lookup(5 , Angka4)
   Dot7 = Lookup(6 , Angka4)
   Dot8 = Lookup(7 , Angka4)
Case 5:
   Dot1 = Lookup(0 , Angka5)
   Dot2 = Lookup(1 , Angka5)
   Dot3 = Lookup(2 , Angka5)
   Dot4 = Lookup(3 , Angka5)
   Dot5 = Lookup(4 , Angka5)
   Dot6 = Lookup(5 , Angka5)
   Dot7 = Lookup(6 , Angka5)
   Dot8 = Lookup(7 , Angka5)
Case 6:
   Dot1 = Lookup(0 , Angka6)
   Dot2 = Lookup(1 , Angka6)
   Dot3 = Lookup(2 , Angka6)
   Dot4 = Lookup(3 , Angka6)
   Dot5 = Lookup(4 , Angka6)
   Dot6 = Lookup(5 , Angka6)
   Dot7 = Lookup(6 , Angka6)
   Dot8 = Lookup(7 , Angka6)
Case 7:
   Dot1 = Lookup(0 , Angka7)
   Dot2 = Lookup(1 , Angka7)
   Dot3 = Lookup(2 , Angka7)
   Dot4 = Lookup(3 , Angka7)
   Dot5 = Lookup(4 , Angka7)
   Dot6 = Lookup(5 , Angka7)
   Dot7 = Lookup(6 , Angka7)
   Dot8 = Lookup(7 , Angka7)
Case 8:
   Dot1 = Lookup(0 , Angka8)
   Dot2 = Lookup(1 , Angka8)
   Dot3 = Lookup(2 , Angka8)
   Dot4 = Lookup(3 , Angka8)
   Dot5 = Lookup(4 , Angka8)
   Dot6 = Lookup(5 , Angka8)
   Dot7 = Lookup(6 , Angka8)
   Dot8 = Lookup(7 , Angka8)
Case 9:
   Dot1 = Lookup(0 , Angka9)
   Dot2 = Lookup(1 , Angka9)
   Dot3 = Lookup(2 , Angka9)
   Dot4 = Lookup(3 , Angka9)
   Dot5 = Lookup(4 , Angka9)
   Dot6 = Lookup(5 , Angka9)
   Dot7 = Lookup(6 , Angka9)
   Dot8 = Lookup(7 , Angka9)
Case 10:
   Dot1 = Lookup(0 , Strip)
   Dot2 = Lookup(1 , Strip)
   Dot3 = Lookup(2 , Strip)
   Dot4 = Lookup(3 , Strip)
   Dot5 = Lookup(4 , Strip)
   Dot6 = Lookup(5 , Strip)
   Dot7 = Lookup(6 , Strip)
   Dot8 = Lookup(7 , Strip)
End Select
End Sub

kode diatas merupakan kode konversi yang akan mengisi dot1 - dot8, kemudian data-data ini kita isikan ke buffer RAM dengan kode di bawah ini. karena kita menggunakan sebanyak 14 buah led 8x8 maka sub matrixnya sampai 14 saja.

'mengisi bufffer display
Sub Matrix1()
      Dotmatrix11 = Dot1
      Dotmatrix12 = Dot2
      Dotmatrix13 = Dot3
      Dotmatrix14 = Dot4
      Dotmatrix15 = Dot5
      Dotmatrix16 = Dot6
      Dotmatrix17 = Dot7
      Dotmatrix18 = Dot8
End Sub

Sub Matrix2()
      Dotmatrix21 = Dot1
      Dotmatrix22 = Dot2
      Dotmatrix23 = Dot3
      Dotmatrix24 = Dot4
      Dotmatrix25 = Dot5
      Dotmatrix26 = Dot6
      Dotmatrix27 = Dot7
      Dotmatrix28 = Dot8
End Sub

Sub Matrix3()
      Dotmatrix31 = Dot1
      Dotmatrix32 = Dot2
      Dotmatrix33 = Dot3
      Dotmatrix34 = Dot4
      Dotmatrix35 = Dot5
      Dotmatrix36 = Dot6
      Dotmatrix37 = Dot7
      Dotmatrix38 = Dot8
End Sub

Sub Matrix4()
      Dotmatrix41 = Dot1
      Dotmatrix42 = Dot2
      Dotmatrix43 = Dot3
      Dotmatrix44 = Dot4
      Dotmatrix45 = Dot5
      Dotmatrix46 = Dot6
      Dotmatrix47 = Dot7
      Dotmatrix48 = Dot8
End Sub

Sub Matrix5()
      Dotmatrix51 = Dot1
      Dotmatrix52 = Dot2
      Dotmatrix53 = Dot3
      Dotmatrix54 = Dot4
      Dotmatrix55 = Dot5
      Dotmatrix56 = Dot6
      Dotmatrix57 = Dot7
      Dotmatrix58 = Dot8
End Sub

Sub Matrix6()
      Dotmatrix61 = Dot1
      Dotmatrix62 = Dot2
      Dotmatrix63 = Dot3
      Dotmatrix64 = Dot4
      Dotmatrix65 = Dot5
      Dotmatrix66 = Dot6
      Dotmatrix67 = Dot7
      Dotmatrix68 = Dot8
End Sub

Sub Matrix7()
      Dotmatrix71 = Dot1
      Dotmatrix72 = Dot2
      Dotmatrix73 = Dot3
      Dotmatrix74 = Dot4
      Dotmatrix75 = Dot5
      Dotmatrix76 = Dot6
      Dotmatrix77 = Dot7
      Dotmatrix78 = Dot8
End Sub

Sub Matrix8()
      Dotmatrix81 = Dot1
      Dotmatrix82 = Dot2
      Dotmatrix83 = Dot3
      Dotmatrix84 = Dot4
      Dotmatrix85 = Dot5
      Dotmatrix86 = Dot6
      Dotmatrix87 = Dot7
      Dotmatrix88 = Dot8
End Sub

Sub Matrix9()
      Dotmatrix91 = Dot1
      Dotmatrix92 = Dot2
      Dotmatrix93 = Dot3
      Dotmatrix94 = Dot4
      Dotmatrix95 = Dot5
      Dotmatrix96 = Dot6
      Dotmatrix97 = Dot7
      Dotmatrix98 = Dot8
End Sub

Sub Matrix10()
      Dotmatrix101 = Dot1
      Dotmatrix102 = Dot2
      Dotmatrix103 = Dot3
      Dotmatrix104 = Dot4
      Dotmatrix105 = Dot5
      Dotmatrix106 = Dot6
      Dotmatrix107 = Dot7
      Dotmatrix108 = Dot8
End Sub

Sub Matrix11()
      Dotmatrix111 = Dot1
      Dotmatrix112 = Dot2
      Dotmatrix113 = Dot3
      Dotmatrix114 = Dot4
      Dotmatrix115 = Dot5
      Dotmatrix116 = Dot6
      Dotmatrix117 = Dot7
      Dotmatrix118 = Dot8
End Sub

Sub Matrix12()
      Dotmatrix121 = Dot1
      Dotmatrix122 = Dot2
      Dotmatrix123 = Dot3
      Dotmatrix124 = Dot4
      Dotmatrix125 = Dot5
      Dotmatrix126 = Dot6
      Dotmatrix127 = Dot7
      Dotmatrix128 = Dot8
End Sub

Sub Matrix13()
      Dotmatrix131 = Dot1
      Dotmatrix132 = Dot2
      Dotmatrix133 = Dot3
      Dotmatrix134 = Dot4
      Dotmatrix135 = Dot5
      Dotmatrix136 = Dot6
      Dotmatrix137 = Dot7
      Dotmatrix138 = Dot8
End Sub

Sub Matrix14()
      Dotmatrix141 = Dot1
      Dotmatrix142 = Dot2
      Dotmatrix143 = Dot3
      Dotmatrix144 = Dot4
      Dotmatrix145 = Dot5
      Dotmatrix146 = Dot6
      Dotmatrix147 = Dot7
      Dotmatrix148 = Dot8
End Sub

karena data-data RAM sudah terisi data penyalaan dot matrix led. selanjutnya data ini kita kirim ke dot matrix menggunakan kode dibawah ini

Sub Send1
   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix11 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix21 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix31 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix41 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix51 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix61 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix71 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix81 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix91 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix101 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix111 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix121 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix131 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix141 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix151 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis1 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix161 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix12 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix22 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix32 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix42 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix52 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix62 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix72 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix82 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix92 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix102 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix112 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix122 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix132 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix142 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix152 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis2 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix162 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix13 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix23 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix33 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix43 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix53 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix63 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix73 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix83 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix93 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix103 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix113 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix123 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix133 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix143 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix153 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis3 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix163 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix14 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix24 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix34 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix44 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix54 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix64 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix74 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix84 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix94 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix104 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix114 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix124 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix134 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix144 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix154 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis4 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix164 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix15 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix25 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix35 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix45 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix55 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix65 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix75 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix85 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix95 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix105 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix115 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix125 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix135 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix145 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix155 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis5 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix165 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix16 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix26 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix36 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix46 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix56 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix66 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix76 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix86 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix96 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix106 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix116 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix126 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix136 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix146 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix156 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis6 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix166 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix17 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix27 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix37 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix47 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix57 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix67 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix77 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix87 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix97 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix107 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix117 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix127 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix137 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix147 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix157 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis7 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix167 , 0 , 8
   Set Disp_en

   Reset Disp_en
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix18 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix28 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix38 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix48 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix58 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix68 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix78 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix88 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix98 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix108 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix118 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix128 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix138 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix148 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix158 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dis8 , 0 , 8
   Shiftout Ser_data , Ser_clk , Dotmatrix168 , 0 , 8
   Set Disp_en
End Sub

dalam looping (do.....loop)  kita tinggal menanamkan kode sebagai berikut

do
   gatedatetime

   bcdtoram

   Bil = Satthn
   Bcdtoled
   Matrix3

   Bil = Pulthn
   Bcdtoled
   Matrix4

   Bil = 0
   Bcdtoled
   Matrix5

   Bil = 2
   Bcdtoled
   Matrix6

   Bil = 10
   Bcdtoled
   Matrix7

   Bil = Satbln
   Bcdtoled
   Matrix8

   Bil = Pulbln
   Bcdtoled
   Matrix9

   Bil = 10
   Bcdtoled
   Matrix10

   Bil = Sattgl
   Bcdtoled
   Matrix11

   Bil = Pultgl
   Bcdtoled
   Matrix12

   Bil = Satmin
   Bcdtoled
   Matrix13

   Bil = Pulmin
   Bcdtoled
   Matrix14

   Bil = Satjam
   Bcdtoled
   Matrix15

   Bil = Puljam
   Bcdtoled
   Matrix16

   Send1

   Wait 1
loop

Artikel Terkait

Merakit sendiri jam dan Kalender Digital Dot Matrix
4/ 5