Курсовая работа: Разработка и описание работы устройства на PIC-контроллере

Таблица 3.4 - Организация памяти данных

Адрес Адрес
00h Косвенный адрес Косвенный адрес 80h
0lh TMR0 OPTION 81h
02h PCL PCL 82h
03h STATUS STATUS 83h
04h FSR FSR 84h
05h PORTA TRISA 85h
06h PORTB TRISB 86h
07h Недоступен Недоступен 87h
08h EEDATA EECON1 88h
09h EEADR EECON2 89h
0Ah PCLATH PCLATH 8Ah
0Bh INTCON INTCON 8Bh

0Ch

4Fh

68 регистров общего применения (SRAM) Отображается на пространство банка 0

8Ch

CFh

50h

7Fh

D0h

FFh

Банк 0 Банк 1

Переключение банков происходит при помощи задания 5-го бита в регистре STATUS. Если бит установлен в 0, адресуется нулевой банк, если в 1, соответственно, первый.

Специальные регистры

Специальные регистры представляют собой статическое ОЗУ.

Регистр STATUS (Адрес 03Н, 81Н)

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

bit7 IRP - регистр выбора банка памяти, применяемый при косвенной адресации. Это бит не применяется в PIC16F84 и должен всегда оставаться сброшенным.

0 = bank 0,1 (00h-FFh)

1 = bank 2,3(100h-1FFh)

bit6-5 RP1, RP0 - регистр выбора банка памяти, применяемый при прямой адресации.

00 = bank 0 (00h-7Fh)

01 = bank 1 (80h-FFh)

bit4 TO - флаг срабатывания сторожевого таймера. Устанавливается в 1 при включении питания и командами CLRWDT и SLEEP. Сбрасывается в 0 по завершении выдержки сторожевого таймера.

bit3 PD - режим хранения данных. Устанавливается в 1 при включении питания или выполнении команды CLRWDT. Сбрасывается в 0 командой SLEEP.

bit2 Z - флаг нулевого результата. Устанавливается в 1, если результат арифметической или логической операции равен нулю. Сохраняет свое значение до следующей операции.

bit1 DC - флаг десятичного переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из четвертого разряда результата.

1 = Произошел перенос при сложении

0 = Не произошел перенос при сложении

Вычитание в АЛУ выполняется сложением кода первого операнда с дополнительным кодом второго операнда. Значение бита контекстно зависит от того, какая операция выполнялась. Для операции вычитания значения бита инвертированы.

bit0 С - флаг переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из старшего разряда в бит переноса при сложении.

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

К-во Просмотров: 565
Бесплатно скачать Курсовая работа: Разработка и описание работы устройства на PIC-контроллере