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

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

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

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

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

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

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

 
Опции темы

DS1307 стоят. Хотя CH = 0. Почему???

Непрочитано 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,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
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,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
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,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
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.RUN
 
Регистрация: 13.12.2004
Сообщений: 3,168
Сказал спасибо: 11
Сказали Спасибо 691 раз(а) в 503 сообщении(ях)
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, время: 18:42.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.