- •Министерство образования российской федерации
- •Кафедра
- •«Микроконтроллеры семейства z86 фирмы zilog»
- •Введение
- •1. Однокристальные микроконтроллеры семейства z8
- •1.1. Описание семейства z8
- •1.2. Архитектура микроконтроллеров z8
- •1.2.1. Структурная схема микроконтроллеров
- •1.2.2.1. Адресное пространство регистрового файла
- •1.2.2. Адресное пространство микроконтроллеров
- •1.2.2.2. Адресное пространство памяти
- •1.2.2.3. Стек
- •1 .2.3. Синхронизация
- •1.2.4. Сброс и сторожевой таймер
- •1.2.5. Порты ввода/вывода
- •1.2.6. Таймеры/счетчики
- •1.2.7. Прерывания
- •1.3. Система команд микроконтроллеров z8
- •1.3.1. Способы адресации операндов
- •1.3.2. Флаги процессора
- •1.3.2.1. Флаг переноса c (Carry Flag)
- •1.3.2.2. Флаг нуля z (Zero Flag)
- •1.3.2.3. Флаг знака s (Sign Flag)
- •1.3.2.4. Флаг переполнения V (Overflow Flag)
- •1.3.2.5. Флаг десятичной коррекции d (Decimal Adjust Flag)
- •1.3.2.6. Флаг полупереноса h (Half Carry Flag)
- •1.3.3. Набор команд
- •1.3.3.1. Описание системы команд
- •1.3.3.2. Условия ветвления программы
- •1.4. Конструктивное исполнение микроконтроллеров z8
1.2.6. Таймеры/счетчики
М
К
Z8 может иметь до двух таймеров/счетчиков,
в зависимости от модели (см. табл.1.2).
Каждый из 8-битных таймеров/счетчиков
Т0 и Т1 снабжен 6-битным предделителем
PRE0 и PRE1 (рис.1.20). Работа таймеров/счетчиков
происходит независимо от работы
процессора, что освобождает его от
выполнения критичных временных операций,
таких как счет событий, измерение
временных интервалов, генерирование
импульсов заданной длительности и т.п.
Рис. 1.20. Структурная схема таймеров/счетчиков
Каждый из
таймеров/счетчиков может работать в
однопроходном или циклическом режимах.
В первом случае, при достижении
таймером/счетчиком конца счета, счет
прекращается, во втором —начальное
значение перезагружается и счет
продолжается. При управлении от внутренней
синхронизации TCLK (TCLK = XTAL/2 в основном
режиме работы генератора), ее частота
дополнительно делится на 4. Этот делитель
вместе с 6-битным предделителем и 8-битным
таймером/счетчиком образуют синхронную
16-битную цепь. Таймер/счетчик T1 может
также управляться с внешнего входа TIN,
в качестве которого используется вывод
Р31. Выходы таймеров/счетчиков и выход
внутренней синхронизации могут быть с
помощью программы скоммутированы на
выход TOUT, в качестве которого используется
вывод Р36. Управление работой
таймеров/счетчиков осуществляется с
помощью регистра режимов таймеров TMR.
Регистры таймеров/счетчиков T0 и T1,
предделителей PRE0 и PRE1, а также регистр
TMR размещены в адресном пространстве
СРФ, рабочая группа F ( см. рис.1.2). Поэтому
для управления и контроля за работой
таймеров/счетчиков никаких специальных
команд не требуется. Каждый из предделителей
PRE0 (F5H) и PRE1 (F3H) состоит из 8-битного
регистра начального значения и 6-битного
вычитающего счетчика (см. рис.1.20). Регистры
предделителей предназначены только
для записи, кроме начального значения
содержат управляющие биты. Назначение
разрядов этих регистров, их состояние
после сброса и в процессе работы
поясняется рис.1.21 и рис.1.22. Попытка
чтения этих регистров дает результат
FF. Начальное значение предделителей
может быть в диапазоне от 1 до 64 (
01H,...,3FH,00H ).
Каждый из таймеров/счетчиков
(см. рис.1.20 ) T0 (F4H) иT1 (F2H) состоит из
8-битного вычитающего счетчика, регистра
начального значения (только для записи)
и регистра текущего значения (только
для чтения). Начальное и текущее значения
могут быть в диапазоне от 1 до 256
(
01H,...,FFH,00H).
После сброса состояние регистров T0 и
T1 —неопределенное.
Р
ис.
1.21. Регистр предделителя PRE0
Рис. 1.22. Регистр предделителя PRE1
Регистр TMR содержит
группы битов, управляющие загрузкой
начальных значений, пуском/остановом
таймеров, режимом входа TIN и режимом
выхода TOUT. Назначение разрядов регистра
TMR, состояние их после сброса и допустимые
состояния в процессе работы для разных
м
оделей
МК показаны на рис.1.23.
Рис. 1.23. Регистр режимов таймеров TMR
Установка бита загрузки (D0 для T0 и D2 для T1) вызывает пересылку начального значения из регистров начального значения соответствующего предделителя и таймера в вычитающие счетчики. После загрузки эти управляющие биты сбрасываются. Новое значение может быть загружено в вычитающие счетчики в любое время. Если счетчики были запущены, то счет будет продолжаться с нового значения.
Таймеры/счетчики сохраняют свое состояние, пока бит разрешения счета (см. рис.1.23) равен 0. Для запуска таймеров/счетчиков соответствующий бит разрешения счета (D1 для T0 и D3 для T1) должен быть установлен в 1. Первый декремент будет иметь место через 4 периода внутренней синхронизации после установки программой бита разрешения счета или в следующем периоде внешней синхронизации (со входа TIN).
Биты загрузки и разрешения могут быть установлены одновременно. Например, с использованием команды
OR TMR,# 03H
можно загрузить и запустить таймер/счетчик T0.
