русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Устройство таймеров микроконтроллеров MCS-51


Дата добавления: 2015-08-06; просмотров: 888; Нарушение авторских прав


 

В базовых моделях семейства имеются два программируемых 16-битных таймера/счетчика (T/C0 и T/C1), которые могут быть использованы как в качестве таймеров, так и в качестве счетчиков внешних событий. Каждый из них состоит из двух 8-битных регистров TH0 (старший байт) и TH0 (младший байт) для таймера 0 или TH1 (старший байт) и TH1 (младший байт) для таймера 1.

 

В режиме таймера содержимое соответствующего таймера/счетчика инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов колебаний кварцевого резонатора.

 

В режиме счетчика содержимое соответствующего таймера/счетчика инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на вывод микроконтроллера T0 или T1. Так как на распознавание периода требуются два машинных цикла, максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входной сигнал должен удерживать значение 1, как минимум, в течение одного машинного цикла микро-ЭВМ.

 

Таймер 0 и Таймер 1 могут работать в четырех режимах работы:

режим 0: 13-битный таймер

режим 1: 16-битный таймер

режим 2: 8-битный автоперезагружаемый таймер

режим 3: Таймер 0 как 2 раздельных 8-битных таймера.

 

Кроме того, Таймер 1 можно использовать для задания скорости передачи (baud rate) последовательного порта.

 

Для переключения режимов работы таймеров используются биты M0 и M1 регистра специальной функции TMOD. Название образовано от сокращения двух английских слов: T(timer)- таймер и mode - режим. Имена и расположение битов приведено на рисунке 1:

 

 

Рисунок 1. Формат регистра управления режимами работы таймеров TMOD.

 

Так как управление таймерами 0 и 1 полностью идентично, то приведЈм назначение битов по именам:



Символ Позиция бита Имя и назначение

GATE TMOD.7 для таймера 1 и TMOD.3 для таймера 0

 

Управление блокировкой таймера от ножки INTx. Если бит установлен в 1, то таймер/счетчик "x" разрешен до тех пор, пока на входе "lNTx" высокий уровень и бит управления "TRx" установлен. Если бит сброшен в 0, то Т/С разрешается, как только бит управления "TRx" устанавливается в 1.

С/Т TMOD.6 для таймера 1 и TMOD.2 для таймера 0

 

Бит выбора режима таймера или счетчика событий. Если бит сброшен в 0, то таймер работает от внутреннего генератора, если установлен в 1, то работает от внешних сигналов на входе "Tx"

M1 TMOD.5 для таймера 1 и TMOD.1 для таймера 0 Выбор режима работы таймера

M1 M0

0 0

 

13 битный таймер/счетчик "TLx" работает как 5-битный предварительный делитель

0 1

 

16 битный таймер/счетчик. "THx" и "TLx" включены последовательно

1 0

 

8-битный автоперезагружаемый таймер/счетчик. "THx" хранит значение, которое должно быть перезагружено в "TLx" каждый раз по переполнению

1 1

 

Таймер/счетчик 1 останавливается. Таймер/счетчик 0: TL0 работает как 8-битный таймер/счетчик, и его режим определяется управляющими битами таймера 0. TH0 работает только как 8 битный таймер, и его режим определяется управляющими битами таймера 1

M0 TMOD.4 для Т/С1 и TMOD.0 для Т/С0

 

Режим 0

 

В нулевом режиме таймер работает как 13-битный суммирующий счЈтчик. Этот счЈтчик состоит из 8 бит регистра ТНх и младших 5 бит регистра TLx, где x в обозначении регистра заменяется на 0 или 1 в зависимости от того таймера, которым мы управляем. Старшие 3 бита регистров TLx не определены и игнорируются. Установка запускающего таймер флага TR0 или TR1 не очищает эти регистры. Работе таймера 0 или таймера 1 в режиме 0 соответствует схема:

 

 

Рисунок 2. Схема таймеров 0 или 1 в режиме 0.

 

Этот режим был введЈн для совместимости с устаревшим семейством микроконтроллеров MCS-48 для облегчения переноса уже разработанных программ на новые процессоры и поэтому в настоящее время не используется. Тем не менее, в этом режиме можно обеспечить формирование интервала времени длительностью до 8096 мс при частоте задающего генератора 12 МГц.

 

Когда содержимое счетчика изменяется из состояния все "1" в состояние все "0" , то устанавливается (принимает значение "1") флаг прерывания таймера TF0 или TF1.

 

Обычно пользователя интересует не максимальный интервал времени, а свой конкретный интервал времени. Для уменьшения интервала времени в регистры таймера можно предварительно занести число и тем самым сформировать произвольный интервал времени. Рассмотрим пример подготовки таймера T0 для формирования временного интервала 5мс.

 

;Настроить режим работы таймера-------------------------------------------------------------------------------------------

mov TMOD,#00000000b ;настроить таймеры T0 и T1 на нулевой режим работы

;

|| ;



<== предыдущая лекция | следующая лекция ==>
Построение памяти микроконтроллеров семейства MCS-51 | Перевести таймер T0 в тринадцатиразрядный режим работы ;


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.107 сек.