Menü English Ukrainian Rusça Ana Sayfa

Hobiler ve profesyoneller için ücretsiz teknik kütüphane Ücretsiz teknik kütüphane


RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ
Ücretsiz kütüphane / Radyo-elektronik ve elektrikli cihazların şemaları

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

Ücretsiz teknik kütüphane

Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler

makale yorumları makale yorumları

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

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

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

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

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

Управляют драйвером с помощью трех логических сигналов. На вход 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.

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

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

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

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

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

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

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

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

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

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

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

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

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

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

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

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

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

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

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

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

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

Cihazları mikrodenetleyiciler üzerinde tasarlıyoruz

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

Edebiyat

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

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

Diğer makalelere bakın bölüm Mikrodenetleyiciler.

Oku ve yaz yararlı bu makaleye yapılan yorumlar.

<< Geri

En son bilim ve teknoloji haberleri, yeni elektronikler:

Sıcak biranın alkol içeriği 07.05.2024

En yaygın alkollü içeceklerden biri olan biranın, tüketim sıcaklığına bağlı olarak değişebilen kendine özgü bir tadı vardır. Uluslararası bir bilim insanı ekibi tarafından yapılan yeni bir araştırma, bira sıcaklığının alkol tadı algısı üzerinde önemli bir etkiye sahip olduğunu ortaya çıkardı. Malzeme bilimcisi Lei Jiang liderliğindeki çalışma, farklı sıcaklıklarda etanol ve su moleküllerinin farklı türde kümeler oluşturduğunu ve bunun da alkol tadı algısını etkilediğini buldu. Düşük sıcaklıklarda, "etanol" tadının keskinliğini azaltan ve içeceğin tadının daha az alkollü olmasını sağlayan daha fazla piramit benzeri kümeler oluşur. Aksine, sıcaklık arttıkça kümeler daha zincir benzeri hale gelir ve bu da daha belirgin bir alkol tadıyla sonuçlanır. Bu, baijiu gibi bazı alkollü içeceklerin tadının neden sıcaklığa bağlı olarak değişebileceğini açıklıyor. Elde edilen veriler içecek üreticileri için yeni fırsatlar sunuyor. ... >>

Kumar bağımlılığı için başlıca risk faktörü 07.05.2024

Bilgisayar oyunları gençler arasında giderek daha popüler bir eğlence biçimi haline geliyor ancak buna bağlı oyun bağımlılığı riski önemli bir sorun olmaya devam ediyor. Amerikalı bilim insanları bu bağımlılığa katkıda bulunan ana faktörleri belirlemek ve önlenmesine yönelik öneriler sunmak amacıyla bir çalışma yürüttüler. Altı yıl boyunca 385 genç, hangi faktörlerin onları kumar bağımlılığına yatkın hale getirebileceğini bulmak için takip edildi. Sonuçlar, çalışmaya katılanların %90'ının bağımlılık riski altında olmadığını, %10'unun ise kumar bağımlısı olduğunu gösterdi. Kumar bağımlılığının başlangıcındaki temel faktörün düşük düzeyde olumlu sosyal davranış olduğu ortaya çıktı. Düşük düzeyde olumlu sosyal davranışa sahip gençler, başkalarının yardım ve desteğine ilgi göstermezler, bu da gerçek dünyayla temasın kaybolmasına ve bilgisayar oyunlarının sunduğu sanal gerçekliğe bağımlılığın derinleşmesine yol açabilir. Bu sonuçlara dayanarak bilim insanları ... >>

Trafik gürültüsü civcivlerin büyümesini geciktiriyor 06.05.2024

Modern şehirlerde bizi çevreleyen sesler giderek daha keskin hale geliyor. Ancak çok az insan bu gürültünün hayvanlar dünyasını, özellikle de henüz yumurtalarından çıkmamış civcivler gibi hassas canlıları nasıl etkilediğini düşünüyor. Son araştırmalar bu konuya ışık tutuyor ve gelişimleri ve hayatta kalmaları açısından ciddi sonuçlara işaret ediyor. Bilim insanları, baklava sırtlı zebra yavrularının trafik gürültüsüne maruz kalmasının gelişimlerinde ciddi aksamalara yol açabileceğini buldu. Deneyler, gürültü kirliliğinin yumurtadan çıkmalarını önemli ölçüde geciktirebildiğini ve ortaya çıkan civcivlerin sağlığı geliştiren bir dizi sorunla karşı karşıya olduğunu göstermiştir. Araştırmacılar ayrıca gürültü kirliliğinin olumsuz etkilerinin yetişkin kuşlara da yayıldığını buldu. Üreme şansının azalması ve doğurganlığın azalması, trafik gürültüsünün yaban hayatı üzerindeki uzun vadeli etkilerini göstermektedir. Araştırma sonuçları ihtiyacı vurguluyor ... >>

Arşivden rastgele haberler

hidrojenli telefon 11.02.2011

Singapurlu bir şirket, cep telefonlarını, dijital oynatıcıları ve diğer taşınabilir elektronik cihazları şarj edebilen bir cep hidrojen yakıt hücresi başlattı.

Bir buçuk ila iki watt'lık bir pil, değiştirilebilir bir kartuştan hidrojen kullanır ve bu, yanıcı gazla bin defaya kadar şarj edilebilir. Hidrojen, kartuşta nadir bulunan metal hidritlerin bir tozu olarak depolanır, bu nedenle patlama tehlikesi yoktur (metal hidritlerin bir uçağın kabininde taşınmasına bile izin verilir).

Kartuştaki hidrojen enerjisi rezervi 15 watt saattir, bu da normal bir telefonu iki veya üç kez şarj etmenizi sağlar.

Diğer ilginç haberler:

▪ İyi bir örnek de bulaşıcıdır

▪ Bilişim sektörüne karşı yasa

▪ Veri aktarım hızı iki katına çıkacak

▪ Dünya dışı uygarlıklardan saklanın

▪ Asteroitlerden madencilik

Bilim ve teknolojinin haber akışı, yeni elektronik

 

Ücretsiz Teknik Kitaplığın ilginç malzemeleri:

▪ web sitesinin Kaçak akım cihazları bölümü. Makale seçimi

▪ makale İş - tütün. Popüler ifade

▪ makale En kısa soyadı nedir? ayrıntılı cevap

▪ makale Danışmanı vergiler ve ücretler. İş tanımı

▪ makale Parfümlü tuvalet sabunları. Basit tarifler ve ipuçları

▪ makale AC dedektörü. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi

Bu makaleye yorumunuzu bırakın:

Adı:


E-posta isteğe bağlı):


Yorum:





Bu sayfanın tüm dilleri

Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri

www.diagram.com.ua

www.diagram.com.ua
2000-2024