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

 
 
 
«Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.»
Brian W. Kernighan.
Русский | Українська


Микропроцессоры и микроконтроллеры :: Структура и программирование однокристальных микроконтроллеров :: 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 останавливается