реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Работа с DS1305(6), Часы не заводятся
Oleg_IT
сообщение Feb 4 2006, 15:20
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Пытаюсь работать с часами. Сначала взял HT1380. Мучался, мучался, не заводятся и всё. Взял DS1305(6). Всё сделал строго по даташиту (TYPICAL OPERATING CIRCUIT), выводы 2, 14, 16 к +5 В (стабилизатор). 1, 8, 9 к GND. Работаю с AVR по трёх проводной шине (вывод 9 на GND).
И эти стоят.
Точно, что-то я не так делаю, но что не пойму. Может быть проблема с кварцами? Ёмкости к нему обязательны (в даташите нет рекомендации), если я просто пока завести их хочу, не обращая внимания на точность?
Поделитесь кодом работы с DS1305, DS1306 и с HT1380.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Feb 4 2006, 15:31
Сообщение #2


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



хотя DS1307 маненько другие часы
тоже помню дергался с пуском часов - не идут и все
потом когда более внимательно читал даташит увидел что нужно где то что обнулить
в каких то служебных ячейках (извини конкретней не помню)
может у тебя таже беда?
посмотри внимательней даташит я с 1305-06 не работал


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
Spider
сообщение Feb 4 2006, 15:44
Сообщение #3


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



буквально на днях запускал 1307, там надо записать 0 в старший бит нулевого регистра, тока тогда запускается генератор.
Go to the top of the page
 
+Quote Post
Oleg_IT
сообщение Feb 4 2006, 16:05
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Да, обнулить нужно в «CONTROL REGISTER» бит «EOSC (Enable Oscillator)», седьмой бит. Но там ещё есть шестой бит WP (Write Protect). При единице он блокирует вообще всё, в том числе и соседние биты. И при включении он не определён. Посылал туда 0x8F, 0x00. тишина!

Там ещё есть такое понятие как максимальный промежуток времени. Что будет если его не выдерживать? Может в этом проблема?
Go to the top of the page
 
+Quote Post
BlackJack
сообщение Feb 4 2006, 17:09
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 6-10-05
Пользователь №: 9 276



Я раьотал с 1305 , но давно.
Из фишек помню только то, что если напряжение на батарейном питании есть и оно ниже чем на просто питании, они не ходят.
Ну а код посмотрю, если в старых проектах найду, выложу.


вот что нашел. Это работало.
камень 8535

#define wait1 __delay_cycles(200)
#define wait5 __delay_cycles(480)
#define onRTC PORTD|=0x80;
#define offRTC PORTD&=~0x80;
#define wSPI while (!(SPSR & 0x80))


// тнициализация DS1305
//----------------------------
for (j=0;j<=2;j++)
{// онициялизация регистров управления
onRTC;
wait1;
SPCR = 0x5f; //0x5C; //вкл SPI
SPDR=0x8f; //адрес CR
wSPI; //
SPDR=j; //вкл OSC, off WR, потом вкл реж прерывания INT0
wSPI; //
SPCR = 0x00; //выкл SPI
offRTC;
wait50;
};
//-----------------------------------------

//-----------------------------------------
wait50;
onRTC;// PORTD|=0x80;
wait1;
SPCR = 0x5f; //0x5C; //вкл SPI
SPDR=0x87; //адрес pfgbcb
wSPI; //

//07h
SPDR = 0x80; // записываем Al0 sec , без маски
wSPI; //
SPDR = 0x80; // записываем Al0 min с маской.
wSPI; //
SPDR = 0x80; // записываем Al 0hr
wSPI; //
SPDR = 0x80; // записываем Al 0day
wSPI; //
//0bh
SPDR = 0x80; // записываем Al 1sec , без маски?если надо раз в минуту
wSPI; //
SPDR = 0x80; // записываем Al 1min с маской.
wSPI; //
SPDR = 0x80; // записываем Al 1hr
wSPI; //
SPDR = 0x80; // записываем Al 1day
wSPI; //
SPCR = 0x00; //выкл SPI
offRTC;//PORTD&=~0x80;
wait50;

//--------Прпочитаем время, чтобы сбросить прерывание---------------------
onRTC;
wait1;
SPCR = 0x5f; //0x5C; //вкл SPI
SPDR=0; //адрес чтения часов
wSPI; //
for (j=0;j<=18;j++){
SPDR = 0xFF; // з
wSPI; //
i = SPDR; //
//Sendchar(i);
};
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 08:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016