Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 18.03.2011, 12:33  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
Вопрос DS1307 стоят. Хотя CH = 0. Почему???

Здравствуйте. DS1307 не стартует. Хотя CH = 0. Параметры считываются. А часы не идут.

Код:
unsigned char hour,min,sec; //часы, минуты, секунды
unsigned char day,month,year; //день, месяц, год
...
void DS1307_on () {
  unsigned char tmp;
  tmp = rtc_read(0x00);
  tmp &=~(1‹‹7);
  rtc_write(0x00, tmp); //включение DS1307, бит 7 ноль
  tmp = rtc_read(0x02);
  tmp &=~(1‹‹6);
  rtc_write(0x02, tmp); // бит 6 ноль - 24ох часовой режим
}
...
DS1307_on ();
rtc_init (0,0,0);
rtc_set_time (bin2bcd(20),bin2bcd(47),bin2bcd(12));
rtc_set_date (bin2bcd(17),bin2bcd(03),bin2bcd(11));
...
while (1) {
  rtc_get_time(&hour,&min,&sec); //считать время
  rtc_get_date(&day,&month,&year); //считать дату
      
  sec = bcd2bin(sec);
  min = bcd2bin(min);
  hour = bcd2bin(hour);
  day = bcd2bin(day);
  month = bcd2bin(month);
  year = bcd2bin(year);

  sprintf(cnt,"%u:%u:%u",hour,min,sec);
  put_string(50, 60,cnt, 0x07E0, 2);       // выводим на экран время
  sprintf(cnt,"%u:%u:%u",day,month,year);          
  put_string(20, 90,cnt, 0x07E0, 2);       // выводим на экран дату
}
[attachment=99832:Дисплей.jpg]

Использую аппаратный TWI. Т.е. rtc_get_time / rtc_get_date вроде считывает правильно всё. Что установили то и отображается на экране. Но часы не идут. Стоят. Что за ерунда. Схема во вложении. Тестирую в железе.
Миниатюры:
Нажмите на изображение для увеличения
Название: Дисплей.jpg
Просмотров: 101
Размер:	415.4 Кб
ID:	19892   Нажмите на изображение для увеличения
Название: 0.jpg
Просмотров: 179
Размер:	69.4 Кб
ID:	19895  
Реклама:
mr_smit вне форума  
Непрочитано 18.03.2011, 12:39  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

В железе пойдут. То, что вы пририсовали кварц и подсписали его 32768 еще не означает, что он будет работать. Ставьте примитив генератор на эту частоту.
Easyrider83 вне форума  
Непрочитано 18.03.2011, 13:14  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

У меня такая же хрень была на MicroC.Использовал свои библиотеки.Хотя в CVAVR, IAR и WinAVR для avr, в PIC CCS для PIC-ов, Keil для 51 ничего подобного не случалось.
Vov123 вне форума  
Непрочитано 18.03.2011, 14:21  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Сообщение от Easyrider83 Посмотреть сообщение
В железе пойдут...
У меня в железе не идет! А схема просто чтобы показать как всё подключено...

Последний раз редактировалось mr_smit; 18.03.2011 в 14:23.
mr_smit вне форума  
Непрочитано 18.03.2011, 14:54  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Сообщение от mr_smit Посмотреть сообщение
У меня в железе не идет! А схема просто чтобы показать как всё подключено...
А конденсаторы кварц подпирают?
Easyrider83 вне форума  
Непрочитано 18.03.2011, 17:01  
dimka11
Временная регистрация
 
Регистрация: 04.04.2008
Сообщений: 49
Сказал спасибо: 29
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
dimka11 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Судя по даташиту конденсаторы не нужны.
dimka11 вне форума  
Непрочитано 18.03.2011, 17:06  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Вообще 32768 прекрасно видно осциллографом. Есть там что-нибудь?
Вы испсользуете встроенные библиотеки. Как они работают, знают только разработчики.
Easyrider83 вне форума  
Непрочитано 18.03.2011, 18:08  
mr_smit
Временная регистрация
 
Аватар для mr_smit
 
Регистрация: 14.09.2009
Сообщений: 87
Сказал спасибо: 6
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
mr_smit на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Взял осциллограф. Фото прилагается.

И тут я вспомнил что у меня где то валялись старые электронные часы без батареек. Там же есть кварц!!! Нашел их. Там нужны 2 маленьких круглых батарейки. Их естественно нет. Просто подал 2,5 В с блока питания. Часы включились. И бодро пошли. Приложил щупы к ногам кварца НА ЧАСАХ и увидел там точно такую же картину 50 Гц. Что то я в замешательстве. Часы то идут!!!

P.S. Сделал rtc_init(1, 1, 0); - на 7 ножке должно быть 4096 Гц. На 7 ножке при этом тихо.

Что я делаю не так??? И почему rtc_get_time / rtc_get_date вроде как считывают установленное???
Миниатюры:
Нажмите на изображение для увеличения
Название: Osc.jpg
Просмотров: 60
Размер:	466.4 Кб
ID:	19918  

Последний раз редактировалось mr_smit; 18.03.2011 в 18:28.
mr_smit вне форума  
Непрочитано 18.03.2011, 18:29  
dimka11
Временная регистрация
 
Регистрация: 04.04.2008
Сообщений: 49
Сказал спасибо: 29
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
dimka11 на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Сообщение от mr_smit Посмотреть сообщение
и увидел там точно такую же картину 50 Гц
Дык должно быть 32768 а не 50, наверно врет ваш осциллограф.
dimka11 вне форума  
Непрочитано 18.03.2011, 18:38  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: DS1307 стоят. Хотя CH = 0. Почему???

Сообщение от mr_smit Посмотреть сообщение
И почему rtc_get_time / rtc_get_date вроде как считывают установленное???
А чего бы им не читать? Шина I2C асинхронная, ей тактирование извне подается. Писать/читать будет. А вот чтоб часы пошли должен генератор завестись. Конденсаторы ему не нужны, а вот отмытый флюс обязательное условие стабильной работы. Там микротоковый реижим и любая утечка срывает генерацию. Так что прогрейте выводы связанные с резонатором, отмойте флюс. Если не поможет - меняйте кварц.
kison вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему диммер на симисторе не продляет, а укорачивает жизнь лампам накаливания? Alex9797 Источники питания и свет 106 21.05.2016 01:54
Есть схема, имеются простые вопросы: почему так, а не этак? already_over Электроника - это просто 4 17.11.2010 22:27
ATmega64 и DS1307 sersne Микроконтроллеры, АЦП, память и т.д 1 08.06.2010 21:54
RTC DS1307, контроллер, LCD... какая идеология работы? chapa Микроконтроллеры, АЦП, память и т.д 4 24.11.2009 18:28


Часовой пояс GMT +4, время: 15:44.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot