Описание реализуемой программы на языке ассемблера

Для упрощения написания и последующего восприятия программы, возможности ее частичного написания до разработки аппаратной части МПС и для уменьшения затрат времени на отладку программы используются символической формы обозначения различных устройств, параметров, констант и т.д. Например, для адреса регистра порта «А» ППА определим константу PPA_A, адреса регистра порта «В» ППА определим константу PPA_В, и т.д.

Для хранения значений переменных X и K, а также результатов вычисления функций Y1, Y2, Y3 используются переменные Data_X, Data_K, Data_Y1, Data_Y2, Data_Y3.

Для связи символических имен с их числовыми значениями используется директива EQU.

В программе используются следующие процедуры:

1) ProgramPrer - подпрограмма обработки прерывания. Эта подпрограмма вызывает подпрограмму ProgramCalculateY2SetPIT, не изменяя значение ax.

2) ProgramKlavIn - подпрограмма опроса клавиатуры (порта А ППА). Эта подпрограмма помещает значение регистра порта А ППА и значение регистра порта В ППА в переменные Data_X и Data_K, не изменяя содержимое регистров общего назначения.

3) ProgramCalculateY1SetY1SetInd - подпрограмма вычисления У1 и выводит результата в порт С.

4) ProgramCalculateY2SetPIT - подпрограмма расчета Y2 и программирования ПИТ.

5) ProgramCalculateY3SetPIT - подпрограмма расчета Y3.

В начале программы описана инициализация МПС, состоящая из следующих этапов:

) Устанавливается режим запрета аппаратных прерываний.

) Устанавливается сегмент данных на ОЗУ.

) Устанавливается вектор прерывания

) Программирование ППА

) Программирование ПИТ

) Программирование контроллера прерываний

Основная программа состоит из следующих операций: опрос порта А ППА, расчет У1, вывод У1 на порт С, возврат к опросу порта А.

Текст программы представлен в приложении.

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

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

Был произведен расчет потребления тока от источника питания. Был оформлен чертеж микропроцессорной системы в виде электрической принципиальной схемы.

Данный проект может быть использован для создания микроконтроллера автоматизированного управления удаленным объектом.

Приложение

Текст программы

;-

; - kp_386_Real_NoOS.asm -

; - Текст программы для курсового проекта по ОЭВМ (i386). -

; - После включения питания или сброса регистры процессора -

; - установлены: CS = F000h; IP = FFF0h; DS = SS = ES = 0. -

; - Код программы должен быть размещен в микросхеме ПЗУ -

; - в микросхеме ПЗУ начиная с нулевой ячейки -

;-

; - Адреса переменных, в сегменте данных ОЗУ. Размер переменных - слово

Data_X EQU 0h ; переменная Х (данные с шины Х)

Data_K EQU 2h ; переменная K (константа с тумблеров)

Data_X EQU 4h ; переменная Х (данные с шины Х)

Data_Y1 EQU 6h ; результат вычисления функции Y1

Data_Y2 EQU 8h ; результат вычисления функции Y2

Data_Y3 EQU 0Ah ; результат вычисления функции Y3

; - Определение констант

Adr_IRQ EQU 36h ; Адрес вектора в таблице прерываний

PIC_ICW1 EQU 0 ; Адрес контроллера прерываний (A0 = 0)

PIC_ICW2 EQU 2 ; Адрес контроллера прерываний (A0 = 1)

_0 EQU 8 ; Адрес регистра состояния счетчика 0 ПИТ_1 EQU 10 ; Адрес регистра состояния счетчика 1 ПИТ_2 EQU 12 ; Адрес регистра состояния счетчика 2 ПИТ_CW EQU 14 ; Адрес регистра управления ПИТ

_A EQU 16 ; Адрес регистра порта А ППА_B EQU 18 ; Адрес регистра порта B ППА_C EQU 20 ; Адрес регистра порта C ППА _CW EQU 22 ; Адрес регистра управления ППА

0 ; Начальный адрес микросхемы ROM

;-

; - Инициализация -

;-

: ; Запрет аппаратных прерываний

; - Установка сегмента данных на ОЗУ

mov ax, 400h

mov ds, ax ss, ax

; - Установка вектора прерывания (адрес подпрограммы обработки прерывания)

mov ax, offset ProgramPrer ; Определение смещения адреса

; подпрограмм мы обработки прерывания

mov es: Adr_IRQ, ax ; Запись в два младших байта ТВП

; по адресу Adr_IRQ

push cs

pop ax es: Adr_IRQ + 2, ax

; - Программирование ППА

mov al, 10010000b ; Управляющее слово для ППА

out PPA_CW, al

; - Программирование ПИТ

call ProgramCalculateY2SetPIT

call ProgramCalculateY3SetPIT

; - Программирование контроллера прерываний al, 00010010b ; Запись ICW1 в КП (работа КП)

Перейти на страницу: 1 2

Читайте также

Поверка электронного вольтметра В7-26 по напряжению постоянного тока
Считается, что первый вольтметр изобрел М. Фарадей, причем в 1830 году, ещё за год до того, как он же открыл явление электромагнитной индукции, на котором основано действие целого класса ...

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

Проектирование цифрового устройства для реализации типовых микроопераций
Разработать функциональную и принципиальную схему операционного устройства исходя из основных параметров по вариантам. Также требуется предоставить блок схемы алгоритмов выполнения опе ...

Основные разделы

Все права защищены! (с)2024 - www.generallytech.ru