|  |  |  | 
|  | Я в том смысле, что я не задаю день недели вручную и поэтому он начинает считать от дня подачи  питания, а не согласно установленной дате. | 
 | 
|  | Сергей К: Я в том смысле, что я не задаю день недели вручную и поэтому он начинает считать от дня подачи питания, а не согласно установленной дате.Понятно(теперь наверное я понял) - т.е. нужна "автоматическая" коррекция, т.е. меняем день недели - должна меняться дата(день месяца), месяц и год также само и соответсвенно и автоматически внутри м/с. Но это нужно же иметь внутри отдельный небольшой процессор для такой корректировки или иметь какое-то масочное ПЗУ внутри через которое как бы "фильтруются" все показания в м/с и соответственно меняются. Но этого нет и видимо это по причине чрезмерного усложнения конструкции и вероятного увеличения потребления м/с. Тут надо уже самому об этом "заботиться"(т.е. внешний процессор это и должен делать). Кстати неплохая идея - может доработать так свои часы-будильник-термометр? У меня своя "разработка" на PIC16F876A? DS1307, D18S20 и ЖКИ. Кстати будильники на каждый день недели разные у меня. Код для DS1820 у меня сооптимизирован как считаю, в отличие от того, что вижу в нете и могу привести. Показания с DS1820 считываю тоже раз в 10 секунд!(как-то сам "допер", что чаще и не надо особо). В общем вот так. Файл тот кстати, у меня так и не прикрепился почему-то.
 | 
 | 
|  | Только заметил тему.Сергей К: 1. День недели нужно вручную устанавливать? Микросхема не умеет его сама посчитать?
 День недели, пон. вт. ср. ..., задается в ручную, автоматического расчета в DS1307 нет
  . В прочем как и автоматического перехода зима/лето. PS: А в природе существуют мс. RTC на подобие DS1307 в которых реализован полноценный календарь + переход зима/лето и т.п.? | 
 | 
|  | AlexAlcoa: А в природе существуют мс. RTC на подобие DS1307 в которых реализован полноценный календарь + переход зима/лето и т.п.?Знаю, что с "automatic leap year compensation" есть(специально оставил так фразу на англ. и можно использовать для поиска). Может среди них искать? Но ИМХО не будет таких. Впрочем не знаю.
 
 | 
 | 
|  | AleksBak: PIC16F876A? DS1307, D18S20 и ЖКИу меня PIC16F887, а остальное такое же
  AlexAlcoa: задается в ручную, автоматического расчета в DS1307 нетСпасибо. Это меня и интересовало. Буду думать над автоматическим расчетом.
 | 
 | 
|  | Сергей К: Буду думать над автоматическим расчетом Спасибо за наводку на алгоритм. ------А кто нибудь уже обсчитал формулу для дня недели? У меня получаются результаты намного больше 0-7, считал в exel-e.
 Что означает выражение "ЗАЛИШОК 7"
 
 | 
 | 
|  | Залишок (укр) - остаток. | 
 | 
|  | петр1: Залишок (укр) - остаток. Спс.Странно откуда там возьмется остаток, если все вычисления целочисленные "Всі ділення цілочисельні" или я ошибаюсь?
 Для примера файл exel для обсчета дня недели, но результат не понятный. 171082.xls | 
 | 
|  | Не знаю пока.Может больше 7и?
 Надо внедряться в проект.
  | 
 | 
|  | На русской вике больше информации есть, вот оттуда: Реализация на C: /*** taviscaron (c)
 */
 struct struct_date
 {
 char day;
 char month;
 short year;
 };
 char what_day(const struct struct_date * const date)
 {
 int a = (14 - date->month) / 12;
 int y = date->year - a;
 int m = date->month + 12 * a - 2;
 return (7000 + (date->day + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12)) % 7;
 
 | 
 | 
|  |  |  |