|
Как реализовать точное время? |
|
|
|
Mar 4 2008, 19:29
|

Участник

Группа: Новичок
Сообщений: 72
Регистрация: 25-02-08
Пользователь №: 35 378

|
Цитата(DMD @ Mar 4 2008, 19:59)  Всем привет! проблема такая: делаю один проект, опыта мало, но я стараюсь. Делаю все на ATMega8535. Сейчас стала проблема получения точного времени (хотя бы в формате ЧЧ-ММ, но хорошо бы и дату). Как это можно сделать? Я поискал, нашел микросхему DS1307. Она подойдет или нет? Что скажете?
Не поделитесь схемой для её подключения и, желательно, кода? А то опыта мало ... боюсь не так что-нить сделать... В ближайшее время планирую заняться разработкой устройства с точным временем. Сравнивал микросхемы DS1307 и PCF8583, в результате чего остановился на последней ввиду более подробного и, имхо, понятного даташита. Хотя, выбор за Вами
|
|
|
|
|
Mar 4 2008, 19:42
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 25-12-07
Пользователь №: 33 630

|
Микросхема DS1307 вам подойдет. Работает без проблем. Подключаете к не часовой кварц (32768Hz) . Линии SCL SDA подключаете к МК, предварительно подтянув их резисторами к +5В. Код зависит от компилятора во многих уже есть готовая функция для работы с этой микросхемой (например в CodeVision #include <ds1307.h>) в программе пишете rtc_get_time(&h,&m,&s); и переменным h,m,s присваиваются значения часов, минут, секунд. Таким же образом идет и установка времени в часах и также с датой rtc_get_date(unsigned char *date, unsigned char *month, unsigned char *year) Если в компиляторе нет функции работы с данной микросхемой, то придется писать самому (хотя для каждого компилятора есть уже готовые библиотеки, надо только поискать)
|
|
|
|
|
Mar 4 2008, 20:35
|

Частый гость
 
Группа: Свой
Сообщений: 120
Регистрация: 19-02-08
Пользователь №: 35 166

|
Цитата(Zemlyanov @ Mar 4 2008, 22:42)  Микросхема DS1307 вам подойдет. Работает без проблем. Подключаете к не часовой кварц (32768Hz) . Линии SCL SDA подключаете к МК, предварительно подтянув их резисторами к +5В. Код зависит от компилятора во многих уже есть готовая функция для работы с этой микросхемой (например в CodeVision #include <ds1307.h>) в программе пишете rtc_get_time(&h,&m,&s); и переменным h,m,s присваиваются значения часов, минут, секунд. Таким же образом идет и установка времени в часах и также с датой rtc_get_date(unsigned char *date, unsigned char *month, unsigned char *year) Если в компиляторе нет функции работы с данной микросхемой, то придется писать самому (хотя для каждого компилятора есть уже готовые библиотеки, надо только поискать) СПАСИБО!!!!!!!! ТО, ЧТО НАДО!!!!!!!!!!!! А ещё не подскажете, где можно взять библиотеку P-CAD 2001 для AVR-микроконтроллеров (8 бит) с корпусами? Я утянул одну с сайта П-Када, но там нет корпусов... Не поделитесь? Хотелось бы ATMega8535 особенно...
--------------------
Все будет хорошо! Я проверял!
|
|
|
|
|
Mar 5 2008, 05:26
|
Местный
  
Группа: Свой
Сообщений: 264
Регистрация: 16-07-05
Из: г. Уфа
Пользователь №: 6 851

|
Цитата(DMD @ Mar 4 2008, 23:35)  А ещё не подскажете, где можно взять библиотеку P-CAD 2001 для AVR-микроконтроллеров
--------------------
|
|
|
|
|
Mar 5 2008, 09:10
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 25-12-07
Пользователь №: 33 630

|
Зачем вам разводить в P-CAD?У вас что такая сложная схема что нужно использовать P-CAD, или вам нужно все делать по определенным стандартам? Ну если конечно вы платы будете заказывать у производителя тогда Р-СAD. А для экспериментов подойдут и более простые программы. Возьмите программу Sprint-Layout 4. Из даташитов на МК и RTC распечатайте распиновку корпусов, в программе Sprint-Layout 4 поставьте корпуса с нужным количеством ног и соедините их согласно даташитов на схемы. 10минут работы и схема готова.
|
|
|
|
|
Mar 5 2008, 10:07
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 4-02-08
Из: Винница
Пользователь №: 34 732

|
Цитата(DMD @ Mar 4 2008, 19:59)  Всем привет! проблема такая: делаю один проект, опыта мало, но я стараюсь. Делаю все на ATMega8535. Сейчас стала проблема получения точного времени (хотя бы в формате ЧЧ-ММ, но хорошо бы и дату). Как это можно сделать? Я поискал, нашел микросхему DS1307. Она подойдет или нет? Что скажете?
Не поделитесь схемой для её подключения и, желательно, кода? А то опыта мало ... боюсь не так что-нить сделать... HT1380/HT1381 должен быть дешевле, функциональность не хуже других чипов  . http://www.holtek.com.tw/english/docum/consumer/1380_1.htm
|
|
|
|
|
Mar 5 2008, 10:22
|

Местный
  
Группа: Свой
Сообщений: 409
Регистрация: 29-10-07
Пользователь №: 31 836

|
Цитата(A.l.e.x. @ Mar 5 2008, 13:07)  HT1380/HT1381 должен быть дешевле, функциональность не хуже других чипов  . Уступает DS1307 отсутствием входа для подключения резервного питания. А если нужен spi а не i2c то DS1302.
--------------------
Умный программист пишет тупым кодом гениальные вещи, а не наоборот...
|
|
|
|
|
Mar 5 2008, 10:25
|

Участник

Группа: Свой
Сообщений: 66
Регистрация: 28-01-08
Из: Николаев
Пользователь №: 34 507

|
Цитата(Zemlyanov @ Mar 5 2008, 11:10)  Зачем вам разводить в P-CAD?У вас что такая сложная схема что нужно использовать P-CAD, или вам нужно все делать по определенным стандартам? Ну если конечно вы платы будете заказывать у производителя тогда Р-СAD. А для экспериментов подойдут и более простые программы. Возьмите программу Sprint-Layout 4. Из даташитов на МК и RTC распечатайте распиновку корпусов, в программе Sprint-Layout 4 поставьте корпуса с нужным количеством ног и соедините их согласно даташитов на схемы. 10минут работы и схема готова. Зачем Sprint-Layout, пользуйтесь лучше P-CAD. Вот библиотека с 8535.
mega8535.rar ( 9.19 килобайт )
Кол-во скачиваний: 200, и с DS1307
DS1307.rar ( 3.39 килобайт )
Кол-во скачиваний: 198
Сообщение отредактировал Getmanov - Mar 5 2008, 10:28
|
|
|
|
|
Mar 5 2008, 10:38
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 4-02-08
Из: Винница
Пользователь №: 34 732

|
Цитата(adc @ Mar 5 2008, 12:22)  Уступает DS1307 отсутствием входа для подключения резервного питания. А если нужен spi а не i2c то DS1302. А если нужна себестоимость?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|