Микроконтроллеры семейства Zilog Z86Рефераты >> Программирование и компьютеры >> Микроконтроллеры семейства Zilog Z86
Рис. 1.16. Регистр режимов портов P0 и P1
Рис. 1.18. Регистр режима порта P3
Разрабатывая прикладную программу МК, необходимо предусматривать в ней процедуру инициализации портов ввода/вывода до выполнения операций обмена данными с внешними устройствами.
1.2.6. Таймеры/счетчики
Рис. 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
Рис. 1.22. Регистр предделителя PRE1
Регистр TMR содержит группы битов, управляющие загрузкой начальных значений, пуском/остановом таймеров, режимом входа TIN и режимом выхода TOUT. Назначение разрядов регистра TMR, состояние их после сброса и допустимые состояния в процессе работы для разных
Рис. 1.23. Регистр режимов таймеров TMR
Установка бита загрузки (D0 для T0 и D2 для T1) вызывает пересылку начального значения из регистров начального значения соответствующего предделителя и таймера в вычитающие счетчики. После загрузки эти управляющие биты сбрасываются. Новое значение может быть загружено в вычитающие счетчики в любое время. Если счетчики были запущены, то счет будет продолжаться с нового значения.
Таймеры/счетчики сохраняют свое состояние, пока бит разрешения счета (см. рис.1.23) равен 0. Для запуска таймеров/счетчиков соответствующий бит разрешения счета (D1 для T0 и D3 для T1) должен быть установлен в 1. Первый декремент будет иметь место через 4 периода внутренней синхронизации после установки программой бита разрешения счета или в следующем периоде внешней синхронизации (со входа TIN).
Биты загрузки и разрешения могут быть установлены одновременно. Например, с использованием команды
OR TMR,# 03H
можно загрузить и запустить таймер/счетчик T0.
1.2.7. Прерывания
Аппаратные источники прерываний
Запрос прерывания |
Модель МК | ||||
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 |