- •Роль микропроцессорной техники в мехатронных устройствах.
- •Способы представления двоичного кода в электронных устройствах.
- •История развития микропроцессоров.
- •Основные понятия. Микропроцессор, физическая и логическая организация, архитектура.
- •Основные типы архитектур. Неймановская и гарвардская архитектура.
- •Основные понятия. Программа, команда, объектный код, мнемокод.
- •Командный цикл. Фазы командного цикла.
- •Структурная схема микро-эвм на базе микропроцессора.
- •Регистры данных микропроцессора.
- •Регистры адреса микропроцессора.
- •Специальные регистры микропроцессора. Флаги, генерируемые микропроцессором
- •Регистры общего назначения микропроцессора.
- •Счетчик команд микропроцессора. Работа счетчика команд.
- •Понятие стека, назначение и организация.
- •Указатель стека микропроцессора. Работа указателя стека.
- •Классификация микропроцессоров по числу бис в комплекте и по разрядности.
- •Классификация микропроцессоров по назначению и виду обрабатываемых сигналов.
- •Классификация микропроцессоров по характеру временной организации работы и по количеству выполняемых программ
- •Особенности программного обеспечения микропроцессорных систем. Понятие транслятора. Виды трансляторов.
- •Языки Ассемблера. Номенклатура, характеристики
- •Элементы языка ассемблера для 8-ми разрядного микропроцессора.
- •Директивы языка ассемблера. Пример программы на языке ассемблера.
- •Преимущества применения однокристальных микропроцессоров при проектировании электронных измерительных устройств.
- •Состав регистров однокристального микропроцессора к1816ве48.
- •Банки рабочих регистров микропроцессора к1816ве48. Назначение и особенности.
- •Счетчик команд, указатель стека и регистр psw микропроцессора к1816ве48.
- •Флаги признаков микропроцессора к1816ве48
- •Организация памяти микропроцессора к1816ве48. Пространство внутренней памяти данных dseg.
- •Организация памяти микропроцессора к1816ве48. Пространство внутренней памяти программ cseg.
- •Организация памяти микропроцессора к1816ве48. Пространство внешней памяти данных xseg.
- •Система ввода-вывода микропроцессора к1816ве48. Порты ввода-вывода.
- •Службы реального времени микропроцессора к1816ве48. Таймер-счетчик: организация, возможности, программирование.
- •Службы реального времени микропроцессора к1816ве48. Система прерываний от внешнего источника запросов.
- •Службы реального времени микропроцессора к1816ве48. Система прерываний от таймера.
- •Генератор тактовых импульсов микропроцессора к1816ве48.
Службы реального времени микропроцессора к1816ве48. Система прерываний от внешнего источника запросов.
Внутри МС или в связанной с ней внешней среде могут возникать разнообразные события, которые требуют ее немедленной реакции на свое появление, т. е. временной приостановки процесса обработки основной программы, и выполнения другой, предназначенной для обслуживания возникшего события.
Реакция МС на событие завершается возвратом к основной программе. Так как состав и моменты возникновения этих событий заранее не известны, то процессы их обслуживания не могут быть учтены при составлении основной программы и должны выполняться параллельно и скрытно для нее. Процесс обслуживания событий называется прерыванием программы.
Каждое прерывающее программу событие сопровождается генерацией специального сигнала IRQi (Interrupt Request), i = 0, 1, ..., который называется радиальным запросом прерывания, а вызываемые им программы – программами обслуживания прерываний.
Аппаратные и программные средства, ответственные за организацию прерываний, образуют систему прерываний. Часто в процессе связывания запроса на прерывание с программой его обслуживания участвует не только ЦП, но и периферийные модули МС.
В этом случае ЦП получает общий сигнал запроса на прерывание INTR, называемый векторным запросом и свидетельствующий о появлении одного или нескольких радиальных запросов IRQi, и переходит к выполнению специального машинного цикла — цикла ввода вектора прерывания. Этот цикл состоит во вводе некоторой информации, однозначно связанной с номером i радиального запроса IRQi, которая используется ЦП для перехода к соответствующей программе обслуживания.
В общем случае можно считать, что цикл ввода вектора прерываний подобен обычному циклу ввода данных, за исключением того, что сигнал IORC заменяется стробом подтверждения прерывания INTA (Interrupt Acknowledge). Это еще один типовой сигнал, входящий в состав шины СВ.
Прерывания изменяют общее состояние МС и могут влиять на ход выполнения основной программы. Однако их влияние не является прямым, так как осуществляется через размещаемые в памяти структуры данных – области взаимодействия. Основная программа взаимодействует с программами обслуживания прерываний, считывая и модифицируя данные в этих областях.
Внешние прерывания возникают по сигналу какого-нибудь внешнего устройства. Иногда желательно сделать систему нечувствительной ко всем или отдельным аппаратным прерываниям (т.е. от внешних устройств). Для этого используют так называемое маскирование внешних прерываний.
Службы реального времени микропроцессора к1816ве48. Система прерываний от таймера.
При инициализации BIOS устанавливает свой обработчик для прерывания таймера. Этот обработчик каждый раз увеличивает на единицу текущее значение 4-байтовой переменной, располагающейся в области данных BIOS по адресу 0000:046Ch - счетчик таймера. Если этот счетчик переполнится из-за того что прошло более 24 часов с момента запуска таймера, в ячейку 0000:0470h заносится значение 1.
Другое действие, выполняемое стандартным обработчиком прерывания таймера - контроль за работой двигателей НГМД. Если после последнего обращения к НГМД прошло более 2 секунд, обработчик прерывания выключает двигатель. Ячейка с адресом 0000:0440h содержит время, оставшееся до выключения двигателя. Это время постоянно уменьшается обработчиком прерывания таймера. Когда оно становится равно 0, двигатель НГМД отключается.
Последнее действие, которое выполняет обработчик прерывания таймера - вызов прерывания INT 1Ch. После инициализации системы вектор INT 1Ch указывает на команду IRET, то есть обработчик прерывания INT 1Ch ничего не делает. Программа может установить собственный обработчик этого прерывания для того чтобы выполнять какие-либо периодические действия.
Необходимо отметить, что прерывание INT 1Ch вызывается обработчиком прерывания INT 8h до сброса контроллера прерывания, поэтому во время выполнения прерывания INT 1Ch все аппаратные прерывания запрещены. В частности, запрещены прерывания от клавиатуры.
Обработчик прерывания INT 1Ch должен заканчиваться командой IRET. Если же вы подготавливаете собственный обработчик для прерывания INT 8h, перед завершением его работы необходимо сбросить контроллер прерываний. Это можно сделать, например, так:
mov al, 20h
out 20h, al
Таймер обычно реализуется на микросхеме Intel 8253 (для компьютеров IBM PC и IBM PC/XT) или 8254 (для компьютеров IBM PC/AT и IBM PS/2), а также на аналогах этих микросхем. Следующий раздел книги посвящен описанию микросхемы 8254.
Мы не будем подробно рассказывать о всех возможностях микросхем 8253 и 8254, так как обычно используются только несколько режимов работы (а чаще всего один). Полное описание вы сможете найти в справочной литературе по микросхемам 8253/8254, а также по их отечественным аналогам КР1810ВИ53 и КР1810ВИ54.