Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Микроконтроллеры семейства Zilog Z86

ты выходных буферов портов (режим "открытый сток"  и
малошумящий   режим)   задействован   регистр   управления   портами   PCON,
расположенный  в  расширенной  группе  регистров   F.   Все   эти   регистры
предназначены только для  записи.  Результат  чтения  этих  регистров  будет
равен FFH.
Назначение разрядов этих регистров  и  их  состояние  после  сброса  МК  для
разных моделей МК поясняется рис. 1.16 -1.19.
                  Рис. 1.16. Регистр режимов портов P0 и P1
                     Рис. 1.17. Регистр режима порта P2
                     Рис. 1.18. Регистр режима порта P3
                 Рис. 1.19. Регистр управления портами PCON
Разрабатывая прикладную  программу  МК,  необходимо  предусматривать  в  ней
процедуру инициализации портов ввода/вывода до  выполнения  операций  обмена
данными с внешними устройствами.
                           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.
                              1.2.7. Прерывания
МК Z8 поддерживают 6-уровневую схему приоритетных  прерываний  от  различных
источников. Набор внешних источников прерывания связан со входами  порта  Р3
и инициирует запросы прерывания  IRQ0,...,IRQ3  (см.табл.  на  рис.1.14).  К
внутренним источникам относятся таймеры/счетчики T0, T1  и  последовательный
интерфейс SPI. Им соответствуют запросы прерывания  IRQ4,  IRQ5.  Обобщенная
структурная схема организации прерываний и таблица  соответствия  источников
показаны на рис.1.24.  Следует  отметить,  что  кроме  аппаратной  установки
любой из запросов может быть установлен программным путем.
                       Аппаратные источники прерываний


|Запрос       |Модель МК |          |          |          |          |
|прерывания   |          |          |          |          |          |
|             |02        |03        |06        |04, 08    |30, 31, 40|
|IRQ0         |P32 f     |P32 s     |P32 s     |P32 f     |P32 s     |
|IRQ1         |P33 f     |P33 f     |P33 f     |P33 f     |P33 f     |
|IRQ2         |P31 f     |P31 s     |P31 s     |P31 f     |P31 s     |
|IRQ3         |P32 f     |          |SPI       |P32 r     |P30 f     |
|IRQ4         |          |          |T0        |T0        |T0        |
|IRQ5         |T1        |T1        |T1        |T1        |T1        |


             Рис. 1.24. Структурная схема организации прерываний

Схема управления прерываниями включает  три  управляющих  регистра:  регистр
запросов прерывания IRQ, регистр маски прерывания IMR и регистр  приоритетов
прерывания IPR. Все регистры размещены  в  СРФ,  рабочая  группа  F.  Каждый
внешний сигнал устанавливает в 1 соответствующий бит запроса в регистре  IRQ
(рис.1.25) при появлении фронта сигнала, указанного в таблице  на  рис.1.24.
В моделях 03, 06, 30, 31 и 40 фронт сигнала, устанавливающий запросы IRQ0  и
IRQ2, программируется путем записи информации в два  старших  бита  регистра
IRQ.  Запросы   прерываний   от   таймеров/счетчиков   устанавливаются   при
достижении ими конца счета, а запрос от SPI —по завершении приема символа.
                 Рис. 1.25. Регистр запросов прерывания IRQ
Регистр маски прерываний IMR (рис.1.26)  позволяет  маскировать  как  каждое
прерывание IRQ5 —IRQ0 отдельно (биты D5-D0), так и все прерывания  глобально
(бит D7). Последний бит устанавливается  и  сбрасывается  особыми  командами
разрешения и запрещения прерываний EI и DI.  Он  автоматически  сбрасывается
при   вызове   подпрограммы   обслуживания   прерывания   и    автоматически
устанавливается   при   выполнении   команды   возврата   из    подпрограммы
обслуживания  прерывания  IRET.  Следует  отметить,  что  перед   изменением
содержимого IMR или IPR бит D7 регистра IMR должен быть сброшен.
                   Рис. 1.26. Регистр маски прерываний IMR
Регистр приоритета прерываний IPR (рис.1.27) позволяет  устанавливать  любое
соотношение приоритетов как между группами прерываний А, В, С, так  и  между
отдельными запросами прерываний внутри группы. В каждую группу  включено  по
два запроса.
МК  Z8  поддерживает  как  процесс  векторных  прерываний,  так  и   процесс
поллинга.
                Рис. 1.27. Регистр приоритетов прерываний IMR
В случае векторного процесса каждый  уровень  прерывания  имеет  собственный
вектор —адрес подпрограммы обслуживания  этого  уровня  прерывания.  Векторы
прерываний размещены в начальной зоне  ПЗУ  (см.  рис.  1.3).  Инициализация
процесса  векторного  прерывания  происходит,  если   прерывания   глобально
разрешены и есть хотя бы  один  незамаскированный  запрос  прерывания.  Если
таких запросов  несколько,  то  выбирается  вектор  прерывания  с  наивысшим
приоритетом. Далее реализуется следующая последовательность действий:
— загружается в стек младший байт PC;
— загружается в стек старший байт PC;
—загружается в стек регистр флагов FLAGS;
— читается старший байт вектора;
— читается младший байт вектора;
—вектор загружается в PC.
Эта последовательность занимает 24 такта синхронизации TpC. Наихудшее  время
реакции на прерывание можно вычислить, прибавив к  этому  времени  2TpC  для
синхронизации внешнего запроса прерывания и время выполнения  самой  длинной
команды в прерываемой программе.
                  1.3. Система команд микроконтроллеров Z8
Математические  возможности  МК  характеризуются  системой  команд.   В   МК
использован двухадресный принцип построения команд, что позволяет  сократить
количество требуемых пересылок операндов. Первый  операнд  после  выполнения
команды  становится  результатом  и   называется   операндом-получателем   (
Destination Operand ),  а  второй  —сохраняет  свое  значение  и  называется
операндом-источником ( Source Operand ). Первый в  описании  системы  команд
обозначен аббревиатурой dst, а второй —src.
Код любой команды МК содержит  код  операции  (КОП),  определяющий  операцию
кома
Пред.6789
скачать работу

Микроконтроллеры семейства Zilog Z86

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ