[an error occurred while processing this directive]
|
void WrRTC(unsigned char regAddr, unsigned char regData)
{
unsigned char data i;
P1MDOUT = 0xe0;
RSTC = 1;
for (i = 0; i < 8; i++)
{
regAddr >>= 1;
DATAC = CY;
CLKC = 1;
CLKC = 0;
}
for (i = 0; i < 8; i++)
{
regData >>= 1;
DATAC = CY;
CLKC = 1;
CLKC = 0;
}
RSTC = 0;
}
unsigned char RdRTC(unsigned char regAddr)
{
unsigned char data byte, i;
RSTC = 1;
for (i = 0; i < 8; i++)
{
regAddr >>= 1;
DATAC = CY;
CLKC = 1;
if(i == 8) P1MDOUT = 0xa0;
CLKC = 0;
}
for (i = 0; i < 8; i++)
{
byte >>= 1;
if(DATAC) byte |= 0x80;
else byte &= ~0x80;
CLKC = 1;
CLKC = 0;
}
P1MDOUT = 0xe0;
RSTC = 0;
return byte;
}
// Чтение секунд, минут и часов
tCH0 = RdRTC(0x81);
sec = tCH0 & 0x0f;
sec10 = (tCH0 >> 4) & 0x07;
tCH0 = RdRTC(0x83);
min = tCH0 & 0x0f;
min10 = (tCH0 >> 4) & 0x07;
tCH0 = RdRTC(0x85);
hr = tCH0 & 0x0f;
hr10 = (tCH0 >> 4) & 0x03;
E-mail: info@telesys.ru