Menu English Ukrainian Russian Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Проектируем устройства на микроконтроллерах. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Между первоначальным замыслом создания устройства на базе микроконтроллера (МК) и разработкой его программы есть важный этап - составление блок-схемы алгоритма. О нем нередко забывают или, что еще хуже, им пренебрегают. Программирование ведется "эвристически", по существу, - методом проб и ошибок. Результат - кое-как работающая громоздкая программа, не до конца понятная даже ее создателю, и плохо поддающаяся модернизации. Однако давно известны и используются программистами достаточно простые методы, позволяющие, начав со словесной формулировки алгоритма, грамотно спроектировать его блок-схему. Профессиональные интересы автора статьи лежат в области разработок на МК серии Z8, но излагаемый им материал в равной мере относится и к МК других типов.

Взаимодействие любой МК-системы с оператором и объектом управления можно представить показанной на рис. 1 схемой [1]. В общем случае объект управления снабжен исполнительными устройствами и датчиками. Человек-оператор воздействует на МК с помощью задающих устройств и получает информацию о состоянии объекта из показаний устройств индикации. Первые представляют собой переключатели, кнопки, переменные резисторы, вторые - световые (в том числе графические и буквенно-цифровые) индикаторы, звукоизлучающие и другие сигнальные устройства.

Проектируем устройства на микроконтроллерах

Все показанные на схеме функциональные узлы и связи обязательны лишь в комплексных диалоговых системах контроля и управления. В так называемых разомкнутых системах управления МК работает "вслепую", не получая никакой информации о состоянии объекта. Иногда он даже не выдает оператору никаких сведений о работе (как своей, так и объекта), особенно, если имеется возможность оценивать результаты управления, наблюдая за самим объектом. В замкнутых системах управления МК корректирует управляющие воздействия на объект в зависимости от показаний датчиков, но устройства индикации не обязательны и здесь. Системы контроля не содержат исполнительных устройств, а с помощью задающих оператор лишь выбирает контролируемые параметры или переключает режимы работы индикаторов.

Методика проектирования систем на МК [2, 3] включает в себя постановку и анализ задачи, ее инженерную интерпретацию, разработку блок-схемы алгоритма и текста прикладной программы. В подобных системах максимальное число функций стремятся возложить именно на программные средства. От эффективности их реализации зависят в конечном счете требуемый объем памяти, быстродействие и надежность работы системы в цепом. Конечно, предстоит еще разработка принципиальной схемы и самой конструкции изделия, но их мы коснемся лишь в мере, необходимой для разработки программы МК.

Постановка задачи - это словесная формулировка требований к проектируемой системе. Прежде всего описывают ее назначение, характеристики объекта управления, датчиков, индикаторов, исполнительных и задающих устройств. Далее следует подробно рассказать о желательном поведении системы во всех возможных ситуациях, в том числе "нештатных". Ни в коем случае нельзя полагаться на безошибочные действия оператора. Например, услышав аварийный сигнал, он вполне может вместо предписанной кнопки "СТОП" нажать на кнопку "СТАРТ" или беспорядочно нажимать на все кнопки подряд. Конечно, все подобные ситуации предвидеть невозможно, но к этому нужно стремиться. Обязательно следует задать численные значения параметров проектируемой системы.

Вначале задачу формулируют, как правило, "на уровне пользователя". Например, исходное задание на разработку системы управления вентилятором может звучать так: "Включать и выключать вентилятор, регулировать интенсивность воздушного потока и изменять его направление (вытяжка/нагнетание)". Инженерный анализ сведет эту задачу к управлению скоростью и направлением вращения привода вентилятора - электродвигателя постоянного тока. Поскольку мощность выходных сигналов МК заведомо недостаточна для непосредственного управления двигателем, между ними придется установить специальное устройство-драйвер, формирующее сигналы нужной мощности, а задача, решаемая МК. ограничится подачей управляющих воздействий на драйвер.

Не будем подробно останавливаться на выборе силовых элементов управления, датчиков и устройств их сопряжения с МК. Сегодня для этих целей выпускаются специализированные микросхемы, применять которые гораздо эффективнее, чем строить систему из дискретных компонентов.

Предположим, что будет применен интегральный драйвер электродвигателя постоянного тока LMD18200 фирмы National Semiconductor. Типовая схема его включения показана на рис. 2. Он содержит мост из мощных МОП-транзисторов, в диагональ которого включают двигатель.

Проектируем устройства на микроконтроллерах

Управляют драйвером с помощью трех логических сигналов. На вход PWM (Pulse Width Modulation - широтно-импульсная модуляция, ШИМ) подают прямоугольные импульсы, от отношения длительности которых к периоду повторения (коэффициента заполнения) зависит частота вращения двигателя. Логическим уровнем сигнала на входе DIR (direction - направление) задают полярность напряжения, подаваемого на двигатель, следовательно, направление его вращения. Установив уровень лог. 1 на входе BR (brake - тормоз), двигатель останавливают, причем, если в это время на входе PWM лог. 0, цепь питания двигателя окажется просто разомкнута, в противном случае выводы двигателя будут еще и соединены между собой, что обеспечит экстренное торможение.

В драйвер встроены два датчика. Один из них генерирует ток, вытекающий из вывода CUR (current - ток) и пропорциональный току двигателя с коэффициентом 377 мкА/А. Выход датчика температуры TF (Thermal Flag - флаг температуры) - дискретный с открытым коллектором. Он переходит в состояние лог. 0. если кристалл драйвера нагрелся выше 145 °С.

Сформулируем требования к устройству управления электродвигателем вентилятора, а по существу, - драйвером двигателя.

Устройство управления должно быть снабжено кнопками, нажимая на которые оператор (пользователь) сможет включать и выключать двигатель, изменять направление, увеличивать и уменьшать частоту его вращения. Должна быть предусмотрена индикация направления вращения двигателя световыми сигналами разного цвета и звуковая сигнализация об аварии (перегреве или перегрузке).

После подачи напряжения питания устройство должно, не включая двигатель, ожидать команду, задающую направление вращения. Ее получение следует подтвердить световым сигналом. По команде "ПУСК" двигатель должен быть включен и начать вращаться в заданном направлении со средней частотой (коэффициент заполнения сигнала PWM = 0.5). По командам "МЕДЛЕННЕЕ" и "БЫСТРЕЕ" коэффициент заполнения должен соответственно уменьшаться или увеличиваться, не выходя за пределы 0.2... 1. Команда "СТОП" должна немедленно останавливать двигатель, после чего его можно вновь запустить, подав команду "ПУСК".

В случае превышения допустимого значения потребляемого тока, что может быть следствием, например, механического заклинивания вала двигателя, последний нужно выключить и подать прерывистый звуковой сигнал частотой 1000 Гц в виде коротких посылок (длительность их и пауз между ними 1 с). При перегреве микросхемы необходимо остановить двигатель и подать звуковой сигнал длинными посылками (длительность посылок и пауз 2 с). Звуковая сигнализация должна оставаться включенной до тех пор. пока оператор не подаст команду "СТОП", возвращающую устройство в исходное состояние. До подачи такой команды оно не должно реагировать ни на какие другие.

Уже на этом этапе следует абстрагироваться от подробностей, несущественных для разработки программы МК. Например, в данном случае не имеет значения то. что объект управления (двигатель) служит приводом вентилятора, от направления его вращения зависит тип вентиляции(вытяжная или приточная), а от частоты - интенсивность потока воздуха. Более того, разрабатывая алгоритм, можно вообще забыть о двигателе и его драйвере, сосредоточившись на формировании управляющих сигналов PWM. DIR, BR и обработке сигналов датчиков CUR и ТЕ.

Анализируя сформулированную задачу, желательно сразу выявить некоторые проблемы, которые неизбежно проявят себя на следующих этапах. Например, должна ли система реагировать на команду "ПУСК", если направление вращения предварительно не задано? Если да. то в каком направлении должен вращаться двигатель в подобном случае? Должны ли сохраняться заданные частота и направление вращения после остановки и повторного пуска двигателя? А после устранения аварийной ситуации? На все подобные вопросы необходимо ответить как можно раньше.

Исходя из словесного описания, составляют списки входных и выходных сигналов МК. В первый из них включают команды, подаваемые оператором, и сигналы датчиков: "ВЫТЯЖКА". "НАГНЕТАНИЕ". "ПУСК". "БЫСТРЕЕ". "МЕДЛЕННЕЕ". "СТОП". "ПЕРЕГРУЗКА" (CUR). "ПЕРЕГРЕВ" (TF). Во второй -сигналы управления драйвером двигателя и индикаторами: PWM - частота вращения. DIR - направление вращения, BR - выключить двигатель. G -включить зеленый светодиод. Y -включить желтый светодиод. S - звук.

С учетом сказанного можно сделать предварительный вывод о том. что требуется МК. имеющий не менее 14 выводов для подключения внешних цепей (восемь входов и шесть выходов). Поскольку сигнал CUR - аналоговый, понадобится компаратор для сравнения показаний датчика с допустимым значением и формирования логического сигнала "ПЕРЕГРУЗКА". Поэтому предпочтителен МК. снабженный встроенным компаратором. Пригодна, например, минимальная 18-выводная модификация МК серии Z86. Самый дешевый вариант - микросхема. Z86E02. Пока это все. что касается аппаратной части устройства. Распределение входных и выходных сигналов по выводам МК на данном этапе несущественно.

Далее рекомендуется словесно заданный алгоритм изобразить в виде так называемого графа конечного автомата. Дискретное устройство считают конечным автоматом, если удается перечислить все состояния, в которых оно может находиться, все события (внешние воздействия), приводящие к изменениям состояния, и все формируемые выходные сигналы. Именно таковы устройства на базе МК.

Пример графа автомата приведен на рис. 3.

Проектируем устройства на микроконтроллерах

Состояния изображены узлами (вершинами) графа. В данном случае их четыре: А. В. С и D. Вершины соединены дугами, снабженными стрелками, показывающими направление перехода, над дугой указывают событие Xi, вызывающее данный переход, а под ней - набор Yi выходных сигналов, формируемых автоматом в этот момент и не изменяющихся до следующего перехода. Теоретически из каждой вершины графа должно выходить ровно столько дуг. сколько возможно различных внешних воздействий на автомат. Если некоторое событие не изменяет состояния автомата, соответствующую дугу показывают входящей в ту же вершину, из которой она вышла. Однако, чтобы не загромождать чертеж, на практике оставляют только те из подобных дуг. с которыми связаны изменения выходных сигналов. Например, из графа, показанного на рис. 3. можно удалить дуги А-А и В-В. На обычном языке это означает, что автомат в состояниях А и В на событие Х3 не реагирует.

События, воздействующие на автомат, реализуемый в виде программы МК. бывают не только "прямыми", вызванными изменениями логических уровней сигналов, подаваемых на внешние выводы МК, но и "косвенными". К последним относят, например, определенный результат сравнения вычисленного и заданного значений некоторого параметра или завершение какой-либо длительной операции. Грань между прямыми и косвенными событиями иногда провести трудно. Скажем, такое распространенное событие, как срабатывание встроенного в МК таймера, можно считать косвенным, если фиксировать его. анализируя число, находящееся в соответствующем регистре, или прямым, реагируя на сигнал, генерируемый таймером по окончании счета. Выходные сигналы тоже могут быть косвенными, не изменяющими непосредственно логические уровни на выходах МК. Нередко при переходах между состояниями автомата лишь присваивают определенные значения переменным программы.

Возвращаясь к решаемой задаче, построим граф автомата управления двигателем. Анализируя задание, можно выделить следующие состояния:

  • НАЧАЛО - устанавливается немедленно после включения питания. Выполняются необходимые начальные действия - задаются исходные значения переменных программы и выходных сигналов, настраиваются периферийные устройства. После этого автомат переходит в состояние СТОП1 (хороший пример перехода по косвенному событию - завершению инициализации);
  • СТОП 1 - автомат входит в него по завершении инициализации или выйдя из аварийной ситуации. Выходит по командам, задающим направление вращения двигателя:
  • СТОП2 - автомат ожидает команду "ПУСК";
  • РАБОТА - основное состояние, устройство генерирует сигнал PWM. Выход по команде "СТОП" или по сигналам аварийных датчиков;
  • ПЕРЕГРЕВ. ПЕРЕГРУЗКА - состояния, в которые автомат переходит из состояния РАБОТА в результате срабатывания соответствующих датчиков. Двигатель выключен, устройство генерирует звуковые сигналы. Выход - только по команде "СТОП".

Построенный граф показан на рис. 4.

Проектируем устройства на микроконтроллерах

Нетрудно заметить, что невозможно изменить случайно заданное неверное направление вращения, не включив, а затем выключив двигатель. К тому же, чтобы запустить его, всегда требуется подать две команды - направления и пуска. Отказавшись от команды "ПУСК", можно исключить состояние СТОП2. а дуги команд "НАГНЕТАНИЕ" и "ВЫТЯЖКА" направить непосредственно в состояние РАБОТА. В результате на пульте управления станет одной кнопкой меньше, освободится один вход МК. а двигатель будет включаться сразу же после нажатия любой из кнопок, задающих направление. Строго говоря, на любое изменение заданного алгоритма управления нужно получить согласие заказчика или будущего пользователя устройства. Но в любительской практике заказчик, исполнитель и пользователь нередко - одно лицо и достаточно "посоветоваться с самим собой".

Бросается в глаза, что граф не отражает способ формирования сигнала PWM с переменным коэффициентом заполнения. В общем случае это может делать специальное устройство, управляемое от МК. Но мы стремимся все реализовать чисто программным путем, поэтому придется разбить состояние РАБОТА на два. В первом из них (РАБОТАО) PWM=0, ьо втором (РАБОТА 1) - PWM = 1.

Теперь предусмотрим события, вызывающие переходы между ними, - поочередные срабатывания двух таймеров, один из которых задает длительность импульсов PWM, а второй - пауз между ними, причем каждый таймер, сработав, запускает другой. Благодаря тому, что в данном случае "логические" таймеры никогда не работают одновременно, их можно будет реализовать с помощью одного "физического" таймера, программно изменяя его выдержку времени после каждого срабатывания.

Командами "БЫСТРЕЕ" и "МЕДЛЕННЕЕ" регулируют выдержки времени таймеров, оставляя их сумму неизменной и равной заданному периоду повторения импульсов PWM. Реагировать на эти команды автомат может в обоих рассматриваемых состояниях. Однако для упрощения алгоритма допустимо ограничиться реакцией только в одном из них. Благодаря кратковременности этих состояний задержка исполнении останется незаметной оператору.

Еще одно необходимое уточнение - проверка допустимости значений выдержек времени. Согласно заданию, коэффициент заполнения сигнала PWM. равный Т1/(Т1+Т0). где Т1 и Т0 - выдержки времени таймеров, должен всегда оставаться в интервале 0,2... 1. Поэтому после каждой команды изменения скорости автомат должен переходить в состояние ПРОВЕРКА и только из него возвращаться в состояние РАБОТА по одной из двух дуг. Первая соответствует положительному результату проверки, при переходе по ней устанавливаются новые значения выдержек. Вторая - результат отрицательный, действовавшие ранее выдержки остаются неизменными.

Продолжая анализировать граф, обращаем внимание, что состояния ПЕРЕГРЕВ и ПЕРЕГРУЗКА различаются только периодом повторения звукового сигнала. Их неплохо объединить в одно, назвав его АВАРИЯ. Звуковой сигнал S можно генерировать с помощью двух таймеров, подобно рассмотренному выше сигналу PWM. Более того, желательно использовать тот же самый "физический" таймер, который в этом состоянии остается безработным.

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

Разработанный граф автомата управления двигателем показан на рис. 5.

Проектируем устройства на микроконтроллерах

Обратите внимание, что словесные формулировки выполняемых действий заменены присваиванием определенных значений переменным. Например, вместо фразы "включить желтый светодиод" указано Y = 1 и уточнено, что зеленый светодиод следует выключить, G = 0. Кроме упоминавшихся ранее выходных сигналов и выдержек таймеров, введены константа Т-период повторения импульсов PWM и переменная N - число импульсов S, оставшихся до завершения формируемого интервала звукового сигнала.

Следующий шаг - преобразование графа в блок-схему алгоритма работы МК. Прежде всего, все вершины графа (состояния автомата) следует пронумеровать. Порядок нумерации имеет очень большое значение при аппаратной реализации автомата. Выбрав его правильно, можно существенно упростить устройство. Для программной реализации это не столь существенно, и в большинстве случаев нумерация может быть произвольной. В программе обязательно предусматривают так называемую "переменную состояния", которой в процессе работы присваивают значения, равные номерам текущих состояний. В сложных программах таких переменных может быть несколько. Многие языки программирования позволяют давать числовым значениям символические имена. Этим можно широко пользоваться, гак как строка программы, в которой переменной присваивается значение RABOTA, намного нагляднее строки, присваивающей, например, значение 6.

На рис. 6 типовая блок-схема управляющего алгоритма представлена в самом общем виде. После инициализации программа работает циклически. Проанализировав переменную состояния, она в каждом цикле выполняет соответствующую процедуру. Изменение состояния автомата отображается присваиванием нового значения переменной состояния, в результате в следующем цикле будет выполнена другая процедура.

Проектируем устройства на микроконтроллерах

Процедуры, реализующие каждое из состояний автомата, строят по блок-схемам, аналогичным показанной на рис. 7. Прежде всего анализируют внешние воздействия (события). Далее процесс делят на столько ветвей, сколько дуг выходит из соответствующей вершины графа автомата, в каждой из них предусмотрено выполнение функций, необходимых для реализации данного перехода, в заключение присваивают переменной состояния значение, равное номеру вершины, в которую направлена дуга. Возможен и другой подход: сначала реализуют дуги, входящие в вершину, а затем реагируют на воздействия. Его основной недостаток - программа должна "знать", из какого состояния автомат перешел в данное, чего не требовалось в предыдущем случае.

Проектируем устройства на микроконтроллерах

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

Если внешних воздействий немного и реакция на них в каждом состоянии специфична, процедуры обнаружения событий включают в блоки обработки состояний. Например, проверять, нажата ли кнопка "ПУСК", можно только в том состоянии, в котором автомат должен на это реагировать. Часто процедуру фильтрации событий выносят в главный цикл (на рис. 6 она показана штриховой линией) и предусматривают переменную, которой присваивают значение, однозначно связанное с произошедшим событием. Например, результат опроса клавиатуры - код нажатой клавиши. В блоке обработки состояния, выполненном по второму из рассмотренных выше вариантов, лишь анализируют значение этой переменной.

В отличие от теоретической модели реальные события нередко происходят одновременно. В подобной ситуации автомат должен прежде всего прореагировать на событие, имеющее наивысший приоритет. Простейший способ задать приоритеты - выбрать правильную последовательность анализа событий. Например, согласно блок-схеме, показанной на рис. 7, высший приоритет у события Х1. низший - у ХЗ. Если высокоприоритетные события происходят значительно чаще имеющих низкий приоритет, очередь до последних может никогда не дойти. Во избежание этого редким событиям следует отдавать наивысшие приоритеты. Иногда распределение последних приходится изменять в процессе работы программы, например, помещая каждое только что обработанное событие в конец очереди.

Непредсказуемое поведение системы на МК часто объясняется помехами или дребезгом контактов органов управления. Подобные ложные события необходимо "отсеивать" с помощью программных фильтров. Чаще всего для признания события свершившимся достаточно убедиться, что логический уровень сигнала на соответствующем входе МК оставался неизменным в течение определенного времени. В ответственных случаях применяют и более сложные процедуры.

Среди множества событий нередко можно выделить "экстренные", реакция на которые должна быть немедленной. Типичный пример. Чтобы не пропустить момент срабатывания таймера, программе приходится непрерывно проверять состояние его регистра, не имея возможности до истечения выдержки заниматься чем-либо еще. Сигнал запроса прерывания, генерируемый таймером по окончании счета, решает проблему. Приняв его. МК немедленно (во всяком случае, значительно быстрее, чем при обычной программной обработке того же события) переходит к выполнению подпрограммы обслуживания данного прерывания, адрес (вектор) которой должен быть указан в специально отведенных ячейках памяти программ.

Аппарат приоритетных векторных прерываний выполняемой программы предусмотрен в подавляющем большинстве МК. Прерывания могут быть как внешними, так и внутренними. В последнем случае вход запроса прерывания не имеет внешнего вывода, а соединен с источником запросов, находящимся непосредственно на кристалле МК. Обычно предусмотрены внутренние прерывания не только от таймера, но и от других встроенных в данный МК устройств: контроллеров последовательных портов, компараторов аналоговых сигналов, аналого-цифровых преобразователей.

Нередко одно из внутренних прерываний современных МК связано с так называемым сторожевым таймером (Watch Dog), служащим для защиты от случайных сбоев. Этот таймер требует постоянной

инициализации путем записи определенного кода в определенную ячейку адресного пространства. Программу МК строят таким образом, чтобы при ее нормальном ходе такая процедура выполнялась достаточно часто. Если МК "завис", инициализация сторожевого таймера прекращается и через некоторое время он подает свой запрос прерывания, обработка которого призвана восстановить нормальную работу системы. Как правило, реакция на прерывание от сторожевого таймера такая же. как на внешний сигнал, устанавливающий МК в исходное состояние.

Прерываниями управляют, разрешая или запрещая их в зависимости от состояния реализуемого автомата. Если одно и то же прерывание в разных состояниях необходимо обрабатывать по разному, процедуру обработки строят подобно главному циклу программы, предусматривая в ней анализ состояния. Отличие состоит в том. что такую процедуру не замыкают в кольцо. Завершив ее, МК продолжит выполнять программу с того места, где она была прервана. Это чревато сбоями, так как в изменившемся в результате обработки прерывания состоянии продолжение прерванных действий может дать неправильный результат. Защищаются от подобных ошибок, запрещая прерывания на время выполнения критических участков программного хода, что. несомненно, замедляет реакцию системы.

Если источников запросов прерываний в системе больше предусмотренных для них входов МК, аппаратно реализуют групповой запрос, объединяя выходы нескольких источников по схеме ИЛИ. Приняв такой запрос. МК обязан выяснить кто его послал и соответствующим образом обработать.

Весь алгоритм работы устройства иногда реализуют набором подпрограмм обработки прерываний. В этом случае главный цикл вырождается в несколько машинных команд, вплоть до единственной команды безусловного перехода на саму себя. Во многих МК специально предусмотрены команды HALT или IDLE, по которым они. по существу, прекращают работать (иногда выключается даже тактовый генератор). Вывести МК из этого состояния способен лишь поступивший запрос прерывания. Закончив обработку запроса. МК выполняет предусмотренный в главном цикле безусловный переход на команду остановки и вновь "засыпает". Этот режим очень экономичен, гак как мощность, потребляемая остановленным МК, многократно уменьшается, возрастая лишь во время реакции на внешние воздействия.

Разработанная с учетом изложенного блок-схема алгоритма управления электродвигателем вентилятора состоит из двух частей, изображенных на рис. 8 (главный цикл) и рис. 9 (обработка прерывания от таймера). Обе они соответствуют в основном рассмотренным выше типовым блок схемам, за исключением того, что объединены одинаковые операции, выполняемые при обработке разных событий. Обработчик прерывания от таймера формирует сигналы PWM и S. При переходе из состояния СТОП в состояние РАБОТА прерывание разрешается, а при возврате в состояние СТОП - запрещается.

Проектируем устройства на микроконтроллерах

В программе появилась переменная состояния ST, которой для наглядности присваиваются строковые значения - названия соответствующих состояний. Как говорилось выше, в программе это будут числа - номера состояний или их символические имена. Значения, присваиваемые переменной N0, выбраны исходя из предположения, что периоды повторения формируемых импульсов PWR и S одинаковы и равны 1 мс. Если это не так. блок-схему придется немного изменить.

Проектируем устройства на микроконтроллерах

Теперь можно переходить к выбору МК, распределению входных и выходных сигналов по его выводам и разработке полной принципиальной схемы устройства. Определив, с какими внешними цепями будут соединены разряды того или иного порта ввода/вывода МК, и логические уровни, сигналов в этих цепях, программист может приступать к разработке программы.

Литература

  1. Франке К. Введение в микро-ЭВМ: Пер. с нем. - М.: Энергоатомиэдат. 1998.
  2. Каган Б. М., Сташин В. В. Основы проектирования микропроцессорных устройств автоматики. - М.: Энергоатомиэдат. 1987.
  3. Сташин В. В., Урусов А. В., Мологоицева О. Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.: Энергоатомиэдат. 1990.

Автор: М.Гладштейн, г.Рыбинск

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Искусственная кожа для эмуляции прикосновений 15.04.2024

В мире современных технологий, где удаленность становится все более обыденной, сохранение связи и чувства близости играют важную роль. Недавние разработки немецких ученых из Саарского университета в области искусственной кожи представляют новую эру в виртуальных взаимодействиях. Немецкие исследователи из Саарского университета разработали ультратонкие пленки, которые могут передавать ощущение прикосновения на расстоянии. Эта передовая технология предоставляет новые возможности для виртуального общения, особенно для тех, кто оказался вдали от своих близких. Ультратонкие пленки, разработанные исследователями, толщиной всего 50 микрометров, могут быть интегрированы в текстильные изделия и носиться как вторая кожа. Эти пленки действуют как датчики, распознающие тактильные сигналы от мамы или папы, и как исполнительные механизмы, передающие эти движения ребенку. Прикосновения родителей к ткани активируют датчики, которые реагируют на давление и деформируют ультратонкую пленку. Эта ...>>

Кошачий унитаз Petgugu Global 15.04.2024

Забота о домашних животных часто может быть вызовом, особенно когда речь заходит о поддержании чистоты в доме. Представлено новое интересное решение стартапа Petgugu Global, которое облегчит жизнь владельцам кошек и поможет им держать свой дом в идеальной чистоте и порядке. Стартап Petgugu Global представил уникальный кошачий унитаз, способный автоматически смывать фекалии, обеспечивая чистоту и свежесть в вашем доме. Это инновационное устройство оснащено различными умными датчиками, которые следят за активностью вашего питомца в туалете и активируются для автоматической очистки после его использования. Устройство подключается к канализационной системе и обеспечивает эффективное удаление отходов без необходимости вмешательства со стороны владельца. Кроме того, унитаз имеет большой объем смываемого хранилища, что делает его идеальным для домашних, где живут несколько кошек. Кошачий унитаз Petgugu разработан для использования с водорастворимыми наполнителями и предлагает ряд доп ...>>

Привлекательность заботливых мужчин 14.04.2024

Стереотип о том, что женщины предпочитают "плохих парней", долгое время был широко распространен. Однако, недавние исследования, проведенные британскими учеными из Университета Монаша, предлагают новый взгляд на этот вопрос. Они рассмотрели, как женщины реагируют на эмоциональную ответственность и готовность помогать другим у мужчин. Результаты исследования могут изменить наше представление о том, что делает мужчин привлекательными в глазах женщин. Исследование, проведенное учеными из Университета Монаша, приводит к новым выводам о привлекательности мужчин для женщин. В рамках эксперимента женщинам показывали фотографии мужчин с краткими историями о их поведении в различных ситуациях, включая их реакцию на столкновение с бездомным человеком. Некоторые из мужчин игнорировали бездомного, в то время как другие оказывали ему помощь, например, покупая еду. Исследование показало, что мужчины, проявляющие сочувствие и доброту, оказались более привлекательными для женщин по сравнению с т ...>>

Случайная новость из Архива

Сигнал тревоги - в каждый дом 05.08.2005

Немецкая фирма "2wcom" разработала радиоприемник со встроенной системой тревожного сигнала.

В случае землетрясения, цунами, крупной катастрофы или террористического акта радиостанции системы гражданской обороны подают в эфир специальный сигнал, который улавливается декодером приемника, и включается громкая сирена.

Одновременно на дисплее прибора появляется текст объявления о происшествии, потом этот же текст звучит через громкоговоритель. Приемник имеет встроенный аккумулятор, так что не зависит от электросети.

Швеция уже заказала 15 тысяч тревожных радиоприемников для установки в домах, находящихся вблизи от АЭС.

Другие интересные новости:

▪ Прибыль от продажи серверов World of Warcraft пойдет на благотворительность

▪ 17-дюймовая панель экрана прикосновения с 7-проводной системой передачи данных

▪ Шея - слабое место футболиста

▪ Игровой монитор ASUS VG249QL3A

▪ Выращены первые клетки биологического кардиостимулятора

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Дом, приусадебное хозяйство, хобби. Подборка статей

▪ статья Пули лить. Крылатое выражение

▪ статья Где находятся самые высокие, а где самые низкие места на территории бывшего СССР? Подробный ответ

▪ статья Инородное тело в дыхательных путях. Медицинская помощь

▪ статья Имитатор звука выстрела. Энциклопедия радиоэлектроники и электротехники

▪ статья Управление сетевой нагрузкой ТТЛ-микросхемой. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





All languages of this page

Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2024