#Часы реального времени DS1307 от Dallas Semiconductor#

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение IM1 »

Danko, O-LED. Спасибо. :beer:
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Sounds »

не там сообщение создал, уже удалил. Извините!
Последний раз редактировалось Sounds Вт янв 11, 2011 07:19:15, всего редактировалось 1 раз.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Vov123 »

Удивлён что до сих пор в данной ветке не появилась данная ссылка:
http://www.piclist.ru/D-DS-DS1307-RUS/D ... 7-RUS.html
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Danko »

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

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Vov123 »

Что-ж поделать,невнимательность-моя фишка.

Добавлю,что вывод SQW/OUT.установив в 1гц,удобно использовать для внешнего прерывания.Считывание времени производить в обработчике прерывания,а остальное время спать.
Я тут собрал подобные часики с термометром ds1820,попробовал на at89s52.В качестве индикатора использовал MT-10T7 и WH1601.В первом случае ток потребления был 12mA,а во втором 14,это без sleep.
R_ura
Грызет канифоль
Сообщения: 293
Зарегистрирован: Сб май 29, 2010 00:08:48
Откуда: Харьков

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение R_ura »

Нигде не могу найти ответа на пару вопросов.
1. Выводы DS1307 (SDA и SCL) необходимо подключать к таким же выводам МК (SDA и SCL) или можно к любим пинам?
2. Как конфигурировать выводы МК, к которым подключены SDA и SCL м/с DS1307? Входы, выходы?
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Danko »

I2C существует как аппаратный так и програмный и по сему в первом случае выводы RTC нужно соединять с одноименными выводами МК, во втором случае (програмном) можно соединять с любыми.

В первом случает выводы модно не инициализировать, а во втором SCL на вывод т.к. МК будет мастером сети, ну SDA в зависимости от направления.

Если писать на Си и использовать готовые библиотеки, то такие вопросы чаще всего не возникают, а если на ассемблере, то тут Вам нужно читать и читать книги.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
R_ura
Грызет канифоль
Сообщения: 293
Зарегистрирован: Сб май 29, 2010 00:08:48
Откуда: Харьков

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение R_ura »

Danko писал(а):
Если писать на Си и использовать готовые библиотеки, то такие вопросы чаще всего не возникают, а если на ассемблере, то тут Вам нужно читать и читать книги.

Спасибо, понятно. Не понятно только, как можно забить на конфигурацию порта? Как я понял, тот же КодВижновский генератор начального кода порты не конфигурирует под те или иные установки, к примеру, какие порты не задавай для ЖКИ, в тексте программы будут и DDRN = 0x00 и PORTN = 0x00...
По сути вопроса. Вот нарыл в инете проект для часов DS1307 и именно для КодВижна. Вроде бы все правильно работает, но через несколько секунд считываемые с часов данные приобретают хаотичный характер. Причем на ЖКИ индицируются загадочные показания вреиени и календаря, а в окошке Протеуса содержимое байт приобретает заоблачные четырехзначные и более значения, хотя переменные-то однобайтные unsigned char.
Изображение
DS1307.rar
(783.88 КБ) 318 скачиваний

Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.
loshvitalik
Нашел транзистор. Понюхал.
Сообщения: 176
Зарегистрирован: Чт май 05, 2011 12:58:32
Откуда: Екатеринбург
Контактная информация:

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение loshvitalik »

R_ura писал(а): Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.

Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.
R_ura
Грызет канифоль
Сообщения: 293
Зарегистрирован: Сб май 29, 2010 00:08:48
Откуда: Харьков

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение R_ura »

loshvitalik писал(а):Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.

Не совсем понял, т.е. и в железе будет тоже. что и в Протеусе?
Как с этим бороться? Уже несколько вариантов прошивки поменял -то же самое.
Неужели в КодВижн нерабочая библиотека програмного i2c?
loshvitalik
Нашел транзистор. Понюхал.
Сообщения: 176
Зарегистрирован: Чт май 05, 2011 12:58:32
Откуда: Екатеринбург
Контактная информация:

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение loshvitalik »

R_ura писал(а):
loshvitalik писал(а):Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.

Не совсем понял, т.е. и в железе будет тоже. что и в Протеусе?
Как с этим бороться? Уже несколько вариантов прошивки поменял -то же самое.
Неужели в КодВижн нерабочая библиотека програмного i2c?


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

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Danko »

R_ura писал(а): Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.
Да именно глюк в логике программы.

Изучил Ваш код.

Подправил.

Обратите внимание на один момент: если не нажимать кнопки сколько раз в секунду в Вашем коде идет опрос шины I2C ?

Ответ: постоянно, без задержек.

А теперь рекомендации:
1. вам в реале не будет нужна частота 8 МГц. Ваш код будет работать и на 1 МГц, а возможно и на 1 кГц. Пусть Интел гонится за Гигагерцами, Вы же не Win7 инсталируете :)
2. пересмотрите логику работы и удалите постоянную очистку экрана. Идеальный вариант это выводить информации только при ее смене т.е. в Вашем случае это нажатие кнопок и изменение секунд.

Из практики могу сказать, что если полностью отказаться от функции очистки экрана, то контрастность можно выкрутить на минимум и еще: есть инверсные экраны так вот на них Вам просто придется отказаться от полной очистки.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
R_ura
Грызет канифоль
Сообщения: 293
Зарегистрирован: Сб май 29, 2010 00:08:48
Откуда: Харьков

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение R_ura »

Спасибо, разобрался..
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

И снова DS1307

Сообщение *Trigger* »

Собрал часы, в них стоит DS1307. Периодически на индикаторах появляется белиберда в виде ненужных цифр (например, было 12 часов, но вдруг проскакивает 45 часов). В часах есть повышающий преобразователь на MAX1771. Как исправить этот глюк?
Программу прилагаю.
программа.c
(19.17 КБ) 599 скачиваний


Сюда перенес.

aen
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: И снова DS1307

Сообщение Дрон »

*Trigger* писал(а):Собрал часы, в них стоит DS1307. Периодически на индикаторах появляется белиберда в виде ненужных цифр (например, было 12 часов, но вдруг проскакивает 45 часов).

Плохой контакт на 80% .И вообще давайте на радость модераторам нак каждый вопрос по датчику создавать новые темы?В помойке же интереснее !!! :evil:
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение *Trigger* »

Пропаял, не помогло. Ещё выяснил, чем больше частота прерываний, тем больше глюков. Странно, раньше в своих часах я этого не замечал. Ведь I2C глубоко плевать на задержки... Или я не прав?
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Дрон »

*Trigger* писал(а): Ещё выяснил, чем больше частота прерываний, тем больше глюков. Странно, раньше в своих часах я этого не замечал. Ведь I2C глубоко плевать на задержки... Или я не прав?
Конечно не прав.Сколько по даташиту минимальне время опроса датчика?
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение *Trigger* »

Что за минимальное время опроса? я не понимаю.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Дрон
Вымогатель припоя
Сообщения: 586
Зарегистрирован: Ср ноя 30, 2011 02:29:51
Откуда: Курск-сити

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение Дрон »

*Trigger* писал(а):Что за минимальное время опроса? я не понимаю.

Читайте даташит,там написано сколько время датчик передаёт инфу(время+дата+день недели),и если Вы не обеспечите ему это время,то мк считает его некоректно(например 45часов 86 минут).
У кошки четыре ноги: вход,
выход, земля и питание.
Но трогать её не моги:
получится замыкание
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: #Часы реального времени DS1307 от Dallas Semiconductor#

Сообщение *Trigger* »

Так ведь интерфейс I2C, значит, временнЫе интервалы зависят от тактовых импульсов с МК.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Ответить

Вернуться в «Периферия»