Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
rustom
1

PCF8583 не срабатывает будильник

01.02.2012, 22:05. Показов 2866. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь сделать будильник для микроконтроллера на основе часов реального времени PCF8583, программирую на PIC. Собрал тестовую плату с PIC-ом и дисплеем LCD Nokyo3310, написал код, где считываю часы, минуты, секунды и вывожу на дисплей каждые 250мс, все нормально работает, часы идут.
Теперь захотел протестировать будильник, дописал код, чтобы будильник срабатывал через каждые 2 минуты. В момент включения время у часов сбрасывается на 00:00:00 и начинается собственно ход, я считываю минуты прибавляю к ним 2, и обратно записываю в регистры будильника, то есть будильник должен сработать в 00:02:00. При срабатывании зажигается светодиод, и опять все повторяется, теперь будильник должен сработать при 00:04:00 ит.д. Но будильник почему то не срабатывает. Подскажите в чем дело....

Итак вот что я делаю после подачи питания:
1. записываю 00000100 в регистр управления/состояния по адресу 0x00, тем самым включаю бит разрешения сигнала.
2. Записываю 10010000 в регистр управления сигналом по адресу 0x08, тем самым разрешаю прерывание по сигналу, а также устанавливаю ежедневный сигнал.
3. Записываю нули в регистры будильника по адресам 0х0А, 0х0В, 0х0С, которые соответствуют секундам, минутам, часам.
4. Считываю текущее значение минут по адресу 0x03, прибавляю к этому значению число 2.
5. Получившиеся число записываю в регистр будильника(минуты) по адресу 0х0В.
6. Жду пока сработает будильник, (он должен сработать в 00:02:00), параллельно этому считываю время - часы, минуты, секунды, а также на всякий случай считываю содержимое регистра управления/состояния, регистра сигналов, и 3 регистра будильника (часы, минуты, секунды), и вывожу все это на дисплей.
И так наблюдаю, все записалось правильно, во всех регистрах то что мне нужно, жду жду и вот наступает время 00:02:00, но ничего не происходит, светодиод не включается, в регистре управления/состояния флаги не поднимаются, в общем будильник не срабатывает....
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2012, 22:05
Ответы с готовыми решениями:

Не срабатывает будильник
Все работало нормально. Но в какой то момент раз и будильник внезапно перестал срабатывать... Тупо...

не срабатывает будильник при заблокированном экране
Добрый вечер. в манифесте <uses-permission...

Не срабатывает будильник при заблокированном экране
Добрый вечер. в манифесте <uses-permission...

Срабатывает будильник, которого нет на айфон 12 про
Каждый день в одно и тоже время включается будильник одним сигналом и замолкает. Будильник на это...

1
rustom
02.02.2012, 17:27 2
Я разобрался, надо было еще обнулять регистр будильника отвечающий за миллисекунды по адресу 0x09, а я обнулял только секунды, минуты, часы. Скорее всего в этом регистре лежал какой то мусор, который никогда не совпадал с реальными значениями миллисекунд регистра часов, поэтому и не срабатывал будильник.
02.02.2012, 17:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2012, 17:27
Помогаю со студенческими работами здесь

Как добавить мелодию по выбору в будильник, когда он срабатывает?
Вот исходник будильника,нужно сделать так,чтобы был выбор мелодий,которая будет воспроизводиться...

После перезагрузки устройства будильник срабатывает позже заданного времени
Здравствуйте. Столкнулся с такой проблемой - в приложении устанавливаю будильник на определенное...

Почему срабатывает только один будильник, любой из трёх но один? Нужно, чтобы все работали
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

PCF8583
Потребовалось мне подцепить RTC к одному проекту. Вспомнил про статью DI и решил повторить. Спаял,...

Создать будильник или "завести" системный будильник
Вопрос заключается в следущем: мне нужно "завести" или сделать будильник на unity, подходит ли для...

PCF8583 не тикает
Доброго времени суток! Подключил часы к микрокотроллеру. Динные из них читаются, на свой адрес...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru