Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2016_Оқу құралы_Цифрлық жүйелерді PIC микроконтроллерлері негізінде құру (с.3-96).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.26 Mб
Скачать

1.5 Команда көрсеткіші

PCH және PCL регистрлерінен тұратын команда көрсеткішінің (IP, Instruction Pointer) разряд саны 13 бит. Команда көрсеткішінің кіші байтын (PCL) оқуға да, оған дерек жазуға да болады. Команда көрсеткішінің үлкен байтын тікелей оқуға да, оған дерек жазуға да болмайды. Оның құрамы PCLATH (PC Latch High) регистрінің құрамымен анықталады. PCLATH құрамы команда көрсеткішінің үлкен байтына кіші байтқа (PCL) жаңа мән енгізілген кезде жіберіледі.

Команда көрсеткішіне CALL, GOTO командаларының орындалу кезінде жаңа мән жіберілуіне немесе команда көрсеткішінің кіші байтына сан жазылуына байланысты PCLATH құрамының команда көрсеткішінің үлкен байтына жіберілуі, 1.3 суретте көрсетілгендей, әртүрлі тәсілмен енгізіледі.

1.3 Сурет

CALL және GOTO командалары, көлемі 2К сөз бағдарлама жадысының парағының шегінде ығыстыруға жеткілікті, 11-разрядты адрестік кеңістікте істейді. PIC16F8X микроконтроллерлері үшін бұл жеткілікті. Микроконтроллерлердің болашақ модельдерінің командалар жадысының кеңейтілу мүмкіншілігін қамтамасыз ету үшін команда көрсеткішінің екі үлкен битінің PCLATH<4:3> регистрінен енгізілуі ескерілген. CALL және GOTO командаларының пайдаланылуы кезінде пайдаланушы парақ биттерінің қажетті параққа шығуға бағдарланғанына көзін жеткізу керек.

CALL командасының орындалуы кезінде немесе үзіліс кезінде 13 битті команда көрсеткіші түгелдей стекке (Stack) жіберіледі, сондықтан қосалқы бағдарламадан қайту үшін PCLATH<4:3> разрядтарымен ешқандай әрекеттің керегі жоқ. PIC16F8X микроконтроллерлері бағдарлама жадысының, күрделірек микроконтроллерлердің жадысының 1-, 2- және 3-парақтарына шығуға пайдаланылатын PCLATH<4:3> биттерінің мәнін қажет қылмайды.

PIC16F8X микроконтроллерлерінің құрамына ені 13 бит сегіздеңгейлі аппаратты стек енгізілген. CALL командасының орындалуы кезінде немесе үзіліс кезінде команда көрсеткішінің кезекті мәні стекке жіберіледі. Қосалқы бағдарламадан қайту процедурасының орындалу кезінде (retlw, retfie және return командалары) команда көрсеткішінің құрамы стектен қайтарылады. PCLATH регистрінің құрамы стекпен операциялар кезінде өзгермейді.

2 Pic16f8x микроконтроллерлерінің командалары

PIC16F8X микроконтроллерінің әрбір командасы, операция кодына (OpCode) және бір немесе одан көбірек операндтарға арналған аймақтарына бөлінген, 14-битті сөз түрінде құрылған. Микроконтроллер командаларының негізгі форматтары 2.1 суретте көрсетілген.

Байттармен істеуші командалар

13

8

7

6

0

OpCode

d

f

d = 0 – w; d = 1 – f; f– регистр адресі

Биттермен істеуші командалар

13

10

9

7

6

0

OpCode

b

f

b – бит нөмірі; f – регистр адресі

Басқару және константамен істеу командалары

13

8

7

0

OpCode

k

k – константа

CALL және GOTO командалары

13

11

10

0

OpCode

k

k – константа