-
Таймер обратного отсчета на ретро-процессоре AT89C2051
-
AT89C2051
Внезапно понадобился таймер, для включения на короткое время УФ лампы. Под рукой как раз оказался AT89C2051 после экспериментов с термометром. В результате получился вот такой таймер:
Принципиальная схема
Таймер умеет считать назад до нуля. Начальное время выставляется от 1 минуты до 99 часов 59 минут. Есть звуковая индикация окончания обратного отсчета. По окончании отсчета нагрузка включается или, наоборот, отключается в зависимости от режима, выбранного при начальной установке.
Таймер очень удобно использовать при засветке ультрафиолетом плат с фоторезистом. Или, например, обеззараживании помещений УФ лампой.
Еще один планируемый вариант использования - включение стиральной машины ночью, когда электричество более дешёвое. В этом случае, симистор надо ставить на радиатор или заменять выходную цепь на мощное реле.
Прошивка в варианте "C" может быть использована как кухонный таймер. В ней выставляется только время (часы и минуты). Сигнал окончания всегда включен, звучит 1 минуту, выход управления нагрузкой имеет высокий уровень во время обратного отсчета.
Принципиальная схема в формате Splan7: (доступно зарегистрированным пользователям)
Печатная плата
Печатная плата изготовлена по лазерно-утюжной технологии.
Печатная плата в формате 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-й вывод может отсутствовать, но он как бы есть)) т.е. посчитан..
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
ОБСУЖДЕНИЯ
Программируются они по разному, 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-й вывод может отсутствовать, но он как бы есть)) т.е. посчитан..
Спасибо, я перенесу эту информацию в конец текста, чтоб не затерялась в комментах, если можно
Да можно конечно. Чет не получается скачать по ссылке, можете архивом прислать?
Может ли кто прислать отладчик для AT89C2051
Под винос xp или 7
Работал с этими процами в 90 и начале 2000 под ДОС.
Осталось штук 20. Хочу тряхнуть стариной
Добрый день. Вопрос к автору. Можно поправить прошивку "А" - исключить из настроек выбор звук/управление реле (после задания времени сразу запускать таймер) и уменьшить времена паузы/звука до 0,25-0,5 сек, при этом общее время звукового сигнала увеличить секунд до 30? Использую таймер как кухонный - нет смысла каждый раз выбирать звук, и не всегда можно услышать что таймер сработал.
Добрый день. Попробую сделать прошивку с Вашими пожеланиями, как появится время. Думаю, в течении двух недель. Проверять будете сами, я смогу только в протеусе.
Хорошо, спасибо!
Готово, забирайте.
Проверил, на индикаторе "кракозябры". Время сигнала получилось около минуты. Длительность пиков также около секунды.
Странно, в протеусе всё показывает нормально.
Из комментариев я понял что прошивки отличаются в зависимости от схемы подключения индикатора.
У Вас, видимо, какой-то старый вариант соединения индикатора. Попозже я найду вариант кода для этого соединения и скину для Вас прошивку.
Попробуйте эту прошивку
Эта работает. Только время сигнала 1 минута и "пики" по 1 секунде, но можно и так оставить. Огромное спасибо!
Добрый день. Можете поделиться исходниками на версию С?
Пришлите на почту mcm777@Ya.ru
Здравствуйте.
Можно ли сделать так, чтобы после отрабатывания таймера была возможность снова его активировать с уже установленными интервалами без ввода новых.
Это существенно облегчило бы использование устройсва в рутине и на малых интервалах времени.
Спасибо
К сожалению, это не минутное дело, а времени заниматься такими доработки нет.
Добрый день. Можете поделиться исходниками на версию C2051-TIMER-3POS-ver_b1.1?
Пришлите пожалуйста мне на почту : santos29@yandex.ru
Хочу сделать таймер для парилки в бане, спасибо.
Добрый день. Это такой старый проект, что даже не знаю, где исходники. Вам наверное стоит поискать схему на более современной и доступной элементной базе.
Страницы