Микроконтроллеры. Система команд МК
В настоящее время микропроцессоры применяются практически повсеместно – от бытового оборудования до суперкомпьютеров. Чрезвычайное расширение области применения привело к неизбежной их специализации, появлению наряду с универсальными процессорами микросхем, предназначенных для решения задач определенного класса. Универсальные процессоры содержат устройства выполнения операций с плавающей запятой, управления памятью, кэш–память, устройство, реализующее магистраль процессора. Они обычно не содержат блоков для выполнения специальных функций.
В отличие от этих микросхем однокристальные микроконтроллеры имеют устройства, выполняющие различные периферийные функции, при этом на кристалле отсутствуют блоки выполнения операций с плавающей запятой и управления памятью. Разнообразие разработанных типов микроконтроллеров определяется системами команд, набором реализуемых на кристалле периферийных функций, производительностью.
Наиболее специализированы процессоры, предназначенные для решения задач цифровой обработки сигналов (DigitalSignal Processor – DSP). Уникальная система команд, особенности архитектуры обеспечивают высокую производительность обработки аналоговых сигналов, представленных в цифровой форме в реальном времени. В настоящее время появился новый тип DSP - медиа–процессор, предназначенный для обработки аудиосигналов, графики, видеоизображений, а также для решения задач мультимедиа в персональных компьютерах.
|
|
Применение микропроцессоров ознаменовало начало новой эры в развитии встроенных систем управления – систем, конструктивно интегрированных в оборудование. Кроме центрального процессора на основе однокристального микропроцессора или микроконтроллера в систему обычно входят дополнительные элементы памяти, периферийные интерфейсные БИС для сопряжения с датчиками и с объектом управления. Все задачи, решаемые системой встроенного управления, делятся на два больших класса: задачи управления событиями в реальном времени и управления потоками данных.
Каждый класс предъявляет специфические требования к микропроцессору или микроконтроллеру. Это находит отражение, прежде всего, в наборе функций, реализуемых на кристалле, и в системе команд.
К первому классу относят задачи, требующие быстрой реакции микропроцессорной системы на изменения внешних условий (на срабатывания датчиков, изменение параметров объекта управления). Для решения этих задач применяют микроконтроллеры с размещенными на кристалле памятью программ, памятью данных, устройствами ввода-вывода. Обычно для реализации алгоритмов требуется память программ небольшой емкости (до 32К байт).
|
|
Второй класс составляют задачи, требующие быстрой обработки значительных объемов информации (системы управления летательными аппаратами, подвижным составом, обработки видеоизображений и т.д.). Процессор при этом выполняет большое количество вычислительных операций, в том числе с плавающей запятой. Для решения таких задач применяются высокопроизводительные 32– или 64-разрядные процессоры.
Например, продукция фирмы Intel,ориентированная на встраиваемые системы управления, может быть представлена следующим образом. Для решения задач управления событиями в реальном времени используются однокристальные микроконтроллеры:
8-разрядные – MCSR-51, MCSR-251;
16-разрядные – MCSR-96, MCSR-196, MCSR‑296.
Для решения задач управления потоками данных применяются однокристальные 16- и 32-разрядные микропроцессоры:
CISC–архитектуры – 80C186 и др.;
RISC–архитектуры – i960.
В настоящее время по объему продаж лидируют 8-разрядные микроконтроллеры.
Архитектура однокристальных микроконтроллеров семейства мк-51
Структура микроконтроллера мк-51
К микроконтроллерам семейства МК-51 в настоящее время относятся следующие схемы: К1816ВЕ31, К1816ВЕ51, К1816ВЕ751, К1830ВЕ31, К1830ВЕ51, которые являются функционально завершенными однокристальными микроконтроллерами, содержащими на кристалле все необходимые узлы для работы в автономном режиме и предназначенными для реализации различных цифровых алгоритмов управления. Сравнительные характеристики этих БИС приведены в таблице 1.
|
|
Таблица 1
Характеристики некоторых БИС семейства МК-51
Микросхема | Аналог | Объем внутренней памяти программ, байт | Тип памяти программ | Ток потребления, мА |
К1816ВЕ31 | 8031AH | - | внешняя | 150 |
К1816ВЕ51 | 8051AH | 4K | ПЗУ | 150 |
К1816ВЕ751 | 8751H | 4K | ППЗУ | 220 |
К1830ВЕ31 | 80C31BH | - | внешняя | 18 |
К1830ВЕ51 | 80C51BH | 4K | ПЗУ | 18 |
Все приведенные в табл.1 микроконтроллеры имеют объем внутренней памяти данных в 128 бит и максимальную тактовую частоту – 12 МГц.
Дальнейшее описание будет относиться к микросхеме К1816ВЕ51, если другое не оговорено особо.
МК содержит:
8-разрядный центральный процессор, управляющий работой исполнительных устройств и имеющий аппаратную поддержку операций умножения и деления;
внутреннюю (расположенную на кристалле) память программ объемом 4К байт;
внутреннюю память данных объемом 128 байт, используемую для организации регистровых банков, стека и хранения пользовательских данных;
|
|
32 двунаправленных интерфейсных линии, индивидуально настраиваемых на ввод или вывод информации и организованных в виде четырех 8-разрядных портов P0 - P3;
два 16-разрядных многорежимных таймера/счетчика TC0 и TC1, используемых для подсчета внешних событий, организации временных задержек и тактирования последовательного порта;
двунаправленный дуплексный асинхронный последовательный приемопередатчик;
двухуровневую приоритетную систему прерываний от трех внутренних и двух внешних источников;
встроенный тактовый генератор.
Основные технические характеристики микроконтроллеров МК‑51:
разрядность АЛУ, бит ……………………….8
число выполняемых команд ………………...111
длина команд, байт …………………………..1,2,3
Организация памяти
Одной из основных особенностей однокристальных микроконтроллеров, отличающих их от других типов микропроцессорных БИС, является наличие физически и логически отделенных друг от друга памяти программ и памяти данных. Память данных, в свою очередь, включает в себя блок регистров общего назначения, область стека, область прямоадресуемых битов (“битовая память”), блок специальных регистров и собственно память данных, организованную в виде традиционного ОЗУ.
Различные модификации МК-51 отличаются объемом и распределением памяти между внешними и внутренними блоками.
Память данных
Память данных, расположенная на кристалле (внутренняя память данных), имеет объем 256 байт. Она может быть расширена до 64К байт за счет подключения блоков внешней памяти данных.
Внутренняя память данных состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 00h-7Fh и области регистров специальных функций, занимающей адреса 80h-FFh. Помимо возможности использования ОЗУ в качестве массива оперативной памяти, отдельные её области имеют самостоятельное значение. Часть ОЗУ используется в качестве регистров общего назначения, часть имеет прямоадресуемый доступ к отдельным битам, образуя так называемую битовую память. В ОЗУ располагается также и область стека. Распределение адресного пространства ОЗУ показано на рис.2.
Младшие 32 байта внутреннего ОЗУ данных сгруппированы в 4 банка по 8 регистров общего назначения в каждом (БАНК 0 - БАНК 3). Определение рабочего в данный момент банка, то есть банка регистров, к которому обращается программа при использовании имен R0 - R7, осуществляется установкой битов RS0 и RS1 в регистре слова состояния PSW. Начальное состояние этих разрядов после прохождения сигнала сброса RESET определяет в качестве рабочего БАНК0 (RS0=RS1=0). Наличие нескольких банков регистров сокращает длину команд, а также уменьшает время, необходимое для сохранения и восстановления регистров при работе с подпрограммами и обработчиками прерываний, что характерно для структуры задач, решаемых микроконтроллерами.
ОЗУ данных с адресами 20h - 2Fh образует область ячеек, к которым возможен побитный доступ. Система команд МК-51 содержит значительное количество инструкций, позволяющих работать с отдельными битами, используя при этом прямую адресацию. 128 бит, составляющие рассматриваемую область внутреннего ОЗУ данных, имеют адреса 00h - 7Fh и предназначены для работы с такими инструкциями. Битовая адресация данного массива ОЗУ показана на рис.3. Таким образом, к ячейке с адресом, например, 21h можно обратиться как к байту, используя её прямой адрес 21h, а можно обратиться к её отдельным битам с помощью команд, работающих с битовой информацией. При этом младший бит этого байта имеет адрес 08h, а старший - 0Fh.
Область регистров специальных функций содержит регистры-защёлки портов, регистры таймеров/счетчиков, регистры управления и т.п. Полный список регистров специальных функций с их адресами приведен в таблице 2. Эти регистры допускают только прямую адресацию. Регистры, адреса которых кратны восьми, то есть заканчиваются на 000b, допускают как байтовую, так и побитовую адресацию. Список регистров с указанием адресов их бит показан на рис.4.
| Рис.3. Битовая память МК-51 |
Во внутреннем ОЗУ данных размещается также область стека. Её положение не фиксировано, а определяется значением указателя стека SP. Начальное значение SP после системного сброса - 07h. SP указывает на верхнюю занятую ячейку стека. При обращении к стеку на запись сначала значение SP увеличивается на 1, а затем производится запись во внутреннюю память данных по адресу, хранящемуся в SP. Считывание из стека произодится по адресу, хранящемуся в SP, после чего значение SP уменьшается на 1.
Адрес байта | Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 | Обозначение |
F0h | F7h | F6h | F5h | F4h | F3h | F2h | F1h | F0h | B |
E0h | E7h | E6h | E5h | E4h | E3h | E2h | E1h | E0h | ACC |
CY | AC | F0 | RS1 | RS0 | OV | P | |||
D0h | D7h | D6h | D5h | D4h | D3h | D2h | D1h | D0h | PSW |
PS | PT1 | PX1 | PT0 | PX0 | |||||
B8h | BC | BBh | BAh | B9h | B8h | IP | |||
RD | WR | T1 | T0 | INT1 | INT0 | TxD | RxD | ||
B0h | B7h | B6h | B5h | B4h | B3h | B2h | B1h | B0h | P3 |
EA | ES | ET1 | EX1 | ET0 | EX0 | ||||
A8h | AFh | ACh | ABh | AAh | A9h | A8h | IE | ||
A0h | A7h | A6h | A5h | A4h | A3h | A2h | A1h | A0h | P2 |
SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI | ||
98h | 9Fh | 9Eh | 9Dh | 9Ch | 9Bh | 9Ah | 99h | 98h | SCON |
90h | 97h | 96h | 95h | 94h | 93h | 92h | 91h | 90h | P1 |
TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | ||
88h | 8Fh | 8Eh | 8Dh | 8Ch | 8Bh | 8Ah | 89h | 88h | TCON |
80h | 87h | 86h | 85h | 84h | 83h | 82h | 81h | 80h | P0 |
Рис.4. Регистры, допускающие побитовый доступ
Таблица 2
Регистры специальных функций
Обозначение | Наименование | Адрес | Состояние после начального сброса |
ACC B PSW SP DPTR DPL DPH P0 P1 P2 P3 IP IE TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON | Аккумулятор Регистр В Регистр состояния программы Указатель стека Указатель данных, 2 байта младший байт старший байт Порт 0 Порт 1 Порт 2 Порт 3 Регистр приоритетов прерываний Регистр разрешения прерываний Регистр режимов таймера/счетчика Регистр управления таймера/счетчика Таймер/счетчик 0. Старший байт Таймер/счетчик 0. Младший байт Таймер/счетчик 1. Старший байт Таймер/счетчик 1. Младший байт Управление последовательным портом Буфер последовательного порта Управление потреблением | E0h F0h D0h 81h 82h 83h 80h 90h A0h B0h B8h A8h 89h 88h 8Ch 8Ah 8Dh 8Bh 98h 99h 87h | 00h 00h 00h 07h 0000h 00h 00h FFh FFh FFh FFh xxx00000b 0xx00000b 00h 00h 00h 00h 00h 00h 00h xxxxxxxxb 0xxxxxxxb |
Все ячейки внутреннего ОЗУ данных могут адресоваться с использованием прямой и косвенной адресации. Внутреннее ОЗУ, содержащее регистры специальных функций, допускает только прямую адресацию.
К внешней памяти данных можно обращаться только на запись или чтение с помощью специальных команд MOVX. Эти команды осуществляют обмен информацей между внешней памятью данных и аккумулятором микроконтроллера и не влияют на внутреннюю память данных МК. Таким образом, в системе могут одновременно присутствовать внутренняя память данных с адресами 00h - 0Fh и внешняя память данных с адресами 0000h - FFFFh.
Память программ
В зависимости от модификации, различные типы БИС МК-51 имеют разное распределение внутренней и внешней памяти программ (см. табл.1), оставляя неизменным максимально допустимый общий её объем в 64К байт. Память программ адресуется с помощью 16-разрядной адресной шины с использованием счетчика команд (PC) или инструкций, которые вырабатывают 16-разрядные адреса. Она имеет байтовую организацию и доступна только по чтению.
Обращение к внутренней или внешней памяти программ происходит автоматически с использованием аппаратных средств МК. При этом в зависимости от состояния управляющего входа DEMA микроконтроллера вся память трактуется либо как только внешняя (при DEMA=0), либо как внутренняя, занимающая младшие адреса адресного пространства, и внешняя, занимающая адреса от старшего адреса внутренней памяти до максимально допустимого FFFFh. С точки зрения программиста имеется только один массив памяти программ объемом 64К байт.
Система прерываний
Микроконтроллеры семейства МК-51 обеспечивают поддержку пяти источников прерываний:
двух внешних прерываний, поступающих по входам INT0 и INT1 (линии порта Р3: Р3.2 и Р3.3 соответственно);
двух прерываний от таймеров/счетчиков Т/С0 и Т/С1;
прерывание от последовательного порта.
Запросы на прерывание фиксируются в регистрах специальных функций микроконтроллера: флаги IE0, IE1, TF0, TF1запросов на прерывание от INT0, INT1, T/C0 и T/C1 соответственно содержатся в регистре управления TCON, а флаги RI и TI запросов на преры-вание от последовательного порта - в регистре SCON управления последовательным портом (см. рис.4).
Флаги TF0 и TF1 устанавливаются аппаратно при переполнении соответствующего таймера/счетчика (переход T/Cx из состояния “все единицы” в состоянии “все нули”).
Флаги IE0 и IE1 устанавливаются аппаратно от внешних прерываний IT0 и IT1 соответственно. Внешний запрос может вызвать установку флага либо при низком уровне сигнала на соответствующем входе, либо при переходе этого сигнала с высокого на низкий уровень (с частотой, не превышающей половины частоты внешней синхронизации МК). Настройка на тип запроса осуществляется программной установкой бит IT0 и IT1 в регистре TCON (см. рис.4). Установка ITx=0 настраивает систему прерывания на запрос по низкому уровню сигнала, ITx=1 - запрос на прерывание по спаду сигнала.
Флаги TI и RI устанавливаются аппаратно схемой последовательного интерфейса соответственно после окончания передачи или приема байта
Все указанные флаги запросов на прерывания программно доступны для установки и сброса. Программная установка флага запроса на прерывание приводит к такой же реакции микроконтроллера, что и аппаратная установка того же самого флага.
Флаги TF0 и TF1 сбрасываются аппаратно при передаче управления программе обработки соответствующего прерывания.
Сброс флагов IЕ0 и IЕ1 выполняется аппаратно при обслуживании прерывания только в том случае, если прерывание было настроено на восприятие спада сигнала INTx. Если прерывание было настроено на восприятие уровня сигнала запроса, то сброс флага IEx должна выполнять программа обслуживания прерывания, воздействуя на источник прерывания для снятия им запроса.
Флаги TI и RI сбрасываются только программным путем.
Каждый вид прерывания индивидуально разрешается или запрещается установкой или сбросом соответствующих бит регистра разрешения прерывания IE. Этот регистр содержит также и бит общего запрещения всех прерываний. Формат этого регистра приведен на рис.4, а назначение отдельных разрядов - в таблице 3.
Таблица 3
Назначение разрядов регистра IE
Мнемоника бита | Позиция в регистре | Функция |
EA | IE.7 | Запрет прерывания от всех источников |
- | IE.6 | Не используется |
- | IE.5 | Не используется |
ES | IE.4 | Запрет прерывания от последовательного порта |
ET1 | IE.3 | Запрет прерывания от таймера/счетчика T/C1 |
EX1 | IE.2 | Запрет прерывания от внешнего источника INT1 |
ET0 | IE.1 | Запрет прерывания от таймера/счетчика T/C0 |
EX0 | IE.0 | Запрет прерывания от внешнего источника INT0 |
Каждому виду прерывания может быть программно присвоен один из двух возможных приоритетов:
0 - низший
1 - высший.
Настройка приоритетов осуществляется установкой или сбросом соответствующего бита регистра приоритетов прерываний IP. Назначение отдельных бит этого регистра приведено в табл. 4.
Таблица 4
Назначение разрядов регистра IP
Мнемоника бита | Позиция в регистре | Функция |
- | IP.7 | Не используется |
- | IP.6 | Не используется |
- | IP.5 | Не используется |
PS | IP.4 | Приоритет прерывания от последовательного порта |
PT1 | IP.3 | Приоритет прерывания от таймера/счетчика T/C1 |
PX1 | IP.2 | Приоритет прерывания от внешнего источника INT1 |
PT0 | IP.1 | Приоритет прерывания от таймера/счетчика T/C0 |
PX0 | IP.0 | Приоритет прерывания от внешнего источника INT0 |
При одновременном поступлении запросов прерывания от источников, имеющих различные приоритеты, сначала обрабатывается запрос от более приоритетного источника.
В случае одновременного поступления нескольких запросов на прерывания с одинаковым приоритетом порядок их обработки определяется аппаратными средствами микроконтроллера и не может быть изменен программно. Этот порядок соответствует последовательности опроса флагов запросов прерываний, имеющей следующий вид:
IT0 ® TF0 ® IT1 ® TF1 ® (RI,TI)
Аппаратно-реализуемый вызов обработчика прерываний состоит из следующих операций:
сохранение значения программного счетчика (PC) в стеке;
загрузка в программный счетчик начального адреса точки входа в соответствующий обработчик прерывания.
Точки входа в обработчик прерывания для каждого источника прерываний аппаратно зафиксированы. Их значения приведены в таблице 5.
Таблица 5
Адреса точек входа в обработчики прерываний
Источник прерывания | Адреса точки входа в обработчик прерывания |
Внешнее прерывание (IT0) | 03h |
Таймер/счетчик (TF0) | 0Bh |
Внешнее прерывание (IT1) | 13h |
Таймер/счетчик (TF1) | 1Bh |
Последовательный порт (RI или TI) | 23h |
По указанному адресу должна размещаться первая команда обработчика прерывания.
При переходе на подпрограмму обработки прерывания автоматически независимо от состояния регистра IE запрещаются все прерывания, имеющие уровень приоритета, равный уровню приоритета обслуживаемого прерывания, то есть вложенные прерывания с равным уровнем приоритета запрещены. Таким образом, низкоприоритетное прерывание (имеющее “0” в соответствующем разряде регистра IP) может прерываться высокоприоритетным (имеющим “1” в соответствующем разряде регистра IP), но не низкоприоритетным. Обслуживание высокоприоритетного прерывания не может быть прервано другим источником.
Возврат из обработчика прерываний осуществляется с помощью команды RETI, которая восстанавливает из стека значение PC и логику приоритетов прерываний.
Блок таймеров/счетчиков
Таймеры/счетчики (Т/С) предназначены для подсчета внешних событий, получения программно-управляемых временных задержек и выполнения времязадающих функций.
Начальное значение заносится в регистры ТHx и TLx таймера/счетчика программно. В процессе счета содержимое регистров Т/Синкрементируется.
Назначение разрядов регистра режимов показано в табл.6.
Таблица.6 Назначение разрядов регистра TMOD
Мнемоника бита | Позиция в регистре | Функция |
GATE1 | 7 | Разрешение управления Т/С1 от внешнего входа IT1 0-управление запрещено 1-управление разрешено |
C/T1 | 6 | 0 - работа Т/С1 в режиме таймера 1 - работа Т/С1 в режиме счетчика внешних событий |
M1.1 M0.1 | 5 4 | Номер режима работы Т/С1 ( 00-режим 0, ...,11-режим 3) |
GATE0 C/T0 M1.0 M0.0 | 3 2 1 0 | Функкции аналогичны битам 7...5, но для Т/С0 |
Регистр управления TCON служит для хранения управляющего слова таймеров/счетчиков. Назначение его разрядов приведено в табл.7.
Биты включения TR1 и TR0 устанавливаются и сбрасываются программно. Доступны по чтению. Установка бита в “1” приводит к включению в работу соответствующего таймера/счетчика, а сброс этого бита в “0” останавливает его работу.
Таблица 7 Назначение разрядов регистра TCON
Мнемоника бита | Позиция в регистре | Функция |
TF1 | 7 | Бит переполнения T/C1 |
TR1 | 6 | Бит включения T/C1 |
TF0 | 5 | Бит переполнения T/C0 |
TR0 | 4 | Бит включения T/C0 |
IE1 | 3 | Флаг запроса внешнего прерывания по входу INT1 |
IT1 | 2 | Бит вида прерывания по входу INT1 |
IE0 | 1 | Флаг запроса внешнего прерывания по входу INT0 |
IT0 | 0 | Бит вида прерывания по входу INT0 |
Таймеры/счетчики могут функционировать в одном из четырех режимов, определяемых разрядами M1.x и M0.x регистра TMOD. Режимы 0,1,2 полностью идентичны для обоих таймеров/счетчиков. Установка таймера/счетчика 0 в режим 3 влияет на режим работы таймера/счетчика 1.
Режим 0. Таймер/счетчик представляет собой устройство на основе 13-разрядного регистра, состоящего из 8‑разрядного регистра TH и пяти младших разрядов регистра TL. Логика работы таймера/счетчика в режиме 0 показана на рис.7 на примере T/C1. Влияние управляющих сигналов TR1, GATE1, C/T1 и сигнала внешнего управления INT1 на работу таймера/счетчика представлено в табл.8.
При работе таймера/счетчика в режиме таймера его содержимое инкрементируется в каждом машинном цикле, то есть с частотой fBQ/12, где fBQ- частота внешней синхронизации микроконтроллера. При максимальной допустимой частоте внешней синхронизации fBQ = 12 МГц таймер/счетчик увеличивает свое содержимое через 1 мкс.
Таблица 8 Управление работой таймера/счетчика T/C1
TR1 | GATE1 | INT1 | C/T1 | Выполняемая функция |
0 | X | X | X | Останов |
1 | 0 | X | 0 | Счет в режиме таймера |
1 | 0 | X | 1 | Счет в режиме счетчика внешних событий |
1 | 1 | 1 | X | Останов |
1 | 1 | 1 | 0 | Счет в режиме таймера |
1 | 1 | 1 | 1 | Счет в режиме счетчика внешних событий |
При работе таймера/счетчика в режиме счетчика внешних событий его содержимое увеличивается каждый раз при переключении из “1” в “0” сигнала на счетном входе микроконтроллера (вывод T0 (P3.4) для T/C0 и вывод T1 (P3.5) для T/C1). При этом частота изменения сигналов на счетном входе должна быть, как минимум, в 2 раза ниже внешней частоты синхронизации микроконтроллера.
Режим 1. Аналогичен режиму 0, за исключением того, что в этом режиме таймер/счетчик представляет собой устройство на основе не 13-разрядного, а 16-разрядного регистра, состоящего из регистров TH и TL.
Логика работы таймера/счетчика в этом режиме полностью соответствует режиму 0.
Режим 2. Таймер/счетчик представляет собой устройство на основе 8-разрядного регистра TL. При каждом переполнении регистра TL, кроме установки в регистре TCON флага TF, происходит автоматическая перезагрузка содержимого регистра TL из регистра TH.
Логика работы таймера/счетчика в этом режиме также соответствует режиму 0.
Режим 3. В режиме 3 T/C1 заблокирован и просто сохраняет свое состояние.
Таймер/счетчик T/C0 в режиме 3 представляет собой два независимых устройства на основе 8-разрядных регистров TH0 и TL0. Устройство на основе регистра TL0 может работать как в режиме таймера, так и в режиме счетчика внешних событий. За ним сохраняются все биты управления T/C0, оно реагирует на воздействия по входам T0 и INT0. При переполнении TL0устанавливается флаг TF0. Устройство на основе регистра TH0 может работать только в режиме таймера. Оно использует бит включения TR1, при переполнении TH0 устанавливается флаг TF1. Других битов управления устройство на основе TH0 в этом режиме не имеет. Логика работы T/C0 в режиме 3 показана на рис.8.
Установка T/C0 в режим 3 лишает T/C1 бита включения TR1. Поэтому T/C1 в режимах 0,1,2 при GATE1=0 всегда включен и при переполнении в режимах 0 и 1 T/C1 обнуляется, а в режиме 2 перезагружается, не устанавливая флаг, если T/C0 находится в режиме 3. Управление от входов INT1, T1 и использованиебит управления C/T1, GATE1 для T/C1 не зависят от режима T/C0.
T/C1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ). При работе в режимах 0,1,2 при переполнении T/C1 всегда вырабатывается импульс тактирования ПИ. Поэтому режим 3 для T/C0 удобно применять тогда, когда требуется работа ПИ и двух таймеров/счетчиков или ПИ, таймера и счетчика.
Когда T/C0 переведен в режим 3, T/C1 можно выключить, переведя его также в режим 3, использовать с последовательным портом для выработки импульсов тактирования или в любых других приложениях, не требующих прерывания.
Дата добавления: 2019-11-25; просмотров: 260; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!