Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Нулевой адрес памяти данных обозначается как INDF (INDirect File). Поскольку этот регистр используется исключительно для включения режима косвенной адресации, то его не стали реализовывать как настоящий регистр. То есть вы не можете хранить данные в регистре INDF, поскольку он физически не существует!

∙ FSR (h’04’)

В индексном регистре FSR содержится 8-битный адрес, который используется при обращении команды по нулевому адресу (к регистру INDF).

Таймер

Большинство микроконтроллеров имеют возможность измерения временных интервалов и/или формирования прямоугольных импульсов заданной длительности. Как правило, для этого используется один или более счетчиков, инкрементирование которых происходит либо по внешним импульсам, либо по внутреннему тактовому сигналу Например, если в автоматической упаковочной машине необходимо осуществлять подсчет консервных банок, движущихся по конвейеру, то в качестве входного сигнала таймера может использоваться сигнал от фотоэлектрического датчика. Если в одну коробку помещается 24 банки, то во внутренний 8-битный счетчик необходимо загрузить значение h’E8’ (-24). При переполнении счетчика с h’FF’ до h’00’ будет сгенерировано прерывание (см. главу 7) и микроконтроллер начнет выполнять соответствующие действия.

Во всех микроконтроллерах PIC имеется, по крайней мере, один базовый таймер/счетчик Таймер 0. Счетный регистр таймера TMR0 (h’01’), доступный для чтения и записи, может тактироваться внешним сигналом, подаваемым на вход микроконтроллера TOCKI (Timer0 ClocK In), который совмещен с линией RA4 порта А. Кроме того, инкрементирование счетчика может происходить по внутреннему тактовому сигналу Q4 (Рис. 4.4), частота которого составляет 1/4 частоты кварцевого резонатора. Частота обоих сигналов (и внешнего, и внутреннего) может быть снижена при помощи внутреннего 8-битного предделителя. Коэффициент деления предделителя задается тремя младшими битами регистра OPTION_REG, расположенного по адресу h’81’ (см. Рис. 13.2 на стр. 452), которые называются PS2:PS1:PS0. Соответственно, коэффициент деления будет равен 2PS+1. Например, если PS[2:0] = 111, то счетный регистр таймера будет инкрементироваться с частотой f/256, где — частота источника тактового сигнала.

Предделитель может быть отключен от таймера установкой бита PSA (OPTION_REG[3]) в 1. При этом импульсы будут поступать непосредственно на счетчик. Кроме того, при записи в счетный регистр таймера регистр предделителя также сбрасывается (к примеру, последовательность команд movlw h’E8’, movwf 1 вызовет сброс предделителя), позволяя отсчитывать временной интервал от точно заданного момента.

Когда бит PSA регистра OPTION_REG установлен в 1, то предделитель используется в качестве постделителя сторожевого таймера (см. Рис. 13.1 на стр. 451). Сторожевой таймер предназначен для сброса микроконтроллера в случае, если он не будет периодически переустанавливаться командой сброса сторожевого таймера clrwdt (Clear WatchDog Timer). Это гарантирует сброс микроконтроллера в случае его некорректной работы, вызванной внешними помехами или ошибкой в программе, возможно, из-за перехода к незапрограммированной области памяти программ. При этом сторожевой таймер перестанет периодически переустанавливаться. Если предделитель подключен к Таймеру 0 (PSA = 0), то период тайм-аута сторожевого таймера будет примерно равен 18 мс. При установленном бите PSA период гарантированного сброса процессора будет составлять (2PS х 18) мс. Таким образом, для предотвращения сброса микроконтроллера интервал между выполнением команд clrwdt должен быть меньше указанного периода. Кроме того, эта команда сбрасывает счетчик предделителя. При наступлении тайм-аута бит  регистра STATUS сбрасывается. Если это необходимо, сторожевой таймер можно отключить при программировании микроконтроллера (во время занесения кода программы в память программ). Различные конфигурационные биты (fuses) располагаются в ячейке памяти программ по адресу h’2007’ (см. Рис. 10.6 на стр. 312), которая недоступна, когда микроконтроллер работает в нормальном режиме. Все эти детали обычно скрыты от оператора программным обеспечением программатора.

С Таймером 0 связаны следующие регистры:

∙ TMR0 (h’01’)

Этот 8-битный суммирующий счетчик, иногда называемый таймером/счетчиком реального времени, осуществляет счет импульсов, поступающих на вход таймера. Данный регистр в любой момент времени доступен как для чтения, так и для записи. При переполнении счетчика (при смене значения с h’FF’ на h’00’) он устанавливает бит T0IF (Timer 0 Interrupt Flag) регистра управления прерываниями INTCON (см. Рис. 7.3 на стр. 213). Этот флаг может использоваться для генерации прерывания.

∙ OPTION_REG (h’81’)

Для управления Таймером 0 используются шесть битов этого регистра, расположенного по адресу h’81’ (см. Рис. 13.2 на стр. 452):

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника