Практическое занятие № 6
Тема: «Анализ модульного принципа построения»
Цель: изучить принцип модульного построения микроконтроллеров.
Теория.
При модульном принципе построения все МК одного семейства содержат процессорное ядро, одинаковое для всех МК данного семейства, и изменяемый функциональный блок, который отличает МК разных моделей.
Обобщённая структурная схема микроконтроллерных систем управления, этапы разработки, пример.
Микроконтроллером называется программируемое цифровое однокристальное функционально законченное устройство управления объектами, выполненное в виде интегральной микросхемы.
Система включает в себя совокупность внешних объектов, состояние которых изменяется как под воздействием внешних факторов, так и за счет их взаимодействия между собой. Текущее состояние объектов контролируется соответствующими датчиками, сигналы с которых поступают на входы «Портов А, В» микроконтроллера. МК анализирует их и в соответствии с записанной в ПЗУ (внутреннем или внешнем) программой формирует на выходах управляющие сигналы, которые в свою очередь, через исполнительные устройства воздействуют на объекты и изменяют требуемым образом их состояния, образуя замкнутый контур управления.

Этапы разработки МК систем, пример:
В качестве исходных данных при разработке МК систем управления чаще всего выступают:
- словесное описание работы системы;
- вид сигналов с датчиков, соответствующих всем возможным состояниям
объектов, и сигналов, требуемых для управления объектами через исполнительные устройства в соответствии с функциональным назначением системы;
В процессе проектирования требуется разработать:
- схему соединения МК с элементами управления;
- алгоритм работы МК по анализу входных и формированию выходных сигналов (на практике целесообразно оформлять его в виде блок-схемы);
- текст программы на ассемблере имеющегося контроллера, записываемый вего ПЗУ
Исходные данные:
- в резервуар Р через управляемую задвижку 1 поступает жидкость (управляемая задвижка 2 при этом - закрыта). При достижении уровня воды в резервуаре «верхнего» уровня (определяемого датчиком D1), задвижка 1 – закрывается, и одновременно открывается задвижка 2. По мере расхода жидкости из резервуара и достижении «нижнего» уровня (определяемого датчиком D2) происходит обратный процесс: задвижка 1 – открывается, задвижка 2 - закрывается и жидкостьвновь начинает наполнять резервуар. Далее процесс повторяется. Т.е. фактически система позволяет поддерживать уровень жидкости в резервуаре в пределах, устанавливаемых датчиками D1, D2.

- сигналы с датчиков – цифровые, причем если датчик находится в воде, то на его выходе формируется сигнал логической «1», в противном случае – «0», для открывания задвижки необходимо сформировать сигнал логической «1», для закрывания – «0».
Вначале, учитывая двунаправленный характер контактов МК, необходимо установить требуемый режим их работы в соответствии с рис. 4. Далее, учитывая неопределенность исходного состояния системы, необходимо установить некоторое устойчивое ее состояние: в данном случае наиболее целесообразно закрыть обе задвижки, т.к. в таком состоянии система может находиться сколь угодно долго.
Затем необходимо проверить текущий уровень жидкости в резервуаре и в зависимости от него включить один из возможных режимов: слив или наполнение. В данном случае это сделано по состоянию «нижнего» датчика D2. Если он в воде, то открывается задвижка 2 и начинается слив до снижения уровня жидкости ниже D2, если нет – открывается задвижка 1 и начинается наполнение до достижения уровня D1. Далее указанные режимы чередуются с учетом текущего уровня жидкости. Обратите внимание, что в программе отсутствует точка выхода, свойственная блок-схемам программного обеспечения вычислительного характера, т.е. микроконтроллер функционирует циклически.
Таким образом, можно сформулировать два этапа разработки блок-схем, свойственные ВСЕМ практическим системам, использующим МК:
- инициализация портов МК и фиксация исходного состояния его управляющих выходов, независимо от состояния всех входных сигналов;
- разработка блок-схемы с учетом установленного исходного состояния;
- степень детализации блок-схемы определяется в каждом конкретном случае самим разработчиком с учетом возможности реализации требуемых операций данной архитектурой микроконтроллера (т.е. наличием соответствующих команд).
Блок-схема алгоритма работы МК

Структурная схема однокристального микроконтроллера на примере микросхемы PIC 16C52. Принципы работы, назначение регистров, организация памяти.
В основе работы контроллера лежит выполнение полученной команды АЛУ для двух байт: находящихся в рабочем регистре W и любом из других регистров схемы с последующим сохранением результата в любом из них путем передачи результата в него по общей шине данных. Такой механизм связан с тем, что в каждый конкретный момент времени подключенным к ШД может быть ТОЛЬКО ОДИН регистр, а W – подключен к ней всегда.
В процессе работы АЛУ контролирует «правильность» полученного после выполнения команды результата, например, возникновение переноса в 9 разряд, деление на ноль и т.д.). Для этого служит специальный регистр состояния STATUS, разряды (называемые флагами) которого изменяются при возникновении подобных явлений.
ОЗУ контроллера содержит 25 регистров общего назначения (РОН), подключенных к общей шине данных, причем адресация (выбор) конкретного из них может осуществляться двумя способами: непосредственно и косвенно.
Косвенная адресация осуществляется с помощью специального регистра FSR, преобразующим 8-разрядное входное слово, поступающее к нему на вход по шине данных, в выходное 5-разрядное слово, являющееся адресом конкретного регистра в ОЗУ.
Для организации взаимодействия МК с внешними устройствами используются 2 способа:
1). Информация передается через порты ввода/вывода PORT_Aи PORT_B.
2). Использование входа TOCKI для организации подсчета числа внешних событий.
Организация памяти
МК построены по Гарвардской Архитектуре, имеют сокращенный набор команд. Команды записываются в ПЗУ МК которая находится в блоке формирования команд. К памяти данных относятся все физические регистры МК, однако эти регистры разделяются на регистры общего назначения (PON) и специальные регистры (SFR). Некоторые регистры данного МК не имеют физического адреса. Обращение к ним осуществляется специальными командами.
6-битный регистр OPTION при работе имеет две особенности:
- доступен только для записи, осуществляемой командой OPTION (совпадающей с условным именем регистра), при выполнении которой 6 младших разрядов регистра W поразрядно переписываются в регистр OPTION (в 2 старших разряда записываются “1”, независимо от старших разрядов W);
- не имеет реального физически доступного для программиста адреса.

Регистры PORTA, PORTB,
Порты (регистры) PORTA, PORTB предназначены для организации двунаправленного взаимодействия контроллера с внешними устройствами. 4-разрядный (старшие 4 бита физически отсутствуют, а логически считываются как “0”) PORTA имеет адрес 0x05, 8-разрядный PORTB – 0x06. Оба порта доступны как для записи в них данных, при этом контакты порта выступают как выходы, так и для считывания – при этом контакты являются входными.
Динамическая индикация на микроконтроллере PIC 16C52. Схема, назначение элементов, временные диаграммы.
Динамическая индикация на микроконтроллере PIC 16C52. Схема, назначение элементов, временные диаграммы.

Алгоритм устройства динамической индикации включает в себя следующую последовательность действий:
- «зажечь» первый индикатор, подав на h1 уровень логического «0», при этом все остальные индикаторы должны быть потушены за счет подачи на h2=h3=h4=«1»;
- подать на сегменты a – g всех индикаторов код первого символа и удерживать его в течение времени пока h1=«0»;
- убрать код первого символа, выставив на сегментах a – g = «0»;
- «зажечь» второй индикатор, подав на h2 уровень логического «0», приэтом все остальные индикаторы должны быть потушены за счет подачи на h1=h3=h4=«1»;
- подать на сегменты a – g всех индикаторов код второго символа и удерживать его в течение времени пока h2=«0»;
- убрать код второго символа, выставив на сегментах a – g = «0»;
- повторить аналогичные тройки процедур для третьего и четвертого индикатора, выставляя на шине сегментов a – h коды соответственно третьего и четвертогоотображаемых символов;
- циклически повторять ВСЕ приведенные выше процедуры с частотой не менее 100 Гц/один индикатор.

Алгоритм устройства динамической индикации включает в себя следующую последовательность действий:
- «зажечь» первый индикатор, подав на h1 уровень логического «0», при этом все остальные индикаторы должны быть потушены за счет подачи на h2=h3=h4=«1»;
- подать на сегменты a – g всех индикаторов код первого символа и удерживать его в течение времени пока h1=«0»;
- убрать код первого символа, выставив на сегментах a – g = «0»;
- «зажечь» второй индикатор, подав на h2 уровень логического «0», приэтом все остальные индикаторы должны быть потушены за счет подачи на h1=h3=h4=«1»;
- подать на сегменты a – g всех индикаторов код второго символа и удерживать его в течение времени пока h2=«0»;
- убрать код второго символа, выставив на сегментах a – g = «0»;
- повторить аналогичные тройки процедур для третьего и четвертого индикатора, выставляя на шине сегментов a – h коды соответственно третьего и четвертогоотображаемых символов;
- циклически повторять ВСЕ приведенные выше процедуры с частотой не менее 100 Гц/один индикатор.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.