Hi,
this is the correct program:
define OSC 4
include"modedefs.bas"
' Set LCD Data port
DEFINE LCD_DREG PORTD
' Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
' Set LCD Register Select port
DEFINE LCD_RSREG PORTD
' Set LCD Register Select bit
DEFINE LCD_RSBIT 1
' Set LCD Enable port
DEFINE LCD_EREG PORTD
' Set LCD Enable bit
DEFINE LCD_EBIT 0
' Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
' Set number of lines on LCD
DEFINE LCD_LINES 2
ADCON1=7
pause 100
TRISC= %11111111
SDA var PORTC.0
SCL var PORTC.1
DB0 var byte[8]
CMCON = %00000111 ' Comparators = off
pause 1000
gosub write_1307
read_1307:
' Read time Secs,Mins,Hours,Day,Date,Month,Year,Control
I2CREAD SDA,SCL,$D1,$00,[STR DB0\8] ' Read 8 bytes from DS1307
lcdout $fe,1,"Time=",hex2 DB0[2],":",hex2 DB0[1]
pause 2000
goto read_1307
end
Write_1307:
' Set time & date to 15:55:00 Tuesday 6th of July 2004
I2CWRITE SDA,SCL,$D0,$00,[$00,$55,$15,$2,$6,$7,$4,$90] ' Write to DS1307
pause 10
RETURN ' Sec Min Hr Day D M Y Control
if you use PORTA , you should define like this:
SDA var PORTA.0
SCL var PORTA.1
if you have problem,ask me again , maby i have some problem with this program because i haven't work with micro controllers for 6 month and i have forgatten the correct code so if you have problem ask me again to study more and answer your question.