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

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

0 ... 26272829303132 ... 159


Если программное приложение не использует прерываний, содержимое этих регистров может сохраняться и восстанавливаться с помощью команд call и return. Ниже дан пример быстродействующего стека:

call sub 1

return 1

вызов sub после сохранения контекста -содержимого регистров wreg, status и bsr

исполнение подпрограммы sub, игнорирование содержимого регистров wreg, status и bsr

восстановление содержимого регистров wreg, status и bsr перед возвратом из подпрограммы

Следует отметить, что быстрый стек не рекомендуется для программных приложений, в которых разрешение прерываний связано с затиранием сохраненных данных. По этой причине быстрый стек нс пригоден для так называемых вложенных подпрограш1ШШ прерывани11.

Выполнение прерываний

Выполнение прерываний осуществляется практически так же, как для PIC-микроконтроллеров среднего подсемейства, за исключением задания уровней приоритета каждому источнику прерывания. Если установлены бит р источника прерывания и бит ipen регистра rcon, программа обработки прерываний начнет исполнение с адреса 0x00008. Если бит ipen регистра rcon установлен, а бит р источника прерывания сброшен, программа начнется с адреса 0x00018.

Если сброшен бит ipen, прерывания будут обрабатываться программой, стартующей с адреса 0x00008.

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

Если быстрый стек не используется, программа обработки прерываний выглядит так:

movwf w , сохранение содержимого регистров

, контекста

movwf status, status

movff bsr, bsr

, код программы обработки прерываний movff bsr bsr восстановление содержимого

, регистров контекста

movf w w

movff slatus, status

retfie



ГЛАВА 6

Управляющие регистры PIC микроконтроллеров



Адреса одноименных регистров PIC-микроконтроллеров, относа щихся к одному архитектурному подсемейству, практически одинаковы. При этом следует помнить о том, что биты регистров мог)т иметь разное назначение для PIC-микроконтроллеров разных типов. Для того чтобы убедиться в правильности использования тех или иных битов, обращайтесь к спецификациям фирмы Microchip.

МИКРОКОНТРОЛЛЕРЫ МЛАДШЕГО ПОДСЕМЕЙСТВА

В командах PIC-микроконтроллеров младшего подсемейства для зад.ь ния адреса регистра внутри каждого банка зарезервировано пять бит. В подобных микроконтроллерах может использоваться до четырех банков регистров, при этом первые 16 регистров каждого банка являются общими для всех банков, а вторые 16 инд1гвидуальны для кажго-го конкретного банка. Эта ситуация проиллюстрирована в табл. 6.1.

Таблица 6.1

Адреса для PIC-микроконтроллеров младшего подсемейства

Банк 0

Банк 1

Банк 2

БанкЗ

Адрес - региар

Адрес - региар

Адрес - регистр

Адрес - региар

00 - INDF

20 - INDF

40 - INDF

60 - INDF

01 - TMRO

21 - TMRO

41 - TMRO

61 - TMRO

02 - PCL

22 - PCL

42 - PCL

62 - PCL

03 - STATUS

23 - STATUS

43 - STATUS

63 - STATUS

04 - FSR

24 - FSR

44 - FSR

64 - FSR

05 - PORTA*

25 - PORTA*

45 - PORTA*

65 - PORTA*

06 - PORTB

26 - PORTB

46 - PORTB

66 - PORTB

07 - PORTC

27 - PORTC

47 - PORTC

67 - PORTC

08 - OF - региары общего назначения

28 - 2F - региары общего назначения

48 - 4F - региары общего назначения

68 - 8F- региары общего назначения

10 - IF - региаровый файл банка 0 {региары общего назначения)

30 - 3F - региаровый файл банка 1 (региары общего назначения)

50 - 5F - региаровый файл банка 2 (региары общего назначения)

70 - 7F - региаровый файл банка 3 (региары общего назначения)

OPTION - доаупен через команду OPTION TRISK - доаупен через команду TRIS PORTK

* В микроконтроллерах с внутренним генератором вмеао региара РОНТА может быть региар

OSCCAL

Таким образом, микроконтроллеры младшего подсемейства могут использовать от 25 до 73 индивидуальных регистров, дост)тп1ЫХ для любого программного приложения.

Ниже названы несколько особенностей работы с данными микроконтроллерами:



0 ... 26272829303132 ... 159