Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
03.11.2008, 21:20
|
|
Частый гость
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
|
Не пойму (DS1307+mega8+CodeVisionAVR)
Народ, прошу помощи. В архиве пример с ds1307. Проще некуда, считать дату - вывести на LCD, потом считать время - и снова вывести на LCD. Однако, не работает.
На LCD выводит только первую фразу, а потом как бы подвисает, странно реагирует на команды:
rtc_set_date(2,2,2);//установить дату:день,месяц,год;
rtc_set_time(1,1,1);//установить время:часы, минуты, секунды;
rtc_get_time(&hour,&min,&sec); //считать время;
rtc_get_date(&day,&month,&year); //считать дату;
Сам генератор DS1307 работает, т.к. видно по осцилограмме.
Прикрепленный файл: 4380533.rar
|
|
|
|
03.11.2008, 22:04
|
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
замените все резисторы в схеме на pullup и уберите кварц и осциллограф, и почитайте faq по протеусу сразу отпадут большинство вопросов
|
|
|
|
03.11.2008, 23:48
|
|
Частый гость
Регистрация: 20.07.2006
Сообщений: 37
Сказал спасибо: 2
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
|
Сообщение от AndreiVV
|
замените все резисторы в схеме на pullup и уберите кварц и осциллограф, и почитайте faq по протеусу сразу отпадут большинство вопросов
|
Оч странно.
Но, для очистки совести, я всё-таки выполнил Ваши рекомендации:
1. Убрал из схемы резисторы, а в прошивку добавил подтягивающие резисторы: PORTB=0xFF; PORTC=0xFF; PORTD=0xFF; при DDRB=0x00; DDRC=0x00; DDRD=0x00;
2. Убрал кварц.
3. Убрал осциллограф.
4. Быстренько, т.к. смотрел раньше, "пробежался" по FAQ. Ничего для моего случая не увидел.
В итоге: изменений нет. Вы сами-то попробовали? Может у Вас В Протеусе норамально заработало?
Я еще могу понять, что, например, осциллограф мог помешать каким-то "боком", но чтобы для повышения устойчивости работы менять "подтягивающие" на простые резюки - это уже черезчур.
Итак, вопрос остался открытым. Народ, помогите дельным советом, плиз.
|
|
|
|
04.11.2008, 00:53
|
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
1. pullup из протеуса
2. читай внимательно faq
3. ok (очень загружает симуляцию)
4. а вы что думали что там будет описано что вот мол специально для случая sasareccer?
пробовал и работает
если не получится пишите вышлю исправленный проект
|
|
|
|
04.11.2008, 05:31
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
У вас ошибка в собственных установках времени и даты.Потому как,если их отключить всё работает нормально с текущем временем и датой.Пользуйтесь в Протеусе виртуальным инструментом I2C DEBUGGER.Очень удобно.В свойствах во время паузы нажмите Terminal,расширите окно для удобства и далее продолжайте симулировать программу.
|
|
|
|
04.11.2008, 05:36
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Извините,забыл вернуть ваш проект.
Прикрепленный файл: 7547808.rar
|
|
|
|
04.11.2008, 06:15
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Странное дело,заработало.
Анализируйте сами.
Прикрепленный файл: 5707652.rar
|
|
|
|
04.11.2008, 08:19
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
У меня к вам просьба,sasareccer.Мозги на раскаряку.Помогите,если можете.Я тут тоже играюсь с часами,но взял PCF8583.Дело в том,что регистре 05h в DCB формате упаковано и год,и дата.Как воспользоваться библиотекой BCD.h в CVAVR,чтобы разделить данные.
Прикрепленный файл: 1801323.rar
|
|
|
|
04.11.2008, 11:21
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Сообщение от Vov123
|
Я тут тоже играюсь с часами,но взял PCF8583.Дело в том,что регистре 05h в DCB формате упаковано и год,и дата.Как воспользоваться библиотекой BCD.h в CVAVR,чтобы разделить данные.
|
Год - содержимое регистра ››6
День - содержимое регистра & 0x3F и дальше преобразуйте библиотекой или любым другим способом.
Забавные часы, смешно годы считают. 2008 от 2004 не отличить...
А вообще посмотрите на mask flag в Control/status register. День можно отдельно считывать.
Прикрепленный файл: 1801323.rar
|
|
|
|
04.11.2008, 11:57
|
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
В даташите на PCF8583 указано-регистр 05h биты 6 и 7 отвечают за год,бит 4 и 5 за десятки дней,бит 0-4 за единицы дней.Вот мой вопрос и был,как вы ответили-"воспользоваться библиотекой и преобразованиями".Это я и сам знаю,не знаю-КАК?
По поводу флага "mask" вообще интересная штука получается-при его включении часы не работают.Если не верите,попробуйте,ведь проект я к чему прикрепил.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:39.
|
|