- •Кафедра информационных систем и технологий
- •Программирование и отладка
- •Программных модулей для омк Intel 8051 (к1816 ве51)
- •Методические указания к лабораторной работе
- •1. Структурная организация Intel 8051
- •1.1. Арифметико‑логическое устройство
- •1.2. Резидентная память
- •1.3 Внешняя память
- •1.4 Устройство управления и синхронизации
- •2. Программная модель омк
- •3.Система команд 8051
- •4.Периферийные устройства омк
- •4.1.Порты ввода/вывода.
- •4.2. Счетчик/Таймер
- •4.3. Последовательный порт
- •4.4 Система прерываний
- •5. Особые режимы работы
- •6. Особенности архитектуры микроконтроллеров 8x52 и 8xС52
- •7. Тенденции развития mcs-51/151/251
- •8. Проектирование устройств сбора и обработки информации на основе 8051
- •8.1. Разработка алгоритмов функционирования
- •Арифметический правый сдвиг на один разряд записывается в виде
- •Например, сравнение двух слов а и b можно описать в виде
- •8.2. Программирование на ассемблере 8051.
- •Система команд омк Intel 8051
- •Подготовка программ для отладКи в dos - эмуляторе.
- •Полноэкранный отладчик ассемблерных программ для однокристальной микро-эвм кр1816 ве51 (Intel 8051)
- •1. Запуск отладчика.
- •2. Ввод команд.
- •3. Описание команд.
- •3.1. Функциональные клавиши.
- •3.2. Команды отладчика
- •4. Полноэкранное редактирование
- •5. Режим ассемблера
- •5. Работа с точками останова
- •Приложение 3 Задание на проектирование
- •Алгоритм функционирования усои
4.2. Счетчик/Таймер
Счетчик-таймер (СТ) предназначен для обработки внешних и внутренних событий, формирования программно-управляемых временных задержек, выполнения времязадающих функций.
В состав ОМК входят два 16 разрядных суммирующих СТ. Счетчик состоит из регистров счетчика TLi (младший байт), THi (старший байт), логики управления входными сигналами и триггера переполнения TFi. Бит TFi устанавливается при переходе счетчика из состояния «все 1» в состояние «все 0». Бит TFi располагается в битовом пространстве и доступен по прямому адресу. Обращение к TLi, THi производится раздельно по прямым адресам.
Управление работой счетчика выполняется с помощью регистра режима работы TMOD и регистра управления-статуса TCON.
Рисунок 14- Формат регистра режима счетчика / таймера TMOD
На рисунке 14:
GATE1, GATE0 – управление способом запуска СТ;
,
– определяют работу СТ в качестве
счетчика (
=1)
или таймера (
=0);
М1, М0 ‑ задают режимы работы (см. таблицу).
Способ запуска СТ может быть аппаратный или программный. Если GATEi =1, то реализуется аппаратный запуск, при котором разрешение счета подается на вход INTi порта Р3. Предварительно должен быть установлен бит запуска счетчика TRi в регистре TCON. (i – номер счетчика-таймера). При программном запуске GATEi =0, начало счета задается установкой бита TRi =1.
В режиме таймера СТ работает от внутреннего генератора с частотой OSC/12.
При работе в режиме счетчика содержимое СТ инкрементируется под воздействием перехода из «1» в «0» внешнего сигнала, подаваемого на соответствующие входы Т0, Т1 порта Р3. Инкремент выполняется после анализа состояния «0» и «1» на входе Тi, поэтому накладываются определенные ограничения на параметры преобразуемого сигнала: уровень «0» и «1» должен продолжаться не менее OSC/12. Максимальная преобразуемая внешняя частота ‑ OSC/24.
Счетчик/таймер может быть настроен на один из 4 режимов. Режимы 0,1,2, одинаковы для обоих счетчиков и в этих режимах они полностью независимы. Работа СТ0 и СТ1 в режиме 3 различна. При этом установка СТ0 в режим 3 влияет на режимы работы СТ1.
Режим 0: режим 13-ти разрядного регистра, состоящего из TНi и 5 младших разрядов TLi.
Режим 1: режим 16-ти разрядного регистра, состоящего из THi и TLi.
Режим 2: В этом режиме СТ представляет собой устройство на основе 8-разрядного регистра TLi. При каждом переполнении TLi кроме установки флага TFi происходит автоматическая загрузка содержимого THi в TLi.
Требуемый коэффициент деления должен записываться одновременно в THi и TLi.
Принцип работы СТ в режимах 0,1,2 поясняет рисунок 15.
Р
исунок
15.- Принцип работы счетчика/таймера в
режимах «0, 1, 2»:
Р
ежим
3: В этом
режиме счетчик 0 функционирует как 2
независимых счетчика, а счетчик 1
заблокирован и просто сохраняет свой
код (выполняет функции регистра). При
этом можно настроить счетчик 1 на другие
режимы.
Рисунок 16.-Принцип работы СТ в режиме 3
Режим 3 используется, если необходимо увеличить число действующих счетчиков до трех. При работе в этом режиме СТ0 разделяется на два 8-ми разрядных счетчика, сформированных на базе регистров ТН0, ТL0. Счетчик на базе ТН0 может работать только в режиме таймера, управляется битом ТR1 и формирует сигнал переполнения ТF1. Счетчик на базе TL0 особенностей в управлении не имеет (рисунок 16).
Установка СТ0 в режим 3 лишает СТ1 бита включения TR1. Поэтому СТ1 в режимах 0, 1, 2 при GATE=0 всегда включен и при переполнении в режимах 0 и 1 СТ1 обнуляется, а в режиме 2 перезагружается, не устанавливая флага, если СТ0 находится в режиме 3.
СТ1 аппаратно связан с блоком синхронизации последовательного порта. Поэтому в режимах 0, 1, 2 при переполнении СТ1 всегда вырабатывает импульс синхронизации последовательного порта.
Регистр управления и состояния TCON предназначен для формирования сигналов запуска СТ и хранения флагов их переполнения, задания типа воспринимаемого запроса и хранения флагов внешних прерываний.
-
T
F1TR1
TF0
TR0
I E1
IT1
IE0
I T0
7 6 5 4 3 2 1 0
Управление СTi Управление прерываниями
Рисунок 17.-Формат регистра TCON
На рисунке 17:
TFi - флаг переполнения СТ. Устанавливается аппаратно при переполнении счетчика/таймера, сбрасывается программно. При обслуживании прерывания сброс выполняется аппаратно.
TRi - биты управления СТ. Устанавливается/сбрасывается программно для пуска/останова;
ITi - бит управления видом сигнала запроса прерывания. При IТi=1 прoграммируется прерывание по срезу импульса запроса, при ITi=0 – по низкому уровню (i – номер входа запроса внешнего прерывания);
IEi - флаг запроса прерывания. Устанавливаются аппаратно от внешних запросов на входах INTi. Cбрасываются аппаратно, если прерывание вызвано срезом импульса запроса, или программно. Возможно программное управление этим флагом.
Для настройки счетчика/таймера на требуемый режим необходимо:
задать требуемый коэффициент пересчета К в регистры ТНi, ТLi. Так как счетчик суммирующий, то К= 65535 – С +1, где С требуемый коэффициент деления;
задать режим работы в слове TMOD;
при программном вводе-выводе замаскировать соответствующие прерывания от счетчика, а при использовании прерывания, их разрешить;
при программном запуске бит разрешения ТRi в слове TCON устанавливается в момент начала работы СТ, а при аппаратном – на стадии инициализации.
На базе СТ можно организовать преобразователи частоты, временного интервала, периода в код, генераторы и формирователи сигналов. Однако, необходимо учитывать, что TFi аппаратно недоступен, поэтому выходные сигналы следует формировать на выходах параллельных портов.
