Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

I. Элементы линейной и векторной алгебры, аналитической геометрии. 1 страница




Читайте также:
  1. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 1 страница
  2. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 2 страница
  3. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 3 страница
  4. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 4 страница
  5. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 5 страница
  6. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 6 страница
  7. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 7 страница
  8. A METAPSYCHOLOGICAL SUPPLEMENT TO THE THEORY OF DREAMS 8 страница
  9. A NOTE ON PSYCHO-ANALYTIC PUBLICATIONS AND PRIZES 1 страница
  10. A NOTE ON PSYCHO-ANALYTIC PUBLICATIONS AND PRIZES 10 страница
  11. A NOTE ON PSYCHO-ANALYTIC PUBLICATIONS AND PRIZES 11 страница
  12. A NOTE ON PSYCHO-ANALYTIC PUBLICATIONS AND PRIZES 12 страница

Память ПИК-контроллеров..........................................................................

Таймеры.........................................................................................................

Регистры микроконтроллеров......................................................................

Характеристики микроконтроллеров................................................

Микроконтроллеры. Архитектура ПИК-контроллеров.............................

Основний закон динаміки обертального руху.

 

 

Савельев

 

Подставив это выражение для Lz в соотношение

придем к уравнению:

 

1.2. Устройство микроконтроллеров........................................................
1.3. Память микроконтроллеров

 

2.1. Регистр STATUS

2.2. Регистр OPTION_REG

2.3. Регистры PCLATH и PCL

2.4.Косвенная адресация, регистры INDF и FSR

3. Порты ввода/вывода

3.1. Регистры PORTA и TRISA

3.2.Регистры PORTB и TRISB

3.3. Регистры PORTС и TRISС

3.4.Регистры PORTD и TRISD ……………………………………………

3.5.Регистры PORTE и TRISE …………………………………

 

4.1. Модуль таймера TMR0

4.2. Модуль таймера TMR1

4.3. Модуль таймера TMR2…………………………

 

5.1. Организация памяти программ………………………………………

5.2. Организация памяти данных…………………………………………

5.3. EEPROM память данных. FLASH память программ.…………………

5.4. Регистры EECON1, EECON2……………………………………………

5.5. EEPROM память данных

5.6. FLASH память программ

6. Аналого-цифровой преобразователь.

6.1. Регистры АЦП

6.2. Порядок работы с АЦП

6.2.1. Выбор источника тактовых импульсов для АЦП

6.2.2. Настройка аналоговых входов

6.2.3. Аналого-цифровое преобразование

6.2.4. Выравнивание результата преобразования.

7. Прерывания микроконтроллеров

7.1. Регистры, используемые системой прерываний.

7.2. Внешнее прерывание с входа RB0/INT

7.3. Прерывание по переполнению таймера TMR0

7.4. Прерывание по изменению уровня сигнала на входе RB7:RB4

7.5. Сохранение контекста при обработке прерываний.

8. Система команд.

Литература

 

1.Микроконтроллеры. Архитектура ПИК-контроллеров.

 

Название PIC-контроллеры происходит от Programmable Input/output Controller. PIC16CXX – это 8-разрядные микроконтроллеры с RISC архитектурой, производимых фирмой Microchip Technology. Эти контроллеры отличаются низкой ценой, низким энергопотреблением и высокой скоростью. Микроконтроллеры имеют встроенное ЭППЗУ программы, ОЗУ данных и выпускаются в 18, 28 и 40 выводных корпусах.

Различные конструкции – однократно программируемые пользователем контроллеры, предназначенные для полностью оттестированных и законченных изделий. Выпускаются в дешевых пластмассовых корпусах с предварительно заданным типом внешнего генератора – кварцевым или RC.



Для отладки программ и макетирования выпускается вариант контроллеров с ультрафиолетовым стиранием. Допускают большое число циклов стирания/записи и имеют очень малое время стирания – 1-2 мин. Цена выше.

Для изделий, программа которых может меняться или содержит какие-либо переменные части, таблицы, параметры калибровки, ключи и т.д. выпускается электрически стираемый и перепрограммируемый контроллер. Он также содержит электрически перепрограммируемое ПЗУ данных.

Микроконтроллеры семейства PIC имеют очень эффективную систему команд, состоящую из 35 инструкций. Все инструкции выполняются за один цикл, кроме условных переходов. Один цикл выполнения инструкции состоит из 4 периодов тактовой частоты. Каждая инструкция состоит из 14 бит, делящихся на код операции и операнд.

Высокая скорость выполнения команд достигается за счет использования двухшинной Гарвардской архитектуры вместо одношинной Фон-Неймановской. Гарвардская архитектура основывается на наборе регистров с разделенными шинами и адресным пространством для команд и для данных. Набор регистров означает, что все программные объекты, такие как порты ввода/вывода, ячейки памяти и таймер, представляют собой физически реализованные аппаратные регистры.

Память данных (ОЗУ) имеет разрядность 8 бит, память программ (ППЗУ) имеет разрядность 12 или 14 бит. Использование Гарвардской архитектуры позволяет достичь высокой скорости выполнения битовых, байтовых и регистровых операций. Кроме того, Гарвардская архитектура допускает конвейерное выполнение инструкций, когда одновременно выполняется текущая инструкция и считывается следующая.

 

1.1.Характеристики микроконтроллеров.

 

Высокоскоростная RISC архитектура с набором команд из 35 инструкций.

Все команды выполнятся за один цикл, кроме команд переходов

Тактовая частота – 20 МГц, тактовый сигнал 200 нс, один машинный цикл.

До 8К х 14 слов FLASH памяти программ

До 368 х 8 байт памяти данных (ОЗУ)
До 256 х 8 байт ЕЕPROM памяти данных

Система прерываний – до 14 источников

8-уровневый аппаратный стек

Прямой, косвенный и относительный режим адресации

Сброс по включению питания (POR)

Таймер сброса (PWRT) и таймер ожидания запуска генератора (OST) после включения питания

Сторожевой таймер WDT с собственным RC генератором
Программируемая защита памяти программ

Режим энергосбережения SLEEP
Выбор параметров тактового генератора
Высокоскоростная, энергосберегающая CMOS FLASH/EEPROM технология

Полностью статическая архитектура

Программирование в готовом устройстве

Режим внутрисхемной отладки

Широкий диапазон напряжений питания от 2 до 5 В
Повышенная нагрузочная способность портов ввода/вывода 25 мА.

Малое энергопотребление

Периферийные модули:
Таймер 0: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем

Таймер 1: 16-разрядный таймер/счетчик с 8 разрядным программируемым предделителем и выходным делителем

Таймер 2: 8-разрядный таймер/счетчик с 8-разрядным программируемым предделителем и выходным делителем

Два модуля сравнение/захват/ ШИМ (ССР)

Многоканальное 10-разрядное АЦП

Последовательный синхронный порт MSSP

- ведущий/ведомый режим SPI
- ведущий/ведомый режим I2C

Последовательный синхронно-асинхронный приемопередатчик USART с поддержкой детектирования адреса

Ведомый 8-разрядный параллельный порт PSP с поддержкой внешних сигналов RD, WR, CS

Детектор пониженного напряжения (BOD) для сброса по снижению напряжения питания (BOR)


Рис.1.1. Схема расположения выводов микроконтроллера.

 

 

 

 

1.2.Устройство микроконтроллера

Микроконтроллер состоит из регистров, 8-разрядной шины данных, 13-разрядной адресной шины, 14-разрядной шины программ, арифметико-логического устройства, регистра аккумулятора W, памяти программ, памяти данных, которая состоит из регистров общего назначения и регистров специального назначения, регистра инструкций, регистра признаков STATUS, регистра косвенной адресации FSR, дешифратора инструкций и устройства управления, тактового генератора, портов ввода/вывода A,B,C,D,E, таймеров, АЦП, последовательных и параллельных портов, перепрограммируемой памяти данных, 8-уровневого стека данных.

 

 

Рис.1.2. Блок-схема микроконтроллера.

 

Принцип работы микроконтроллера аналогичен работе микропроцессоров. В счетчик команд загружается адрес ячейки памяти, где находится первая команда программы. Адрес по 13-разрядной шине адреса поступает в память программ. Первая команда извлекается из памяти и по шине программ поступает в регистр инструкций. Из регистра инструкций код операции поступает в детектор инструкций и устройство управления. Инструкция декодируется и устройство управления начинает ее выполнять.

 

1.3. Память микроконтроллеров.

Особый интерес представляет организация памяти в микроконтроллерах. В микроконтроллерах три вида памяти: память программ, память данных и ЕЕPROM памяти данных. Память программ и память данных имеют раздельные шины данных и адреса, что позволяет выполнять параллельный доступ.

 

Организация памяти программ

Микроконтроллеры имеют 13-разрядный счетчик команд РС, способный адресовать 8К х 14 слов памяти программ. Физически реализовано FLASH памяти 8К х 14 для PIC16F877. Обращение к физически нереализованной памяти программ приведет к адресации реализованной памяти.

Адрес вектора сброса – 0000h. Адрес вектора прерываний – 0004h.

Память программ состоит из 4-х страниц: страница 0, страница 1, страница 2, страница 3.

Страница 0 имеет адреса: 0005h-07FFh.

1 0800h-0FFFh.

2 1000h-17FFh

3 1800h-1FFFh

 

 

Рис.1.3. Организация памяти программ.

 

Организация памяти данных

Память данных разделяется на 4 банка, которые содержат регистры общего и специального назначения (SFR). Биты RP1 (STATUS<6>) и RP0 (STATUS<5>) предназначены для управления банками. В Таблице приведено состояние управляющих битов при обращении к банкам памяти данных.

 

RP1:RP0 Банк

 

Объем памяти банков данных до 128 байт (7Fh). В начале банка размещаются регистры специального назначения, затем регистры общего назначения, выполненные как статическое ОЗУ. Все реализованные банки содержат регистры специального назначения. Часто используемые регистры специального назначения могут отображаться и в других банках памяти.

 

 

 

Регистры общего назначения.

К регистрам общего назначения можно обращаться прямой или косвенной адресацией, через регистр FSR.

Регистры специального назначения

С помощью регистров специального назначения выполняется управления функциями ядра и периферийными модулями микроконтроллера. Регистры специального назначения реализованы как статическое ОЗУ. В этом разделе описаны регистры, управляющие функциями ядра микроконтроллера.

 

 

 

2.Регистры ПИК-контроллера

2.1.Регистр STATUS

Регистр STATUS содержит флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты управления банками памяти данных.

Регистр STATUS может быть адресован любой командой, как и другой регистр памяти данных. Если обращение к регистру STATUS выполняется командой, которая воздействует на флаги Z, DC и C, то изменения этих трех битов командой заблокировано. Эти биты сбрасываются или устанавливаются согласно логике ядра микроконтроллера. Команды изменения регистра STATUS также не воздействуют на биты –TO и –PD. Поэтому, результат выполнения команды с регистром STATUS может отличаться от ожидаемого. Например, команда CLRF STATUS сбросит три старших бита и установит бит Z (состояние регистра STATUS после выполнения команды 000uu1uu, где u – не изменяемый бит).

При изменении битов регистра STATUS рекомендуется использовать команды, не влияющие на флаги АЛУ (SWAPF, MOVWF, BCF и BSF).

Примечание: Флаги C и DC используются как биты заема и десятичного заема соответственно, например, при выполнении команд вычитания SUBLW и SUBWF.

 

 

2.2 Регистр OPTION_REG

Регистр OPTION_REG доступен для чтения и записи, содержит биты управления:

- предварительным делителем TMR0/WDT;

- активным фронтом внешнего прерывания RB0/INT;

- подтягивающими резисторами на входах PORTB.

Примечание: Если предварительный делитель включен перед WDT, то коэффициент деления тактового сигнала для TMR0 равен 1:1.

 

 

 

2.3.Регистры PCLATH и PCL

13-разрядный регистр счетчика команд PC указывает адрес выполняемой инструкции. Младший байт счетчика команд PCL доступен для чтения и записи. Старший байт PCH, содержащий <12:8> биты счетчика команд РС, не доступен для чтения и записи. Все операции с регистром PCH происходят через дополнительный регистр PCLATH. При любом виде сброса микроконтроллера счетчик команд PC очищается. На рис 2.1. показаны две ситуации загрузки значения в счетчик команд PC. На верхнем примере запись в счетчик команд PC происходит при записи значения в регистр PCL (PCLATH <4:0>®PCH). НА нижнем примере запись значения в счетчик команд PC происходит при выполнении команды CALL или GOTO (PCLATH<4:3>®PCH).

Рис.2.1. Схема записи значений в счетчик команд

 

Вычисляемый переход

Вычисляемый переход может быть выполнен командой приращения к регистру PCL (например, ADDWF PCL). При выполнении табличного чтения вычисляемым переходом следует заботиться о том, чтобы значения PCL не пересекло границу блока памяти (каждый блок 256 байт).

 

Стек

Данный микроконтроллер имеют 8-уровневый 13-разрядный аппаратный стек. Стек не имеет отображения на память программ и память данных, нельзя записать или прочитать данные из стека. Значение счетчика команд заносится в вершину стека при выполнении инструкций перехода на подпрограмму (CALL) или обработки прерываний. Чтение из стека и запись в счетчик команд PC происходит при выполнении инструкций возвращения из подпрограммы или обработки прерываний (RETURN, RETLW, RETFIE), при этом значение регистра PCLATH не изменяется.

Стек работает как циклический буфер. После 8 записей в стек, девятая запись запишется на место первой, а десятая запись заменит вторую и так далее.

В микроконтроллерах не имеется никаких указателей о переполнении стека.

В микроконтроллерах не предусмотрено команд записи/чтения из стека, кроме команд вызова/возвращения из подпрограмм (CALL, RETURN, RETLW и RETFIE) или условий перехода по вектору прерываний.

 

Страницы памяти программ

Все микроконтроллеры способны адресовать 8К слов памяти программ. Инструкции переходов (CALL и GOTO) имеют 11-разрядное поле для указания адреса, что позволяет непосредственно адресовать 2K слов памяти программ. Для адресации верхних страниц программ используются 2 бита в регистре PCLATH<4:3>. Перед выполнением команды перехода (CALL или GOTO) необходимо запрограммировать биты регистра PCLATH<4:3> для адресации требуемой страницы.

При выполнении инструкций возврата из подпрограммы, 13-разрядное значение для счетчика программ PC берется с вершины стека, поэтому манипуляция битами регистра PCLATH<4:3> не требуется.

Содержимое регистра PCLATH не изменяется поле выполнения инструкции RETURN или RETFIE. Пользователь должен сам изменить значения регистра PCLATH для последующего выполнения команд GOTO и CALL.

В примере показан переход со страницы 0 на страницу 1 памяти программ. Этот пример предполагает, что в подпрограмме сохраняется и восстанавливается значение регистра PCLATH.

 

2.4.Косвенная адресация, регистры INDF и FSR

Для выполнения косвенной адресации необходимо обратиться к физически не реализованному регистру INDF. Обращение к регистру INDF фактически вызовет действие с регистром, адрес которого указан в FSR. Косвенное чтение регистра INDF (FSR=0) даст результат 00h. Косвенная запись в регистр INDF не вызовет никаких действий (вызывает воздействия на флаги АЛУ в регистре STATUS). 9-бит косвенного адреса IRP сохраняется в регистре STATUS<7>. Пример 9-разрядной косвенной адресации показан на рис.2.2.

 

 

Рис.2.2. Схема прямой и косвенной адресации

 

 

Пример программы косвенной адресации

 

 

3.Порты ввода/вывода

 

3.1.Регистры PORTA и TRISA

PORTA – 6-разрядный порт ввода/вывода. Все каналы PORTA имеют соответствующие биты направления в регистре TRISA, позволяющие настраивать канал как вход или выход. Запись "1" в TRISA переводит соответствующий выходной буфер в 3-е состояние. Запись "0" в регистр TRISA определяет соответствующий канал как выход, содержимое защелки PORTA передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Чтение регистра PORTA возвращает состояние на выводах порта, а запись производится в защелку PORTA. Все операции записи в порт выполняются по принципу "чтение-модификация-запись", т.е. сначала производится чтение состояния выводов порта, затем изменение и запись в защелку.

RA4 – имеет триггер Шмидта на входе и открытый сток на выходе, мультиплицирован с тактовым входом TOCKI. Все остальные каналы PORTA имеют TTL буфер на входе и полнофункциональные выходные КМОП буферы.

Каналы PORTA мультиплицированы с аналоговыми входами АЦП и аналоговым входом источника опорного напряжения VREF. Биты управления режимов работы каналов порта ввода/вывода PORTA находятся в регистре ADCON1/

После сброса по включению питания выводы настраиваются как аналоговые входы, а чтение дает результат "0".

Биты регистра TRISA управляют направлением каналов PORTA, даже когда они используются как аналоговые входы. Пользователь должен удостовериться, что соответствующие каналы PORTA настроены на вход при использовании их в качестве аналоговых входов.

 

 

 

 

3.2.Регистры PORTB и TRISB

PORTB – 8-разрядный двунаправленный порт ввода/вывода. Биты регистра PORTB определяют направление каналов порта. Установка бита в "1" регистра TRISB переводит выходной буфер в 3-е состояние. Запись "0" в регистр TRISB настраивает соответствующий канал как выход, содержимое защелки PORTB передается на вывод микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Три вывода PORTB мультиплицированы со схемой низковольтного программирования: RB3/PGM, RB6/PGC, RB7/PGD/.

К каждому выводу PORTB подключен внутренний подтягивающий резистор. Бит –RBPU (OPTION_REG <7>) определяет подключены (-RBPU=0) или нет (-RBPU=1) подтягивающие резисторы. Подтягивающие резисторы автоматически отключаются, когда каналы порта настраиваются на выход и после сброса по включению питания POR.

Четыре канала PORTB RB7:RB4, настроенные на вход, могут генерировать прерывания по изменению логического уровня сигнала на входе. Если один из каналов RB7:RB4 настроен на выход, то он не может быть источником прерываний. Сигнал на выводах RB7:RB4 сравнивается со значением, сохраненным при последнем чтении PORTB. В случае несовпадения одного из значений устанавливается флаг RBIF (INTCON<0>), и если разрешено, генерируется прерывание.

Это прерывание может вывести микроконтроллер из режима SLEEP. В подпрограмме обработки прерываний необходимо сделать следующие действия:
- выполнить чтение или запись в PORTB, исключив несоответствие;
- сбросить флаг RBIF в "0".

Несоответствие сохраненного значения с сигналом на входе PORTB всегда устанавливает бит RBIF в "1". Чтение из PORTB прервет условие несоответствия и позволит сбросить флаг RBIF в "0".

Прерывания по изменению сигналов на входах рекомендуется использовать для определения нажатия клавиш, когда PORTB полностью задействован для реализации клавиатуры. Не рекомендуется опрашивать PORTB при использовании прерываний по изменению входного сигнала.

Прерывания по изменению сигнала на входах PORTB и программа переключения конфигурации этих каналов позволяет реализовать простой интерфейс обслуживания клавиатуры с выходом из режима SLEEP по нажатию клавиш.

RB0/INT вход внешнего источника прерываний, настраиваемых битом INTEDG (OPTION_REG<6>).

 

 

 

3.3.Регистры PORTС и TRISС

PORTС – 8-разрядный двунаправленный порт ввода/вывода. Биты регистра TRISС определяют направление каналов порта. Установка бита в "1" регистра TRISС переводит выходной буфер в 3-е состояние. Запись "0" в регистр TRISС настраивает соответствующий канал как выход, содержимое защелки PORTС передается на выход микроконтроллера (если выходная защелка подключена к выводу микроконтроллера).

Выводы PORTС мультиплицированы с несколькими периферийными модулями. На каналах PORTС присутствует входной буфер с триггером Шмидта.

Когда модуль MSSP включен в режиме I2C, выводы PORTС <4:3> могут поддерживать уровни выходных сигналов по спецификации I2C или SMBus в зависимости от состояния бита CKE(SSPSTAT<6>).

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

 

 

3.4.Регистры PORTD и TRISD

PORTD – 8-разрядный двунаправленный порт ввода/вывода. Биты регистра TRISD определяют направление каналов порта.

PORTD может работать как 8-разрядный микроконтроллерный порт (ведомый параллельный порт), если бит PSPMODE(TRISE<4>) установлен в "1". В режиме ведомого параллельного порта ко входам подключены буферы TTL/

 

 

 

3.5.Регистр PORTE и TRISE

PORTE имеет три вывода (RE0/-RD/AN5, RE1/-WR/AN6, RE2/-CS/AN7), индивидуально настраиваемые на вход или выход. Выводы PORTE имеют входной буфер Шмидта.

Каналы PORTE станут управляющими выводами ведомого параллельного порта, когда бит PSPMODE(TRISE<4>) установлен в "1". В этом режиме биты TRISE<2:0> должны быть установлены в "1". В регистре ADCON1 необходимо также настроить выводы PORTE как цифровые каналы ввода/вывода. В режиме ведомого параллельного порта к выводам PORTE подключены входные буферы TTL.

Выводы PORTE мультиплицированы с аналоговыми входами. Когда каналы PORTE настроены как аналоговые входы, биты регистра TRISE управляют направлением данных PORTE (чтение будет давать результат "0").

После сброса по включению питания выводы настраиваются как аналоговые входы, а чтение дает результат "0".

 

 

 

4.Таймеры

4.1.Модуль таймера TMR0

TMR0 – таймер/счетчик, имеет следующие особенности:
- 8-разрядный таймер/счетчик;

- возможность чтения и записи текущего значения счетчика;

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

- внутренний или внешний источник тактового сигнала;

- выбор активного фронта внешнего тактового сигнала;

- прерывания при переполнении (переход от FFh к 00h).

Блок-схема модуля TMR0 и общего с WDT предделителя показана на рис.

Когда бит TOCS сброшен в "0" (OPTION_REG<5>), TMR0 работает от внутреннего тактового сигнала. Приращение счетчика TMR0 происходит в каждом машинном цикле (если предделитель отключен). После записи в TMR0 приращение счетчика запрещено два следующих цикла. Пользователь должен скорректировать эту задержку перед записью нового значения в TMR0.

Если бит TOCS установлен в "1" (OPTION_REG<5>), TMR0 работает от внешнего источника тактового сигнала с входа RA4/TOCKI. Активный фронт внешнего тактового сигнала выбирается битом TOSE в регистре OPTION_REG<4> (TOSE=0 – активным является передний фронт сигнала).

Предделитель может быть включен перед WDT или TMR0, в зависимости от состояния бита PSA (OPTION_REG<3>). Нельзя прочитать или записать новое значение в предделитель.

 

 

 

Использование внешнего источника тактового сигнала для TMR0

Если предделитель не используется, внешний тактовый сигнал поступает непосредственно на синхронизатор. Синхронизация TOCKI c тактовым сигналом микроконтроллера усложняется из-за опроса выхода синхронизатора в машинные циклы Q2 и Q4. Поэтому длительность высокого или низкого логического уровня внешнего сигнала должна быть не меньше 2Tosc (плюс небольшая задержка внутренней RC цепи 20 нс).

 

Предделитель

8-разрядный счетчик может работать как предделитель TMR0 или выходной делитель WDT. Для простоты описания этот счетчик называется предделитель. Существует только один пределитель, который может быть включен перед TMR0 или WDT. Использование предделителя перед TMR0 означает, что WDT работает без предделителя, и наоборот.

Коэффициент деления предделителя определяется битами PSA и PS2:PS0 в регистре OPTION_REG<3:0>/

Если предделитель включен перед TMR0, любые команды записи в TMR0 (например, CLRF 1, MOVWF 1,BSF 1,x и т.д.) сбрасывают предделитель. Когда предделитель подключен к WDT, команда CLRWDT сбросит предделитель вместе с WDT. Предделитель также очищается при сбросе микроконтроллера. Предделитель недоступен для чтения/записи.

Запись в регистр TMR0 сбросит предделитель, если он подключен к TMR0, но не изменит его режима работы.

 

 

4.2.Модуль таймера TMR1

TMR1 – 16-разрядный таймер/счетчик, состоящий из двух 8-разрядных регистров (TMR1H и TMR2L), доступных для чтения и записи. Счет выполняется в спаренных регистрах (TMR1H:TMR2L), инкрементируя их значение от 0000h до FFFFh, далее считает с 0000h. При переполнении счетчика устанавливается в "1" флаг прерывания TMR1IF в регистре PIR1<0>/ Само прерывание можно разрешить /запретить установкой сбросом бита TMR1IE в регистре PIE1<0>.

TMR1 может работать в двух режимах:
- режим таймера;
- режим счетчика.

Включение модуля TMR1 осуществляется установкой бита TMR1ON в "1" (T1CON<0>).

Битом TMR1CS (T1CON<1>) выбирается источник тактовых импульсов. В режиме таймера TMR1 инкрементируется на каждом машинном цикле. Если TMR1 работает с внешним источником тактового сигнала, то приращение происходит по каждому переднему фронту сигнала.





Дата добавления: 2014-12-26; Просмотров: 570; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:



studopedia.su - Студопедия (2013 - 2018) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление ip: 54.80.188.87
Генерация страницы за: 0.028 сек.