Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 44
Текст из файла (страница 44)
Внешний обмен этого блока осуществляется как альтернативная функция порта 4. Регистрами специальных функций блока РСА1 являются С1СО?1?, С1МО?), С1САРМО, С1САРМ1, С1САРМ2, С1САРМЗ, С1САРМ4, С?.1, С1САР01., С1САР1?., С1САР2?., С1САРЗ?., С1САР4?., СН1, С1САРОН, С1САР1Н, С1САР2Н, С1САРЗН, С1САР4Н.
Битами управления блока РСА1 являются ЕС?1, С1ЕХО, С1ЕХ1, С1ЕХ2, С1ЕХЗ, С1ЕХ4, С1СРО, С1СР1, С1СР2, С1СРЗ, С1СР4, Ст«1, СР1. В регистре С!СО?т? имеется бит СВЕ, при установке которого работа блока РСА1 разрешается при выполнении условия СВ СВ1 = 1. гго 2.13.6. Порт ЗЕР В структуру микроконтроллеров ЗХС51СВ введен последовательный порт ЗЕР, который имеет средства аппаратной поддержки протокола 1ХС-Ьцз. Порт ЗЕР программируемый, имеет четыре режима работы и четыре скорости обмена.
Он является полудуплексным, ввод-вывод данных осуществляется по линии Р4.1, а вывод синхроимпульсов — по линии Р4.0. Кадр данных при обмене состоит из восьми бит, которые стробируются восемью тактовыми импульсами. В отсутствие посылки линии данных и синхронизации пассивны. Порт ЗЕР обслуживается регистрами специальных функций ЗЕРСОХ, ЗЕРПАТ и ЗЕРЗТАТ. Все они адресуются как байты, но биты регистров ЗЕРСОХ и ЗЕРЗТАТ иметот собственные имена. ЯЕРСОХ ЗЕРРЦГЕ ЗЕРРКО ЗЕР!Р ЯЕРЯТАТ ЯЕР1ЗАТ Имя бита ЗЕРЕ БЕРВЕХ С1.КРО1. С1.КРН ЗЕРЗО БЕР51 БЕРГМАН ЗЕРРКП ЗЕР1Г Флаг ошибки чтения из ЗЕР Флаг прерывания БЕР Номер бита ЗЕРСОХ.7 ЗЕРСОХ.6 ЗЕРСОХ.5 ЗЕРСОХА ЗЕРСОХ.З ЗЕРСОХ.2 ЗЕРСОХ.1 ЗЕРСОХ.О ЗЕРБТАТ7 ЗЕРЗТАТ6 БЕРЗТАТ5 ЗЕРБТАТА ЗЕРЗТАТЗ ЗЕРЗТАТ2 ЗЕРБТАТ.1 ЗЕРБТАТО МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС ЗЕРЕ БЕРКЕХ ССКР01 СЬКРН ЗЕРЗ1 ЗЕРЗО Функция Зарезервирован Зарезервирован Бит разрешения ЗЕР Бит разрешения приема Полярность тактирующего сигнала Фаза тактирования Бит 0 выбора скорости обмена Бит 1 выбора скорости обмена Зарезервирован Зарезервирован Зарезервирован Зарезервирован Зарезервирован Флаг ошибки записи в ЗЕР ГЛАВА 2 МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА МСВ"51 151 г21 Режимы работы порта ЯЕР (рис.
2.25) отличаются значением уровня сигна- ла при пассивном состоянии линии данных ( «0» или «!») и фронтом сипх- росигнала, по которому производится стробирование бита данных (пере- дний,задннй). ЗЕРМООЕО Т ЯЕРМООЕ2 Твктовыс импульсы Фнксвция дяииых Вывод данных 07 06 05 04 03 02 О! 00 БЕРМООЕО 5ЕРМООЕ2 Тактовые имп льсы Фиксация данных Вывод данных 07 06 05 04 03 02 О! 00 Рис.
2.25. Режимы работы порта ЗЕР Перед работой порт ЯЕР должен быть запрограммирован, т.е. нужно опре- делить режим работы (биты С1 КРО!., С1.КРН) и скорость обмена (биты БЕРЯ!, БЕРИО). Далее нужно битом ВЕРЕ разрешить работу порта. Передача начинается при загрузке данных в регистр БЕР13АТА, кадр дан- ных на линии начинается с выдвижения старшего бита. Прием начинается после установки бита БЕРКЕХ, если регистр ЯЕРПАТА пуст и нет передачи. После приема всего кадра происходит аппаратная очи- стка бита ИЕРЕЕВ.
Завершение приема или передачи сопровождается ус- тановкой бита запроса прерывания ЯЕР1Е который должен очищаться про- граммно. 222 При попытках записать или прочитать бит из регистра ВЕРОАТА до завер- шения обмена устанавливается один из битов ошибки ЗЕРРЮВ, БЕРРВ1). С прерыванием от порта ЯЕР эти биты не связаны, они остаются установ- ленными до очистки их программистом. 2.13.6. Система прерываний Микроконтроллеры 8ХС51СВ имеют 15 векторов прерываний: семь векто- ров для обслуживания внешних прерываний 1ХТО№-1ХТ6№, три вектора прерываний от таймеров ТО-Т2, два вектора блоков РСАО и РСА1, вектор блока АЦП, вектор порта БЕР и вектор блока последовательного порта.
Табл. 2.3. Векторы прерываний микроконтроллеров ВХС61ВВ Флаг- источник Аппаратная очистка Обслуживаемый блок Адрес Внешний сигнал на выводе !ХТ6№ Внешний сигнал на выводе !ХТ5№ Внешний сигнал на выводе!ХТ4№ Внешний сигнал на выводе 1ХТЗ№ Внешний сигнал на выводе 1ХТ2№ Порт ЗЕР Блок РСА1 0073Н 006ВН 006ЗН 005ВН 0053Н 004ВН 0043Н ООЗВН ООЗЗГ! Блок АЦП Блок РСАО 002ВН 002ЗН 00!ВН 00!ЗН Таймер 2 Последовательный порт Таймер ! Внешний сигнал на выводе 1ХТ1№ — (уровень) + (фронт) — (уровень) + онт ТГО 1ЕО ОООВН ОООЗН Таймер 0 Внешний сигнал на выводе 1ХТО№ Вметмние прерывания.
Входы 1ХТО№ и 1ХТ1№ можно запрограммировать индивидуально на срабатывание по уровню сигнала или по фронту. Выбор определяется битами 1ТО, 1Т1 регистра ТСОХ. При 1Тх 0 активное значение сигнала 1ХТх№ фиксируется при низком потенциале на входе, при 1Тх- 1 активное значение сигнала 1ХТх№ фиксируется по отрицательному фронту сигнала на входе. Входы !ХТ2№ и 1ХТЗ№ срабатывают по фронту, положительному или отрицательному, в зависимости от значения бит 1Т2, 1ТЗ регистра ЕХ1СОХ. При 1Е6 !Е5 !Е4 !ЕЗ 1Е2 ЗЕР!Г СР1, С!Рв (и" 0..4) А1Г СР, ССГО (Л=0..4) ТР2+ЕХР2 и!+Т! ТР! !Е! МИКРОКОНТРОЛЛЕРЫ АРХИТЕКТУРА ЛРОГРАММИРОЕАНИ ИНТЕРФЕЙС 223 ГЛАВА 2 МИКРОКСИТРОЛ ЕРЫ С ТВА МСВ-21 121 Флаги прерываний 1ЕО, 1Е1 находятся в регистре ТСОХ, а флаги 1Е2-! Еб в регистре ЕХ1СОХ.
Разрешаются внешние прерывания битами ЕХО, ЕХ! регистра 1Е и битами ЕХ2-ЕХ6 регистра 1ЕА. Флаги запросов очишаются аппаратно при переходе на подпрограмму прерывания только в том случае, когда запрос импульсный. Если сигнал потенциальный, то подпрограмма прерывания должна сама очистить бит запроса. Входы 1ХТх№ опрашиваются в каждом машинном цикле. Если вход запрограммирован на срабатывание по фронту сигнала, то низкий и высокий потенциалы на входе должны удерживаться не менее одного цикла каждый.
Если вход запрограммирован на срабатывание по уровню сигнала, то внешний источник должен удерживать низкий потенциал на входе до тех пор, пока прерывание не начнет обслуживаться. Затем сигнал запроса должен быть снят до завершения подпрограммы обслуживания или появления нового запроса. 1Еб 1Е5 1Е4 1ЕЗ 1Е2 1ТЗ 1Т2 ЕХ1СОХ Имя бита Номер бита Функция ЕХ1СОХ.7 Зарезервирован ЕХ1СОХ.6 Флаг прерывания входа 1ХТ6 ЕХ1СОХ.5 Флаг прерывания входа 1ХТ5 ЕХ1СОХА Флаг прерывания входа 1ХТ4 ЕХ1СОХ.З Флаг прерывания входа 1ХТЗ 1Еб 1Е5 1Е4 1ЕЗ 1Е2 Флаг прерывания входа 1ХТ2 ЕХ1СОХ.2 ЕХ1СОХ.1 1ТЗ Бит управления типом активного сигнала по входу 1ХТЗ. При 1ТЗ - ! активность сигнала фиксируется по положительному перепаду, при 1ТЗ - 0 по отрицательному 1Т2 ЕХ1СОХ.О Бит управления типом активного сигнала по входу 1ХТ2.
При 1Т2 = ! активность сигнала фиксируется по положительному перепаду, при 1Т2 = 0 по отрицательному 1Тх - 0 активное значение сигнала 1ХТх№ фиксируется по отрицательному фронту, а при 1Тх = 1 по положительному. Входы 1ХТ4№, 1ХТ5№, 1ХТ6№ срабатывают только по положительному фронту. МИКРОКОНТРОЛЛЕРЫ АРКИТЕКТРРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 224 Прерывания от таймеров. Два бита запросов прерываний от таймеров (ТГО и ТГ1 в регистре ТСОН) устанавливаются при переполнении таймеров О или 1, соответственно (кроме таймера О в режиме 3). Эти биты очищаются аппаратно при переходе на подпрограмму обслуживания прерывания.
Запрос прерывания от таймера 2 формируется как функция ИЛИ от значения битов ТГ2 и ЕХГ2 регистра Т2СОН. Эти биты аппаратно не очищаются, это должна делать подпрограмма обслуживания. Прерывания от таймеров разрешаются битами ЕТх регистра 1Е, Прерывания от блока РСА. Запрос прерывания от блока РСА(РСА1) формиру|отся как функция ИЛИ от значений флагов событий ССГх(С1СГх) и флага переполнения СГ(СГ1) регистра ССО!т!(С!СОН). Каждый из блоков РСА, РСА1 использует одно прерывание для обработки всех своих событий.
Биты событий аппаратно не очищаются, зто должна делать подпрограмма обслуживания. Прерывание от блока РСА разрешается битом ЕС регистра 1Е, кроме того, каждому из флагов СГ и ССГх соответствует бит разрешения ЕСГ и ЕССГх (регистры СМО(З и ССАРМх. У блока РСА1 прерывание разрешается битом ЕС1 регистра 1ЕА, флаги событий разрешаются битами ЕСГ1 и ЕС1СГх (регистры С1МО1) и С1САРМх).
Прерывание от последовательного норта. Запрос прерывания от последовательного порта формируется как функция ИЛИ от значения битов К1 н Т1 регистра ЗСОН, Эти биты аппаратно не очищаются, это должна делать подпрограмма обслуживания. Прерывание от последовательного порта разрешается битом ЕБ регистра 1Е. В микроконтроллерах типа 8ХС51ОВ существуют четыре уровня приоритетов, которые могут быть назначены запросам прерываний от внешних и внутренних источников.
Приоритеты прерываний источников определяются значениями битов регистров 1Р 1РА, 1РН, 1РНА. РРС РТ2 Р8 РТ! РХ1 РТО РХО РА0 РХ6 РХ5 РХ4 РХЗ РХ2 РС! РЗЕР !РА РРСН РТ2Н РЗН РТ!Н РХ1Н РТОН РХОН 1РН 1РНА РА!ЗН РХ6 РХ5 РХ4 РХЗ РХ2 РС ! РЗЕР ГЛАВА МИКЛОК НТЛОЛЛЕЛЫ СЕ Е ВА СВ- 1 1б Функция Имя бита Зарезервирован Определятот приоритет блока РСА РТ1, РТ1Н Определяют приоритет Таймера 1 Определяют приоритет входа 1ХТ1Л Определяют приоритет Таймера 0 РХ1, РХ1Н РТО, РТОН РХО, РХОН Определятот приоритет входа 1ХТОй РАН, РА1ЭН Определяют приоритет блока АЦП Определятот приоритет входа 1НТ6 Определяют приоритет входа 1ХТ5 РХ6, РХЗН РХ5, РХ5Н РХ4, РХ4Н Определяют приоритет входа 1ИТ4 РХЗ, РХЗН Определяют приоритет входа 1ХТЗ РХ2, РХ2Н Определябот приоритет входа 1ХТ2 РС1, РС1Н Определяют приоритет блока РСА1 РЗЕР РЗЕРН Определяют приоритет порта ЗЕР Уровень приоритета конкретного источника определяется значением ком- бинации битов 1рх, 1РА.х и 1РН,х, 1РНА.х (х - 0..7) следующим образом: Приоритет Бит .х регистра !р или !РА Бит .х регистра ! РН или !РАН Низший Высший Прн одновременном появлении нескольких запросов с одним приоритетом действует система приоритетов внутри уровня, определяемая последова- тельностью опроса источников внутренней процедурой поллинга.
РРС, РРСН РТ2, РТ2Н РЗ, РЗН Определяют приоритет Таймера 2 Определяют приоритет последовательного порта МИКРОКОНТРОЛЛЕРЫ. АРКИТЕКТУРА ЛРОГРАММИРОЕАНИ ИНТЕРФЕЙС 226 Приоритет внутри уровня Высший Источник 1Е ЕА ЕС ЕТ2 ЕЗ ЕТ! ЕХ! ЕТО ЕХО ЕА0 ЕХб ЕХ5 ЕХ4 ЕХЗ ЕХ2 ЕС! ЕЯЕР 1ЕА Имя Номер Функция бита бита ЕА 1Е.7 Запрещение запросов от всех источников, имеет место при ЕА - О Разрешение запроса от блока РСА, имеет место при ЕС ! Разрешение запроса от Таймера 2, имеет место при ЕТ2 - 1 Разрешение запроса от последовательного порта, имеет место при ЕЗ =! Разрешение запроса от Таймера 1, имеет место при ЕТ1 = 1 Разрешение запроса по входу ПТ!Т! №, имеет место при ЕХ1 - 1 Разрешение запроса от Таймера О, имеет место при ЕТО - 1 Разрешение запроса по входу 1ХТО№, имеет место при ЕХО - 1 ЕС 1Е.6 ЕТ2 1Е.5 ЕЯ 1ЕА ЕТ1 1Е.З ЕХ1 1Е.2 ЕТО 1Е.1 ЕХО 1Е.О Вход 1ХТО№ ЗЕР 1ХТ2 Таймер О РСА1 Пк!ТЗ Вход 1!Т!Т1№ АЦП 1ХТ4 Таймер 1 РСА Пт!Тб Последовательный порт Таймер 2, флаг ТР2 Таймер 2,флаг Т2ЕХ Пт!Тб Низший Биты разрешения прерываний находятся в регистрах !Е и 1ЕА.
Бит ЕА ре- гистра !Е разрешает/запрещает работу всей системы прерываний, а осталь- ные биты указанных регистров могут маскировать прерывания от отдель- ных источников. 227 м -и ~е1 Г МИ ОИТР ЛР Ы ЕМ Функция 2.14. Особенности микроконтроллеров ВХС1513Х Микроконтроллеры 8ХС151БХ по системе команд, набору программно доступных ресурсов, системе прерываний, набору блоков ввода-вывода и функциям выводов корпуса совместимы с микроконтроллерами 8ХС51РХ. Усовершенствования коснулись, в основном, операционного ядра.