Курсовая работа: Микропроцессорная система управления предназначенная для использования на лесопильном заводе

В программе этого теста читается порт ввода статуса фотоэлементов (адрес 0B) и проверяются на ноль два его младших бита. Если хотя бы один не равен нулю, то происходит переход на обработчик ошибки. Причем для обработки ошибки можно использовать ту же процедуру E_ROM, перед вызовом загрузив в регистр E код ошибки 3 (экономия памяти).

Листинг 5 : тест фотоэлементов

; – – – проверка двух младших битов порта ФЭЛ на 0

TST_FEL IN A, (#0B) ; прочесть слово статуса ФЭЛ

AND 3 ; наложить на него маску 000000112

LD E, 3 ;

JP NZ, E_ROM ; если не ноль, то ошибка

… ; иначе продолжаем тесты

Инициализация программируемого контроллера прерываний

Для инициализации контроллера надо переслать ему два управляющих слова ICW1 и ICW2, первое по адресу 0CН (A0 =0), второе – по адресу 0DН (A0 =1).

Пересылаются следующие управляющие слова:

Рис. 6 Применяемые управляющие слова инициализации ПКП

Слово ICW1 установит одиночный (без каскадного соединения) режим работы ПКП (бит 1), 4-хбайтный интервал для начальных адресов обработчиков прерываний (бит 2).

Биты 5–7 слова ICW1 вместе со всем словом ICW2 сообщат контроллеру, что первый обработчик (запроса IR0) начинается с адреса 0020Н .

Контроллер накладывает определенные ограничения на расположение обработчиков в памяти. Первое из них в том, подпрограммы обработки прерываний должны располагаться по порядку, начиная с адреса обработчика запроса IR0, и с постоянным интервалом, т.е. образовывать в памяти таблицу. Интервал расположения может составлять 4 байта (если бит 2 ICW1 равен единице, как в нашем случае), или 8 байт (если бит 2 равен нулю). При постоянном интервале адреса всех обработчиков определятся расположением первого (IR0).

Адрес первого обработчика составляется из полного слова ICW2 (старший байт) и битов 7,6,5 слова ICW1 (старшие три бита младшего байта адреса).

В нашем случае старший байт равен 00Н , младший байт равен 0010 0000 = 20Н . Обработчики имеют начальные адреса: 0020H , 0024H , 0028H , 002CH , 0030H , 0034H (6 обработчиков).

Процедура INI_PIC инициализирует контроллер.

Листинг 6 : инициализация программируемого контроллера прерываний

; – – – переслать 38H в порт 0CH и 0 в порт 0DH

INI_PIC LD A, #38 ;

OUT (#0C), A ;

XORA ;

OUT (#0D), A ;

Инициализация переменных системы

В системе за некоторыми ячейками памяти закреплена функция хранения переменных. Например, подсчитанный суммарный объем древесины V S в двоичном формате хранится в отдельных двух байтах памяти с адресами V_SUM, V_SUM+1.

Требуют инициализации только две переменные (инициализируются нулем):

V S (2 байта) – начальный адрес V_SUM;

Время (4 байта) – начальный адрес TIME.

К-во Просмотров: 431
Бесплатно скачать Курсовая работа: Микропроцессорная система управления предназначенная для использования на лесопильном заводе