2. Язык проектирования МПС, встроенной в ЭА
Для системы, содержащей МП, требуется проектирование как аппаратных, так и программных средств. Проектирование аппаратной части может быть выполнено с использованием стандартной методологии проектирования аппаратуры.
Проектирование программного обеспечения лучше всего может быть выполнено с использованием языка проектирования, подобного естественному языку. Программное обеспечение строится путем преобразования конструкций языка проектирования в язык программирования микрокомпьютера (МКП). Оно тестируется и одновременно с аппаратурой объединяется в единое целое.
Схемы языка проектирования можно рассмотреть с помощью простого примера. Пусть имеем систему из микрокомпьютера с двумя выходами (рис.1.3), которая должна реализовывать функцию преобразования, представленную на рис.1.1.
Рисунок 1.3 – Структурная схема микрокомпьютерной системы
Из наличия у системы входов и выходов можно сделать заключение о том, что микрокомпьютер должен иметь возможность проверять значение каждого входа, а также устанавливать каждый из выходов в определенные значения.
На языке проектирования в операциях проверки и установки используются простые конструкции.
Проверить Вх.1 и запомнить его значение.
Установить значение Вых.1, равное 6.
Рисунок 1.4 – Функция преобразования
Необходимо также иметь возможность проверять условия, которым удовлетворяют хранимые значения каждого из входов для установки выходных значений. С этой целью используется условная конструкция, которая в общем виде может быть представлена как: ЕСЛИ (условия проверки – истина). ТО (выполнить что-либо). ИНАЧЕ (выполнить что-либо другое). Таким образом, для данного примера описание на языке проектирования вначале будет иметь вид:
1. Проверить Вх1 и хранить его значения.
2. Проверить Вх2 и хранить его значения.
3. Если 4 ≤ Вх1 ≤ 8, установить Вых1 = 6.
1. Иначе Вых1 установить = 0.
5. Если 2 ≤ Вх2 ≤ 6, установить Вых2 = 1.
6. Иначе Вых2 установить = 0.
Когда система функционирует, микрокомпьютер выполняет запрограммированные операции шаг за шагом. После того, как входы проверены, нет уверенности, что затем при повторной проверке один из них не окажется измененным. Поэтому необходима такая операция, которая позволяла бы выполнять другие операции языка проектирования бесконечное число раз.
Для этой цели используется конструкция:
«ВЫПОЛНЯТЬ НЕПРЕРЫВНО» . . . . . «КОНЕЦ»
В этой конструкции набор операций, расположенный между ВЫПОЛНЯТЬ НЕПРЕРЫВНО и КОНЕЦ, должен повториться без конца.
В этом случае, однажды начавшись, операция проверки значений входов будет повторяться столько времени, сколько система остается в действии.
Из вышеприведенного примера можно сделать следующие выводы:
микрокомпьютер является последовательным устройством и в каждый момент времени выполняет только одну операцию;
во многих случаях, чтобы изменить функциональное поведение микрокомпьютерной системы, необходимо изменить лишь некоторые операции в описании программы на языке проектирования;
МКП манипулирует только цифровыми данными. Если в системе имеются аналоговые сигналы, для преобразования входных сигналов в цифровую форму необходим АЦП, а для преобразования выходных сигналов в аналоговую форму – ЦАП.
3 Составление схем алгоритмов
Реализация любой функции с помощью микрокомпьютера всегда требует проектирования необходимой последовательности действий, получившей название алгоритма. Наиболее удобная и наглядная форма представления алгоритма решения задачи – графическая, в виде схемы. Она состоит из упорядоченной совокупности условных геометрических фигур, несущих информацию об определенном характере операций, накладываемом условии, принятых обозначениях. Основные формы, которые согласно действующим стандартам представлены в приложении А.
Рассмотрим в качестве примера задачу формирования двух наборов целых чисел, лежащих в диапазоне от -5 до +5. Путем сортировки организуется два набора, один из которых включает в себя положительные числа, а другой – отрицательные.
Схема алгоритма решения этой задачи показана на рис. 1.5.
Рисунок 1.5 – Схема алгоритма с ветвлением
4 Подпрограммы
Подпрограмма – это часть программы, используемая обычно несколько раз в процессе выполнения программы. Однако текст подпрограммы записывается программистом только один раз. Когда же программисту необходимо воспользоваться подпрограммой, достаточно указать в программе соответствующую команду вызова (обращения к подпрограмме), адресующуюся к области памяти, в которой расположена подпрограмма. С этой целью в языке программирования для большинства МП существует команда CALL (вызвать). В этой команде после кода операции (CALL) указывается имя подпрограммы, которое присвоено физическому адресу в области памяти, где расположена данная подпрограмма.
Кроме того, по команде выполняются действия, необходимые для возвращения к основной программе после выполнения подпрограммы:
а) в счетчике команд фиксируется адрес команды в основной программе, которая следует за командой вызова;
б) содержимое счетчика команд (адрес возврата) загружается в стек, содержимое указателя стека модифицируется;
в) в счетчик команд загружается адрес, задаваемый командой вызова. После этого может начаться исполнение подпрограммы.
Последней выполняемой командой подпрограммы является команда RET (return – возврат). По этой команде выполняется возврат к основной программе, прерванной командой вызова. Команда возврата содержит только код операции. По этой команде происходит следующее: а) счетчик команд получает из стека адрес команды в основной программе, следующей за командой вызова; б) содержимое указателя стека соответственно модифицируется.
Основное достоинство подпрограмм заключается в том, что благодаря возможности их многократного использования, сокращается текст программы в целом. Вместо того, чтобы по мере необходимости повторять запись одного и того же фрагмента программы, достаточно оформить запись фрагмента как подпрограмму и обращаться к ней столько раз, сколько требуется в соответствии с алгоритмом решения задачи.
Из одной программы можно производить обращение к нескольким подпрограммам.
Одна подпрограмма может обращаться к другой. Такое построение подпрограмм называется ВЛОЖЕНИЕМ.
Глубина допустимого уровня вложения подпрограмм зависит от типа вычислительной машины и используемого языка программирования. Большинство современных МП и языков программирования допускает многоуровневое вложение. Как следует из вышеизложенного, использование подпрограмм – не слишком обременительная работа для программиста.
... , а при открытии клапана 17, наоборот, уменьшается. Когда оба клапана закрыты, разрежение в полости 19 остается неизменным. Рисунок 4. Структурная схема микропроцессорной системы управления сцеплением В зависимости от разрежения в полости 19. сервокамеры меняется положение ее штока 21, и соответственно регулируется момент Мс, передаваемый сцеплением. Из рассмотрения зависимости Мс от ...
... ; - показывать, за счет каких структурных особенностей достигается увеличение производительности различных вычислительных систем; с этой точки зрения, классификация может служить моделью для анализа производительности. 1.12 Классификация Дазгупты Одним из последних исследований по классификации архитектур, по-видимому, является работа С. Дазгупты, вышедшая в 1990 году. Автор ...
... байт в регистре A, старший – в регистре B. В случае выполнения операции деления целое от деления помещается в аккумулятор А, остаток от деления – в регистр В. Логические команды с байтовыми переменными. Система команд ОМЭВМ позволяет реализовать логические операции: "И", "ИЛИ", "ИСКЛЮЧАЮЩЕЕ ИЛИ" на регистре-аккумуляторе (А) и байте-источнике. Вторым операндом (байтом-источником) при этом может ...
... архитектурно-технические решения, используемые в настоящее время при создании микропроцессоров. Современные процессоры INTEL Компания Intel является одной из передовых в производстве современных микропроцессоров. Компанию основали Роберт Нойс и Гордон Мур в 1968 году Intel переводится с английского «интегральная электроника». Бизнес-план компании был распечатан на печатной машинке Робертом ...
0 комментариев