- •Принцип проектирования микропроцессорного блока.
- •Программная модель микропроцессора Intel 8085.
- •Система команд микропроцессора
- •Особенности программирования на ассемблере.
- •Шина адреса.
- •Шина управления.
- •Особенности мп к1812вм85(intel 80185).
- •Организация микропроцессорного блока на базе микропроцессора к1810 вм86/88 (Intel 8086/88 ) Основные методы повышения производительности микропроцессоров:
- •Основные характеристики микропроцессоров:
- •Средства реализации пошагового режима.
- •Особенности организации вм88.
- •Процессорный блок на базе 8086 / 8088
- •Особенности проектирования блоков памяти в микропроцессорных устройствах.
- •Статическая память 537 ру n зу
- •Периферийные бис микропроцессорных комплектов. Обобщенная структура программируемой бис.
- •Программируемый параллельный адаптер кр580 вв55
- •Программируемый таймер кр580ви53 / ви54
- •Программируемый адаптер последовательного интерфейса кр580вв51.
- •Структурная организация программируемого адаптера последовательного интерфейса кр580вв51.
- •Программное обеспечение программируемого адаптера последовательного интерфейса кр580вв51.
- •Программируемый контроллер прерываний кр580вн59,вн59а; intel8259, 59а
- •Структура программы инициализации пкп
- •Особенности организации 1810вн59а (i8259а).
- •Микроконтроллер к1816 ве51/31(intel 8051)
- •Структура резидентной памяти данных (рпд).
- •Система команд.
- •Структура команд orl( дизъюнкция), xrl (сумма по модулю 2) аналогична предыдущей.
- •Параллельные порты.
- •Счетчик/Таймер
- •Последовательный порт
- •Подсистема прерываний
- •Особые режимы работы
Счетчик/Таймер
Счетчик- таймер (СТ) предназначен для обработки внешних и внутренних событий, формирования программно-управляемых временных задержек, выполнения времязадающих функций
В состав ОМК входят два 16 разрядных суммирующих СТ
Счетчик состоит из регистров счетчика TL (младший байт), TH (старший байт), логики управления входными сигналами и триггера переполнения TF. Бит TF устанавливается при переходе счетчика из состояния все “1” во все “0”. Бит TF располагается в битовом пространстве и доступен по прямому адресу. Обращение к TLi,THi производится раздельно по прямым адресам.
Рис.3.6. Формат регистра работы таймера/счетчика TMOD: GATE1, GATE0 - управление блокировкой (при GATEi=1 работа счетчика/таймера разрешается, если INT=1 и TRi=1 (см. рис.3.7.); если GATEi=0, то работа счетчика зависит только от состояния TRi; i=1,0); С/Т1, С/Т0 - выбор режима работы (при С/Т=1 - работа в режиме счетчика от внешних сигналов на входе Ti; при С/Т=0 - работа в режиме таймера от внутреннего источника сигналов синхронизации); М1, М0 - задание основных режимов работы(см. таблицу).
Управление работой счетчика выполняется с помощью регистра режима работы TMOD и регистра управления - статуса TCON .
В режиме таймера счетчик работает от внутреннего генератора с частотой OSC/12.
При работе в режиме счетчика содержимое T/C инкрементируется под воздействием перехода из 1 в 0 внешнего сигнала, подаваемого на соответствующие входы Т0, Т1 порта Р3. Инкремент выполняется после анализа состояния “0” или ”1” на входе Тi, поэтому накладываются определенные ограничения на параметры преобразуемого сигнала: уровень 0 и 1 должен продолжаться не менее OSC/12. Максимальная преобразуемая внешняя частота - OSC / 24.
Способ запуска СТ устанавливается битом GATE:
если GATE =1, то реализуется аппаратный запуск, при котором разрешение счета подается на вход INTi порта Р3 (уровень 1). Предварительно должен быть установлен бит запуска счетчика TRi в регистре TCON.
При програмном запуске GATE =0, начало счета задается установкой бита TRi =1.
Рис.3.7. Формат регистра управления / статуса TCON: TFi - флаги переполнения таймера, устанавливается аппаратно при переполнении счетчика/таймера, сбрасывается программно или аппаратно при обслуживании прерывания; TRi - биты управления таймером, устанавливается/сбрасывается программно для пуска/останова; ITi - биты управления типом прерывания, при IТi=1 прoграммируется прерывание по срезу импульса запроса, при ITi=0 – по низкому уровню; IEi - флаги запроса прерывания. Устанавливаются аппаратно от внешних запросов на входах INTi. Cбрасываются программно или аппаратно, если прерывание вызвано срезом импульса запроса.
i= 0,1
Рис.3.8. Принцип работы счетчика/таймера в режимах “0, 1, 2”:
TL, TH - соответственно младший и старший байты счетчика;
OSC/12 - выходная частота внутреннего генератора ОМК.
Режим работы каждого СТ определяется значением битов М0, М1 в регистре ТМОD. Счетчики могут быть настроены на один из 4 режимов. Режимы 0,1,2, одинаковы для обоих счетчиков и в этих режимах они полностью независимы. Работа ТС0 и ТС1 в режиме 3 различна. Режим 3 рационально использовать только для СТ0 . При этом установка СТ0 в режим 3 влияет на режим работы СТ1.
Режим 0: режим 13-ти разрядного счетчика, состоящего из TНi и 5 младших разрядов TLi
Режим 1: 16-ти разрядный счетчик , состоящий из THi и TLi.
Режим 2: В этом режиме СТ представляет собой 8-разрядный счетчик TLi . При каждом переполнении TLi кроме установки флага TFi происходит автоматическая загрузка содержимого THi в TLi .Требуемый коэффициент деления должен записываться одновременно в THi и TLi. В отличие от режимов 0 и 1 после установки флага переполнения коэффициент деления переписывается автоматически .
Режим 3: В этом режиме счетчик 0 функционирует как 2 независимых счетчика, а счетчик 1 заблокирован и просто сохраняет свой код (выполняет функции регистра). При этом можно настроить счетчик 1 на другие режимы.
При работе в этом режиме ТС0 разделяется на два 8-ми разрядных счетчика, сформированных на базе регистров ТН0,ТL0. Счетчик ТН0 управляется битом ТR1 и формирует сигнал переполнения ТF1. Счетчик ТН0 может работать только в режиме таймера.
Установка ТС0 в режим 3 лишает ТС1 бита включения TR1. Поэтому ТС1 в режимах 0, 1, 2 при GATE=0 всегда включен и при переполнении в режимах 0 и 1 ТС1 обнуляется, а в режиме 2 перезагружается, не устанавливая флага, если ТС0 находится в режиме 3.
ТС1 аппаратно связан с блоком синхронизации последовательного порта. Поэтому в режимах 0,1,2 при переполнении ТС1 всегда вырабатывает импульс синхронизации последовательного порта.
Если ТС0 работает в режим 3, то ТС1 может быть настроен на режим 0,1 или 2, но при этом необходимо учитывать , что в процессе работы не формируется бит переполнения ,а режим разрешения счета постоянно включен.
Для настройки счетчика на требуемый режим необходимо:
задать требуемый коэффициент пересчета в регистры ТНi, ТLi,
задать режим работы в слове TMOD,
при программном вводе-выводе замаскировать соответствующие прерывания от счетчика, а при использовании прерывания- их разрешить
установить бит разрешения ТRi в слове TCON.
ЗАДАЧА:
Измерить временной интервал 0-1 с с погрешностью +/- 1 мкс. Результат записать в РПД. Измеряемый импульс –положительный. Частота кварца ОМК –12МГц.
Преобразование выполняется в программном режиме.
В качестве счетчика выбираем СТ0, работающий в режиме 1. Измеряемый интервал подается на вход INT0..В соответствии с требованиями по точности максимальный результат измерения должен быть 1000000, а в СТ0 может быть записано число 65535. Поэтому на базе регистра R2 организуем счетчик переполнений . Результат преобразования должен быть размещен в свободной зоне РПД. Базовый адрес результата хранится в регистре R0. Регистры принадлежат нулевому банку.
Режимное слово в (TMOD)=09h.
mov SP, #addr
п/п измерения: сохранение регистров
clr IE.7 ; запрет прерывания
mov R0, #addr.res
clr A ;Обнуление
mov R2, A R2
mov TH0, A ; TH0
mov TL0, A ; TL0
mov TMOD, #9h; Запись слова режима
setb TCON.4 ; установка TR0
M1: jnb P3.2, M1;Анализ входного импульса
M4: jb P3.2, M2 M2: jbc TCON.5(TF0), M3;Проверка TF0 и
clr TCON.4 sjmp M4; его сброс
mov @R0, R2 ;Запись M3: inc R2; Подсчет перепол-
inc R0 результата sjmp M4 ; нений
mov @R0, TH0
inc R0
MOV @R0,TL0
восстановление регистров
ret
При измерении частоты методом среднего возможны два варианта формирования эталонного временного интервала Тэт. Аппаратная реализация предполагает подачу измеряемой частоты на вход Ti, а Тэт – на INTi
При программной реализации Тэт формируется на одном из счетчиков, работающем в режиме таймера; второй счетчик подсчитывает число внешних импульсов. Начало работы второго счетчика задается битом TRi первого счетчика, а конец счета - битом TF первого счетчика.
Особенностью формирования выходных частотно-временных сигналов является отсутствие электрического выхода СТ. Поэтому сигналы формируются на свободных выходах портов Р0 – Р2 в момент установки TRi и TFi.