$regfile = "m16def.dat"
$crystal = 11059200
Config Sda = Portd.6
Config Scl = Portd.7
Config Portb = Output
Config Porta.0 = Output
Const Ds1307w = &HD0
Const Ds1307r = &HD1
Dim Det As Byte , Men As Byte , Jam As Byte , Har As Byte , Tgl As Byte , Bul As Byte , Thn As Byte
Dim Ndet As Byte , Nmen As Byte , Njam As Byte , Nhar As Byte , Ntgl As Byte , Nbul As Byte , Nthn As Byte
Dim Namahari As String * 6
Dim Namabulan As String * 10
Dim Hitungan As Byte
Dim Hitungan8 As Byte
Dim Jumlahsegment As Byte
Dim Tampilangka As Byte
Dim Digit(4) As Byte
Ena Alias Portb.0
Dataa Alias Portb.1
Klok Alias Portb.2
Buzzer Alias Porta.0
Porta = 255
'Ena = 0 'nyala
Ena = 1 'mati
Main:
'Cls
'Ndet = &H00
'Nmen = &H45
'Njam = &H06
'Ntgl = &H27
'Nhar = &H07
'Nbul = &H04
'Nthn = &H13
'Gosub Aturwaktu
Do
Gosub Waktu
If Jam = 05 And Men = 00 Then
Buzzer = 0
Elseif Jam = 05 And Men = 30 Then
Buzzer = 1
End If
If Jam >= 10 Then
Digit(1) = Jam \ 10
Digit(2) = Jam Mod 10
Else
Digit(1) = 0
Digit(2) = Jam
End If
If Men >= 10 Then
Digit(3) = Men \ 10
Digit(4) = Men Mod 10
Else
Digit(3) = 0
Digit(4) = Men
End If
Ena = 1
For Jumlahsegment = 1 To 4
Tampilangka = Lookup(digit(jumlahsegment) , Dataangka)
For Hitungan8 = 7 To 0 Step -1
Dataa = Tampilangka.hitungan8
Klok = 0
Klok = 1
Next Hitungan8
Next Jumlahsegment
Ena = 0
Loop
Waktu:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte Det , Ack
I2crbyte Men , Ack
I2crbyte Jam , Ack
I2crbyte Har , Ack
I2crbyte Tgl , Ack
I2crbyte Bul , Ack
I2crbyte Thn , Nack
I2cstop
Det = Makedec(det)
Men = Makedec(men)
Jam = Makedec(jam)
Har = Makedec(har)
Tgl = Makedec(tgl)
Bul = Makedec(bul)
Thn = Makedec(thn)
Return
Aturwaktu:
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte Ndet
I2cwbyte Nmen
I2cwbyte Njam
I2cwbyte Nhar
I2cwbyte Ntgl
I2cwbyte Nbul
I2cwbyte Nthn
I2cwbyte &B10010000
I2cstop
Return
End
Datahari:
Data "Sabtu" , "Minggu" , "Senin" , "Selasa" , "Rabu" , "Kamis" , "Jumat" , "Sabtu"
Databulan:
Data "? " , "Januari" , "Februari" , "Maret" , "April" , "Mei" , "Juni" , "Juli" , "Agustus" , "September" , "Oktober" , "November" , "Desember"
Dataangka:
'fgedcbah
Data &B10111110 , &B00001100 , &B01110110 , &B01011110 , &B11001101 , &B11011011 , &B11111011 , &B00001110 , &B11111110 , &B11011111 , &B00000000
Senin, 09 September 2013
Langganan:
Posting Komentar (Atom)






0 komentar:
Posting Komentar