Jump to content

ruslan55x55

Members
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Обычный

About ruslan55x55

  • Rank
    Новенький

Информация

  • Город
    Златоуст

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  • Оборудование
    паяльный фен, мультиметр

Recent Profile Visitors

629 profile views
  1. Ребята, я вот тоже собрал себе часы на газоразрядных индикаторах ИН-12. В своих часах добавил возможность синхронизации времени по спутникам GPS. Имеется регулировка яркости индикаторов из меню, а также настройка автоматической синхронизации времени, с заданием различного периода. Также в прошивку заложена регулировка частоты и скважности для настройки высоковольтного преобразователя. Видео
  2. Я разобрался, надо было еще обнулять регистр будильника отвечающий за миллисекунды по адресу 0x09, а я обнулял только секунды, минуты, часы. Скорее всего в этом регистре лежал какой то мусор, который никогда не совпадал с реальными значениями миллисекунд регистра часов, поэтому и не срабатывал будильник.
  3. Пытаюсь сделать будильник для микроконтроллера на основе часов реального времени PCF8583, программирую на PIC. Собрал тестовую плату с PIC-ом и дисплеем LCD Nokia3310, написал код, где считываю часы, минуты, секунды и вывожу на дисплей каждые 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, но ничего не происходит, светодиод не включается, в регистре управления/состояния флаги не поднимаются, в общем будильник не срабатывает....
×
×
  • Create New...