Заголовок сообщения: Re: #Часы реального времени DS1307 от Dallas Semiconductor#
Добавлено: Вт янв 11, 2011 07:53:23
Сверлит текстолит когтями
Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54 Сообщений: 1287 Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения:0
Vov123, может все таки ветку начинать читать с первого сообщения, а не с последнего ?
_________________ Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений. ---------- Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Добавлю,что вывод SQW/OUT.установив в 1гц,удобно использовать для внешнего прерывания.Считывание времени производить в обработчике прерывания,а остальное время спать. Я тут собрал подобные часики с термометром ds1820,попробовал на at89s52.В качестве индикатора использовал MT-10T7 и WH1601.В первом случае ток потребления был 12mA,а во втором 14,это без sleep.
Нигде не могу найти ответа на пару вопросов. 1. Выводы DS1307 (SDA и SCL) необходимо подключать к таким же выводам МК (SDA и SCL) или можно к любим пинам? 2. Как конфигурировать выводы МК, к которым подключены SDA и SCL м/с DS1307? Входы, выходы?
Заголовок сообщения: Re: #Часы реального времени DS1307 от Dallas Semiconductor#
Добавлено: Пт мар 23, 2012 16:20:43
Сверлит текстолит когтями
Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54 Сообщений: 1287 Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения:0
I2C существует как аппаратный так и програмный и по сему в первом случае выводы RTC нужно соединять с одноименными выводами МК, во втором случае (програмном) можно соединять с любыми.
В первом случает выводы модно не инициализировать, а во втором SCL на вывод т.к. МК будет мастером сети, ну SDA в зависимости от направления.
Если писать на Си и использовать готовые библиотеки, то такие вопросы чаще всего не возникают, а если на ассемблере, то тут Вам нужно читать и читать книги.
_________________ Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений. ---------- Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Если писать на Си и использовать готовые библиотеки, то такие вопросы чаще всего не возникают, а если на ассемблере, то тут Вам нужно читать и читать книги.
Спасибо, понятно. Не понятно только, как можно забить на конфигурацию порта? Как я понял, тот же КодВижновский генератор начального кода порты не конфигурирует под те или иные установки, к примеру, какие порты не задавай для ЖКИ, в тексте программы будут и DDRN = 0x00 и PORTN = 0x00... По сути вопроса. Вот нарыл в инете проект для часов DS1307 и именно для КодВижна. Вроде бы все правильно работает, но через несколько секунд считываемые с часов данные приобретают хаотичный характер. Причем на ЖКИ индицируются загадочные показания вреиени и календаря, а в окошке Протеуса содержимое байт приобретает заоблачные четырехзначные и более значения, хотя переменные-то однобайтные unsigned char.
Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.
Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.
Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.
Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.
Не совсем понял, т.е. и в железе будет тоже. что и в Протеусе? Как с этим бороться? Уже несколько вариантов прошивки поменял -то же самое. Неужели в КодВижн нерабочая библиотека програмного i2c?
Это глюк прошивки. Учитывая то что вы используете программный i2c то вполне возможно. У меня тоже неправильные значения.
Не совсем понял, т.е. и в железе будет тоже. что и в Протеусе? Как с этим бороться? Уже несколько вариантов прошивки поменял -то же самое. Неужели в КодВижн нерабочая библиотека програмного i2c?
Хотя, вполне возможно, что протеус плохо понимает аппаратный и2ц. Но кнопки все-таки работают и значения инкрементируются, но месяцев почему-то намного больше 13. Попробуйте перенести в железо - может быть, контроллер при инициализации шлет в часы мусор.
Заголовок сообщения: Re: #Часы реального времени DS1307 от Dallas Semiconductor#
Добавлено: Вс мар 25, 2012 22:42:10
Сверлит текстолит когтями
Карма: 13
Рейтинг сообщений: 41
Зарегистрирован: Пн окт 13, 2008 11:45:54 Сообщений: 1287 Откуда: РФ, Крым, г.Бахчисарай
Рейтинг сообщения:0
R_ura писал(а):
Скажите, это глюк симуляции в Протеусе или что-то не то в коде программы? Хотя там же стандартная КодВиженская бибилотека, именно под DS1307. В реале сейчас этой мс нет, поэтому и вопрос такой.
Да именно глюк в логике программы.
Изучил Ваш код.
Подправил.
Обратите внимание на один момент: если не нажимать кнопки сколько раз в секунду в Вашем коде идет опрос шины I2C ?
Ответ: постоянно, без задержек.
А теперь рекомендации: 1. вам в реале не будет нужна частота 8 МГц. Ваш код будет работать и на 1 МГц, а возможно и на 1 кГц. Пусть Интел гонится за Гигагерцами, Вы же не Win7 инсталируете 2. пересмотрите логику работы и удалите постоянную очистку экрана. Идеальный вариант это выводить информации только при ее смене т.е. в Вашем случае это нажатие кнопок и изменение секунд.
Из практики могу сказать, что если полностью отказаться от функции очистки экрана, то контрастность можно выкрутить на минимум и еще: есть инверсные экраны так вот на них Вам просто придется отказаться от полной очистки.
_________________ Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений. ---------- Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Собрал часы, в них стоит DS1307. Периодически на индикаторах появляется белиберда в виде ненужных цифр (например, было 12 часов, но вдруг проскакивает 45 часов). В часах есть повышающий преобразователь на MAX1771. Как исправить этот глюк? Программу прилагаю.
_________________ Этот пост оказался полезен? Не поленись, нажми слева! Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Собрал часы, в них стоит DS1307. Периодически на индикаторах появляется белиберда в виде ненужных цифр (например, было 12 часов, но вдруг проскакивает 45 часов).
Плохой контакт на 80% .И вообще давайте на радость модераторам нак каждый вопрос по датчику создавать новые темы?В помойке же интереснее !!!
_________________ У кошки четыре ноги: вход, выход, земля и питание. Но трогать её не моги: получится замыкание
Пропаял, не помогло. Ещё выяснил, чем больше частота прерываний, тем больше глюков. Странно, раньше в своих часах я этого не замечал. Ведь I2C глубоко плевать на задержки... Или я не прав?
_________________ Этот пост оказался полезен? Не поленись, нажми слева! Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Ещё выяснил, чем больше частота прерываний, тем больше глюков. Странно, раньше в своих часах я этого не замечал. Ведь I2C глубоко плевать на задержки... Или я не прав?
Конечно не прав.Сколько по даташиту минимальне время опроса датчика?
_________________ У кошки четыре ноги: вход, выход, земля и питание. Но трогать её не моги: получится замыкание
_________________ Этот пост оказался полезен? Не поленись, нажми слева! Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Читайте даташит,там написано сколько время датчик передаёт инфу(время+дата+день недели),и если Вы не обеспечите ему это время,то мк считает его некоректно(например 45часов 86 минут).
_________________ У кошки четыре ноги: вход, выход, земля и питание. Но трогать её не моги: получится замыкание
Так ведь интерфейс I2C, значит, временнЫе интервалы зависят от тактовых импульсов с МК.
_________________ Этот пост оказался полезен? Не поленись, нажми слева! Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения