- •1 Pic16f8x микроконтроллерлерінің құрылымы
- •1.1 Pic16f84a микроконтроллерінің архитектурасы
- •1.1 Сурет
- •1.2 Бағдарлама жадысының ұйымдастырылымы
- •1.3 Дерек жадысының ұйымдастырылымы
- •1.4 Арнайы қызмет регистрлері
- •1.2 Сурет
- •2 Pic16f8x микроконтроллерлерінің командалары
- •1.5 Команда көрсеткіші
- •1.3 Сурет
- •2.1 Сурет
- •2.1 Байттармен істеуші командалар
- •2.2 Биттермен істеуші командалар
- •2.3 Басқару командалары және константамен жұмыс жүргізу
- •2.4 Pic микроконтроллерлерін бағдарлау ерекшеліктері
- •3 Pic микроконтроллерлерін бағдарлаудың қалыпты тәсілдері
- •3.1 Импульстер тізбесін қалыптастыру
- •3.1 Сурет
- •3.2 Сандар тізбесін қалыптастыру
- •3.2.1 Деректерді тура сілтеу.
- •3.2.2 Деректерді жанама сілтеу.
- •3.2 Сурет
- •3.3 Есептелімді ауыстырылымдар
- •3.3.1 Бағдарламаның goto командалары арқылы тарамдалуы.
- •3.3 Сурет
- •3.3.2 Кестелі түрлендірілімдер.
- •3.4 Сурет
- •3.4 Динамикалы көрсетілім
- •3.5 Сурет
- •3.5 Екілік-ондық түрлендірілімдер
- •3.6 Үзілістер
- •3.6.1 Сыртқы сигналға байланысты үзіліс.
- •3.6 Сурет
- •3.6.2 Tmr0 таймерінің асып түсуіне байланысты үзіліс.
- •4 Перифериялық модулдермекн жұмыс ұйымдастырылуы
- •4.1 Eeprom жадысы
- •4.1.1 Eeprom жадысымен жұмыс ұйымдастыру принциптері.
- •4.1.2 Eeprom жадысының қолданылуы.
- •4.2 Таймер модулдері
- •4.2.1 Tmr1 таймері.
- •4.2.2 Tmr2 таймері.
- •4.3 Ccp модулі
- •4.3.1 Ұсталым режимі. Период ұзақтығын өлшеу.
- •4.3.2 Салыстырым режимі. Шектеме құрылғысы.
- •4.3.3 Еим режимі. Қуыстықты өзгерту.
- •4.4 Аналогты-цифрлық түрлендіргіш
- •Әдебиеттер тізімі
- •Мазмұны
2.1 Сурет
PIC16F84A микроконтроллерінің командалар жүйесі небәрі 35 командадан тұрады. PIC16F8X микроконтроллерлерінің командалар жүйесіне байттармен, биттермен істеу командалары, басқару және константалармен операцииялар жүргізу командалары кіреді (2.1 кесте).
2.1 кесте – PIC16F8X микроконтроллерінің командалар жүйесі
Мнемоника |
Команда суреттемесі |
Ахуал биттері |
addwf f, d |
W және f регистрлерін қосу |
C ,DC ,Z |
andwf f, d |
W және f регистрлерін логикалық көбейту |
Z |
clrf f |
f регистрін тазарту |
Z |
clrw |
W регистрін тазарту |
Z |
comf f, d |
f регистрін терістеу |
Z |
decf f, d |
f регистрін декременттеу |
Z |
decfsz f, d |
f регистрінің декременттелу нәтижесі 0 болса, келесі команда орындалмайды |
|
incf f, d |
f регистрін инкременттеу |
Z |
incfsz f, d |
f регистрінің инкременттелу нәтижесі 0 болса, келесі команда орындалмайды |
|
iorwf f, d |
W және f регистрлерін логикалық қосу |
Z |
movf f, d |
f регистрін d регистріне жіберу |
Z |
movwf f |
W регистрін f регистріне жіберу |
|
nop |
Орындалмайтын команда |
|
rlf f, d |
f регистрін тасымал арқылы солға ығыстыру |
C |
rrf f, d |
f регистрін тасымал арқылы оңға ығыстыру |
C |
subwf f, d |
f регистрінен W регистрін алу |
C,DC,Z |
swapf f, d |
f регистрінің тетрадаларының орнын ауыстыру |
|
xorwf f, d |
W және f регистрлерін арифметикалық қосу |
Z |
bcf f, b |
f регистрінің b битін тазарту |
|
bsf f, b |
f регистрінің b битін бірге қою |
|
btfsc f, b |
b биті 0 болса, келесі команда орындалмайды |
|
btfss f, b |
b биті 1 болса, келесі команда орындалмайды |
|
addlw k |
W регистріне константа қосу |
C, DC, Z |
andlw k |
W регистрі мен константаны логикалық көбейту |
Z |
call k |
Қосалқы бағдарламаны шақыру |
|
clrwdt |
Бақылау таймерін (WDT) тазарту |
/TO, /P |
goto k |
Адрес бойынша ауыстыру |
|
iorlw k |
W регистрі мен константаны логикалық қосу |
Z |
movlw k |
W регистріне константа жіберу |
|
retfie |
Үзілістен қайту |
|
retlw k |
Қосалқы бағдарламадан W регистріне константа қабылдау арқылы қайту |
|
return |
Қосалқы бағдарламадан қайту |
|
sleep |
SLEEP режиміне ауыстыру |
/TO, /P |
sublw k |
W регистрін константадан алу |
C, DC, Z |
xorlw k |
W регистріне константаны арифметикалық қосу |
Z |
Кестеге түсініктемелер:
Байттармен істеуші командаларда f әрекет жүргізілуші регистрді білдіреді, ал d нәтиже орналастырылатын регистрді анықтайды. Нәтиже d = 0 кезінде – w регистріне, d=1 кезінде f регистріне орналастырылады.
Биттермен істеуші командаларда b әрекет жүргізілуші f регистрінің операцияға қатысты бит нөмірін анықтайды.
Басқару командалары мен константами операцияларда k сегіз- немесе онбірбитті константаны анықтайды.
Командалардың барлығы дерлік бір команда циклінде орындалады. Екі жағдайда екі команда циклінде орындалады:
шартты тексеру және оның орындалғандығына байланысты ауысу;
команданың орындалуына байланысты команда көрсеткішінің құрамының өзгеруі.
Бір команда циклінің ұзақтығы тактілік микроконтроллер генераторының төрт периодын құрады. Сонымен, жиілігі 4 МГц генератор үшін команда циклінің ұзақтығы 1 мкс болады.
