Микропроцессоры и микроконтроллеры

 
 
 
«People who think they know everything really annoy those of us who know we don't.»
Bjarne Stroustrup
Русский | Українська


Микропроцессоры и микроконтроллеры :: Структура и программирование однокристальных микроконтроллеров :: 5.1 Структура и использование таймеров МК MCS-51. Характеристика периферийных блоков

5.1 Структура и использование таймеров МК MCS-51. Характеристика периферийных блоков

Характеристика периферийных блоков в составе МК MCS-51

В вычислительных системах, ориентированных на управление, необходима реализация таких функций:

·  управление в режиме реального времени;

·  подсчет внешних событий (подсчет изменений уровня внешнего сигнала);

·  измерение длительности входных импульсов или интервалов между ними;

·  связь с другими вычислительными системами;

·  точное управление внешними асинхронными событиями.

Микроконтроллер MCS-51 обеспечивает выполнение этих функций благодаря тому, что в состав МК входят так называемые блоки периферийных функций:

·  таймеры-счетчики;

·  последовательный порт, или универсальный асинхронный приемник-передатчик (УАПП, англ. UART);

·  система обработки прерываний.

Измерение или задание интервалов времени реализуется как подсчет импульсов с постоянным малым периодом следования, которые вместились в измеряемый или реализуемый временной интервал. В данном случае подсчитываются импульсы от внутреннего ГТИ MCS-51. Таймер-счетчик также можно применять для подсчета внешних асинхронных импульсов.

Последовательный порт (УАПП или UART) обычно используют для подключения МК к периферийному оборудованию, которое требует последовательной связи (модем, радиотехнические устройства, системы связи с другими МК или компьютерами на большом расстоянии). Назначение UART – преобразование данных в параллельном коде, которые циркулируют внутри МК, в данные в последовательном коде, передаваемые или принимаемые на внешнее оборудование.

Особенность работы блоков периферийных функций состоит в том, что они выполняют свои функции одновременно с процессором. Это освобождает процессор от определенных действий, и повышается скорость и эффективность реализации функций управления оборудованием.

Выполняя команды программы, процессор осуществляет настройку периферийных блоков и их запуск. Периферийные блоки информируют процессор о завершении очередного цикла своей работы с помощью сигналов прерываний. Сигналы прерываний анализируются системой обработки прерываний. Опрос сигналов прерываний, их анализ и переход на процедуру обработки конкретного прерывания осуществляются автоматически, а действия, которые будут выполняться по тому ли другому сигналу, зависят от команд конкретной процедуры. Взаимодействие процессора и блоков периферийных функций иллюстрируется схемой на рис. 5.1.

Рисунок 5.1 – Взаимодействие внутреннего процессора MCS-51
с блоками периферийных функций

Схема на рис. 5.1 полезна при детальном изучении структуры и работы блоков периферийных функций, поскольку на одной схеме показаны практически все особенности взаимодействия этих блоков и процессора MCS-51.

Все представленные имена регистров и битов можно использовать в командах программы.

Например, для запуска таймера Т0 нужно записать команду:

SETB TR0 ; бит TR0 = 1, за счет этого запускается таймер Т0

Для останова таймера Т0 нужно записать команду:

CLR TR0 ; бит TR0 = 0, за счет этого таймер Т0 останавливается