[color=Green]' ----- StartClock: Set Time and Start Clock -----------------------------------------
'
'Set time and date e.g. to 11:59:00 on Thurs 25/12/03
'Numbers are expressed in BCD (Coded in Hex Eg $25 = "25")
'
' bcdSeconds = CSSSssss C: Clock Halt = 1, Run=0 SSS=0-5 ssss=0-9
' bcdMinutes = 0MMMmmmm MMM=0-5 mmmm=0-9
' bcdHours = 00HHhhhh 24-hour mode HH=0-2 hhhh=0-9
'or bcdHours = 011ahhhh 12-hour mode a=0 am; a=1 pm HH=0-2 hhhh=0-9
' bcdDay = 00000ddd Day-of-week indicator ddd=1-7
' bcdDate = 00DDdddd DD=0-3 dddd=0-9
' bcdMonth = 000Mmmmm M=0-1 mmmm=0-9
' bcdYear = YYYYyyyy YYYY=0-9 yyyy=0-9
' Control = %o00E00RR Enable output pin
' o..E..RR RR Rate of square wave output, where...
' | | |_ 00 1Hz; 01 4096Hz; 10 8192Hz; 11 32768Hz
' | |____ Enable square wave output = 1; Disable = 0
' |_______ Set output level of pin when square wave in DISabled
'
' Note that programme takes about 40 seconds to download when configuring the time here
'[/color]
[color=Black]StartClock: bcdSeconds [/color][color=DarkCyan]= [/color][color=Navy]$40 [/color][color=Green]' If Bit 7 (MSB) = 1 then clock oscillator is disabled: programme takes about 30 seconds to load
[/color][color=Black]bcdMinutes [/color][color=DarkCyan]= [/color][color=Navy]$52 [/color][color=Green]' Bit 7 always = 0
[/color][color=Black]bcdHours [/color][color=DarkCyan]= [/color][color=Navy]$17 [/color][color=Green]' Bit 7 = 0; Bit 6: 0 for 24-hour, 1 for 12-hour; If 12-hour, Bit 5 is am/pm indicator
[/color][color=Black]bcdDay [/color][color=DarkCyan]= [/color][color=Navy]$05 [/color][color=Green]' Bits 7 - 3 always 0 Monday = 1; Sunday = 7
[/color][color=Black]bcdDate [/color][color=DarkCyan]= [/color][color=Navy]$02 [/color][color=Green]' Bits 7 - 6 always 0
[/color][color=Black]bcdMonth [/color][color=DarkCyan]= [/color][color=Navy]$09 [/color][color=Green]' Bits 7 - 5 always 0
[/color][color=Black]bcdYear [/color][color=DarkCyan]= [/color][color=Navy]$11 [/color][color=Green]' BCD value range = 00 to 99
'
[/color][color=Black]Control [/color][color=DarkCyan]= [/color][color=Navy]%00010000 [/color][color=Green]' Enable output at 1Hz
'
[/color][color=Blue]Writei2c [PLAIN][[/PLAIN][/color][color=Black]i2cAddrDS1307[/color][color=Blue][PLAIN]][/PLAIN][/color][color=Black], [/color][color=Navy]0[/color][color=Black],[/color][color=Blue]([/color][color=Black]bcdSeconds, bcdMinutes, bcdHours, bcdDay, bcdDate, bcdMonth, bcdYear, Control[/color][color=Blue])
[/color][color=Green]'
[/color][color=Blue]SerTxd (CR[/color][color=Black], [/color][color=Blue]LF[/color][color=Black], [/color][color=Red]"Clock now set."[/color][color=Black], [/color][color=Blue]CR[/color][color=Black], [/color][color=Blue]LF)
GoSub [/color][color=Black]GetTime [/color][color=Green]'Read the time variables
[/color][color=Blue]GoSub [/color][color=Black]ShowTime
[/color][color=Blue]Return[/color]