Организация таймеров/счетчик 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Организация таймеров/счетчик



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

Таймер/счетчик, работая в режиме таймера, ведет подсчет тактов деленной системной частоты (запрограммированный промежуток времени) и выдает запрос прерывания. Регистр таймера инкрементируется один раз в каждом периферийном цикле. Поскольку цикл состоит из 12 тактов, то скорость счета таймера равна FOSC/12.

В режиме счетчика регистр таймера ведет подсчет (предустановленного числа событий) отрицательных перепадов сигнала на внешнем входе и по окончании счета выдает запрос прерывания. Поскольку распознавание отрицательного перехода внешнего сигнала занимает 24 периода тактовой частоты (2 цикла), то максимальная скорость счета равна FOSC/24. Ограничений на рабочий цикл не накладывается, но чтобы гарантировать опрос конкретного уровня сигнала хотя бы один раз до момента его смены, он должен удерживаться на входе хотя бы в течение одного полного цикла.

Программное управление функционированием Т/С0 и Т/С1 обеспечивают SFR-регистры TMOD и TCON. Возможны 4 режима работы Т/С микроконтроллера, которые определяются установкой соответствующих битов регистра TMOD. Режимы 0 (13-битовый таймер), 1 (16-битовый таймер) и 2 (8-битовый таймер с автоперезагрузкой) полностью идентичны для обоих Т/С. В режиме 3 (два 8-битовых регистра) работает только Т/С0, T/C1 в этом режиме заблокирован ("лишен" бита управления запуском TR1 и флага переполнения TF1) и сохраняет содержимое своих регистров TL1 и TH1. Путем соответствующего программирования регистров TMOD и TCON осуществляется включение и выключение таймеров/счетчиков, выбор источника их тактирования и установка определенного режима их работы. Регистр TMOD управляет режимом таймеров, а TCON содержит биты, для работы с прерываниями.

 

Организация прерываний

Система управления прерываниями I-8051 показана на рис.7.4.

 

Рис.7.6. Система управления прерываниями i-8051

 

Каждый вид прерывания индивидуально разрешается или запрещается установкой или очисткой соответствующих бит SFR-регистра IE (Interrupt Enable). Регистр содержит также бит общего запрещения, при котором блокируются все прерывания. Назначение битов регистра IE следующее:

IE.7 - (EA), разрешение прерываний от всех источников;
IE.6, IE.5 - reserved, зарезервированы для дальнейшего использования;
IE.4 - (ES), разрешение прерывания от последовательного порта;
IE.3 - (ET1), разрешение прерывания по переполнению Т/С1;
IE.2 - (EX1), разрешение прерывания по внешнему сигналу на входе ;
IE.1 - (ET0), разрешение прерывания по переполнению Т/С0;
IE.0 - (EX1), разрешение прерывания по внешнему сигналу на входе .

Вид воспринимаемого внешнего сигнала (Interrupt Type) по входам , задается программированием соответствующих бит в регистре TCON, а разряды TCON.1, TCON.3 (Interrupt Edge) выполняют роль флагов, фиксирующих поступившие запросы.

Прерывание по последовательному порту вырабатывается функцией логического "ИЛИ" битов RI и TI в регистре SCON.

Каждому типу прерывания может быть программно присвоен высокий или низкий приоритетный уровень путем установки или очистки соответствующего бита в SFR-регистре IP (Interrupt Priority), который имеет следующее назначение битов:

IP.7, IP.6, IP.5 - reserved, зарезервированы для дальнейшего использования;

IP.4 - (PS), приоритет последовательного порта;

IP.3 - (PT1), приоритет Т/С1;

IP.2 - (PX1), приоритет внешнего прерывания ;

IP.1 - (PT0), приоритет Т/С0;

IP.0 - (PX0), приоритет внешнего прерывания .

Низкоприоритетное прерывание может прерываться высокоприоритетным, но никогда не прерывается запросом того же уровня приоритета. Поэтому, если одновременно возникают два прерывания с различным уровнем приоритета, то сначала выполняется высокоприоритетное. Если же подобная ситуация складывается для прерываний с одинаковым уровнем приоритета, то последовательность их обработки определяется специальной последовательностью опроса флагов прерываний. В процессе работы "фиксация" всех флагов прерываний происходит в состоянии S5 каждого машинного цикла, а опрос - во время следующего машинного цикла.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 174; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.82.79 (0.004 с.)