- •Российская открытая академия транспорта микропроцессорные информационно-управлчющие системы
- •Микроконтроллеры серии 1830ве51
- •1.1. Структурная схема микроконтроллера 1830ве51
- •1.1.1. Блок управления
- •1.1.2. Арифметико-логический блок
- •1.1.3. Организация памяти программ
- •1.1.4. Резидентная память данных
- •1.1.5. Счетчик команд и регистр указателя данных
- •1.1.6. Регистр указателя стека
- •1.1.7. Таймеры/счетчики
- •Режимы работы таймера/счетчика
- •1.1.8. Блок последовательного интерфейса и прерываний
- •1.1.9. Порты мк51
- •1.1.10. Начальная установка и режимы работы мк51
- •1.2. Система команд микроконтроллера 1830ве51
- •1.2.1. Команды пересылки данных
- •1.2.2. Команды арифметических операций
- •1.2.3. Команды логических операций
- •1.2.4. Команды операций над битами
- •1.2.5. Команды передачи управления
- •1.3. Структурная организация систем на основе микроконтроллеров
- •1.3.1. Подключение внешней памяти
- •1.3.2. Расширение каналов ввода/вывода информации
- •2. Программная реализация типовых вычислительных процедур
- •2.1 Типовые структуры схем алгоритмов обработки данных
- •2.2 Приемы программирования
- •2.3 Примеры программ обработки данных в мк51
- •2.3.1 Примеры использования команд передачи данных
- •2.3.2 Примеры использования команд арифметических операций
- •2.3.3 Примеры использования команд логических операций
- •3. Применение микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.1. Классификация микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.2 Автоматизированные системы управления и контроля движения поездов
- •3.3 Автоматизированные системы диспетчерского контроля
- •3.4 Информационные системы обслуживания пассажиров
- •Литература
Режимы работы таймера/счетчика
Режим работы каждого Т/C определяется состоянием битов М0 и М1 в регистре TMOD. В режимах 0, 1 и 2 Т/C полностью независимы друг от друга. Причем, в этих режимах они функционируют одинаково. В режиме 3 работа Т/C0 и Т/C1 различна . При этом установка режима 3 в Т/C0 влияет на режим работы Т/C1.
Режим 0. В этом режиме Т/C функционируют как 8-ми разрядный счетчик, на входе которого стоит 5-ти разрядный предделитель. Предделитель образован 5 младшими разрядами регистра TL0 , а 8-разрядный счетчик - регистром ТН. Структурная схема Т/C в этом режиме показана на рис. 1.7.
Рис. 1.7. Структурная схема Т/C0 в режиме 0
Бит С/Т регистра TMOD определяет работу Т/C в качестве таймера (С/Т=0) или в качестве счетчика (С/Т=1). Бит TR регистра TCON разрешает счет (TR=1), если управляющий бит GATE (блокировка) равен 0 или на внешний вывод подан высокий уровень напряжения. Если же бит GATE установлен в 1, то в этом случае можно использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход.
Режим 1аналогичен режиму 0 , за исключением того, что доступны 16-разрядные Т/C. Структурная схема Т/C для этого режима показана на рис. 1.8.
Рис. 1.8. Структурная схема Т/C0 в режиме 1
В режиме 2Т/C работает в качестве 8-ми разрядных счетчиков, построенных на основе регистров TL. Причем, при каждом переполнении, кроме установки флага TF в регистре TCON, автоматически происходит перезагрузка содержимого регистра ТН в регистр ТL. При этом содержимое регистра ТН не изменяется. Это обстоятельство позволяет использовать Т/С для задания скорости передачи данных через последовательный порт. Логику работы Т/C в этом режиме иллюстрирует рис. 1.9.
Рис. 1.9. Структурная схема Т/C1 в режиме 2
В режиме 3Т/C0 и Т/C1 работают по разному. Т/C1 сохраняет неизменным свое текущее содержимое. Т.е. эффект такой же, как и при сбросе управляющего бита TR1 в нуль. Работу Т/C в режиме 3 иллюстрирует рис. 1.10.
Рис. 1.10. Структурная схема Т/C0 в режиме 3
В этом режиме TL0 и TН0 функционируют как два независимых 8-ми разрядных счетчика. Работу TL0 определяют управляющие биты C/T, GATE, TR, входной сигнал и флаг переполнения TF0. Работу TH0, который может выполнять только функцию таймера, определяет управляющий бит TR1. При этом TH0 использует флаг переполнения TF1.
Установка Т/C0 в режим 3 лишает Т/C1 бита включенияTR1. Поэтому Т/C1 в режимах 0, 1 и 2 приGATE1=0 всегда включен и при переполнении в режимах 0 и 1 Т/C1 обнуляется, а в режиме 2 перезагружается , не устанавливая флаг. Управление от входовINT1, Т1, биты управления С/Т1,GATEдля Т/C1 не зависят от режима Т/C0 .
Т/C1 аппаратно связан с блоком синхронизации последовательного интерфейса. При работе в режимах 0, 1 и 2 при переполнении Т/C1 всегда вырабатывается синхроимпульс последовательного интерфейса. Поэтому 3-й режим Т/C0 удобно применять тогда, когда требуется работа последовательного порта и двух таймеров или ПИ, таймера и счетчика.
Когда Т/C0 переведен в режим 3, Т/C1 можно выключить, переведя его также в режим 3, и использовать его с последовательным портом для выработки синхроимпульсов или в любых других приложениях, не требующих прерывания.