PIC16F887 and DS1307


Closed Thread
Results 1 to 22 of 22

Hybrid View

  1. #1
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by menta View Post
    Well, i write the time, then I keep reading it, isn't it suppose to be chance every second when I keep reading it ?
    I don't know if it's supposed to chance every second, but if the clock is running, it may change every second.

    pullups, you mean resistors ? I tried, then I only got 16 or 32 instead of 0
    Complete this sentence:
    The value of my resistors connected to +5v and to the I2C clock and data line is __________."

  2. #2
    Join Date
    Jun 2008
    Posts
    84


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by skimask View Post
    The value of my resistors connected to +5v and to the I2C clock and data line is ____10k____."
    ..........

  3. #3


    Did you find this post helpful? Yes | No

    Default rtc

    control register may need to be set

    alsoooooo....
    the I2c read and write address/control string have to be different, I just used binary 00011110 (just an example) to make sure the read write is correctly coded.

    don
    Last edited by amgen; - 28th June 2008 at 00:07.

  4. #4
    Join Date
    Jun 2008
    Posts
    84


    Did you find this post helpful? Yes | No

    Default

    tried that already. It doesn't help.
    What do you mean by "the I2c read and write address/control string have to be different" ?

  5. #5


    Did you find this post helpful? Yes | No

    Default rtc

    RTCADW CON %11010000 'DS1307 RTC ADDRESS SEND...RECEIVE
    RTCADR CON %11010001

    I2CWRITE SDA,SCL,RTCADW,7 ,%00010011 'TURN ON SQU WAVE OUT 32k HZ

    I2CREAD SDA,SCL,RTCADR,0,[RTC[1],RTC[2],RTC[3],RTC[4],RTC[5],RTC[6],RTC[7]]


    from my rtc stuff
    don

  6. #6
    Join Date
    Jun 2008
    Posts
    84


    Did you find this post helpful? Yes | No

    Default

    Ok, So I tried to use your example.
    Still getting '0' when reading. If i use 10K resistors on the SDA and SCL I get '16'

    Code:
    INCLUDE "modedefs.bas"
        RTC     VAR BYTE[8] ' Data byte array
    
    RTCADW CON %11010000 'DS1307 RTC ADDRESS SEND...RECEIVE
    RTCADR CON %11010001 
    SDA var PORTC.4
    SCL var PORTC.3
    pause 1000
    I2CWRITE SDA,SCL,RTCADW,7,%00010011 'TURN ON SQU WAVE OUT 32k HZ
    
    main:
    ;I2CREAD PORTC.4,PORTC.3,%11010000,$00,[RTCSec]
    I2CREAD SDA,SCL,RTCADR,0,[RTC[1],RTC[2],RTC[3],RTC[4],RTC[5],RTC[6],RTC[7]]
    SEROUT PORTC.6,6,[254,1]
    toggle PORTD.7 : pause 1000
    SEROUT PORTC.6,6,[254,128,#RTC[1]]
    pause 1000
    goto main

  7. #7


    Did you find this post helpful? Yes | No

    Default

    well,
    data on 1307 is hex so.......

    SEROUT2 PORTA.0,6,1,[ "_T" ,HEX RTC[6],"/",HEX2 RTC[5],"/20",_
    HEX2 RTC[7]," , ",HEX RTC[3],":",HEX2 RTC[2],":",HEX2 RTC[1]," ",RTC[9],"M _" ]
    ( use your own port etc.)

    the voltage on SCL & SDA (to gnd) has to be +5 at rest, no signal . Thats what the 10k resisters do.

    also, you can check square wave out at 1 HZ with led/resister on the output pin of 1307 as visual check of rtc.
    I2CWRITE SDA,SCL,RTCADW,7,%00010000 'TURN ON SQU WAVE OUT to...1... HZ
    Last edited by amgen; - 28th June 2008 at 03:10.

  8. #8
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    PBP handles the R/W bit for you just like it says in the manual...so...
    Code:
    INCLUDE "modedefs.bas"
    RTC VAR BYTE[8] ' Data byte array
    RTC CON %11010000 'DS1307 RTC ADDRESS SEND...RECEIVE
    SDA var PORTC.4
    SCL var PORTC.3
    pause 1000
    I2CWRITE SDA,SCL,RTC,7,%00010011 'TURN ON SQU WAVE OUT 32k HZ
    main:
    I2CREAD SDA,SCL,RTC,0,[RTC[1],RTC[2],RTC[3],RTC[4],RTC[5],RTC[6],RTC[7]]
    SEROUT PORTC.6,6,[254,1]
    toggle PORTD.7 : pause 1000
    SEROUT PORTC.6,6,[254,128,#RTC[1]]
    pause 1000
    goto main

Similar Threads

  1. Pic16f887 vs ds1307
    By larzazral in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 30th January 2010, 04:12

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