Помогите с кодом для PCF8583

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Здравствуйте уважаемые форумчане! Мяу! Я впервые сталкиваюсь с RTC микросхемами. В частности столкнулся с PCF8583. Я никак немогу разобраться, как считать информацию о времени и дате с PCF8583 в переменную, чтоб затем вывести её на дисплей. Для считывания использую Atmeg32. Искал в инете примеры кодов, почти ничего не нашёл.. Помогите пожалуйста! :)
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Реклама
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Danko »

Язык ?
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Си
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Danko »

в CVAVR есть готовая библиотека.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Реклама
Эиком - электронные компоненты и радиодетали
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

А как эта библиотечка называется? Не подскажите? Я смотрел, что - то не нашёл.. Есть I2C библиотека, которую я видел..
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Реклама
Аватара пользователя
evgeniy66
Нашел транзистор. Понюхал.
Сообщения: 151
Зарегистрирован: Пт май 01, 2009 08:58:42
Откуда: г. Коломна
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение evgeniy66 »

Andrew_7 писал(а):А как эта библиотечка называется? Не подскажите? Я смотрел, что - то не нашёл.. Есть I2C библиотека, которую я видел..

Вот если это библиотеку активировать, то там станут видны дополнительные закладки, где есть и Ваша микросхема.
Реклама
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Как опросить микруху я понимаю, возможно я неправильно выразился, прошу прощения за это.. Я не могу разобраться, как данные принятые от неё, вывести на дисрлей..
Приведу часть кода подпрограммы:

lcd_clear();
// Place your code here
i2c_start();
i2c_read(0);
rtc_get_time(0, &Hour, &Mins, &Sec, &Set_Msec);
rtc_get_date(0, &Day, &Mon, &Year);
i2c_stop();

};

Инициализация i2c проходит выше, этот кусок программы я просто не вставил. Вопрос в том, как полученные данные от часов, содержащихся в rtc_get_time вывести на дисплей? Я так понимаю надо сделать какое - то преобразование данных в char?
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Danko »

Andrew_7 писал(а): i2c_start();
i2c_read(0);
};
Andrew_7 писал(а): i2c_stop(0);

это находится внутри библиотеки и вам его трогать не нужно.

откройте папку examples, где найдете примеры работы с LCD да и RTC тоже.


Andrew_7 писал(а):Как опросить микруху я понимаю
похоже не совсем
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Danko, вы не могли бы дать пример? Я там нашёл примеры только по работе с DS1820 и прочими.. Пока не разобрался..
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Я в этом деле новичок.. ) Помогите пожалуйста :)
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Помогите с кодом для PCF8583

Сообщение Vov123 »

http://embedded.ifmo.ru/sdk/sdk11/doc/s ... 1_0_11.pdf
стр.46-63
Довольно подробно про эту м-му по русски описано.Кстати в проте отлично моделируется.

Вот ещё,со староглиняных времён сохранилось,с какого-то форума.
Вложения
Спасибо за ответ.rar
(12.28 КБ) 253 скачивания
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Вечером займусь, спасибо Vov123! :)
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Посмотрел я документ этот. Всё равно не понял, как же из rtc_get_time вывести информацию на дисплей. Пример в документе дан только для внешней памяти. Может у кого есть готовый код? Поделитесь пожалуйста...
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Danko »

Andrew_7, что может быть проще?

Код: Выделить всё

while (1)
      {
      rtc_get_time(0, &my_hour, &my_min, &my_sec, &my_hsec); // прочесть из часов время

      sprintf(lcd_buffer, "%u:%u:%u.%u", my_hour, my_min, my_sec, my_hsec);  // отпечатать в переменную (буфер)
      lcd_clear();                                                           // очистить экран и установить координаты 0:0
      lcd_puts(lcd_buffer);                                                  // вывести строку (буфер) на LCD
     
      delay_ms(100); //задержка на 0,1 сек

      };
}
пользовался только примерами из CVAVR

в архиве проект для CVAVR и для Proteus
Вложения
test_Mega32_PCF8583_LCD1602.zip
(19.53 КБ) 280 скачиваний
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Спасибо большое за пример! Значит я близко был.. )
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Ребят! Спасибо всем за помощь! Всё работает!
Маленький вопросик только.. Позвольте уж.. :)

Сейчас выводит дату и время программа на дисплей, но дата в формате 8/7/1
то есть 8 число, 7 месяц, 2010 год, как можно добавить нули, чтоб получилось: 08/07/2010 ?
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Помогите с кодом для PCF8583

Сообщение Vov123 »

дата/10 дата%10 / месяц/10 месяц%10
Andrew_7
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Вт сен 04, 2007 19:50:22
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Andrew_7 »

Vov123, можете показать в коде, плизз? У меня не получается.. Не срабатывает..
Чтобы удивиться - достаточно одной минуты, чтобы сделать удивительную вещь - нужны долгие годы.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Помогите с кодом для PCF8583

Сообщение Vov123 »

Про год я уже не помню как там,ну вот к примеру с часами вот так:
sprintf(buf,"%u%u:%u%u:%u%u",hour/10,hour%10,min/10,min%10,sec/10,sec%10);
так-же поступите с днями и месяцами,хотя им можно применить имена собственные.
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: Помогите с кодом для PCF8583

Сообщение Danko »

Andrew_7 писал(а):Сейчас выводит дату и время программа на дисплей, но дата в формате 8/7/1
то есть 8 число, 7 месяц, 2010 год, как можно добавить нули, чтоб получилось: 08/07/2010 ?


Andrew_7, настоятельно рекомендую: УЧИТЕ СИ !!!!!!!!

Ваш вопрос абсолютно не в тему !!!!!!!

для времени:

Код: Выделить всё

"%02u:%02u:%02u.%02u" 


для года надеюсь Сами подправите.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»