Бродин В. Б., Шагурин И. И. Микроконтроллеры (1999) (1095894), страница 37
Текст из файла (страница 37)
В режиме счетчика (С/Тх№ 1) регистр ТЕх наращивается при переходе сигнала нз входе Тх из «1» в «0». Входы опрашиваются во время фазы 55Р2 каждого машинного цикла. При обнаружении высокого уровня сигнала в одном цикле и низкого уровня в следующем цикле счетчик инкрементируется, Новое значение в регистре появляется во время фазы БЗР1 цикла, следутощего за тем, в котором был обнаружен переход.
Поскольку на распознавание перехода уходит два машинных цикла, максимальная частота счета составляет Гозс/24. Ограничений на скважность входного сигнала нет, но для уверенной фиксации перепада сигнал должен удерживаться в каждом значении по крайней мере один машинный цикл. Счетчики/таймеры обслуживаются регистром режима ТМО1) и регистром управления ТСО!Ч.
ТМОР ОАТЕ1 СТТ1№ М1.1 М1.0 ОАТЕО С/ТО№ М0.1 МО.О ТСО!»! ТН Тй! ТЕО ТЕО 1Е1 1Т! 1ЕО 1ТО 180 Номер Функция бита ТМОП.7 Бит управления Таймером 1. При САТЕ1 - 1 Таймер 1 работает всегда при ТК1 " 1. При САТЕ1 " 0 для работы необходимо условие ТК1 - 1 и 1ХТ1№ - 1. С/Т1№ ТМОП.6 Бит выбора типа событий для Таймера 1. При С/Т1№ - 1 он работает как счетчик, при С/Т1№ - 0 как таймер. М1.1 ТМОП.5 Бит 1 определения режима работы Таймера 1. М1.0 ТМО!7А Бит 0 определения режима работы Таймера 1. САТЕО ТМОП.З Бит управления Таймером О. При САТЕО - 1 Таймер 0 работает всегда при ТКО - 1. При САТЕО - 0 для работы необходимо условие ТКО - 1 и !ХТО№ 1.
С/ТО№ ТМОП.2 Бит выбора типа событий для Таймера О. При С/ТО№ - 1 он работает как счетчик, при С/ТО№ - 0 как таймер. М1.0 ТМОП.! Бит 1 определения режима работы Таймера 0 МО.О ТМОП.О Бит 0 определения режима работы Таймера 0 ТГ! ТСОХ.7 ТК1 ТЕО ТКО 1Е1 1Т! 1ЕО 1ТО Имя битв САТЕ1 ТСОХ.6 ТСОХ.5 ТСОХА ТСОХ.З ТСОХ.2 ТСОХ.! ТСОХ.О мух»охонт»опле»ы: АРхитмттРА ЙРОГРАммиРОВАние и Флаг переполнения Таймера 1.
Устанавливается при пе- реходе счетного регистра таймера из состояния ГЕН в со- стояние ООН. Очищается при передаче управления на про- цедуру обработки прерывания Бит запуска Таймера 1. При ТК! - 1 счет разрешен Флаг переполнения Таймера О. Устанавливается при пе- реходе счетного регистра таймера из состояния ГЕН в со- стояние ООН. Очищается при передаче управления на про- цедуру обработки прерывания Бит запуска Таймера О.
При ТКО - 1 счет разрешен Флаг запроса прерывания по вход!ХТ1№ Бит селектора типа активного сигнала на входе 1ХТ1№. При !Т1 - 1 активным является переход «1»-»0», при !Т1 = 0 активным является низкий уровень сигнала Флаг запроса прерывания по вход !ХТО№ Бит селектора типа активного сигнала на входе 1ХТО№.' При 1ТО 1 активным является переход «1»-»0», при 1ТО - 0 активным является низкий уровень сигнала Г 2. МИКРОКОНТРОЛЛЕРЫ ЕМЕЙ 1В1 мсз- 11 ~ М1 МО О О Режим работы Режим О. ТНх как 8-разрядный таймер/счетчик. ТЕх как 5-разрядный предделитель Режим 1. 16-разрядный таймер/счетчик.
ТНх и Т(.х включены последовательно Режим 2. 8-разрядный таймер/счетчик Т|х с автоперезагрузкой значением из ТНх О 1 1 О 1 1 Режим 3. Т).О как 8-разрядный таймер/счетчик, управляемый битами управления Таймера О. ТНО как 8-разрядный таймер/ счетчик, управляемый битами управления Таймера 1, Таймер 1 не работает Выбор типа подсчнтываемых событий для Таймера О и Таймера 1, т.е.
назначение им функции таймера или счетчика, определяется значением бита управления С/Тх№ регистра ТМОП. Таймеры способны работать в трех режимах, выбор режима для каждого таймера производится комбинацией битов Мх.1, Мх.О того же регистра. Счет разрешается битом Тйх, если бит САТЕх = О. Когда счетное значение переходит иа состояния все «1» в состояние все «О», устанавливается флаг запроса прерывания ТРх. Установка бита САТЕх - 1 дает возможность управлять таймером от входа 1ХТх№ и измерять таким образом ширину импульсов. Установка битов запуска не очищает счетные регистры. Режим О.
В этом режиме имеет место 13-разрядный счетный регистр, в ко- тором регистр ТНх работает как 8-разрядный счетчик, а регистр Т1.х ис- пользуется как 5-битный предделитель (рис. 2.12а). Режим 1. Этот режим аналогичен режиму О, но используются все 16 разря- дов регистров ТНх и ТЕх (рис. 2.126). Режим 2. В этом режиме регистр ТЕх работает как 8-разрядный счетный регистр. После переполнения он автоматически перезагружается значени- ем из регистра ТНх, который при этом своего предварительно запрограм- мированного значения не теряет (рис.
2.12в). Режим 3. Таймер 1 в этом режиме блокирован, как если бы бит ТВ1 был сброшен. Таймер О в режиме 3 работает как два независимых счетных регистра, при- чем регистр Т).О управляется битами управления Таймера О, а регистр ТНО управляется битами управления Таймера 1 (рис. 2.12г).
Биты М1 и МО следутощим образом определяют режимы работы таймеров/ счетчиков: МИКРОКОНП'ОЛЛЕРЫ: АРХИТЕКТКРА ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙС 182 д) Т(д ТНК ТРК КЛРГМ (8 Разрядов) (В разрядов) прерывания б) ОЯС вЂ” )Г) 2 Сзтхя=О Рие. 2.12. Работа счетчиков/теймерое: е режиме О (е) ° режиме 1 (б), режиме 2 (е) и режиме 3 (г) ГРОВС"Ц Иа ) ~СГТхя=а] ~ С~БСД-~ )Г)2) — ) [(Гтх)й)) ТЬ ТИК (5 рвз ядов) (8 разрядов) Трх рос прерывания рос рерыввння прос срывания пров рерывания ллелы алллстал м 1ВЗ галек ы клок 2.9. Последовательный порт Последовательный порт микроконтроллеров МСБ-51 является дуплексным и обеспечивает работу в одном синхронном режиме (режим 0) и трех асинхронных режимах (режимы 1, 2, 3).
Поддерживается также последовательный обмен в многопроцессорных системах. При синхронном приеме синхросигнал выдается по линии Тх!), а данные принимаются или передаются по линии Кхо. При асинхронном обмене блок последовательного порта передает данные по линии Тх!), а принимает по линии Кхо. Прием и передача могут осуществляться одновременно, поскольку регистр данных БВПР состоит нз двух частей. Чтобы передать данные необходимо произвести запись в регистр БВВ Е а для приема информации необходимо прочитать содержимое регистра БВПЕ Приемник буферизирован, т.е.
возможен прием следующего байта, когда предыдущий еще находится в регистре БВПЕ Однако, если подпрограмма обслуживания не успела прочесть байт данных из регистра БВПР к моменту завершения приема следующего байта, то этот следующий принятый байт затрет предыдущий. Прием и передача обслуживаются битами прерывания К! и Т1, которые формируют общий запрос прерывания.
Управляется последовательный порт с помощью регистра БСОХ. БСОХ БМО БМ1 БМ2 КЕХ ТВ8 КВ8 Т! К! Функция Имя Номер бита бита БМО БСОХ.7 Бит 0 определения режима работы последовательного порта. БМ1 БСОХ.6 Вит 1 определения режима работы последовательного порта. 3М2 3 СОХ.5 Разрешение обмена в многопроцессорных системах. В режиме 0 должен быть сброшен. В режиме 1 при БМ2 - 1 бнт К! не устанавливается, если принятый стоп-бит О.
В режимах 2 и 3 при БМ2 - 1 бит К! не устанавливается, если принятый девятый бит данных КВ8 = О. КЕХ БСОХ.4 Разрешение приема. При КЕХ = 1 прием разрешен. ТВ8 БСОХ.З 9-й бит данных, который будет передаваться в режимах 2 и 3. Значение устанавливается программно разработчиком. КВ8 БСОХ.2 В режиме 0 не используется.
В режиме 1 при БМ2 - 0 в него заносится принятый стоп-бит. В режимах 2 и 3 в него заносится 9-й принятый бит данных. МИКРОКОНТРОЛЛЕРЫ' АРХИТЕКТУРА ЛРОГРАММИРОЕАНИ ИНТЕРФЕЙС 184 Режим рабаты Режим О. Сдвиговый регистр. Режим 1. Асинхронный приемо-пере- датчик, 8 бит данных в кадре. Режим 2. Асинхронный приемо-пере- датчик, 9 бит данных в кадре.
Режим 3. Асинхронный приемо-пере- датчик, 9 бит данных в кадре. ЗМО ЗМ1 Скорость передачи 0 0 Роэс/12 0 1 переменная 1 0 Ровс/64 или Ровс/32 1 1 переменная Кроме битов регистра ЗСОХ последовательный порт управляется также битом ЗМО() регистра РСОХ. В основном регистр РСОХ управляет режимами энергопотребления, назначение его битов описано в разделе 2.11 «Микроконтроллеры типа 8ХСБХ». Бит ЗМОП этого регистра управляет опцией удвоения скорости обмена. При ЗМОП " 1 скорость обмена данными через последовательный порт в режимах 1, 2 и 3 удваивается.
2.9.1. Синхронный обмен (режим О) В этом режиме по линии Тх() выдается восемь синхроимпульсов, а по линии КХП принимается или передается байт данных. Передача и прием данных осуществляются начиная с младшего бита, сдвиг происходит в З6Р2 каждого машинного цикла (рис. 2.13). Таким образом последовательный обмен производится с фиксированной частотой Ровс/12.