РЛ
М ИКРО КО НТРО ЛЛЕРЫ
,
і
__________________________________________
м. ПУТЫРСКИЙ,
г. Минск
КОНТРОЛЛЕР
PIC16F84
(Продолжение. Начало в №2/2003)
Организация встроенного ПЗУ
Программный счетчик в РІС16Р84 имеет ширину 13 бит
и способен адресовать 8Кх14 бит объема программной па-
мяти Однако, физически на кристалле доступны только
1Кх14 памяти (адреса ООООб-ОЗГРб). Обращение к адре-
сам выше ЗРРб фактически есть адресация в тот же пер-
вый килобайт. Вектор сброса находится по адресу ООООИ,
вектор прерывания находится по адресу 00046 (табл. 6).
Табл. 6
PC <12:0>
S tack Level 1
S tack Level 2
S tack Level 8
Reset V ector
0000h
Interrupt V ector
0004h
0005h
O n-C hip Program M em ory
03FFh
0400h
IFFFh
EEPROM PIC16F84 рассчитан на ограниченное число
циклов стирания/записи. Чтобы записать в программную
память, кристалл должен быть переведен в специальный
режим? при котором на ножку MCLR подается напряжение
программирования Vprg, а питание Vdd должно находить-
ся в пределах 4,5.
. 5,5 В. PIC16F84 непригоден для приме-
нений, в которых часто модифицируется программа За-
пись в программную память осуществляется побитно, пос-
ледовательно с использованием только двух ножек. Пас-
портное значение количества записей в программную па-
мять PIC16F84 равно 100 (min) и 1000 (tip), практически же
микросхемы выдерживают несколько тысяч перезаписей.
Число перезаписей памяти данных (64 байта) достанет
1000000
.
PC и адресация ПЗУ
(02h). Программный счетчик
Ширина программного счетчика -1 3 бит Младший байт
программного счетчика (PCL) доступен для чтения и за-
писи и находится в регистре 02h. Старшие 5 битов про-
граммного счетчика (РСН) не могут быть прямым обра-
зом прочитаны или изменены. Они изменяются через ре-
гистр PCLATPI, адрес которого OAh. Регистр PCLATH яв-
ляется регистром-защелкой для старших битов счетчика
Содержимое PCLATPI переносится в старшие биты PC в
двух случаях:
- когда регистр PCL является регистром назначения для
арифметической операции (рис. 6);
- когда выполняются команды GOTO, CALL (рис. 7).
Стек и возвраты из подпрограмм
Кристалл PIC16F84 имеет восьмиуровневый аппарат-
ный стек шириной 13 бит. Область стека не принадлежит
ни к программной области, ни к области данных, а указа-
тель стека пользователю недоступен. Текущее значение
программного счетчика посылается в стек, когда выпол-
няется команда CALL или производится обработка пре-
рывания. При выполнении процедуры возврата из подпрог-
раммы (команды RETLW , RETFIE или RETURN), в про-
граммный счетчик выгружается содержимое стека. Регистр
PCLATH (OAh) не изменяется при операциях со стеком.
Данные в EEPROM
Долговременная память данных EEPROM
Память данных EEPROM позволяет прочитать и запи-
сать 64 байта информации. При записи новых значений
автоматически стирается предыдущие и записываются но-
вые данные (стирание перед записью). Все эти операции
производит встроенный автомат записи EEPROM. Содер-
жимое ячеек этой памяти сохраняется при выключении
питания. Кристалл PIC16F84 имеет память данных 64x8
EEPROM бит которая позволяет запись и чтение во вре-
мя нормальной работы (во всем диапазоне питающих на-
пряжений). Эта память не принадлежит области регист-
ров ОЗУ. Доступ к ней осуществляется через два регист-
ра: EEDATA (08h), который содержит в себе восьмибито-
вые данные для чтения/записи и EEADR (09h), который
содержит в себе адрес ячейки, к которой идет обраще-
ние. Дополнительно имеются два управляющих регистра
EECON1 (88h) и EECON2 (89h).
При считывании данных из памяти EEPROM необходимо
записать требуемый адрес в EEADR регистр и затем устано-
вить бит RD EECON1<0> в единицу. Данные появятся в сле-
дующем командном цикле в регистре EEDATA и могут быть
прочитаны. Данные в регистре EEDATA защелкиваются.
При записи в память EEPROM необходимо сначала за-
писать требуемый адрес в EEADR регистр и данные в
EEDATA регистр. Затем выполнить специальную после-
довательность команд, производящую непосредственную
запись:
movlw
55h
movwf
EECON2
movlw
AA.h
movwf
EECON2
bsf
EECONl,WR ;
старт записи данных
Во время выполнения этого участка программы все
прерывания должны быть запрещены для точного выпол-
нения временной диаграммы. Время записи - примерно
10 мс. Фактическое время записи будет изменяться в за-
висимости от напряжения, температуры и индивидуаль-
ных свойств кристалла. В конце записи бит WR автомати-
чески обнуляется, а флаг завершения записи EEIF, он же
Рис. 6
12
PCH
8
7
PCL
0
PCH
12
11
10
s
7
PCI
0
PC
PC
V
=ЕГГ
Ъ
ч
I
Рис. 7
GOTO. C ALI.
Й
/ ALU result
T
J
/
L .LU .
і
1
1
И/
Opcode <10:0>
7 7 ------------
PCLATH <4:0>
PCLATH <4:3>
3/2003
предыдущая страница 40 Радиолюбитель 2003-03 читать онлайн следующая страница 42 Радиолюбитель 2003-03 читать онлайн Домой Выключить/включить текст