русс | укр

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

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

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

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


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

Модуль таймера и регистр таймера.


Дата добавления: 2014-04-18; просмотров: 857; Нарушение авторских прав


Структура модуля таймера/счетчика ТIMER0 и его взаимосвязь с ре­гистрами ТМR0 и ОРTION является про­граммируемым модулем и содержит следующие компоненты:

• 8-разрядный таймер/счетчик ТМR0 с возможностью чтения и записи как регистр;

• 8-разрядный программно управляемый предварительный делитель (пределитель);

• мультиплексор входного сигнала для выбора внутреннего или внеш­него тактового сигнала;

• схему выбора фронта внешнего тактового сигнала;

• формирователь запроса прерывания по переполнению регистра ТМR0 с FFh до 00h.

.

Режим таймера выбирается путем сбрасывания в ноль бита Т0CS реги­стра ОРTION <5>. В режиме таймера ТМR0 инкрементируется каждый командный цикл (без пределителя). После записи информации в ТМR0 инкрементирование его начнется после двух командных циклов. Это про­исходит со всеми командами, которые производят запись или чтение-мо­дификацию-запись ТМR0 (например, МОVF ТМR0). Избе­жать этого можно при помощи записи в ТМR0 скорректированного значения. Если ТМR0 нужно проверить на равенство нулю без останова счета, следует использовать инструкцию МОVF ТМR0,W.

Режим счетчика выбирается путем установки в единицу бита Т0CS ре­гистра ОРTION<5>. В этом режиме регистр ТМR0 будет инкрементироваться либо нарастающим, либо спадающим фронтом на выводе RА4/ Т0СКI от внешних событий. Направление фронта определяется управля­ющим битом Т0SE в регистре ОРТION<4>. При Т0SE = 0 будет выбран нарастающий фронт.

Пределитель может использоваться или совместно с ТМR0, или со сто­рожевым таймером. Вариант подключения делителя контро­лируется битом РSA регистра ОРТION<3>. При РSА=0 делитель будет подсоединен к ТМR0. Содержимое делителя программе недоступно. Коэф­фициент деления пределителя программируется битами РS2...РS0 регист­ра ОРТION<2:0>. Прерывание по ТМR0 вырабатывается тогда, когда происходит пере­полнение регистра таймера/счетчика при переходе от FFh к 00h. Тогда устанавливается бит запроса Т0IF в регистре INTCON<2>. Данное пре­рывание можно замаскировать битом Т0IF в регистре INTCON<5>. Бит запроса Т0IF должен быть сброшен программно при обработке прерывания. Прерывание по ТМR0 не может вывести процессор из режима SLЕЕР потому, что таймер в этом режиме не функционирует.



При РSА=1 делитель будет подсоединен к сторожевому таймеру как постделитель (делитель на выходе).

При использовании пределителя совместно с ТМR0, все команды, из­меняющие содержимое ТМR0, обнуляют пределитель. Если пределитель используется совместно с WDТ, команда CLRWDT обнуляет содержимое пределителя вместе с WDТ.

При использовании модуля ТIМЕR0 в режиме счетчика внешних со­бытий необходимо учитывать то, что внешний тактовый сигнал синхро­низируется внутренней частотой Fosc. Это приводит к появлению задер­жки во времени фактического инкрементирования содержимого ТМR0.

Если модуль ТIМЕR0 используется совместно с пределителем, то час­тота входного сигнала делится асинхронным счетчиком так, что сигнал на выходе пределителя становиться симметричным.

 

Занятие 50(54)



<== предыдущая лекция | следующая лекция ==>
Порты ввода/вывода | Организация прерываний


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


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

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

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


 


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

 
 

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

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