Контроллеры 18 серии

Если производится обращение к несуществующей ячейке, то ошибки не возникает.

Если служебные регистры не задействованы, их можно не пользовать по своему усмотрению.


Карта памяти микроконтроллеров РIС18F242/442:

Память данных разделена на 16 банков по 256 байт. Младшие 4 бита регистра ВSR, используются для выбора текущего банка памяти (ВSR <3:0>). Старшие 4 бита не реализованы.

Память данных содержит регистры специального (SFR) и общего (GPR) назначения. Регистры SFR используются для управления ядром и периферийных модулей контроллера, в то время как GPR используются для хранения данных пользователя.

Регистры конфигурации контроллера:

Регистр конфигурации GONFIG1H (адрес 300001h)

U-0 U-0 R/P - 1 U-0 U-0 R/P - 1 R/P - 1 R/P - 1
- - -OSCEN - - FOSC2 FOSC1 FOSC0
Бит 7             Бит 0

бит 7-6 Не используется: читается как '0'

бит 5 -OSCEN: Разрешение переключения источника тактового сигнала

1 = функция переключения источника тактового сигнала заблокирована (только основной генератор)

0 = разрешено переключения источника тактового сигнала

бит 4-3 Не используется: читается как '0'

бит 2-0 FOSC2: FOSC0: Режим тактового генератора

111 = RС генератор, вывод OSC2 работает как RА6

110 = HS генератора с включенной функцией PLL. Тактовая частота =4xFosc

101 = ЕС режим генератора, вывод OSC2 работает как RА6

100 = ЕС режим генератора, на выводе OSC2 тактовая сигнал Fosc/4

011 = RС режим генератора

010 = НS режим генератора

001 = ХТ режим генератора

000 = LР режим генератора

Регистр конфигурации GONFIG2L (адрес 300002h)

U-0 U-0 U-0 U-0 R/P - 1 R/P - 1 R/P - 1 R/P - 1
- - - - BORV1 BORV0 BODEN -PWRTEN
Бит 7             Бит 0

бит 7-4 Не используется: читается как '0'

бит З-2 BORV1: BORV0: Напряжение сброса ВОR

11 = VBOR = 2.0B

10 = VBOR = 2.7B

01 = VBOR = 4.2B

00 = VBOR = 4.5B

бит 1 BODEN: Разрешение сброса по снижению напряжение питания

1 = сброс ВОR разрешен

0 = сброс ВОR запрещен

Примечание. При разрешении сброса ВОR автоматически разрешается работа таймера PWRT независимо от состояния бита -PWRТЕN. Необходимо гарантировать, что при разрешении сброса ВОR включен таймер PWRT.

бит 0 -PWRTEN: Разрешение работы таймера включения питания

1 = PWRT включен

0 = PWRT выключен

Примечание. При разрешении сброса ВОR автоматически разрешается работа таймера PWRT независимо от состояния бита - PWRTEN. Необходимо гарантировать, что при разрешении сброса ВОR включен таймер PWRT.

Регистр конфигурации GONFIG2H (адрес 300003h)

U-0 U-0 U-0 U-0 R/P - 1 R/P - 1 R/P - 1 R/P - 1
- - - - WDTPS2 WDTPS1 WDTPS0 WDTEN
Бит 7             Бит 0

бит 7-4 Не используется: читается как '0'

бит 3-1 WDTPS2: WDTPS0: Коэффициент постделителя WDT

111 =1:128

110 = 1:64

101 = 1:32

100 = 1:16

011 = 1:8

010 = 1:4

001 = 1:2

000 = 1:1

бит 0 WDTEN: Включение WDT

1 = WDT включен

0 = WDT выключен (управление битом SWDTEN)

Регистр конфигурации GONFIG3H (адрес 300005h)

U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/P - 1
- - - - - - - CCP2MX
Бит 7             Бит 0

бит 7-1 Не используется: читается как '0'

бит 0 CCP2MX: Управление мультиплексом ССР2

1 = вход/выход ССР2 подключен к выводу RC1

0 = вход/выход ССР2 подключен к выводу RB3

Регистр конфигурации GONFIG4L (адрес 300006h)

R/P - 1 U-0 U-0 U-0 U-0 R/P - 1 U-0 R/P - 1
-DEBUG - - - - LVP - STVREN
Бит 7             Бит 0

бит 7 -DEBUG: Включение внутрисхемной отладки

1 = внутрисхемная отладка выключена, выводы RВ6 и RВ7 работают как каналы вводы/вывода

0 = внутрисхемная отладка включена, выводы RВ6 и RВ7 используются отладчиком

бит 6-3 Не используется: читается как '0'

бит 2 LVP: Разрешения низковольтного программирования

1 = низковольтное программирование разрешено

0 = низковольтное программирование запрещено

бит 1 Не используется: читается как '0'

бит 0 STVREN: Сброс при переполнении/исчерпании стека

1 = при переполнении/исчерпании стека происходит сброс микроконтроллера

0 = при переполнении/исчерпании стека сброс микроконтроллера не выполняется

Регистр конфигурации GONFIG5L (адрес 300008h)

U-0 U-0 U-0 U-0 R/С - 1 R/С - 1 R/С - 1 R/С - 1
- - - - CP3(1) CP2(1) CP1(1) CP0(1)
Бит 7             Бит 0

бит 7-4 Не используется: читается как '0'

бит 3 CP3: Защита памяти программ(1)

1 = блок 3 (006000 – 007FFFh) защита выключена

0 = блок 3 (006000 – 007FFFh) защита включена

бит 2 СР2: Защита памяти программ(1)

1 = блок 2 (004000 – 005FFFh) защитавыключена

0 = блок 2 (004000 – 005FFFh) защита включена

бит 1 СР1: Защита памяти программ

1 = блок 1 (002000 - 003FFFh) защита выключена

0 = блок 1 (002000 - 003FFFh) защита включена

бит 0 СР0: Защита памяти программ

1 = блок 0 (000200 -001FFFh) защита выключена

0 = блок 0 (000200- 001 FFFh) защита включена

Примечание 1. Не реализованы в РIС18FХ42, должны быть оставлены не запрограммированными.

Регистр конфигурации GONFIG5H (адрес 300009h)

R/С - 1 R/С - 1 U-0 U-0 U-0 U-0 U-0 U-0
CPD CPB - - - - - -
Бит 7             Бит 0

бит 7 СРD: Защита ЕЕРRОМ памяти данных

1 = защита ЕЕРRОМ памяти данных выключена

0 = защита ЕЕРRОМ памяти данных включена

Сит 6 СРВ: Защита памяти программ

1 = загрузочный блок (000000 - 0001FFh) защита выключена

0 = загрузочный блок (000000 - 0001FFh) защита включена

бит 5-0 Не используется: читается как '0'

Регистр конфигурации GONFIG6L (адрес 30000Ah)

U-0 U-0 U-0 U-0 R/P - 1 R/P - 1 R/P - 1 R/P - 1
- - - - WRT3(1) WRT2(1) WRT1(1) WRT0(1)
Бит 7             Бит 0

бит 7 - 4 Не используется: читается как '0'

бит 3 WRT3: Защита записи в память программ(1)

1 = блок 3 (006000 - 007FFFh) защита выключена

0 = блок 3 (006000 - 007FFFh) защита включена

бит 2 WRT2: Защита записи в память программ(1)

1 = блок 2 (004000 - 005FFFh) защита выключена

0 = блок 2 (004000 - 005 FFFh) защита включена

бит 1 WRT1: Защита записи в память программ

1 = блок 1 (002000 - 003FFFh) защита выключена

0 = блок 1 (002000 - 003FFFh) защита включена

бит 0 WRT0: Защита записи в память программ

1 = блок 0 (000200-001FFFh) защита выключена

0 = блок 0 (000200 - 001FFFh) защита включена

Примечание 1. Не реализованы в РIС18FХ42. должны быть оставлены не запрограммированными.

Регистр конфигурации GONFIG6H (адрес 30000Bh)

R/P - 1 R/P - 1 R/P - 1 U-0 U-0 U-0 U-0 U-0
WRTD WRTB WRTC - - - - -
Бит 7             Бит 0

Бит7 WRTD: Защита записи EEPROM память данных

1 = запись в ЕЕРRОМ память данных разрешена

0 = запись в ЕЕРRОМ память данных запрещена

бит 6 WRTB: Защита записи в память программ

1 = загрузочный блок (000000 - 0001FFh) защита выключена

0 = загрузочный блок (000000 - 0001FFh) защита включена

бит 5 WRTC: Защита записи в регистры конфигурации

1 = регистры конфигурации (300000 - 3000FFh) защита выключена

0 = регистры конфигурации (300000 - 3000FFh) защита включена

бит 4-0 Не используется: читается как '0'

Регистр конфигурации GONFIG7L (адрес 30000Ch)

U-0 U-0 U-0 U-0 R/P - 1 R/P - 1 R/P - 1 R/P - 1
- - - - EBTR3(1) EBTR2(1) EBTR1(1) EBTR0(1)
Бит 7             Бит 0

бит 7 Не используется: читается как '0'

бит 3 EBTR3: Защита памяти программ от табличного чтения(1)

1 = блок 3 (006000 - 007FFFh) защита выключена

0 = блок 3 (006000 - 007FFFh) защита включена

бит 2 EBTR2: Защита памяти программ от табличного чтения(1)

1 = блок 2 (004000 - 005FFFh) защита выключена

0 = блох 2 (004000 - 005FFFh) защита включена

бит 1 EBTR1: Защита памяти программ от табличного чтения

1 = блок 1 (002000 - 003FFFh) защита выключена

0 = блок 1 (002000 - 003FFFh) защита включена

бит 0 EBTR0: Защита памяти программ от табличного чтения

1 = блок 0 (000200- 001FFFh) защита выключена

0 = блок 0 (000200- 001FFFh) защита включена

Примечание 1. Не реализованы в РIС18FХ42. должны быть оставлены не запрограммированными.

Регистр конфигурации GONFIG7H (адрес 30000Dh)

U-0 R/P - 1 U-0 U-0 U-0 U-0 U-0 U-0
- EBTRB - - - - - -
Бит 7             Бит 0

бит 7 Не используется: читается как '0'

бит 6 EBTRB: Защита памяти программ от табличного чтения

1 = загрузочный блок (000000 – 0001FFh) защита выключена

0 = загрузочный блок (000000 - 0001FFh) защита включена

бит 5-0 Не используется: читается как'0'

Регистр RCON

R/W - 0 U-0 U-0 R/W - 1 R/W - 1 R/W - 1 R/W - 1 R/W - 1
IPEN - - -RI -TO -PD -POR -BOR
               

R - чтение бита

W - запись бита

U - не реализовано, читается как 0

- n - значение после РОR

- х - неизвестное значение после РОR

бит 7: IPEN: Разрешение приоритетной системы прерываний

1 = приоритетная система прерываний разрешена

0 = приоритетная система прерываний выключена (для совместимости с РIС16СХХХ)

бит 6-5: Не используется: Читается как '0'

бит 4: -RI: Флаг выполнения команды RЕSЕТ

1 = команда RЕSЕТ не выполнялась

0 = сброс контроллера произошел

бит 3: -ТО: Флаг переполнения сторожевого таймера WDT

1 = после РОR или выполнения команд CLRWDT, SLEEP

О = после переполнения WDT

бит 2: -PD: Флаг детектора выключения питания

1 = после РОR или выполнения команды CLRWDT

0 = после выполнения команды SLEEP

опт 1: -РОR: Флаг сброса по включению питания РОК

1 = сброса по включению питания не происходило

0 = произошел сброс по включению питания

бит 0: -BОR: Флаг сброса по снижению напряжения питания

1 = сброса по снижению напряжения питания не происходило

0 = произошел сброс по снижению напряжения питания

Регистр STATUS

U-0 U-0 U-0 R/W - x R/W - x R/W - x R/W - x R/W - x
- - - N OV Z DC C
               

R - чтение бита

W - запись бита

U - не реализовано, читается как 0

- n - значение после РОR

- х - неизвестное значение после РОR

бит 7-5: Не используется: Читается как '0'

бит 4: N: Флаг отрицательного результата

Этот бит используется для арифметики дополнения до 2. Флаг указывает на отрицательный результат (АЛУ МSB=1)

1 = отрицательный результат

0 = положительный результат

бит 3: OV: Флаг переполнения

Флаг указывает на переполнение 7-разрядного значения, что привело к изменению старшего бита банта

1 = произошло переполнение

0 = переполнения не было

бит 2: Z: Флаг нулевого результата

1 = нулевой результат выполнения арифметической или логической операции

0 = не нулевой результат выполнения арифметической или логической операции

бит 1: DC: Флаг десятичного переноса/заема

1 = был перенос из младшего полубайта

0 = не было переноса из младшего полубайта

бит 0: С: Флаг переноса/заема

1 = был перенос из старшего бита

0 = не было переноса из старшего бита

Примечание: Флаг заема имеет инверсное значение. Вычитание выполняется путем прибавления дополнительного кода второго операнда. При выполнении команды сдвига (RRF, RLF) бит С загружается старшим или младшим битом сдвигаемого регистра.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: