НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 22232425262728 ... 159


Основные компоненты программы обработки прерываний

Для микроконтроллеров среднего подсемейства основные компонец. ты программы, отвечающей за обработку прерываний, имеют следу, ющий вид:

movwf

movf

movwf

movf

movwf

movf

movwf

clrf

movf

movwf

movf

movwf

movf

movwf

swapf

swapf

retfie

STATUS,

STATUS.

STATUS.

STATUS

FSR, w

PCLATH,

PCLATH

PCLATH

PCLATH, PCLATH FSR, w FSR

STATUS, STATUS w, f w, w

RtM RPO

Сохранение контекстных регистров. Банк 0.

Работа в странице О программной памяти Программа обслуживания прерывания. Восстановление контекстных регистров

Чтобы разрешить прерывание, инициируемое схемой TMRO, нужно воспользоваться короткой подпрограммой:

clrf TMRO ; Сброс таймера TMRO.

bcf INTCON, TOIF ; Сброс флага прерывания от таймера TMRO

bsf INTCON, TOIL ; Разрешение прерывания от таймера TMRO

bsf INTCON, GIF : Глобальное разрешение прерываний.

МИКРОКОНТРОЛЛЕРЫ PIC 1 7СХХ

К данному подсемейству относятся микроконтроллеры с обозначь ниями типа PIC 17Схх(х).

Это подсемейство имеет целый ряд особенностей по сравпенй» с другими подсемействами PIC-микроконтроллеров, в частиостИ

1. Возможность работы с внешним запоминающим ycmpoucviso (внешней памятью).

2. Использование до семи псуртов ввода/вывода данных.

3. Встроенный б док умножения 8-разрядных чисел.



4. Большая оперативная память, которая содержит до 902 регистров, соответствующих 16 различным банкам.

5. Большой объем программной памяти (до 64 Кб).

6. Возможность записи в программное запоминающее устройство и считывания из него.

7. Наличие нескольких векторов прерывания.

Структурная схема процессора, который применяется в микроконтроллерах PIC 17Схх, показана на рис. 5.6.

Память программ

Счетчик команд

Стек

Регистр команд

Устройство декодирования

команд и управления

Мультиплексор"

Регистры

Ox020-OxOFF

0x010-0x020

ALUSTA

WREG

Умножитель . 8x8 разрядов

Рис. 5.6

Архитектура процессора микроконтроллеров PIC 17Схх

Существенные отличия архитектуры этого процессора от процес-оров, используемых в микроконтроллерах младшего и среднего Юдсемейств, состоят в следующем: 1. 06р2,щеШАЯ крегистру-аккумуяяшоруШЪй (иначе-рабочему регистру) может осуществляться через адресное пространство регистров.

2- Функции регистров STATUS и OPTION распределяются между несколькими регистрами.

3- Счетчик программ здесь функционирует несколько иначе, чем в других вышеупомянутых архитектурах.



4. Доступ, к регистрам может обеспечиваться и без обращецц,) к регистру WREG.

Доступ к регистрам

Оперативная память микроконтроллеров PIC 17Схх разбита на дц области: область регистров общего назначения (General Purpose Rg. gisters - GPR) и область регистров спецфункций (Special Function Registers - SFR). В каждом банке регистрам спецфункций соответствует область адресов с 0x010 по 0x01 f, а регистрам обхцего назначения-с 0x02Q по OxOFF. Выбор банка выполняется с помохцью регистра выбора банков BSR (Bank .Select Register). Младший полубайт регистра BSR обеспечивает выбор банка регистров спецфункций, старший по-лубямотрегистра BSR используется для выбора банка регистров общего назначения. Распределение адресного пространства регистров для микроконтроллеров PIC 17Схх представлено в табл. 5.11.

Таблица 5.11

Распределение адресного пространава региаров для микроконтроллеров PIC 17Схх

Адрес

Обозначение

Назначение

0x000

INDFO

Региар, задаваемый с помощью регистра FSRO

0x001

FSRO

Индексный регистр 0

0x002

Младший байт счетчика команд

0x003

PCLATH

Регистр сгарших разрядов адреса

0x004

ALUSTA

Регистр состояния АЛУ микроконтроллера

0x005

TOSTA

Регистр соаояния и управления таймера TMRO

0x006

CPUSTA

Регистр соаояния процессора

0x007

INTSTA

Регистр состояния и управления прерываниями

0x008

INDF1

Регистр данных индексной адресации через FSR1

0x009

FSRI

Индексный регистр 1

ОхООА

WREG

Регистр аккумулятора процессора

ОхООВ

TMROL

Младший байт регистра TMRO

OMQC

TMROH

Ciapium байт регистра TMRO

0x000

TBLPTRL

Младший байт табличного указателя

ОхООЕ

TBLPTRH

Старший байт табличного указателя

OxOOF

Регистр выбора банка

0x010 -0x017

Региары специальных функций

0x018

PRODL

Младший байт результата при выполнении операции умножения

0x019

PRODH

Старший байт результата при выполнении операции умножения --

OxOIA -OxOIF

Регистры файла (общего назначения), расположенные вне банков региаров

0x020 -OxOFF

Регистры файла (общего назначения), входящие в состав банков региаров -



0 ... 22232425262728 ... 159