[an error occurred while processing this directive]
DS1302 в паре c C8051F331...
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено zlogic 29 мая 2006 г. 16:37
В ответ на: Не поделится ли кто исходниками по обмену данными между DS1302 и MC-51. Прога из Далассова даташита что-то не работают :( отправлено <font color=gray>AndyR</font> 29 мая 2006 г. 12:04

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: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru