- •Микроконтроллер.
- •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 |
Таймерді түсіру (нолге айналдыру) |