- •Основы микропроцессорной техники
- •В.И. Енин
- •В.И. Енин
- •Введение
- •После изучения дисциплины необходимо знать
- •После изучения дисциплины необходимо уметь
- •В.1. Роль и место курса “Микропроцессорная техника” в учебном процессе
- •1. Микропрограммные автоматы
- •После изучения главы необходимо знать
- •1.1. Автомат без памяти
- •1.2. Микропрограммный автомат
- •1.2.1. Автомат с памятью
- •1.2.2. Микропрограммный автомат в системе управления
- •1.2.3. Структурный автомат
- •1.3. Схемная реализация микропрограммных автоматов
- •2. МикропрограмМируемые контроллеры и микропроцессоры
- •После изучения главы необходимо знать
- •2.1. Блок микропрограммного управления
- •2.2. Блок обработки цифровых данных.
- •3. Принципы организации эвм
- •После изучения главы необходимо знать
- •3.1. Выполнение команд в эвм
- •Система команд и методы адресации
- •Подпрограммы
- •3.2. Общие принципы организации ввода-вывода
- •3.2.1. Программный режим ввода-вывода
- •3.2.2. Обмен информацией в режиме прерывания программы
- •3.2.3. Прямой доступ к памяти
- •3.2.4. Подключение внешних устройств
- •4. Архитектура однокристального микропроцессора
- •После изучения главы необходимо знать
- •4.1. Архитектура микропроцессора к580ик80а
- •4.1.1. Формат команд микропроцессора к580ик80а
- •4.1.2. Методы адресации микропроцессора к580ик80а
- •4.1.3. Команды безусловной и условной передач управления
- •4.1.4. Примеры команд процессора к580ик80а
- •4.2. Организация обмена в однокристальных микроЭвм
- •4.2.1. Функционирование микропроцессора
- •4.2.2. Подключение озу и регистров внешних устройств
- •5. Системы счисления и арифметические операции над числами
- •После изучения главы необходимо знать
- •5.1. Системы счисления для представления чисел в эвм
- •5.2. Представление в эвм целых двоичных чисел без знака
- •5.3. Представление в эвм целых чисел со знаком
- •5.3.1. Представление чисел со знаком в прямом коде
- •5.3.2. Представление чисел со знаком в дополнительном коде
- •5.3.3. Особенности выполнения сложения двоичных чисел без знака и со знаком
- •1. Примеры сложения чисел без знака.
- •2. Примеры сложения чисел со знаком.
- •5.4. Двоично-десятичная система представления чисел
- •5.5. Представление чисел в формате с плавающей точкой
- •Примеры представления чисел типа single
- •Примеры представления чисел типа real
- •6. Семейство процессоров х86
- •После изучения главы необходимо знать
- •6.1. Архитектура процессора 8086
- •Регистры процессора
- •Инструкции процессора
- •Сегментация памяти
- •Методы адресации
- •Распределение памяти
- •Прерывания
- •Функционирование
- •6.2. Процессоры 80286
- •Реальный режим
- •Защищенный режим
- •Прерывания
- •Регистр состояния задачи
- •Некоторые особенности функционирования
- •Функциональная схема pc at
- •7. Шина isa и интерфейсы сопряжения с устройствами управления
- •После изучения главы необходимо знать
- •7.1. Конструкция шины isa
- •Выводы шины isa
- •Распределение адресов на системной плате ат
- •Циклы магистрали
- •Прямой доступ к памяти
- •Регенерация памяти
- •Основные электрические характеристики линий isa
- •7.2. Проектирование устройств сопряжения для шины isa
- •7.2.1. Селекторы (дешифраторы) адреса
- •7.2.2. Операционная часть интерфейса
- •7.2.3. Микросхемы для построения интерфейсов Условные графические обозначения элементов цифровой техники
- •7.2.4. Микросхемы приемопередатчиков сигналов магистрали
- •Микросхемы селекторов адреса выходных регистров
- •8. Интерфейс centronics
- •После изучения главы необходимо знать
- •8.1. Порядок обмена по интерфейсу Centronics
- •8.2. Программируемый параллельный интерфейс ( ппи)
- •9. Обмен данными по интерфейсу rs-232
- •После изучения главы необходимо знать
- •9.1. Назначение линий связи rs-232
- •9.2. Подключение модема к rs-232
- •9.3. Подключение терминалов к rs-232
- •9.4. Подключение удаленных объектов управления
- •9.5. Назначение портов rs-232
- •10. Отсчёт реального времени в эвм
- •После изучения главы необходимо знать
- •10.1. Программируемый таймер
- •10.1.1. Режимы работы таймера
- •10.1.2. Таймер на системной плате ibm pc
- •10.2. Программируемый контроллер прерываний
- •10.2.1. Режимы работы пкп
- •10.2.2. Программирование пкп
- •10.3. Прерывания в ibm pc
- •10.3.1. Векторы прерывания
- •10.3.2. Прерывания bios и dos
- •10.3.3. Написание собственных прерываний
- •10.4. Отсчёт реального времени в эвм
- •10.5. Процедуры и функции для работы с прерываниями
- •После изучения главы необходимо знать
- •11.1. Архитектура 32-разрядных процессоров
- •11.1.1. Регистры процессора
- •11.1.2. Организация памяти
- •11.1.3. Режимы адресации
- •11.1.4. Ввод и вывод
- •11.1.5. Прерывания и исключения
- •11.1.6. Процессоры Pentium
- •11.2. Страничное управление памятью
- •11.3. Кэширование памяти
- •Кэш прямого отображения
- •Ассоциативный кэш
- •12. Однокристальные микроконтроллеры
- •После изучения главы необходимо знать
- •12.1. Однокристальный микроконтроллер к1816
- •12.2. Avr микроконтроллеры
- •12.3. Процессоры обработки сигналов
- •12.3.1. Однокристальный цифровой процессор обработки
- •12.3.2. Цифровые процессоры обработки сигналов (цпос)
- •13. Промышленное оборудование для цифровых систем управления
- •После изучения главы необходимо знать
- •13.1. Оборудование для централизованных систем управления
- •13.1.1. Персональные компьютеры для целей управления
- •13.1.2. Промышленные рабочие станции
- •13.1.3. Шасси для ibm совместимых промышленных компьютеров
- •13.1.4. Модульные промышленные компьютеры mic-2000
- •13.1.5. Процессорные платы
- •13.1.6. Устройства для сбора данных и управления
- •13.2. Оборудование для распределенных систем сбора данных и управления
- •13.2.1. Модули удаленного сбора данных и управления adam-5000
- •13.2.2. Модули удаленного сбора данных и управления adam-4000
- •13.3. Прикладное программное обеспечение
- •Заключение
- •Список использованных источников
- •Оглавление
- •Системы счисления и арифметические
10.3.3. Написание собственных прерываний
Способами написания собственных прерываний являются следующие. Большинство прерываний операционной системы являются подобием обычных процедур доступных всем программам. Мы можем пожелать добавить свою процедуру в этот список (библиотеку подпрограмм). Для этого необходимо написать резидентную программу, которая остается в памяти после ее завершения, определить ее дальний адрес и поместить его в выбранный вектор прерываний.
Вторым способом является использование отдельного своего аппаратного прерывания, которое вызывается при возникновении определённых условий. В этом случае в выбранный вектор прерывания необходимо поместить дальний адрес загруженной программы обработки.
Можно также заменить одну из процедур обработки прерывания операционной системы на свою, сменив содержимое вектора так, чтобы он указывал на другую программу обработки.
Иногда бывает необходимо добавить свою программу (код) к существующей программе обработки прерывания. В этом случае содержимое исходного вектора перемещают в новый вектор, а в исходный вектор помещают дальний адрес дополнительной программы обработки, в конце которой имеется командное прерывание с новым вектором. Тогда при прерывании с исходным вектором будет выполняться дополнительная программа, после которой будет вызвана исходная программа обработки.
Некоторые программы обработки прерываний предусматривают механизмы для встраивания дополнительных кодов (процедур) пользователя. В этом случае они в своем составе содержат командное прерывание с вектором, который указывает на процедуру, которая ничего не делает, а лишь содержит один оператор возврата из прерывания IRET. Можно написать свою процедуру обработки и изменить вектор командного прерывания так, чтобы он показывал на неё. Для этого дальний адрес дополнительной программы пользователя (процедуры) необходимо занести в вектор пустой программы обработки, тем самым, заменив ее своей программой. Тогда при прерывании будет выполняться новая процедура. Примером может служить прерывание от таймера Int 8h, которое автоматически вызывается 18,2 раза в секунду. Программа обслуживания этого прерывания содержит командное прерывание с вектором 1Ch, который можно изменить.
Разработчик программ со сменой векторов прерывания должен предусмотреть следующую последовательность действий.
1. При инициализации основной программы необходимо:
загрузить новую программу обработки прерывания,
сохранить старый вектор прерывания,
запретить прерывания,
определить дальний адрес программы обработки прерывания пользователя,
установить новый вектор,
разрешить прерывания;
2. При завершении основной программы необходимо:
запретить прерывания,
восстановить старый вектор,
разрешить прерывания.
Программы обработки прерываний, написанные на языке низкого уровня, при своем завершении должны очистить свой бит в регистре обслуживания прерываний ПКП засылкой числа 20h в порт 20h. Засылка числа 20h в порт 20h разрешает таким образом вложенные прерывания. Последней командой программы обработки должны бать команда возврата из прерывания IRET.
При написании программ следует (целесообразно) использовать возможности операционной системы, функций DOS и BIOS. При составлении программ, работающих с прерываниями, на языках высокого уровня, некоторые действия, отмеченные в пунктах 1-3, уже включены в состав используемых команд. Поскольку размещением программ в оперативной памяти занимается операционная система, то при определении адресов необходимо пользоваться ее функциями.