Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 22
Текст из файла (страница 22)
принимает значение «0», а бит в регистре РТБ БК'Уà — значение «1». После этого реализуется специальное прерывание «конец спецобслуживания», которое обращается к подпрограмме, начальный адрес которой задается вектором стандартного обслуживания данного запроса (см. табл.
1.32). Эта подпрограмма должна произвести запись по нужному адресу нового блока управляющих данных и установку в «1» соответствующего бита в регистре РТБ БЕ!., чтобы обеспечить повторный запуск ПСР при поступлении нового запроса прерывания. В начале выполнения этой подпрограммы сбрасывается в «О» ранее установленный в «1» бит в регистре РТБ БКЧ. ПСР может выполнять одну из пяти возможных процедур обслуживания, которые определяются содержимым байта РТБ СОМ (второй байт в блоке МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ-96 107 При выполнении сканирования используется блок управляющих данных (рис. 1А2а), в котором первый байт РТЕ СОУХТ указывает число выполняемых циклов преобразования Х.
Второй байт РТЗ СОХ (рис. 1.43) задает режим работы ПСР: сканирование производится, если значение поля РТЕ МОРЕ - 110, бит 1)РОТ определяет вариант хранения результатов преобразования: при УРПТ - 1 сохраняются результаты всех циклов преобразования, при ПРОТ = 0 сохраняется только результат последнего цикла. Для реализации сканирования в оперативной памяти организуется таблица, 16-разрядный начальный адрес которой У! задается в байтах РТЕ РТК1 блока управляющих данных (рис. 1.42а).
В байтах РТЕ РТК2 указывается адрес регистра АП КЕЯП Т (1ГААН), При значении бита УРРТ - 1 таблица должна содержать 4Х байтов. В калтдом цикле преобразования используется четыре байта таблицы: один байт содержит очередную команду преобразования, которая загружается в регистр АП СОММАХП и реализуется в следующем цикле, два байта служат для хранения содержимого регистра АП КЕЯЛ.Т, полученного в данном цикле, один байт остается неиспользованным (рис. 1А2б).
ч ч!+ ! Ч!+2 ч!+3 Ч!Р4 ЧРР5 ч!+б ч!+7 Т'! Т'!+2 "т'!+4 "Т'!Рб Х!+8 'т'!+А Т'!ЕС Т'!+Е б) а) Рис. 1.42. Содержимое блока управляющих данных и таблицы результатов при сканировании АЦП 5 Е 3 2 1 0 РТЕ МОРЕ 0 БРпт 0 ! 0 Рис.1.43. Формат байта Р 5 3 СОМ при сканировании АЦП управляющих данных). Четыре процедуры: пересылка байта, пересылка блока, широтно-импульсная модуляция (ШИМ) н модифицированная ШИМ с расширенным диапазоном скважности выполняются так, как описано в разделе 1.4.
Пятая процедура — аналого-цифровое сканирование — обеспечивает выполнение ряда операций АЦП с использованием прерывания А1) ПОХЕ. МИКРОКОНТРОЛЛЕРЫ' ЛРХИТЕХТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 108 Процедура аналого-цифрового сканирования выполняется следуюшим образом. Прн загрузке в регистр А1Э СОММАХ() первой команды преобразования (АО СОММАХО 1) выполняется первый цикл аналого-цифрового преобразования.
После его окончания полученный результат заносится в регистр АП ВЕЗИ и вырабатывается запрос прерывания АП 1) ОХЕ. Если в регистре РТБ ЗЕЕ значение бита А() - 1, то микроконтроллер выбирает из памяти блок управля!оших данных для ПСР. Из ячейки с адресом (РТБ РТЕ2) = !'1 выбирается н загружается в регистр А1) СОММАХ1) следующая команда преобразования (А1) СОММАХО 2), в ячейку с адресом !'1 + 2 из регистра А() КЕЗШ Т записывается первый результат (АР ЕЕЗШ.Т 1).
Затем число циклов, данное в байте РТБ СО()ХТ, уменьшается на 1, и выполняется следующий цикл преобразования. Если в байте РТЕ СОХ значение бита УРРТ - 1, то из ячейки с адресом !'1 + 4 выбирается и загружается в А() СОММАХ() следующая команда (АЕ) СОММАХ() 3), а в ячейку с адресом т'1 + 6 записывается результат второго цикла преобразования (АТ) КЕНЕШ.Т 2). Число в байте РТБ СО()ХТ после этого уменьшается еще на 1 и производится новый цикл преобразования. Таким образом последовательно заполняется таблица результатов сканирования (см. Рис. 1АЗб). Сканирование продолжается до тех пор, пока байт РТЕ СО()ХТ не примет нулевое значение.
В последнем Х-ом цикле должна вводиться «пустая» команда (А() СОММАХ1) (Х+1)) - ООН. После Х-го цикла выполняется прерывание «конец спецобслуживания», которое обеспечивает подготовку ПСР к обслуживанию новых запросов АЦП. Если в байте РТБ СОХ значение бита 1)Р1)Т = О, то после выполнения очередного цикла преобразования число РТБ РТК1 принимает исходное значение т'!. Таким образом в следующем цикле снова выполняется команда (А1) СОММАХ() 2), а в ячейку с адресом т"1+2 в каждом цикле будет заноситься очередной результат.
15 !6 6 ЕРА отк 4 5 6 7 6 9 6 ! 2 Я 4 5 6 Т З З а) ЕРА МАЯК (алрсс 1РАОН), ЕРА РЕНН (алям !ГА2Н) 2 1 6 вар«~с!Мн!юиаис СОМР отГатма 6 1 ! 2 6) ЕРА МАЯК 1 (ФЕгнс 1РА4Н), ЕРА РЕНО! (ал1ах !РАЕН) Рис.1.44. Форматы регистров ЕРА РЕМО, ЕРА РЕМО1 и ЕРА МАЕК, ЕРА МАЗК1 в микроконтроллерах 8ХС198М а МИВРЕЖОИТРОЛЛЕРМ СЕМЕЯСГЗВ МОЕ-Вв 109 В микроконтроллере 8ХС196НТ есть группа дополнительных запросов прерывания, обозначенных ЕРАх, которые вызывают обращение к одному вектору стандартного обслуживания ОГР2000Н (см.
табл. 1.32). В эту группу входят запросы от каналов ЕРА9..4 и СОМР1, О, сигналы переполнения таймеров ОЧК ТМК1, 2, а таже сигналы переполнения регистров ЕРАх Т1 МЕ в режиме захвата ОЧК9..0, которые формируются, когда на вход канала ЕРАх поступает следующий сигнал до того, как из ЕРАх Т1МЕ считано время поступления предыдущего сигнала. Каждый из этих 20 дополнительных запросов вызывает установку в «1» соответствующего бита в регистре ЕРА РЕ)в)1) или ЕРА РЕН1)! (рис. ! А4). Относительные приоритеты запросов данной группы указаны в табл. 1.33, где наибольший приоритет 14Н имеет запрос ЕРА4, минимальный проритет 01Н вЂ” запрос ОЧК ТМК2.
Маскирование этих запросов производится сбросом в «0» аналогичных битов в регистрах ЕРА МАЯК, ЕРА МАЯК!. Табл.1.33. Приоритеты дополнительных прерываний В регистр ЕРА 1РЧ (рис. 1.45) заносится вектор поступившего запроса с максимальным приоритетом или число ООН, если запросы из этой группы отсутствуют или замаскированы. Чтобы выполнить обслуживание запросов данной группы необходимо использовать специальную программу обработки, которая формирует адрес подпрограммы обслуживания прерывания в соответствии с его вектором-уровнем приоритета, получаемым из регистра ЕРА 1РЧ.
;и!ра ирои~ми|»ив уроваив ириоригии Рис.1.43. Формат регистра ЕРА 1Р)г (адрес 1РАВН) 11О МИКРОКОНТРОЛЛЕРЫ: АРХИТЕКТУР ЛРОГРАММИРОЕАНИ ИНТЕРФЕЙС 1.8.9. Подключение внешней лвеевти Применение внешней памяти позволяет расширить общий объем используемой памяти до 64 Кбайт, если в байте конфигурации ССВ2 установлено значение бита МО()Е!6- 1, или до 1 Мбайта, если МОПЕ16- О. При обращении к внешней памяти выполняется только мультиплексный обмен, в отличие от моделей 8ХС196НР 1К(), допускающих также демультиплексный обмен.
Если прн выполнении команды формируется адрес ячейки внешней памяти, то порты РЗ, Р4 использутотся для передачи младшего и старшего байтов адреса-данных, ЕРОКТ вЂ” для выдачи разрядов А19..16 адреса. В этом случае на выводы порта Р5, запрограммированные для выполнения специальных функций, поступают следующие управляющие сигналы: е выходные сигналы выдачи адреса (вывод Р5.0): адресный строб А1.Е, который формируется в первой фазе первого такта, или сигнал подтверждения адреса АОУ№ - О, который устанавливается во второй фазе первого такта и сохраняется до конца цикла; выбор вида сигнала задается значениелт бита А1.Е в байте конфигурации ССВО (см.
п. 1.7.3); е выходной сигнал выборки команды (вывод Р5.1) принимает значение Пу)5Т - 1 в первой фазе первого такта, если в данном цикле выбирается код очередной команды. и сохраняет его до конца цикла; е выходной сигнал записи (вывод Р5.2) принимает в первой фазе второго такта цикла значение %К№ - О, если выполняется цикл стандартной записи, или значение ЪЪУК1.№ - О, если производится запись младшего байта в цикле стробируемой записи; выбор типа цикла записи определяется значением бита ЖК в байте конфигурации ССВО; е выходной сигнал чтения (вывод Р5.3) принимает в первой фазе второго такта значение КП№ - 0 при выполнении цикла считывания; + выходной сигнал выборки старшего байта (вывод Р5.5) принимает значение ВНЕ№ - 0 в начале цикла считывания или цикла стандартной записи; в цикле стробируемой записи в течении первой фазы второго такта на этот вывод подается сигнал ЪЪТКН№ О, если выполняется запись старшего байта; + входной сигнал готовности (вывод Р5.6), поступающий от внешней памяти, должен имети значение КЕА1УТ' - 1, установленное до начала второй фазы первого такта цикла обращения, в противном случае микроконтроллер выполняет циклы ожидания до поступления сигнала КЕА))У - 1; + входной сигнал ВЪЧ, поступающий на вывод Р5.7, определяет разрядность используемой шины данных, если в байтах конфигурации ССВО, ССВ1 установлены значения битов ВЪЪГО - ВЪЪУ1 - 1 (см.
п. 1.7.3); если поступает сигнал ВЪЪУ = О, то используется 8-разрядная шина, если ВЪЪГ - 1, то 16-разрядная. микРОМОнтРОллеРы семейстла мсе-се Таат ! ' Такт 2 . 'Такт !: Такт 2 Фаза ! Фиа2 А!.Е адрес Ленные адрес данные а) режим 3 аое/Фае АО адрес б) режим 0 0.25 Тс '0.5 Тс' АО адрес данные адрес данные в) режим 1 0.25 Тс Ч-З! адрес данные данные г) режим 2 Рио. 1.46.