it works for me pbp3 pic16f1825 // ds1307 // pcf8574a either your code is wrong or your not connecting things properly
tested at 8mz an 32mhz the pcf8574a has no problem
Code:
#CONFIG
__config _CONFIG1, _WDTE_ON & _FOSC_INTOSC &_MCLRE_ON &_PWRTE_ON
__config _CONFIG2, _LVP_OFF & _PLLEN_ON
#ENDCONFIG
DEFINE OSC 32
pkt var byte[11]
MONTH VAR pkt[5]
DATE VAR pkt[4]
HOUR VAR pkt[2]
MINS VAR pkt[1]
DOW VAR pkt[3]
YEAR VAR pkt[6]
SEC VAR pkt[0]
cnt var byte
osccon=$70 '8 MHz or 32mhz
anselA=0 'dig i/o
ANSELC=0
TRISC= 111111
TRISA= 111110
SDA VAR PORTc.4 ; I2C Data pin
SCL VAR PORTc.3 ; I2C Clock Pin
pcf_Addr CON $78
rtc_Addr CON $d0
i2cwrite sda,scl,rtc_Addr,0,[$80,$14,$11,3,$14,1,$14] 'SANE TIME AND DATE
i2cwrite sda,scl,rtc_Addr,0,[$80] 'FORCE START IF REQ
i2cwrite sda,scl,rtc_Addr,0,[0]
main:
pause 2000
i2cREAD sda,scl,rtc_Addr,0,[str pkt \7 ]
serout2 porta.0,84 ,[HEX HOUR,":", HEX2 MINS, ":",HEX2 sec, " - ", HEX DATE,"/", HEX MONTH ,13,10]
i2cwrite sda,scl,pcf_Addr,0,[cnt]
cnt=cnt+1
goto main
Bookmarks