Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка ТГТУ.210303.010.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
338.62 Кб
Скачать

2 Разработка схемы электрической структурной

Рисунок 2 – Электрическая структурная схема микропроцессорного устройства на микропроцессорном комплекте КР580.

На рисунке 2 представлена структурная схема микропроцессорного устройства на микропроцессорном комплекте КР580.

Генератор тактовых импульсов (ГТИ) формирует две импульсные последовательности Ф1 и Ф2, не­обходимые для тактирования работы микропроцессора (рис. 3.4). Импульсы двух последовательностей не должны перекрываться во времени, должны иметь амплитуду 12 В.

Общий принцип функционирования микропроцессорного устрой­ства заключается в следующем. Из микропроцессора на шину адреса выдается адрес очередной команды. Считанная по этому адресу из па­мяти (например, из ПЗУ) команда поступает на шину данных и при­нимается в микропроцессор, где она исполняется. В счетчике команд микропроцессора формируется адрес следующей команды. После окон­чания исполнения данной команды на шину адреса поступает адрес следующей команды и т. д. В процессе исполнения команды могут потребоваться дополнительные обращения к памяти для вызова в мик­ропроцессор дополнительных байтов команды (в случае двух-, трех­байтовых команд), операндов или записи в память числа, выдаваемого из микропроцессора. Входные и выходные сигналы также поступают через шины данных, адреса и управления.

Буферы данных и буферы адреса обеспечивают связь цент­рального процессора с внешними шинами данных и адреса. Особен­ность буферов состоит в том, что в каждом разряде они используют ло­гические элементы с тремя состояниями. В них, кроме состояний лог. 0 и лог. 1, предусмотрено еще третье состояние, в котором они имеют практически бесконечное выходное сопротивление и оказываются отключенными от соответствующих шин. Использование таких буферов позволяет процессору отключаться от внешних шин устройств, а также позволяет использовать одну и ту же шину данных как для приема данных (т. е. в качестве входной шины), так и для выдачи данных (т. е. в качестве выходной шины). Такое использование шины данных позволяет сократить число выводов микросхемы. [5],[7]

3 Построение алгоритма решения поставленной задачи

Исходные данные для проектирования: входной сигнал длина входного сигнала 1 байт; длина выходного сигнала 2 байта.

Таким образом для входа сигнала будут использованы два порта ввода-вывода, и один порт ввода вывода будет использован для вывода выходного сигнала .

Беззнаковое число длинной 1 байт в десятичном виде может принимать значение от 0 до 255. Таким образом, если не ввести ограничения на входные сигналы то значение выходного сигнала M(t) может превысить 2 байта (в десятичном виде два байта представляют собой диапазон чисел от 0 до 65355). Также очевидно что в результате вычислений может получится не целое число с дробной частью равной 0,5.

Из выше сказанного следует, что в выходном сигнале должно хранится значение остатка (для этого необходимо в выходном сигнале выделить 1 бит под хранение остатка), и следует ограничить значение входных сигналов.

Под значение наличия остатка 0,5 в результате выделим старший бит старшего байта выходного сигнала. Таким образом для хранения целой части результата останется 15 бит(в десятичном виде – диапазон от 0 до 32767).

Вычислим ограничение на входной сигнал для случая, когда допустимые диапазоны входных сигналов для x(t) и y(t) одинаковые.

Пусть максимальное число диапазона равно s тогда

Решим уравнение для случая строгого равенства и округлим полученный результат до ближайшего целого значения

Таким образом получили, что значение входных сигналов не должно превышать 77.

Составим аналитически общий алгоритм решения поставленной задачи.

В программе будут использоваться 4 ячейки памяти ОЗУ, три из них – для хранения значения регистров(адреса 1000H, 1001H, 1002H), и одна – для хранения значения остатка(адрес 1003H).

В начале в программе должны осуществляться инициализация портов ввода вывода и вспомогательных ячеек(для этого используется директива EQU) .

Далее на стеке организуется очередь для опережающего входного сигнала y(t) (y(t) будет хранится в очереди).

Затем последовательно осуществляется ввод входных сигналов x(t), z(t). Входной сигнал x(t) будем хранить в регистровой паре DE, а входной сигнал z(t) сразу же будет использован для вычислений.

Далее последовательно находим значения , (для этого вычисляем значения , и складываем их между собой).

При вычислении проверяем наличие остатка (в случае наличия остатка значений ячейки ОЗУ с адресом 1003H изменяем на 1).

Далее вычисляем значение выходного сигнала .

Затем формируем выходные байты, в Старшем байте, если значение ячейки ОЗУ с адресом 1003H равно 1, то присваиваем старшему биту значение 1, в противном случае оставляем его без изменения; и последовательно выводим старший и младшие байты выходного сигнала (блок схема алгоритма приведена в графическом материале).

Также в программе используется подпрограмма выполнения умножения двухбайтовых чисел (подпрограмма MUL). Для умножения в регистровую пару HL заносится множимое, в регистр A- множитель и вызывается подпрограмма MUL. Регистровая пара DE используется для хранения частичной суммы, а регистр B используется как счетчик (перед вызовом подпрограммы MUL необходимо сохранить значение регистра В в ОЗУ по адресу 1002H, регистровая пара DE сохраняется в самой подпрограмме).

Рисунок 3 – Блок-схема алгоритма