Real time clock ICs


Closed Thread
Results 1 to 40 of 67

Hybrid View

  1. #1
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Arrow Dear Melanie,

    A real BIG thanks for this nice code.

    Here it worked :-)

    it is displaying time and date.

    Still a small problem that i will describe in details:

    1- it says to chose between 24 hours or 12 hours and this is working fine.
    2- chose time and date and things are also fine. In fact i chose today's date and time.

    3- when i press the middle button again to save, it says: MEMORIZED.

    but since then, time is not being updated on the screen. It is left all the time as i have set it since the beginning. I have waited 30 minutes and nothing has changed.

    By the way, i used the 3V battery and noticed that everything was changed to 4 whether by number or place. What i mean is:
    04:04:04
    04 Apr 2004

    so what do you suggest to do?

    more than 3/4 of the work is done and i need to continue it till the end.

    thanks in advance.

    By the way Bobk,

    i didn't use any capacitors but you were right about D4 till D7.
    so help me to finish it....

    I'll check in 1 hour.

    Bye.

  2. #2
    Join Date
    Sep 2004
    Location
    Mentor, Ohio
    Posts
    352


    Did you find this post helpful? Yes | No

    Smile

    Hi Eng4444,

    I'm glad to hear that you got it working. Now put the .1uF capacitors across each device and reset the project and see if it works. I slept in this morning so I'm running late for work. Keep plugging away!

    BobK

  3. #3
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Exclamation Same problem remaining..

    i got busy a bit and now i returned to work.

    I added the capacitors but nothing happened. the time is not advancing!!!!

    i changed the cristal (32.768) and placed a new one but also nothing happened...

    what is the reason??

    i can easily go to the menu and set the time and date whenever i want but after i see : "MEMORIZED", time and date freeze on LCD...

    can you help me Melanie? or anyone else..

    thanks.

  4. #4
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Angry Still not working...

    i added even a cristal 4M betweens pins 15 and 16 for the PIC16F628A with 2 capacitors but i'm still having same problem... time is not changing.

    It is just freezing on the LCD without any change...

    i also replaced the DS by a new IC and i still have the same problem..


    You guys should have expertise in those things and similar cases... i hope you will discover the matter...

    By the way, i also replaced the cristal of DS by another new one and i still have same problem...

    waiting for something from your part..

  5. #5
    Join Date
    Sep 2004
    Location
    Mentor, Ohio
    Posts
    352


    Did you find this post helpful? Yes | No

    Smile

    Hi Eng4444,

    Just got home from work and see that you are still having a problem. Just a quick question. Is the ability to set the time with the 3 push buttons really critical for you to show what you have done? If not then you could go to the part of the code that starts with "SETUP PRESET:" and enter the starting time and date manually. I will look over the code here this evening and get back to you on that.

    Adding the capacitors (.1uF) has nothing to do with this problem. They are part of good design practice.

    Just so I understand what has happened: You programmed the micro and the system started running and time and date was being displayed. You went into the set time and date mode and it accepted your time and date changes. Then you pressed the button to send you changes to the RTC and that's when it froze.

    I will look for that part of the code you sent me and compare it with Melanie's posted code. Just out of curiosity, did you copy and paste her code or did you retype the whole thing?

    Let me know. Thanks!

    BobK

  6. #6
    Join Date
    Sep 2004
    Location
    Mentor, Ohio
    Posts
    352


    Did you find this post helpful? Yes | No

    Smile

    HI Eng4444,

    The program listing that you sent me has the following last line:

    LCDOut $FE,1,"Memorised"

    Do you have anything after that? There's more to it like the part that writes the new values to the RTC. I got the following from Melanie's code:

    ' Make the User feel happy
    ' Save 12/24 Hours to BCD DS1307's Format
    ' ---------------------------------------
    CounterA=SetHour
    If SetTime=1 then
    If CounterA>12 then CounterA=CounterA-12
    If CounterA=0 then CounterA=12
    endif
    Gosub ConvertBCD
    RTCHour=CounterB

    ' Save the Hours Value

    If SetTime=1 then
    RTCHour.6=1
    ' Save the 12 Hour Mode Flag
    If SetHour=>12 then RTCHour.5=1
    ' Save the 'PM' Flag
    endif
    '
    ' Save Minutes
    ' ------------
    CounterA=SetMin
    Gosub ConvertBCD
    RTCMin=CounterB
    '
    ' Save Seconds
    ' ------------
    CounterA=SetSec
    Gosub ConvertBCD
    RTCSec=CounterB
    '
    ' Save Year
    ' ---------
    CounterA=SetYear
    Gosub ConvertBCD
    RTCYear=CounterB
    '
    ' Save Month
    ' ----------
    CounterA=SetMonth
    Gosub ConvertBCD
    RTCMonth=CounterB
    '
    ' Save Day
    ' --------
    CounterA=SetDay
    Gosub ConvertBCD
    RTCDay=CounterB
    '
    ' Calculate Day of Week & Save
    ' ----------------------------
    ' Melanie's fudge for calculating Days of Week
    ' using PBP's integer math...
    ' by the time someone's clock displays the
    ' the wrong Day of Week, I'll hopefully have long
    ' retired and be past caring...
    ' I wouldn't however go stick this routine in a
    ' Nuclear Power Station to purge the reactor
    ' every Monday morning without checking how far it
    ' will work before the integer math overflows...
    ' In my routine RTCWDay=1 is a Tuesday (the
    ' start of my week) and continues sequentially
    ' until RTCWDay=7 which is a Monday
    CounterA=SetYear+4
    CounterB=SetMonth
    If SetMonth<3 then
    CounterA=CounterA-1
    CounterB=CounterB+12
    endif
    CounterD=(SetDay+(153*CounterB-457)/5+365*CounterA+CounterA/4-CounterA/100+CounterA/400+2) MOD 7
    RTCWDay=CounterD+1
    '
    ' Do the Business
    ' ---------------
    I2CWrite SDApin,SCLpin,$D0,$00,RTCSec,RTCMin,RTCHour,RTCWDa y,RTCDay,RTCMonth,RTCYear,RTCCtrl]
    Pause 1000
    Gosub SetButtonRelease
    Goto ReDisplay
    endif
    Gosub SetButtonRelease
    Goto SetupLoop ' Loop for Next Menu Item
    endif
    '
    ' Menu TimeOut Counter
    ' --------------------
    Pause 1 ' Kill 1mS
    TimeOut=TimeOut+1
    If TimeOut>20000 then goto ReDisplay
    ' User paused too long
    ' Return User to Time & Date Display
    ' This will however bounce the User to the original
    ' Setup Menu start point if the DS1307 has not
    ' been initialised
    Goto SetupEntryLoop ' Loop for Button Press
    '
    End


    Check this out> It could be why you're not working.

    BobK

  7. #7
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Lightbulb Dear BobK,

    i re-donloaded the program but everything is still freezing.

    Time is not advancing (i mean being incremented).


    Melanie didn't answer yet so i think she might have a good answer...


    Today is my Presentation! :-)

  8. #8
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Arrow copy/paste.

    Quote Originally Posted by BobK
    Hi Eng4444,

    did you copy and paste her code or did you retype the whole thing?

    BobK
    i just copied and paste... why to type it again...?

    i wish it will work!

    It's so strange!

    i changed DS1307, PIC 16F628A, cristal 32,768...i changed them all to newer parts.. and then i re-downloaded the program..

    but there is something strange happening.

  9. #9
    Eng4444's Avatar
    Eng4444 Guest


    Did you find this post helpful? Yes | No

    Default i asked a professor

    He said that i should keep on clearing the PIC in order to make time advance...

    i dunno what does this mean but there is no "CLEAR" port on the 16f628A datasheet......

Similar Threads

  1. real time clock
    By maria in forum Code Examples
    Replies: 44
    Last Post: - 1st March 2022, 12:13
  2. Real Time Clock
    By in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 2nd June 2012, 04:52
  3. real time clock - PCF8583
    By maria in forum mel PIC BASIC Pro
    Replies: 14
    Last Post: - 15th April 2010, 15:41
  4. Real Time Clock
    By savnik in forum mel PIC BASIC Pro
    Replies: 5
    Last Post: - 8th December 2006, 02:02
  5. Real time clock... what a headache!
    By Eng4444 in forum mel PIC BASIC
    Replies: 2
    Last Post: - 8th June 2006, 21:56

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts