В предыдущей статье — я написал, что это последняя разработка такого устройства с использование семисегментных светодиодных индикаторов, но оказалось, что я поспешил. Дело в том, что в этой конструкции используется лишь 40% памяти микроконтроллера, да и еще остался один незадействованный вывод порта микроконтроллера (кроме вывода RESET). Поэтому было принято решение исправить эту несправедливость по отношению к МК и добавить еще один канал управления нагрузками. После проведенной работы память МК используется на 99% и задействованы все выводы МК. Полное название измененной конструкции:
«Двухканальный термометр, двухканальный термостат (терморегулятор) с возможностью работы по времени, одноканальный таймер реального времени на микроконтроллере ATmega8 и датчиках температуры DS18B20»
Описание и характеристики двухканального термометра, термостата (терморегулятора), одноканального таймера реального времени
на ATmega8 и DS18B20
Так-как данная конструкция «вышла» из предыдущей — , и подробно описана (все характеристики термометров и термостатов, режимы работы, реакция на ошибки — остались без изменений), я остановлюсь только на нововведении — таймере реального времени.
Таймер реального времени
В конструкцию введен таймер реального времени
, который позволяет управлять своей, третьей нагрузкой, в режиме реального времени в течении 24 часов и позволяет в течении суток задать два временных интервала управления нагрузкой. Также таймер позволяет задать в течении суток для каждого канала термостатирования (терморегулирования) по одному временному интервалу управления нагрузками.
Что я подразумеваю под таймером реального времени. По сути, это внутренние часы с дискретностью 10 минут. При первоначальной настройки устройства устанавливается реальное текущее время с точностью до 10 минут, а дальше таймер отсчитывает 24 часовые интервалы с шагом в 10 минут как обыкновенные часы.
Дискретность отсчета временных интервалов 10 минут принята по двум причинам:
— удобство вывода информации на трехразрядном индикаторе, к примеру 22 часа 40 минут — 22,4
— управление нагрузкой с точностью до 10 минут вполне достаточна для большинства задач (реально точность составляет 5 минут — если вам надо включить нагрузку в 7 часов 35 минут, то можно установить или 7,4 или 7,3)
Введение таймера немного изменило алгоритм работы с устройством (об алгоритме работы я расскажу ниже). Теперь нажатием кнопки «Выбор» можно попасть в два меню:
— меню установки пределов температур работы термостатов и временных интервалов работы термостатов, временных интервалов управления нагрузкой по таймеру
— меню коррекции хода часов и установки текущего времени.
Так как МК работает от внутреннего RC-генератора (8 МГц), который не отличается стабильностью и зависит как от температуры МК, так и питающего напряжения, функция коррекции хода часов позволяет подстроить точность хода для конкретных условий. А функция установки текущего времени позволяет установить текущее реальное время при первоначальной настройке или уточнять его при сильном отличии от реального времени.
Показания таймера при работе устройства не высвечиваются, узнать «который час» можно только при входе в режим установки текущего времени.
Управление нагрузками по таймеру не осуществляется (выключено), если время включения и выключения установлены в ноль. В принципе, управление нагрузками по таймеру не осуществляется при равенстве времени включения и выключения.
При входе в меню коррекции хода часов и установки текущего времени таймер останавливается. Поэтому, при коррекции хода часов необходимо, до выхода из меню, установить текущее время.
Схема трехканального термометра, термостата, таймера на ATmega8
Схема устройства создана в программе и в принципе не отличается от схемы двухканального термостата (добавлен третий канал управления нагрузкой и изменены, для разнообразия, схемы управления нагрузками):
Так-как в схеме применены «выводные» детали, то для удобства размещения конструкции в подходящем корпусе схема разделена на две части:
— Блок индикации — индикаторы и кнопки
— Блок управления — все остальное
Надо было бы вывести в блок индикации и светодиоды, которые сигнализируют о включенных каналах, но это можно сделать и самостоятельно при разводке платы (добавить три пары контактных площадок для светодиодов и соединить их с блоком управления проводами).
Конструкция устройства
Основа устройства
— микроконтроллер ATmega8 с тактовой частотой 8 МГц от встроенного генератора с внутренней RC-цепочкой.
Для подстройки частоты внутреннего генератора необходимо при программирование МК записать в EEPROM-память по нулевому адресу значение калибровочной ячейки для тактовой частоты 8 МГц. В выложенном ниже НЕХ-файле EEPROM-памяти по умолчанию записано число $В1 (В1) — среднее значение калибровочных ячеек 5 проверенных микроконтроллеров.
Кроме того, для правильной работы таймера реального времени, а работает он по прерываниям от таймера/счетчика Т1 при равенстве счетного регистра и регистра сравнения OCR1A, при программировании EEPROM-памяти следом за значением калибровочной ячейки записывается число 33050 (1А81) которое программным путем заносится в регистр сравнения OCR1A. При коррекции хода таймера меняется и значение этого числа.
Индикация текущих температур и значений в режиме установки осуществляется на два трехразрядных семисегментных индикатора с схемой включения «общий катод».
Датчики DS18B20 подсоединяются к устройству через 3-х контактные штыревые линейки DS1 и DS2, нумерация выводов которых соответствует нумерации выводов датчиков.
Управление разрядами осуществляется маломощными биполярными транзисторами NPN-типа.
Вход в меню, установка значений
, запуск режимов однократного нагрева (охлаждения) осуществляется тремя тактовыми кнопками типа DTS:
— S1 — «Выбор»
— S2 — » + »
— S3 — » — »
— для каналов термостатирования — через оптосимисторы МОС3063 и симисторы ВТ139-800Е по стандартной схеме включения, что позволяет управлять нагрузками мощностью до 3,5 кВт (если мощность нагрузки более 300-400 Вт — симисторы необходимо ставить на радиаторы)
— для канала от таймера — через миниатюрное механическое реле с напряжением питания катушки 5 Вольт, что позволяет, в зависимости от примененного реле, управлять нагрузкой до 2 — 2,5 кВт
Обращаю ваше внимание на подключение сетевого напряжения 220 вольт к устройству и включение нагрузки — подключать надо как на схеме, с учетом «фазы» и «нуля» сетевого напряжения.
Питание устройства осуществляется от любого источника постоянного тока напряжением 7-25 Вольт. Схему можно запитать и от ненужного зарядного устройства от сотового телефона с выходным напряжением 5 +-0,5 Вольт. В этом случае можно из схемы исключить стабилизатор 7805 и конденсаторы С4, С5. Средний ток потребления устройством 40 миллиампер.
При необходимости организации резервного питания (для бесперебойной работы таймера) можно применить, к примеру, такую схему:
Детали, примененные в конструкции:
Управление трехканальным термометром, термостатом, терморегулятором, таймером
1. Вход в меню
В устройстве имеется два меню.
При «коротком» нажатии на кнопку «Выбор» на индикаторах высвечивается надпись «ON—-OFF», входим в меню:
— установки пределов температур работы термостатов и временных интервалов работы термостатов, временных интервалов управления нагрузкой по таймеру
При «длинном» нажатии кнопки «Выбор» надпись «ON—-OFF» сменяется надписью «Cor—-USt», при этом надо отпустить кнопку, входим в меню:
— коррекции хода часов и установки текущего времени
Обращаю внимание, что при входе в меню (длинное или короткое нажатие кнопки «Выбор») все каналы управления нагрузками отключаются.
2. Меню «Коррекции хода и установки текущего времени» (длинное нажатие кнопки «Выбор»)
После входа в меню сразу попадаем в режим коррекции хода часов:
«Cor—-00»
Повторным нажатием кнопки «Выбор» переходим в режим установки текущего времени:
«USt—-00.0»
В режиме установки текущего времени смотрим на свои самые точные часы и кнопками «+» и «-» устанавливаем ближайшее время с точностью до 10 минут.
К примеру — текущее время 20 часов 37 минут, устанавливаем на индикаторе «20,4» (20 часов 40 минут) и ровно в 20.40, нажатием кнопки «Выбор» выходим из меню. Все, реальное время выставлено, часы запущены.
Корректировать ход часов можно от +50 единиц до -50 единиц. Первоначальное значение «00» («00» появляется всегда при входе в этот режим)
При изменении установки на единицу ход часов увеличивается (+1) или уменьшается (-1) примерно на 4 секунды за 24 часа.
Точность хода часов можно проверить на канале управления нагрузкой по таймеру без подключенной нагрузки по зажиганию светодиода.
К примеру, в 21.00 мы установили текущее время, задали включение нагрузки — 8.50, выключение — 9.00. Утром замерили время выключения нагрузки. Допустим нагрузка отключилась в 8 часов 59 минут 20 секунд. Значит таймер отстал на 40 секунд за 12 часов. За 24 часа отставание составит уже 80 секунд. 80 секунд делим на 4 = 20. В режиме коррекции устанавливаем показание 20, затем переходим в режим установки текущего времени, устанавливаем ближайшее текущее время, например 9.1, и в 9 часов 10 минут, нажатием кнопки «Выбор» выходим в рабочий режим.
Обращаю внимание, что при отсутствии резервного источника питания, при «пропадании» сетевого напряжения часы обнуляются и текущее время необходимо устанавливать заново.
3. Меню установки температурных и временных интервалов для термостатов
Напомню режимы работы каналов термостатирования (терморегулирования):
— режим термостатирования — поддержание определенной температуры
— режим терморегулирования — поддержание температуры в определенных границах
— режим однократного нагрева (охлаждения)
Все эти режимы подробно описаны в статье , там же приведены подробные инструкции и возможности каждого режима.
С введением в конструкцию таймера реального времени появилась возможность для каждого канала задавать в течении суток один временной интервал работы канала. Для этого в меню введены дополнительные строчки времени включения и выключения каналов.
К примеру, нам надо чтобы 1-й канала термостатирования работал только в ночное время с 23.00 до 6.30. Для этого в 1-м меню (короткое нажатие кнопки «Выбор»):
— после установки верхнего и нижнего температурного предела появятся еще две строчки: «t.On——00,0» и «t.OF——00,0» (тоже самое будет и для второго канала)
— кнопками «+» и «-» устанавливаем: «t.On——23,0» и «t.OF——06,3»
Теперь, в 23.00 1-й канал начнет работать в заданном режиме, а 6.30 канал будет отключен, и так каждые сутки.
По режиму однократного нагрева/охлаждения. Если временной интервал не выбран (время включения/выключения установлены в «0»), то запуск этих режимов осуществляется в ручном режиме, нажатием соответствующей кнопки. Этот режим может работать и по времени.
Допустим нам надо на 2-м канале термостатирования с утра, к 7.00, нагреть воду в баке до 45 градусов, учитывая, что вода в баке до этой температуры нагревается за 25 минут:
— устанавливаем «2.On——00» и «2.OF——45»
— устанавливаем «t.On——06,3» а «t.OF» оставляем по умолчанию «t.OF——00,0»
Теперь, 2-канал автоматически запуститься в 6.30 минут, и по достижению температуры воды 45 градусов отключится.
При использовании режима однократного нагрева/охлаждения совместно с таймером сохраняется возможность и ручного запуска режима, но при этом следует учитывать, что в промежуток времени «t.OF—-t.On» (для предыдущего примера — с 24.00 до 6.30) ручной режим невозможен. Поэтому, для того, чтобы в любой момент времени запустить режим вручную, необходимо «t.OF» устанавливать на 10 минут меньше чем «t.On».
4. Меню установки временных интервалов для таймера
Таймер реального времени
позволяет задать два временных интервала в течении суток для управления нагрузкой по таймеру.
Для этого в меню введены дополнительно четыре строчки:
— t1.1 — время включения для первого временного интервала
— t1.0 — время выключения для первого временного интервала
— t2.1 — время включения для второго временного интервала
— t2.0 — время выключения для второго временного интервала
Временные интервалы не должны пересекаться.
Допустим, нам необходимо включать освещение во дворе два раза в сутки: с 21.00 до 0.30 и с 5.30 до 7.00
Устанавливаем:
— t1.1 — 21,0
— t1.0 — 00,3
— t2.1 — 05,3
— t2.0 — 07,0
Теперь нагрузка по таймеру будет включена в 21.00 и в 5.30, и выключена в 0.30 и в 7.00
Второй вариант печатной платы:
Вариант установки FUSE битов:
(22,2 KiB, 2 016 hits)
Рассмотрим, как сделать таймер своими руками на микроконтроллере ATmega8, хотя код довольно просто адаптировать и для МК AVR других серий. Электронный таймер нужное устройство во всех областях, где требуется выполнение определенных действий через конкретный промежуток времени.
Управление таймера состоит всего из четырех кнопок:
— увеличение значения числа;
— уменьшение значения числа;
— старт таймера;
— сброс таймера.
В качестве индикатора срабатывания таймера применяется генератор звуковой частоты с динамиком. Генератор будет запускаться с помощью транзисторного ключа Q5, который в свою очередь открывается положительным потенциалом, поступающим из порта PC2 микроконтроллера.
Упрощенно таймер работает следующим образом. Кнопками «+» и «-» устанавливается требуемое количество секунд; кнопкой «старт» запускается таймер. Когда таймер отсчитает до нуля, на выводе PC2 микроконтроллера ATmega8 появится высокий потенциал, который откроет Q5. Далее транзисторный ключ запустит генератор и раздастся звук в динамике. Сброс таймера осуществляется при нажатии кнопки «сброс». Генератор звуковой частоты собран на двух транзисторах Q6 и Q7 разный полупроводниковых структур. С принципом работы и описанием схемы подобных генераторов можно ознакомиться, перейдя по .
Алгоритм работы таймера на микроконтроллере
Наш таймер будет отсчитывать обратное время ровно по одной секунде, хотя можно задать и любое другое время, например минуты, часы, сотые секунды и т.п.
Для формирования интервала времени в одну секунду мы воспользуемся первым таймер-счетчиком микроконтроллера ATmega8. Все его настройки мы определим в функцию start . Сначала разделим рабочую частоту микроконтроллера 1000000 Гц на 64 и получим новую частоту 15625 Гц. За это отвечают бит CS10, CS11 и CS12 регистра TCCR1B. Далее разрешаем прерывание по совпадению и в регистр сравнения (старший и младший) записываем двоичное число равное десятичному 15625. Затем обнуляем счетный регистр TCNT1 и устанавливаем в единицу бит WGM12 регистра TCCR1B, что вызывает сброс счетного регистра при совпадении текущего его значения с числом, записанным в регистры сравнения.
void start (void)
TCCR1B &= ~(1< TCCR1B |= (1< TIMSK |= (1< OCR1AH = 0b00111101;
OCR1AL = 0b000001001; // регистр сравнения 15625
TCNT1 = 0;
TCCR1B |= (1< Когда таймер отсчитает ровно одну секунду – вызовется прерывание. В теле функции прерывания мы будем снижать значение переменной на единицу. При достижении нуля на второй выход порта C микроконтроллера появится высокий потенциал, который откроет транзисторный ключ и запустит генератор, в результате чего мы услышим звук в динамике.
ISR (TIMER1_COMPA_vect)
Z—;
Это схема таймера на микроконтроллере PIC16F628A позаимствована с хорошего португальского сайта по радиоэлектронике. Микроконтроллер тактируется от внутреннего генератора, который можно считать достаточно точным для данного момента, так как выводы 15 и 16 остаются свободными, то можно использовать внешний кварцевый резонатор для еще большей точности в работе. В таймере для управления девайсом присутствуют три кнопки: «START/STOP», «MIN» и «SEC» «START/STOP»
- для запуска и приостановки таймера. Когда установленое время на таймере израсходуется, раздастся, звуковой сигнал и загорится светодиод. В роли звукоизлучателя используется зуммер электромагнитного типа. После этого, при нажатии на кнопку, осуществится сброс таймера и светодиод потухнет. В то время, когда таймер осуществляет обратный отсчет на выводе 13 имеется высокий уровень, а при завершении времени отсчета таймером установится низкий логический уровень. Данный вывод можно задействовать для управления каким либо исполнительным устройством. Питание схемы происходит через стабилизированный источника тока на . Перемычка J1 используется для калибровки таймера. При ее замыкании он входит в режим программирования. С помощью кнопок «MIN» и «SEC» можноизменять значение внутреннего параметра, который замедляет или ускорять работу таймера. Это значение сохраняется в EEPROM микроконтроллера. Если находясь в режиме программирования нажать кнопку «START/STOP», то этот параметр сбросится к настройкам по умолчанию. Простой таймер на pic16f630 Таймеру можно задать времянной интервал от одной минуты до 21 часа с дискретным шагом в минуту. В конструкции имеется 12 управляющих выключателей, каждому из которых, соответствует свое временя выдержки. Так как микроконтроллер работает от собственного генератора погрешность отсчета времени достаточно мала, не более 30 секунд за час. При прошивке МК Jp1 необходимо отключить. Если изменять настройки времени планируется не часто, то вместо выключателей можно использовать перемычки. Прошивку, исходник и проект в Протеусе можно взять по ссылке выше Таймер предназначен для однократного или периодического включения нагрузки постоянного тока напряжением от 8 до 12V, силой тока не более 1А. Таймер питается от того же источника питания, что и нагрузка. Время задается установкой перемычки, и может быть 5 минут, 10 минут, 20 минут или 40 минут. Можно выбрать, установкой другой перемычки, один из режимов, - разовое включение или периодическое. В первом случае, нагрузка включается спустя заданное время. И остается включенной пока есть питание. Во втором режиме, нагрузка включается и выключается периодически, - включается спустя заданное время, затем выключается еще через такое же время. И это циклически повторяется. Запуск таймера производится кнопкой. Отсчет времени начинается с момента отпускания этой кнопки. Источником тактовых импульсов служит мигающий светодиод. От частоты его мигания зависят временные интервалы. Имеющийся у автора светодиод мигал с частотой около 1,7 Гц. При этом временные интервалы в 40, 20, 10 и 5 минут указаны приближенно, на деле они на несколько секунд меньше. Поэтому, применять этот таймер там, где нужно строгое и точное соблюдение временных интерва-лов не имеет смысла. Он годится только там, где слишком большой точности не требуется, например, в различных военно-спортивных играх. В основе схемы лежит микросхема CD4040 (аналог К561ИЕ20), - двоичный счетчик на 12 разрядов. Источником тактовых импульсов служит мигающий светодиод HL1. Перемычка Л служит для выбора временного интервала (на схеме показана в положении «40 минут»). Перемычка J2 служит для выбора режима (на схеме показана в положении однократного включения нагрузки). Рис. 1. Принципиальная схема таймера (реле времени) для управления низковольной нагрузкой с током до 1А. После обнуления счетчика D1 на всех его выходах логические нули. И нулевое напряжение через перемычку Л поступает на затвор полевого транзистора VT1, коммутирующего нагрузки. Поэтому он закрыт и на нагрузку ток не поступает. В указанном на схеме положении, через перемычку J2 и резистор R2 подается ток на мигающий светодиод с выхода микросхемы D1. Светодиод HL1 мигает, создавая импульсы тока и напряжения по цепи своего питания. Импульсы напряжения через цепочку R3-C1 поступают на вход счетчика. После отпускания кнопки S1 счетчик начинает считать эти импульсы. Спустя заданное время, логическая единица возникает на том выходе счетчика, с которым соединена перемычка Л. При этом, напряжение поступает на затвор полевого транзистора VT1 и он открывается. А через J2 напряжение высокого логического урвня поступает на мигающий светодиод HL1, и ток через него прекращается, - он больше не мигает и не генерирует импульсы. Схема останавливается на этом. Но, если перемычка J2 будет в нижнем, по схеме, положении, то резистор R2 будет соединен не с выходом счетчика, а с общим минусом питания. Поэтому, счетчик продолжит работать. И спустя еще такое же время, на выходе счетчика, соединенном с перемычкой J1 возникнет логический ноль. И транзистор VT1 закроется, отключив нагрузку. И это будет повторяться циклически. Вместо указанного на схеме светодиода можно применить любой одноцветный мигающий светодиод, однако нужно учесть, что у него частота мигания может быть другой, и, соответственно, временные интервалы тоже получатся другими. В качестве основы для перемычек используется панелька под 14-ти выводную микросхему. Два контакта из неё удалены. Рис. 2. Печатная плата для схемы таймера. Четыре контакта работают для перемычки J2, и восемь контактов - для перемычки J1. Монтаж выполнен на печатной плате, на рисунке показанной схематически. Питание может быть от 5 до 15V. Гордеев И. РК-2017-05.
Среди множества автоматических устройств, вошедших в наш быт, важное место занимают таймеры – приборы,подающие звуковой или световой сигнал либо включающие (выключающие) какой-либо электрический аппарат через заданный промежуток времени. Ими сегодня оснащены многие современные бытовые аппараты – пароварки, печи СВЧ, стиральные машины, электроплиты, радиоприемники, телевизоры и т. д. Ну, а если у вас дома есть приборы, не имеющие встроенного таймера, но их хотелось бы включать или выключать по прошествии определенного времени, не беда, таймер не трудно изготовить самостоятельно.Предлагаемое вниманию читателей устройство позволяет отсчитывать выдержку времени от 1 с до 99 ч 59 мин 59 с. Его основа (см. схему на рисунке) – популярный среди радиолюбителей микроконтроллер PIC16F84A (DD1). Кроме него, таймер содержит микросхему К176ИД2 (DD2) – преобразователь двоичного кода в семиэлементный, четырехразрядный светодиодный цифровой индикатор HG1 и стабилизатор напряжения питания DA1.После включения питания микроконтроллер считывает из своей энергонезависимой памяти (EEPROM) информацию об установках времени (о том, как ее записать в EEPROM, будет сказано ниже) и начинает отсчет. При первом включении устройства автоматически устанавливается выдержка времени, равная 2 мин 59с (на экране индикатора HG1 – цифры 2.59; незначащие нули в старших разрядах не высвечиваются). Требуемую выдержку вводят с помощью кнопок SB1 и SB2. При этом если она больше 1 ч, на экране индикатора отображаются часы и минуты, а если меньше, – минуты и секунды. Элемент Н второго разряда индикатора мигает с частотой 1 Гц, наподобие разделительного двоеточия на обычных электронных часах (он перестает мигать на последней минуте выдержки). С момента начала отсчета на выходе таймера (линия порта RA2 микроконтроллера DD1) устанавливается низкий логический уровень и подключенное к нему исполнительное устройство на транзисторе VT1 и электромагнитном реле К1 находится в режиме ожидания. По окончании заданного промежутка времени низкий логический уровень на выходе таймера сменяется высоким, транзистор VT1 открывается и реле К1 своими контактами (на схеме не показаны) включает или выключает управляемый аппарат (генератор сигнала звуковой частоты, электроприбор, телевизор и т. д.). Этот уровень напряжения на выходе сохраняется до тех пор, пока не будет отключено питание таймера или нажата кнопка SB2 (она в данном случае играет роль кнопки сброса).Чтобы изменить выдержку, во время счета нажимают на кнопку SB2. При этом начинают мигать разряды часов. Установив с помощью кнопки SB1 необходимое время (от 00 до 99 ч), вновь нажимают на кнопку SB2, фиксируя этим число часов и переводя таймер в режим установки минут. Необходимое значение вводят тойже кнопкой SB1, азатем, еще раз нажав на кнопку SB2, переходят к установке секунд. В этом режиме начинает мигать элемент Н второго разряда индикатора HG1 (при установке чисел часов и минут он не светился). Следующее нажатие на кнопку SB2 вызывает запись всех установок в EEPROM и перезагрузку микроконтроллера. В результате на экране индикатора появляются значения часов, минут и секунд, по истечении которых таймер сработает.Детали таймера монтируют на макетной или разработанной самостоятельно печатной плате. Резисторы – МЛТ, конденсаторы С1, С4 – К50-35 или аналогичные импортные, С2, СЗ – керамические КД-1, КМ с нормированным ТКЕ, С5 -KM, К10-17. Реле К1- РЭН34 исполнения ХП4.500.030-01 (сопротивление обмотки -60.. .740м, токсрабатывания – 100 мА). Во избежание повреждения микросхем DD1, DD2 при пайке рекомендуется на плате установить розетки с соответствующим числом гнезд (18 – для DD1 и 16 – для DD2). Для питания таймера используют нестабилизированный источник напряжением 8-10 В с выходным током не менее 200 мА.Кроме указанного на схеме микроконтроллера PIC16F84A, в устройстве без какой-либо доработки программы можно использовать PIC16F84. Допустима замена индикатора CA56-12GWA другим светодиодным индикатором динамического типа с общим анодом и числом разрядов не менее четырех (у него может быть иное назначение выводов, что следует учесть при монтаже). Транзистор КТ815А заменим любым кремниевым структуры n-p-п с предельным значением тока коллектора не менее рабочего тока реле. Вместо реле РЭН34 можно применить любое другое, надежно срабатывающее при напряжении 8-10В, с контактами, рассчитанными на коммутацию переменного напряжения 220 В притоке, потребляемом нагрузкой.Программа, по которой работает микроконтроллер, реагирует на состояние контактов кнопки SB2 в момент их размыкания, т. е. после ее отпускания. Такая логика сохраняется во всех режимах работы. Изменение же состояния контактов кнопки SB1 программа обнаруживает в момент их замыкания. В режиме установки времени однократное нажатие этой кнопки увеличивает значение текущего разряда на единицу, а удержание ее в нажатом положении более 1с заставляет программу перейти в режим автоматического увеличения значения разряда два раза в секунду. Нажатие на эту кнопку в режиме счета и удерживание ее в течение 1с приводит к тому, что независимо от значения времени в разрядах часов на экране индикатора отображаются минуты и секунды. После отпускания кнопки логика работы программы восстанавливается, т. е. становится такой, какой она была до ее нажатия.Следует учесть, что таймер “спешит” примерно на 1с в час, поэтому если необходима повышенная точность “хода”, то при вводе длительности выдержки требуемое значение времени необходимо увеличить на число секунд, равное числу часов.АРХИВ:Скачать
Раздел:
«MIN»
- для задания временного интервала в минутах. Можно установить от 0 до 99.
«SEC»
- тож, но для установки секунд. Секунду также устанавливаются от 0 до 59.
Одновременное нажатие кнопок «MIN» и «SEC» сбросит схему таймера во время работы.
Принципиальная схема
Детали и печатная плата