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 останавливается
|