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

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

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

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

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

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

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

 
Опции темы
Непрочитано 04.11.2008, 12:59  
AlexTA
Прописка
 
Регистрация: 07.10.2006
Сообщений: 108
Сказал спасибо: 0
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
AlexTA на пути к лучшему
По умолчанию

День получить вроде просто :
Код:
lcd_puts(s);
      rr[6] = rr[6]&0x3F; 
      sprintf(s,"Data %X:%X",rr[5],rr[6]);  //отображаем дату
      lcd_gotoxy(4,1);
      lcd_puts(s);
Прикрепленный файл: 6009109.zip
Реклама:
AlexTA вне форума  
Непрочитано 04.11.2008, 13:13  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от Vov123
В даташите на PCF8583 указано-регистр 05h биты 6 и 7 отвечают за год,бит 4 и 5 за десятки дней,бит 0-4 за единицы дней.Вот мой вопрос и был,как вы ответили-"воспользоваться библиотекой и преобразованиями".Это я и сам знаю,не знаю-КАК?
По поводу флага "mask" вообще интересная штука получается-при его включении часы не работают.Если не верите,попробуйте,ведь проект я к чему прикрепил.
Ясно. Тогда по порядку. Имеется переменная unsigned char x. В ней год и дата(день месяца) оптом. Есть еще две переменных такого же типа y и d, в них мы хотим получить год и день соответственно.
Код:
y = x ›› 6; // в y год
d = bcd2bin(x & 0x3F); // в d день
Ну и в начале модуля должно быть #include ‹bcd.h›
kison вне форума  
Непрочитано 04.11.2008, 13:20  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

За подсказку большое спасибо.
Принцип понятен и даже всё работает,только число надо 0x1F.
Vov123 вне форума  
Непрочитано 04.11.2008, 13:27  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

Может кому понадобится готовый рабочий макет,а проц. можно взять любой из ATMEGA

Прикрепленный файл: 9564785.rar
Vov123 вне форума  
Непрочитано 04.11.2008, 13:46  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от Vov123
За подсказку большое спасибо.
Принцип понятен и даже всё работает,только число надо 0x1F.
Если будет 0x1F то надо изменять мировые принципы исчесления даты. Потому что последним числом в любом месяце будет 19-ое
kison вне форума  
Непрочитано 04.11.2008, 17:03  
sasareccer
Частый гость
 
Аватар для sasareccer
 
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
sasareccer на пути к лучшему
По умолчанию

Супер. Пока меня "не было" тут столько всего интересного появилось. to Vov123 спасибо за помощь, Вы мне помогли. Я тоже попробовал посмотреть Ваш проект, посмотрите в прикрепленном файле. Хотя, может быть я малость запоздал, здесь уже многие написали свои варианты.

Прикрепленный файл: 85404.rar
sasareccer вне форума  
Непрочитано 05.11.2008, 13:23  
sasareccer
Частый гость
 
Аватар для sasareccer
 
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
sasareccer на пути к лучшему
По умолчанию

Сообщение от sasareccer
Супер. Пока меня "не было" тут столько всего интересного появилось. to Vov123 спасибо за помощь, Вы мне помогли. Я тоже попробовал посмотреть Ваш проект, посмотрите в прикрепленном файле. Хотя, может быть я малость запоздал, здесь уже многие написали свои варианты.
Упс, ошибочка махонькая в моём предыдущем посте. Не учел, что у буржуев неделя начинается не с ПОНЕДЕЛЬНИКА, а с ВОСКРЕСЕНЬЯ, поэтому строку
Код:
unsigned char *w[7]={"понед","вторн","среда","четвг","пятнц","субот","воскр"};
надо написать вот так:
Код:
unsigned char *w[7]={"воскр","понед","вторн","среда","четвг","пятнц","субот"};
и тогда день недели будет правильно отображаться. Сорри за доставленные неудобства

Прикрепленный файл: 85404.rar
sasareccer вне форума  
Непрочитано 05.11.2008, 14:27  
Vov123
Вид на жительство
 
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
Vov123 на пути к лучшему
По умолчанию

kison,опять моя невнимательность меня подвела,извините.0x1F-правильно,т.к.в регистре 05h не два последних бита-год,а три день недели.

Вам,sasareccer,моя благодарность,то что мне и было надо.
Vov123 вне форума  
Непрочитано 11.05.2009, 16:55  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию

А разве нельзя в CVAVR использовать библиотеку:
Код:
// PCF8583 Real Time Clock functions
#include ‹pcf8583.h›
и использовать готовые функции:
Код:
  rtc_set_time(0, bin2bcd(hr), bin2bcd(mins), bin2bcd(sec), bin2bcd(msec));     //записать время
  temp_Y = (int)Y;
  bin2bcd(temp_Y);
  rtc_set_date(0, bin2bcd(day), bin2bcd(M), temp_Y);          //записать дату
и
Код:
  rtc_get_time(0, &hr, &mins, &sec, &msec); //считать время
  hr=bcd2bin(hr); 
  mins=bcd2bin(mins); 
  sec=bcd2bin(sec);
  rtc_get_date(0, &day, &M, &local_y); //считать дату
IOPA4 вне форума  
Непрочитано 07.09.2009, 10:50  
JOHN_PRESTEN
Прохожий
 
Регистрация: 07.09.2009
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
JOHN_PRESTEN на пути к лучшему
По умолчанию Re: Не пойму (DS1307+mega8+CodeVisionAVR)

Привет всем! Из всего этого у меня появился впрос - как редактировать время и дату в этой микрухе (DS1307)?

Последний раз редактировалось JOHN_PRESTEN; 07.09.2009 в 11:00.
JOHN_PRESTEN вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DS1307 спешит disist Микроконтроллеры, АЦП, память и т.д 43 25.04.2018 16:57
PROTEUS+DS1307 помощь greesha_demchuk Proteus 26 26.06.2012 18:51
Atmega32, DS1307 и 20Мгц sliam Микроконтроллеры, АЦП, память и т.д 6 28.01.2009 12:40
глючит DS1307! stri Микроконтроллеры, АЦП, память и т.д 3 28.09.2007 08:13
Проблемы с ds1307 droom Микроконтроллеры, АЦП, память и т.д 1 13.12.2006 07:36


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


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