- •Микроконтроллер.
- •1.1. Микроконтроллерлердің mcs-51, mcs-52, mcs-251 топтары
- •1.2. Микроконтроллердің құрылымы
- •1.3. Микроконтроллердің басқару блогы
- •1.4. Микроконтроллердің арифметика-логикалық құрылымы
- •Микроконтроллерлердің жекеленген топтары
- •2.1. Бiр кристалды микроконтроллер, 78k0r/lg3-m
- •Микроконтроллердің командалар жүйесі
- •Микроконтроллерлерде қолданылатын операндтар
- •Микроконтроллер директивалары
- •Микроконтроллер жадысын ұйымдастыру
- •Микроконтроллерлер адам өмірінде
- •4.1. Микроконтроллерлердің нарықтағы жағдайы
- •4.2. Микроконтроллердің қолданылуы
- •Қорытынды
- •Пайдаланған әдебиеттер тізімі
- •Глоссарий
Микроконтроллердің командалар жүйесі
Микроконтроллердің командалар жүйесі логикалық, арифметикалық операцияларды орындауға, сондай-ақ нақты уақыт режимінде басқарып жұмыс істеуіне улкен мүмкіндік береді.
Командалар жүйесін шартты түрде бес бөлімге бөлуге болады.
Арифметикалық командалар;
Логикалық командалар;
Ақпаратты беру командалары;
Биттік процессор командалары;
Басқарма берілісінің және тармақты командалар.
Командалар жүйесінде қолданылатын символдар және белгілеулер кестесі
|
Белгіленуі, символ |
Тағайындалуы |
|
А |
Аккумулятор |
|
Rn |
Таңдалған регистор |
|
r |
Командада көрсетілген жүктелген регистордың номері |
|
direct |
Тура адрестелген 8-биттік ішкі мәліметтердің адрес ұяшығы |
|
@Rr |
Ішкі ЖЕСҚ мәліметтерінің адрестелетін 8-биттік ұяшығы |
|
data8 |
8-биттік тікелей мәліметтер |
|
dataH |
16-биттік тікелей мәліметтердің үлкен биттері (15-8) |
|
dataL |
16-биттік тікелей мәліметтердің кіші биттері (7-0) |
|
addr11 |
11-биттік адрес |
|
addrL |
Тағайындалған адрестің кіші биттері |
|
disp8 |
8-биттік байт |
|
bit |
Тура адрестік бит |
|
a15, a14...a0 |
Адрес биттері |
|
(Х)[M] |
Х элементінің М разряды |
|
+ - * / AND OR XOR /X |
Операциялар: Қосу Алу Көбейту Бөлу Логикалық көбейту (және операциясы) Логикалық қосу (немесе операциясы) 2 модулі арқылы қосу Х элементінің инверсиясы |
Микроконтроллерлерде қолданылатын операндтар
|
Белгіленуі |
Функциясы |
|
ADC |
Тасымалдаумен қосу |
|
ADD |
Тасымалдаусыз қосу |
|
ADIW |
Тікелей мағынада қосу |
|
AND |
Логикалық AND-ны орындау |
|
ANDI |
Логикалық AND-ны тіклей мағынада орындау |
|
ASR |
Арифметикалық оңға жылжыту |
|
BCLR |
Жалауды тазалау |
|
BLD |
Бит регисторына Т жалаушасын жүктеу |
|
BRBC |
Бит регистор жағдайында тазаланған жағдайда өту |
|
BRBS |
Бит регистор жағдайында орнатылған жағдайда өту |
|
BRCC |
Тасылмалдау жалаушасы тазаланған жағдайда өту |
|
BRCS |
Тасылмалдау жалаушасы орнатылған жағдайда өту |
|
BREQ |
Тең жағдайда өту |
|
BRGE |
Тең немесе үлкен болған жағдайда өту |
|
BRHC |
Жартылай тасылмалдау жалаушасы тазаланған жағдайда өту |
|
BRHS |
Жартылай тасылмалдау жалаушасы орнатылған жағдайда өту |
|
BRID |
Глобалды үзуге тыйым салынған кезде өту |
|
BRIE |
Глобалды үзуге рұқсат етілген кезде өту |
|
BRLO |
Аз болған жағдайда өту (белгісіз) |
|
BRLT |
Аз болған жағдайда өту (белгімен) |
|
BRMI |
Минус кезде өту |
|
BRNE |
Тең емес кезде өту |
|
BRPL |
Плюс жағдайда өту |
|
BRSH |
Тең немесе үлкен болған жағдайда өту (белгісіз) |
|
BRTC |
Т жалаушасы тазаланған жағдайда өту |
|
BRTS |
Т жалаушасы орнатылған жағдайда өту |
|
BRVC |
Аса толу тазартылған кезде өту |
|
BRVS |
Аса толу орнатылған кезде өту |
|
BSET |
Жалаушаны орнату |
|
BST |
Т жалаушасына регистрдан битті жазу |
|
CALL |
Келесі программаны шақыруды орындау |
|
CBI |
I/O регистрінде битті өшіру |
|
CBR |
Регистрдағы битты өшіру |
|
CLC |
Тасымалдау жалаушасын тазарту |
|
CLH |
Жартылай тасымалдау жалаушасын тазарту |
|
CLI |
Глобалды үзу жалаушасын тазарту |
|
CLN |
Теріс мағына жалаушасын тазарту |
|
CLR |
Регистрді тазалау |
|
CLS |
Белгі жалаушасын тазарту |
|
CLT |
Т жалаушасын тазарту |
|
CLV |
Аса толу жалауын тазарту |
|
CLZ |
Нольдік мағыналы жалауды тазарту |
|
COM |
Бірлікке дейін толықтыруды орындау |
|
CP |
салыстыру |
|
CPC |
Тасымалдау есебімен салыстыру |
|
CPI |
Константпен салыстыру |
|
CPSE |
Тең болса салыстыру және тексеру |
|
DEC |
Декрементирлеу |
|
EOR |
Шығаруды орындау |
|
ICALL |
Келесі программаны жанама шақыру |
|
IJMP |
Жанама өту |
|
IN |
I/O портынан мәліметтерді регистрге жазу |
|
INC |
Инкрементирлеу |
|
FMUL |
Бөлшекті көбейту |
|
FMULS |
Сандық бөлшекті көбейту |
|
FMULSU |
Белгілі және белгісіз (белгісі жоқ) бөлшекті көбейту |
|
JMP |
Өту |
|
LD Rd,X |
Жанама жүктеу |
|
LD Rd,X+ |
Соңынан инкреминтерлеу арқылы жанама жүктеу |
|
LD Rd,-X |
Алдын ала инкреминтерлеу арқылы жанама жүктеу |
|
LDI |
Тікелей мағынада жүктеу |
|
LDS |
Тікелей мағынада ЖЕСҚ-тан жүктеу |
|
LPM |
Программа жадысына байтты жүктеу |
|
LSL |
Логикалық солға жылжыту |
|
LSR |
Логикалық оңға жылжыту |
|
MOV |
Регистрді көшіру |
|
MUL |
Көбейту |
|
NEG |
Екіге дейін толықтыру |
|
NOP |
Бос команданы орындау |
|
OR |
Логикалық OR-ді орындау |
|
ORI |
Логикалық OR-ді тікелей мәнмен орындау |
|
OUT |
I/O портына регистрден мәліметтерді жазу |
|
POP |
Стектен регистрді жүктеу |
|
PUSH |
Стекке регистрді орнату |
|
RCALL |
Келесі программаны қатысты шақыру |
|
RET |
Бастапқы программаға кайта оралу |
|
RETI |
Үзілуден қайта оралу |
|
RJMP |
Қатысты өту |
|
ROL |
Тасымалдау арқылы солға жылжыту |
|
ROR |
Тасымалдау арқылы оңға жылжыту |
|
SBC |
Тасымалдаумен шегеру |
|
SBCI |
Тасымалдаудың тікелей мәнімен шегеру |
|
SBI |
I/O регисторына битті орналастыру |
|
SBIC |
I/O регистрінде бит тазаланған болса өткізу |
|
SBIS |
I/O регистрінде бит орнатылған болса өткізу |
|
SBIW |
Созден тікелей мәнімен шегеру |
|
SBR |
Регистрге битті орналастыру |
|
SBRC |
Регистрде бит тазаланған болса өткізу |
|
SBRS |
Регистрде бит орнатылған болса өткізу |
|
SEC |
Тасымалдау флагын орнату |
|
SEH |
Жартылай тасымалдау флагын орнату |
|
SEI |
Глобалды үзу флагын орнату |
|
SEN |
Теріс мән флагын орнату |
|
SER |
Регистрдің барлық биттерін орнату |
|
SES |
Белгі жалаушысын орнату |
|
SET |
Т жалаушасын орнату |
|
SEV |
Толу жалауын орнату |
|
SEZ |
Нолдік мәне жалауын орнату |
|
SLEEP |
SLEEP режимін орнату |
|
ST X,Rr |
Жанама жазу |
|
ST Y,Rr |
ЖЕСҚ-қа регистрден Ү индексін қолданып жазу |
|
ST Z,Rr |
ЖЕСҚ-қа регистрден Z индексін қолданып жазу |
|
STS |
Тікелей ЖЕСҚ-қа жазу |
|
SUB |
Тасымалдаусыз шегеру |
|
SUBI |
Тікелей мәнге шегеру |
|
SWAP |
Ниббл орындарын ауыстыру |
|
TST |
Нолге немесе минусқа тексеру |
|
WDR |
Таймерді түсіру (нолге айналдыру) |
