electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

Interfacing V3021


Post new topic  Reply to topic    EDAboard.com Forum Index -> Microcontrollers -> Interfacing V3021
Author Message
stroma



Joined: 25 Apr 2002
Posts: 114
Helped: 3


Post17 Dec 2003 16:42   

v3021 clock


hi all,
I’m trying to interface V3021 real time clock to PIC18F458 but have some problems. I can’t get V3021 running every time. It seems to me that it is not initialized properly. This is control functions I wrote:

#define TRISCIO TRISC2
#define INPUT 1
#define OUTPUT 0
//CS pin of V3021 is permanently connected to GND
volatile bit CWR @ ((unsigned)&PORTC*8+0); //to WR pin of V3021
volatile bit CRD @ ((unsigned)&PORTC*8+1); //to RD pin of V3021
volatile bit CIO @ ((unsigned)&PORTC*8+2); //to IO pin of V3021

void delay(void)
{
CLRWDT();
CLRWDT();
CLRWDT();
CLRWDT();
}

unsigned char rtc_get_data(unsigned char addr)
{
unsigned char i;
unsigned char data;
CLRWDT();
data = 0;
CRD = 1;
CWR = 1;
TRISCIO = OUTPUT;
delay();
for (i=0;i<4;i++)
{
CIO = addr;
delay();
CWR = 0;
delay();
CWR = 1;
addr >>= 1;
}
TRISCIO = INPUT;
for (i=0;i<8;i++)
{
data >>= 1;
delay();
CRD = 0;
delay();
if (CIO)
{
data |= 0x80;
}
CRD = 1;
}
return(data);
}

void rtc_put_data(unsigned char addr, unsigned char data)
{
unsigned char i;
CLRWDT();
CRD = 1;
CWR = 1;
TRISCIO = OUTPUT;
delay();
for (i=0;i<4;i++)
{
CIO = addr;
delay();
CWR = 0;
delay();
CWR = 1;
addr >>= 1;
}
for (i=0;i<8;i++)
{
CIO = data;
delay();
CWR = 0;
delay();
CWR = 1;
data >>= 1;
}
TRISCIO = INPUT;
}

void rtc_put_cmd(unsigned char cmd)
{
unsigned char i;
CLRWDT();
CRD = 1;
CWR = 1;
TRISCIO = OUTPUT;
for (i=0;i<4;i++)
{
CIO = cmd;
delay();
CWR = 0;
delay();
CWR = 1;
cmd >>= 1;
}
TRISCIO = INPUT;
}

void rtc_reset()
{
unsigned char i;
CLRWDT();
CRD = 1;
CWR = 1;
TRISCIO = INPUT;
for (i=0;i<8;i++)
{
CRD = 0;
delay();
CRD = 1;
}
}

Anyone has experience with this RTC ? help please!
Thanks.
Back to top
Google
AdSense
Google Adsense




Post17 Dec 2003 16:42   

Ads




Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> Microcontrollers -> Interfacing V3021
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
I/O Interfacing (15)
Interfacing 3.3 to 5V (17)
interfacing PC (3)
interfacing (9)
Interfacing (1)
Interfacing (3)
interfacing (7)
interfacing (5)
interfacing (7)
Interfacing 5v Tx to 3.3v Rx? (4)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS