sb000145
.pdfADDC |
A,ad |
A ← A+ad+CY |
Сложение АСС и содержимого ячейки памяти ad |
1 |
|
внутреннего ОЗУ с учетом переноса CY |
|||||
|
|
|
|
||
|
|
A ← A+[Ri]+CY |
Сложение АСС и содержимого ячейки памяти |
|
|
ADDC |
A,@Ri |
внутреннего ОЗУ, адрес которой находится в ре- |
1 |
||
|
|
|
гистре Ri (i=0,1) с учетом переноса CY |
|
|
ADDC |
A,#d8 |
A ← A+d8+CY |
Сложение АСС с константой d8 с учетом перено- |
1 |
|
|
|
|
са CY |
|
|
DA |
A |
|
Двоично-десятичная коррекция АСС |
1 |
|
SUBB |
A,Rn |
A ← A–Rn–CY |
Вычитание из АСС содержимого регистра Rn |
1 |
|
(n=0..7) с учетом переноса CY |
|||||
|
|
|
|
||
SUBB |
A,ad |
A ← A–ad–CY |
Вычитание из АСС содержимого ячейки памяти |
1 |
|
|
|
|
ad внутреннего ОЗУ с учетом переноса CY |
|
|
|
|
A ← A–[Ri]–CY |
Вычитание из АСС содержимого ячейки памяти |
|
|
SUBB |
A,@Ri |
внутреннего ОЗУ, адрес которой находится в ре- |
1 |
||
|
|
|
гистре Ri (i=0,1) с учетом переноса CY |
|
|
SUBB |
A,#d8 |
A ← A+d8+CY |
Вычитание из АСС константы d8 с учетом пере- |
1 |
|
|
|
|
носа CY |
|
|
INC |
A |
A ← A+1 |
Инкремент ACC |
1 |
|
INC |
Rn |
Rn ← Rn+1 |
Инкремент регистра Rn (n=0..7) |
1 |
|
INC |
ad |
ad ← ad+1 |
Инкремент содержимого ячейки памяти ad внут- |
1 |
|
|
|
|
реннего ОЗУ |
|
|
|
|
[Ri] ← [Ri]+1 |
Инкремент содержимого ячейки памяти внутрен- |
|
|
INC |
@Ri |
него ОЗУ, адрес которой находится в регистре Ri |
1 |
||
|
|
|
(i=0,1) |
|
|
INC |
DPTR |
DPTR ← DPTR+1 |
Инкремент регистра DPTR |
2 |
|
DEC |
A |
A ← A+1 |
Декремент ACC |
1 |
|
DEC |
Rn |
Rn ← Rn+1 |
Декремент регистра Rn (n=0..7) |
1 |
|
DEC |
ad |
ad ← ad+1 |
Декремент содержимого ячейки памяти ad внут- |
1 |
|
|
|
|
реннего ОЗУ |
|
|
|
|
[Ri] ← [Ri]+1 |
Декремент содержимого ячейки памяти внутрен- |
|
|
DEC |
@Ri |
него ОЗУ, адрес которой находится в регистре Ri |
1 |
||
|
|
|
(i=0,1) |
|
|
|
|
(BA) ← A×B |
Умножение АСС на регистр В. Старший байт |
|
|
MUL |
AB |
результата помещается в регистр В, младший – в |
4 |
||
|
|
|
АСС |
|
|
DIV |
AB |
A ← A/B |
Деление АСС на регистр В. Частное помещается |
4 |
|
|
|
B ← остаток |
в АСС, остаток – в регистр В |
|
Команды логических операций
ANL |
A,Rn |
A ← A Rn |
Логическое “ И” |
АСС и содержимого регистра Rn |
1 |
|
(n=0..7) |
|
|||||
|
|
|
|
|
||
ANL |
A,ad |
A ← A ad |
Логическое “ И” |
АСС и содержимого ячейки па- |
1 |
|
|
|
|
мяти ad внутреннего ОЗУ |
|
||
|
|
A ← A [Ri] |
Логическое “ И” |
АСС и содержимого ячейки па- |
|
|
ANL |
A,@Ri |
мяти внутреннего ОЗУ, адрес которой находится |
1 |
|||
|
|
|
в регистре Ri (i=0,1) |
|
||
ANL |
A,#d8 |
A ← A d8 |
Логическое “ И” АСС и константы d8 |
1 |
||
ANL |
ad,A |
ad ← ad A |
Логическое “ И” |
содержимого ячейки памяти ad |
1 |
|
внутреннего ОЗУ и АСС |
||||||
|
|
|
|
|||
ANL |
ad,#d8 |
ad ← ad d8 |
Логическое “ И” |
содержимого ячейки памяти ad |
2 |
|
внутреннего ОЗУ и константы d8 |
||||||
|
|
|
|
|||
ORL |
A,Rn |
A ← A Rn |
Логическое “ ИЛИ” АСС и содержимого регистра |
1 |
||
|
|
|
Rn (n=0..7) |
|
|
|
ORL |
A,ad |
A ← A ad |
Логическое “ ИЛИ” АСС и содержимого ячейки |
1 |
||
|
|
|
памяти ad внутреннего ОЗУ |
|
||
|
|
A ← A [Ri] |
Логическое “ ИЛИ” АСС и содержимого ячейки |
|
||
ORL |
A,@Ri |
памяти внутреннего ОЗУ, адрес которой находит- |
1 |
|||
|
|
|
ся в регистре Ri (i=0,1) |
|
- 31 -
ORL |
A,#d8 |
A ¬ AÚd8 |
Логическое “ ИЛИ” АСС и константы d8 |
1 |
ORL |
ad,A |
ad ¬ adÚA |
Логическое “ ИЛИ” содержимого ячейки памяти |
1 |
|
|
|
ad внутреннего ОЗУ и АСС |
|
ORL |
ad,#d8 |
ad ¬ adÚd8 |
Логическое “ ИЛИ” содержимого ячейки памяти |
2 |
|
|
|
ad внутреннего ОЗУ и константы d8 |
|
XRL |
A,Rn |
A ¬ AÅRn |
“ Исключающее ИЛИ” АСС и содержимого реги- |
1 |
|
|
|
стра Rn (n=0..7) |
|
XRL |
A,ad |
A ¬ AÅad |
“ Исключающее ИЛИ” АСС и содержимого ячей- |
1 |
|
|
|
ки памяти ad внутреннего ОЗУ |
|
|
|
A ¬ AÅ[Ri] |
“ Исключающее ИЛИ” АСС и содержимого ячей- |
|
XRL |
A,@Ri |
ки памяти внутреннего ОЗУ, адрес которой нахо- |
1 |
|
|
|
|
дится в регистре Ri (i=0,1) |
|
XRL |
A,#d8 |
A ¬ AÅd8 |
“ Исключающее ИЛИ” АСС и константы d8 |
1 |
XRL |
ad,A |
ad ¬ adÅA |
“ Исключающее ИЛИ” содержимого ячейки памя- |
1 |
|
|
|
ти ad внутреннего ОЗУ и АСС |
|
XRL |
ad,#d8 |
ad ¬ adÅd8 |
“ Исключающее ИЛИ” содержимого ячейки памя- |
2 |
|
|
|
ти ad внутреннего ОЗУ и константы d8 |
|
CLR |
A |
A ¬ 0 |
Сброс АСС (запись 0 в АСС) |
1 |
CPL |
A |
A ¬ NOT(A) |
Инверсия всех бит АСС |
1 |
RL |
A |
|
Циклический сдвиг АСС влево |
1 |
RLC |
A |
|
Циклический сдвиг АСС влево через флаг пере- |
1 |
|
|
|
носа CY |
|
RR |
A |
|
Циклический сдвиг АСС вправо |
1 |
RRC |
A |
|
Циклический сдвиг АСС вправо через флаг пере- |
1 |
|
|
|
носа CY |
|
Команды операций с битами
CLR |
C |
CY ¬ 0 |
Сброс флага переноса CY |
1 |
|
CLR |
bit |
bit ¬ 0 |
Сброс бита bit |
1 |
|
SETB |
C |
CY ¬ 1 |
Установка флага переноса CY |
1 |
|
SETB |
bit |
bit ¬ 1 |
Установка бита bit |
1 |
|
CPL |
C |
CY ¬ NOT(CY) |
Инвертирование флага переноса CY |
1 |
|
CPL |
bit |
bit ¬ NOT(bit) |
Инвертирование бита bit |
1 |
|
ANL |
C,bit |
CY ¬ CYÙbit |
Логическое “ И” флага переноса CY и бита bit |
2 |
|
ANL |
C,/bit |
CY ¬ |
Логическое “ И” флага переноса CY и инверсного |
2 |
|
CYÙNOT(bit) |
значения бита bit |
||||
|
|
|
|||
ORL |
C,bit |
CY ¬ CYÚbit |
Логическое “ ИЛИ” флага переноса CY и бита bit |
2 |
|
ORL |
C,/bit |
CY ¬ |
Логическое “ ИЛИ” флага переноса CY и инверс- |
2 |
|
CYÚNOT(bit) |
ного значения бита bit |
||||
|
|
|
|||
MOV |
C,bit |
CY ¬ bit |
Пересылка в бит переноса CY бита bit |
1 |
|
MOV |
bit,C |
bit ¬ CY |
Пересылка в бит bit бита переноса CY бита bit |
2 |
|
NOP |
|
PC ¬ PC+1 |
Холостая команда |
1 |
Команды передачи управления
JMP |
label |
PC ¬ label |
Безусловный переход на метку label |
2 |
|
LJMP |
label |
|
Безусловный переход на метку label в полном |
2 |
|
|
|
|
объеме памяти программ |
|
|
AJMP |
label |
|
Безусловный переход на метку label в пределах |
2 |
|
|
|
|
2 Кбайт памяти программ |
|
|
SJMP |
label |
|
Безусловный переход на метку label в пределах |
2 |
|
|
|
|
256 байт памяти программ |
|
|
JMP |
@A+DPTR |
PC ¬ (A+DPTR) |
Безусловный переход по адресу, определяемом |
2 |
|
как сумма ACC и DPTR |
|
||||
JZ |
label |
Переход на метку label, если АСС = 0, иначе – |
следующая команда |
2 |
|
JNZ |
label |
Переход на метку label, если АСС ≠ 0, иначе – |
следующая команда |
2 |
|
JC |
label |
Переход на метку label, если флаг переноса CY установлен (равен 1), |
2 |
||
иначе – следующая команда |
|
||||
|
|
|
|
- 32 -
JNC |
label |
Переход на метку label, если флаг переноса CY сброшен (равен 0), |
2 |
||
иначе – следующая команда |
|||||
|
|
|
|||
JB |
bit,label |
Переход на метку label, |
если бит bit установлен (равен 1), иначе – |
2 |
|
следующая команда |
|
||||
|
|
|
|
||
JNB |
bit,label |
Переход на метку label, если бит bit сброшен (равен 0), иначе – сле- |
2 |
||
|
|
дующая команда |
|
|
|
JBС |
bit,label |
Переход на метку label, если бит bit установлен (равен 1) с последу- |
2 |
||
|
|
ющим его сбросом, иначе – следующая команда |
|
||
DJNZ |
Rn,label |
Декремент регистра Rn (n=0..7) и переход на метку label, если он |
2 |
||
|
|
стал равен 0, иначе – следующая команда |
|
||
|
|
Декремент содержимого ячейки памяти ad внутреннего ОЗУ и пере- |
|
||
DJNZ |
ad,label |
ход на метку label, если оно стало равно 0, иначе – следующая ко- |
2 |
||
|
|
манда |
|
|
|
CJNE |
A,ad,label |
Переход на метку label, если АСС не равно содержимому ячейки |
2 |
||
|
|
памяти ad внутреннего ОЗУ, иначе – следующая команда |
|
||
CJNE |
A,#d8,label |
Переход на метку label, |
если АСС не равно константе d8, иначе – |
2 |
|
следующая команда |
|
||||
|
|
|
|
||
CJNE |
A,#d8,label |
Переход на метку label, |
если АСС не равно константе d8, иначе – |
2 |
|
следующая команда |
|
||||
|
|
|
|
||
CJNE |
Rn,#d8,label |
Переход на метку label, если содержимое регистра Rn (n=0..7) не |
2 |
||
|
|
равно константе d8, иначе – следующая команда |
|
||
|
|
Переход на метку label, если содержимое ячейки памяти внутренне- |
|
||
CJNE |
@Ri,#d8,label |
го ОЗУ, адрес которой находится в регистре Ri (i=0,1) не равно кон- |
2 |
||
|
|
станте d8, иначе – следующая команда |
|
||
CALL |
label |
Вызов подпрограммы, расположенной по адресу label |
2 |
||
LCALL |
label |
Вызов подпрограммы, расположенной по адресу label в полном объ- |
2 |
||
|
|
еме памяти программ |
|
|
|
ACALL |
label |
Вызов подпрограммы, расположенной по адресу label в пределах 2 |
2 |
||
Кбайт памяти программ |
|
||||
|
|
|
|
||
RET |
|
Возврат из подпрограммы |
2 |
||
RETI |
|
Возврат из подпрограммы обработки прерываний |
2 |
- 33 -
Содержание |
|
Лабораторная работа 1. ИЗУЧЕНИЕ ПРИНЦИПОВ |
|
ОТЛАДКИ ПРОГРАММ С ИСПОЛЬЗОВАНИЕМ |
|
РЕЗИДЕНТНЫХ СРЕДСТВ МИКРОКОНТРОЛЛЕРА |
...................................... 3 |
Лабораторная работа 2. ОБРАБОТКА ДАННЫХ |
|
МИКРОПРОЦЕССОРНЫМИ СИСТЕМАМИ.................................................... |
6 |
Лабораторная работа 3. СИСТЕМА ВВОДА / ВЫВОДА, |
|
ФОРМИРОВАНИЕ АНАЛОГОВЫХ СИГНАЛОВ.............................................. |
9 |
Лабораторная работа 4. АНАЛОГО-ЦИФРОВОЕ |
|
ПРЕОБРАЗОВАНИЕ СИГНАЛОВ .................................................................. |
12 |
Лабораторная работа 5. СИСТЕМА ПРЕРЫВАНИЙ |
|
ОДНОКРИСТАЛЬНОЙ МИКРОЭВМ.............................................................. |
15 |
Лабораторная работа 6. РЕЖИМЫ РАБОТЫ |
|
И МЕТОДЫ ПРОГРАММИРОВАНИЯ ТАЙМЕРОВ....................................... |
19 |
Лабораторная работа 7. РЕЖИМЫ РАБОТЫ МАССИВА |
|
ПРОГРАММИРУЕМЫХ СЧЕТЧИКОВ............................................................ |
23 |
Приложение. ПЕРЕЧЕНЬ КОМАНД АССЕМБЛЕРА |
|
МИКРОЭВМ СЕМЕЙСТВА MCS51 ................................................................ |
29 |
Редактор Э. К. Долгатов
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Подписано в печать 27.11.12. Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Печ. л. 2,25.
Гарнитура « Arial ». Тираж 10 экз. Заказ 183.
––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
Издательство СПбГЭТУ « ЛЭТИ» 197376, С.-Петербург, ул. Проф. Попова, 5
- 34 -