I have a DS1202 clock that is sort of running. It doesn't count correctly. It starts at 0 seconds then counts up to 9 then jumps to 15 counts for a bit then jumps again and counts then jumps and it counts all the way to 99 seconds then rolls over. I have included my code below. Any help would be appreciated. Include "MODEDEFS.BAS" ' Include Shiftin/out modes DEFINE OSC 4 'Define LCD_DREG PORTD ' Define LCD connections 'Define LCD_DBIT 4 'Define LCD_RSREG PORTE 'Define LCD_RSBIT 0 'Define LCD_EREG PORTE 'Define LCD_EBIT 1 ' Alias pins RST var PORTB.4 IO var PORTB.1 SCLK var PORTB.3 Lout var PORTB.2 ' Allocate variables rtcyear var byte rtcday var byte rtcmonth var byte rtcdate var byte rtchr var byte rtcmin var byte rtcsec var byte rtccontrol var byte Low RST ' Reset RTC Low SCLK OPTION_REG.7 = 0 ' Enable PORTB pullups Pause 10 ' Wait for LCD to startup ' Set initial time to 8:00:00AM 06/06/02 rtcyear = $02 rtcday = $06 rtcmonth = $06 rtcdate = $06 rtchr = $08 rtcmin = 0 rtcsec = 0 Gosub settime ' Set the time Goto mainloop ' Skip subroutines ' Subroutine to write time to RTC settime: RST = 1 ' Ready for transfer ' Enable write Shiftout IO, SCLK, LSBFIRST, [$8e, 0] RST = 0 ' Reset RTC RST = 1 ' Ready for transfer ' Write all 8 RTC registers in burst mode Shiftout IO, SCLK, LSBFIRST, [$be, rtcsec, rtcmin, rtchr, rtcdate, rtcmonth, rtcday, rtcyear, 0] RST = 0 ' Reset RTC Return ' Subroutine to read time from RTC gettime: RST = 1 ' Ready for transfer Shiftout IO, SCLK, LSBFIRST, [$bf] ' Read all 8 RTC registers in burst mode Shiftin IO, SCLK, LSBPRE, [rtcsec, rtcmin, rtchr, rtcdate, rtcmonth, rtcday, rtcyear, rtccontrol] RST = 0 ' Reset RTC Return ' Main program loop - in this case, it only updates the LCD with the time mainloop: Gosub gettime ' Read the time from the RTC ' Display time on LCD Serout lout,N9600,[254,1] ' Clear Display 'Serout lout,N9600,[254,128,"hello"] Serout lout,N9600,[254,128,#rtcmonth,"/",#rtcdate,"/",#rtcyear] Serout lout,N9600,[254,192,#rtchr,":",#rtcmin,":",#rtcsec] Pause 300 ' Do it about 3 times a second Goto mainloop ' Do it forever End -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads