Современная электроника №8/2019
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 54 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 8 2019 рах VT1…VT3, цифровых 7-сегмент- ных индикаторах HG1…HG3. Резисто- ры R3…R10 – токоограничительные для сегментов указанных индикато- ров. Коды для включения индикато- ров HG1…HG3 при функционирова- нии динамической индикации посту- пают на порт PВ микроконтроллера DD1. Для функционирования клавиа- туры и включения пьезоэлектрического излучателя ВА1 задействованы выводы 7 и 8 микроконтроллера DD1 соответ- ственно. Рабочая частота микрокон- троллера задаётся генератором с внеш- ним резонатором ZQ1 на 10 МГц. Сра- зу после подачи питания на выводе 1 микроконтроллера DD1 через RC-цепь (резистор R2, конденсатор С1) форми- руется сигнал системного аппаратно- го сброса микроконтроллера. Разряды индикации интерфейса име- ют следующее назначение: ● 1-й разряд (индикатор НG3) отобра- жает единицы секунд; ● 2-й разряд (индикатор НG2) отобра- жает десятки секунд; ● 3-й разряд (индикатор НG1) отобра- жает сотни секунд. Для перевода устройства в рабочий режим необходимо кнопками S1 ( Δ ) и S2 ( ∇ ) установить необходимый интер- вал времени для проведения процедуры ингаляции, при этом в таймере запре- щается отсчёт текущего времени. Далее необходимо нажать кнопку S3 (С). Уста- новленное время заносится в память микроконтроллера DD1. Если необхо- димо изменить заданное время, необ- ходимо нажать кнопку S3 (С), после чего кнопками S1 ( Δ ) и S2 ( ∇ ) устано- вить необходимый интервал времени и нажать кнопку S3 (С). Предусмотре- на подача звукового сигнала длитель- ностью 10 с в момент окончания отсчё- та заданного времени (момент оконча- ния процедуры), при этом на дисплее канала управления снова индицируется заданный ранее интервал. Для запуска ингалятора в этом случае нужно просто нажать кнопку S3 (С). Время, отображаемое на индикато- рах HG1…HG3, декрементируется с каж- дой секундой. Программное обеспе- чение микроконтроллера полностью обеспечивает реализацию алгоритма работы таймера. Задача по формиро- ванию точных временны ′ х интервалов длительностью 1 с решена с помощью прерываний от таймера T/C1 и счётчи- ка на регистре R25. Счётчик на реги- стре R21 формирует интервал, равный 1 мин. Таймер T/C1 формирует запрос на прерывание примерно через каждые 3900 мкс. Счётчики на данных реги- страх подсчитывают количество пре- рываний, через каждую минуту уста- навливается флаг (PUSK), и текущее время декрементируется. Через каж- дые 3900 мкс происходит отображе- ние разрядов в динамической инди- кации устройства. Программа состоит из трёх основ- ных частей: инициализации, основной программы, работающей в замкнутом цикле, и подпрограммы обработки пре- рывания от таймера T/C1 (метки INIT, SE1 и ТIM0 соответственно). В основной программе осуществля- ются инкремент и декремент заданно- го значения времени. В подпрограмме обработки прерывания выполняются счёт одной секунды, опрос клавиату- ры, включение световых и звуковых сигналов и перекодировка двоичного числа значений времени в код для ото- бражения информации на 7-сегмент- ных индикаторах. В памяти данных микроконтролле- ра по адресам $060…$062 организован буфер отображения для динамиче- ской индикации. При нажатии кноп- ки S1 текущее значение времени на дисплее увеличивается на единицу и устанавливается флаг, разрешающий увеличивать текущее значение време- ни, индицируемое на дисплее. Одно- временно запускается счётчик, выпол- ненный на R1, формирующий интер- вал 5 с. Если кнопка удерживается в течение более чем 5 с, значение вре- мени, индицируемое на дисплее, уве- личивается на 5 единиц за 1 с. Интер- вал, в течение которого происходит увеличение времени, организован на регистре R0. При прекращении нажа- тия кнопки S1 все указанные счётчи- ки обнуляются. Совершенно анало- гичным образом организована работа кнопки S2 для уменьшения текущего значения времени, индицируемого Рис. 4. Принципиальная схема доработанного ингалятора УП-3,5 «АРСА»
RkJQdWJsaXNoZXIy MTQ4NjUy