1. Таймер обратного отсчета на ретро-процессоре AT89C2051

  2. AT89C2051

Внезапно понадобился таймер, для включения на короткое время УФ лампы. Под рукой как раз оказался AT89C2051 после экспериментов с термометром. В результате получился вот такой таймер:

Принципиальная схема

Принципиальная схема программатора

Таймер умеет считать назад до нуля. Начальное время выставляется от 1 минуты до 99 часов 59 минут. Есть звуковая индикация окончания обратного отсчета. По окончании отсчета нагрузка включается или, наоборот, отключается в зависимости от режима, выбранного при начальной установке.

Таймер очень удобно использовать при засветке ультрафиолетом плат с фоторезистом. Или, например, обеззараживании помещений УФ лампой.

Еще один планируемый вариант использования - включение стиральной машины ночью, когда электричество более дешёвое. В этом случае, симистор надо ставить на радиатор или заменять выходную цепь на мощное реле.

Прошивка в варианте "C" может быть использована как кухонный таймер. В ней выставляется только время (часы и минуты). Сигнал окончания всегда включен, звучит 1 минуту, выход управления нагрузкой имеет высокий уровень во время обратного отсчета.

Принципиальная схема в формате Splan7: (доступно зарегистрированным пользователям)

Печатная плата

Печатная плата изготовлена по лазерно-утюжной технологии.

Печатная плата таймера обратного отсчета на AT89C2051
Печатная плата таймера обратного отсчета на AT89C2051

Печатная плата в формате Sprint Layout: (доступно зарегистрированным пользователям)

Прошивка "A"

Прошивка с установкой часов-минут. Версия A-1.0: (доступно зарегистрированным пользователям)

Прошивка "B"

Прошивка с установкой часов-минут-секунд. Версия B-1.1: (доступно зарегистрированным пользователям)

Прошивка "B" проверена только в протеусе, требуется проверка в железе!

Прошивка "C"

Прошивка "кухонный таймер" с установкой часов-минут. Версия C-1.0: (доступно зарегистрированным пользователям)

Прошивка "C" проверена только в протеусе, требуется проверка в железе!

Файл для Протеуса

Скриншот симуляции в Протеусе

По просьбам трудящихся:

DSN файл для протеуса для проверки работоспособности прошивки: (доступно зарегистрированным пользователям)

Коллега mcm777 пишет в комментариях, что успешно повторил конструкцию, заменив микроконтроллер AT89C2051 на AT89C51.

Я продублирую тут его замечания по адаптации схемы под AT89C51:

Программируются они по разному, C51 нужно указывать адрес, а C2051 содержит счетчик адреса....

По подключению - индикатор нужно подключать к тем же портам, но у C51 они выдают меньший ток (около 10mA). При использовании современных китайских индикаторов яркость получается достаточной, резисторы R6-R13 можно увеличить до 1кОм чтоб не перегружать порты.

Вывод 31(EA - переключает с внешней памяти программ на внутреннюю) необходимо подтянуть резистором 4,7-10 кОм к +5 Вольт (40 нога C51). 20 нога - общий.

Выводы AT89C51 (DIP-40):

  • 40 - +5В;
  • 20 - Общий;
  • 31 - EA (подтянуть резистором 4,7-10 кОм к +5В);
  • 9 - Reset (аналогично как C2051);
  • 18,19 - кварц;
  • 10,11 - P3.0, P3.1 (кнопки);
  • 12 - P3.2 (на R4);
  • 13 - P3.3 (на Horn1);
  • 1 - P1.0 (Ind - 10);
  • 2 - P1.1 (Ind - 5);
  • 3 - P1.2 (Ind - 11);
  • 4 - P1.3 (Ind - 7);
  • 5 - P1.4 (Ind - 4);
  • 6 - P1.5 (Ind - 2);
  • 7 - P1.6 (Ind - 1);
  • 8 - P1.7 (Ind - 3);
  • 14 - P3.4 (Ind - 12);
  • 15 - P3.5 (Ind - 9);
  • 17 - P3.7 (Ind - 8);

У индикаторов 6-й вывод может отсутствовать, но он как бы есть)) т.е. посчитан..

ОБСУЖДЕНИЯ

Аватар пользователя mcm777

Программируются они по разному, C51 нужно указывать адрес, а C2051 содержит счетчик адреса.... По подключению - индикатор нужно подключать к тем же портам, но у C51 они выдают меньший ток (около 10mA). При использовании современных китайских индикаторов яркость получается достаточной, резисторы R6-R13 можно увеличить до 1кОм чтоб не перегружать порты. Вывод 31(EA - переключает с внешней памяти программ на внутреннюю) необходимо подтянуть резистором 4,7-10 кОм к +5 Вольт (40 нога C51). 20 нога - общий.

Аватар пользователя mcm777

Выводы AT89C51 (DIP-40):
40 - +5В;
20 - Общий;
31 - EA (подтянуть резистором 4,7-10 кОм к +5В);
9 - Reset (аналогично как C2051);
18,19 - кварц;
10,11 - P3.0, P3.1 (кнопки);
12 - P3.2 (на R4);
13 - P3.3 (на Horn1);
1 - P1.0 (Ind - 10);
2 - P1.1 (Ind - 5);
3 - P1.2 (Ind - 11);
4 - P1.3 (Ind - 7);
5 - P1.4 (Ind - 4);
6 - P1.5 (Ind - 2);
7 - P1.6 (Ind - 1);
8 - P1.7 (Ind - 3);
14 - P3.4 (Ind - 12);
15 - P3.5 (Ind - 9);
17 - P3.7 (Ind - 8);
У индикаторов 6-й вывод может отсутствовать, но он как бы есть)) т.е. посчитан..

Аватар пользователя Leog - Linker.Ru

Спасибо, я перенесу эту информацию в конец текста, чтоб не затерялась в комментах, если можно

Аватар пользователя mcm777

Да можно конечно. Чет не получается скачать по ссылке, можете архивом прислать?

Аватар пользователя kos_tik

Может ли кто прислать отладчик для AT89C2051
Под винос xp или 7
Работал с этими процами в 90 и начале 2000 под ДОС.
Осталось штук 20. Хочу тряхнуть стариной

Аватар пользователя mcm777

Добрый день. Вопрос к автору. Можно поправить прошивку "А" - исключить из настроек выбор звук/управление реле (после задания времени сразу запускать таймер) и уменьшить времена паузы/звука до 0,25-0,5 сек, при этом общее время звукового сигнала увеличить секунд до 30? Использую таймер как кухонный - нет смысла каждый раз выбирать звук, и не всегда можно услышать что таймер сработал.

Аватар пользователя Leog - Linker.Ru

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

Аватар пользователя mcm777

Хорошо, спасибо!

Аватар пользователя Leog - Linker.Ru

Готово, забирайте.

Аватар пользователя mcm777

Проверил, на индикаторе "кракозябры". Время сигнала получилось около минуты. Длительность пиков также около секунды.

Аватар пользователя Leog - Linker.Ru

Странно, в протеусе всё показывает нормально.

Аватар пользователя mcm777

Из комментариев я понял что прошивки отличаются в зависимости от схемы подключения индикатора.

Аватар пользователя Leog - Linker.Ru

У Вас, видимо, какой-то старый вариант соединения индикатора. Попозже я найду вариант кода для этого соединения и скину для Вас прошивку.

Аватар пользователя Leog - Linker.Ru

Попробуйте эту прошивку

ВложениеРазмер
Иконка пакета timer-c2051-3pos-old.zip1.26 КБ
Аватар пользователя mcm777

Эта работает. Только время сигнала 1 минута и "пики" по 1 секунде, но можно и так оставить. Огромное спасибо!

Аватар пользователя mcm777

Добрый день. Можете поделиться исходниками на версию С?
Пришлите на почту mcm777@Ya.ru

Аватар пользователя krap

Здравствуйте.
Можно ли сделать так, чтобы после отрабатывания таймера была возможность снова его активировать с уже установленными интервалами без ввода новых.
Это существенно облегчило бы использование устройсва в рутине и на малых интервалах времени.
Спасибо

Аватар пользователя Leog - Linker.Ru

К сожалению, это не минутное дело, а времени заниматься такими доработки нет.

Страницы