
Вычислительная техника.-1
.pdf
31
ЛАБОРАТОРНАЯ РАБОТА № 5.
ФИЛЬТРАЦИЯ ДАННЫХ
1 ВВЕДЕНИЕ
Целью работы является углубленное изучение методов обработки информации в микроконтроллерах, этапов создания и методов отладки программ на примере программы, выполняющей цифровую фильтрацию поступающего потока данных.
2ОБЩИЕ ПОЛОЖЕНИЯ
2.1Цифровая фильтрация данных
Информация, поступающая с датчиков, может быть представлена как в цифровой, так и аналоговой форме. Однокристальный микроконтроллер может выполнять различные виды обработки информации, даже фильтрацию аналоговых сигналов.
Каждый непрерывный сигнал, изменяющийся во времени, имеет свой спектр частот. Любая частота или полоса частот может быть усилена, ослаблена, исключена или выделена фильтрацией. При фильтрации изменяется спектр частот сигнала.
Цифровым фильтром называется цифровая система для изменения частотного спектра дискретных сигналов. Для обработки аналоговых сигналов с помощью цифрового фильтра используется схема, показанная на рисунке
8.
|
X(t) |
|
X(nT) |
|
|
Y(nT) |
|
|
Y(t) |
||
|
Цифровой |
||||||||||
|
АЦП |
ЦАП |
|||||||||
|
|
|
|
|
фильтр |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 8 – Схема цифрового фильтра
Рассмотрим простейший пример цифровой реализации фильтра нижних частот, показанного на рисунке 9.

|
|
|
32 |
|
|
|
|
|
|
||
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Uвх |
|
C |
|
|
|
|
|
Uвых |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 9 – Фильтр нижних частот |
|
||||||||||
Уравнение фильтра имеет вид |
|
|
|
|
|
||||||
|
|
|
|
|
dU |
ВЫХ |
|
|
|||
UВХ UВЫХ |
RC |
|
|
|
(2) |
||||||
|
|
|
|||||||||
|
|
|
|
|
|
dt |
|
|
Рассмотрим значения входного и выходного сигналов в дискретные моменты времени n t, n=0, 1,…. Заменяя производную конечной разностью
|
dUВЫХ |
|
UВЫХ [n t] UВЫХ [(n 1) t] |
, |
|
dt |
t |
||
|
|
|
||
и обозначая n t как n, получаем: |
|
|
|
|
|
1 |
|
|
|
|
|
RC |
t |
|
|
|
|
U |
|
[n] |
|
|
U |
|
[n] |
|
|
U |
|
[n 1] |
|||
|
|
|
|
|
|
|
|
||||||||
ВЫХ |
|
|
|
ВХ |
|
|
|
ВЫХ |
|||||||
|
1 |
RC |
|
|
1 |
RC |
|
|
|
||||||
|
|
t |
|
|
t |
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
k1UВХ [n] k2UВЫХ [n 1] |
(3) |
При условии t<<RC, несложно по формуле (3) реализовать цифровой фильтр в виде программы для МП.
Обозначим Yn=UВЫХ[n], Yn-1=UВЫХ[n-1], Xn=UВХ[n] и зададим значения коэффициентов k1=0.375 и k2=0.625.
Yn 0.375 X n 0.625 Yn 1
0.375 Xn (0.625 Yn 1 Yn 1) Yn 1
0.375 X n 0.375 Yn 1 Yn 1
0.375 (Xn Yn 1) Yn 1
(4)
(5)
Формулы (4) и (5) математически эквивалентны, но требуют разного объема вычислений в вычислителе. Дробные значения чисел можно получить при сдвиге их вправо с учетом знака. Число после сдвига вправо равно 0.5 от исходного значения. Несложно получить и коэффициенты 0.625
и 0.375.
Массив данных Xn размером 100 байтов должен располагаться во внешней памяти данных ОЭВМ, начиная с 0 ячейки. Фильтрованный массив Yn нужно записывать с 200 ячейки памяти (EXT RAM).
33
3ЛАБОРАТОРНОЕ ЗАДАНИЕ
1.Составьте текст программы, выполняющей цифровую фильтрацию
массива данных Xn размером 100 байтов и создающей выходной массив Yn, с 200 ячейки памяти.
2.Введите программу, выполните ее трансляцию и создайте исполняемый двоичный файл.
3.Загрузите в отладчик FD51.EXE исполняемую программу.
4.Создайте средствами отладчика входной массив данных Xn размером 100 байтов, запишите его с адреса 0. Для проверки работы фильтра наиболее удобно использовать тестовые сигналы в виде короткой
положительной и отрицательной – функции и ступенчатой функции произвольного размаха, изменяющейся с положительным и отрицательным знаком.
5.Выполните отладку Вашей программы.
6.Продемонстрируйте преподавателю работу программы и подготовьте отчет о работе по стандартной форме. В отчете опишите текст программы
свашими комментариями. Нарисуйте в отчете графики входного сигнала и фильтрованного сигнала.
4КОНТРОЛЬНЫЕ ВОПРОСЫ
1.На что влияют значения коэффициентов К1 и К2 в формуле (3)?
2.Какой характер выходного сигнала будет для плавно нарастающего входного сигнала?
3.Сравните особенности реализации фильтра по формуле (4) и (5).
4.Определите области применения данной разработки.
34
ПРИЛОЖЕНИЕ А
(справочное)
СПИСОК КОМАНД ОЭВМ MCS-51
|
Мнемокод |
Название |
ай т |
и кл |
Операция |
||
|
|
Группа команд передачи данных |
|
|
|
||
MOV @Ri,#d |
Пересылка в РПД константы |
2 |
|
1 |
((Ri)) #d |
||
(i=0,1) |
|
||||||
|
|
|
|
|
|
|
|
|
MOV @Ri,A |
Пересылка в РПД байта из акку- |
1 |
|
1 |
((Ri)) (А) |
|
|
мулятора |
|
|||||
|
|
|
|
|
|
|
|
MOV @Ri,ad |
Пересылка в РПД байта с |
2 |
|
2 |
((Ri)) (ad) |
||
прям.адреса ad |
|
||||||
|
|
|
|
|
|
|
|
|
MOV A,#d |
Загрузка в аккумулятор констан- |
2 |
|
1 |
(А) #d |
|
|
ты |
|
|||||
|
|
|
|
|
|
|
|
|
MOV A,@Ri |
Пересылка в аккумулятор из РПД |
1 |
|
1 |
(А) ((Ri)) |
|
|
(i=0,1) |
|
|||||
|
|
|
|
|
|
|
|
|
MOV A,ad |
Пересылка в аккумулятор байта с |
2 |
|
1 |
(А) (ad) |
|
|
адреса ad |
|
|||||
|
|
|
|
|
|
|
|
|
MOV A,Rn |
Пересылка в аккумулятор байта |
1 |
|
1 |
(А) (Rn) |
|
|
из регистра (n=0 7) |
|
|||||
|
|
|
|
|
|
|
|
|
MOV ad,#d |
Пересылка константы по пря- |
3 |
|
2 |
(ad) #d |
|
|
мом.адресу |
|
|||||
|
|
|
|
|
|
|
|
MOV ad,@Ri |
Пересылка по прямому адресу |
2 |
|
2 |
(ad) ((Ri)) |
||
байта из РПД (i=0,1) |
|
||||||
|
|
|
|
|
|
|
|
|
MOV ad,A |
Пересылка аккумулятора по прямому |
2 |
|
1 |
(ad) (А) |
|
|
адресу |
|
|||||
|
|
|
|
|
|
|
|
|
MOV ad,Rn |
Пересылка регистра по прямому |
2 |
|
2 |
(ad) (Rn) |
|
|
адресу |
|
|||||
|
|
|
|
|
|
|
|
MOV add,ads |
Пересылка прямоадресуемого |
3 |
|
2 |
(add) (ads) |
||
байта по прямому адресу |
|
||||||
|
|
|
|
|
|
|
|
|
MOV |
Загрузка указателя данных словом |
3 |
|
2 |
(DPTR) #d16 |
|
|
DPTR,#d16 |
|
|||||
|
|
|
|
|
|
|
|
|
MOV Rn,#d |
Загрузка в регистр (n=07) кон- |
2 |
|
1 |
(Rn) #d |
|
|
станты |
|
|||||
|
|
|
|
|
|
|
|
|
MOV Rn,A |
Пересылка в регистр (n=07) бай- |
1 |
|
1 |
(Rn) (А) |
|
|
та из аккумулятора |
|
|||||
|
|
|
|
|
|
|
|
|
MOV Rn,ad |
Пересылка в регистр с прямого |
2 |
|
2 |
(Rn) (ad) |
|
|
адреса |
|
|||||
|
|
|
|
|
|
|
|
|
MOVC |
Пересылка в аккумулятор байта |
1 |
|
2 |
(А) ((А)+(DPTR |
|
|
A,@A+DPTR |
из ПП |
|
)) |
|
||
|
|
|
|
|
35
|
Мнемокод |
Название |
ай т |
и кл |
Операция |
|
|
MOVC |
Пересылка в аккумулятор байта |
1 |
|
2 |
(А) ((А)+(PC)) |
|
A,@A+PC |
из ПП |
|
|||
|
|
|
|
|
||
|
MOVX |
Пересылка в расшир. ВПД из |
1 |
2 |
((DPTR)) (А) |
|
|
@DPTR,A |
аккумулятора |
||||
|
|
|
|
|
||
|
MOVX |
Пересылка в аккумулятор из рас- |
1 |
|
2 |
(А) ((DPTR)) |
|
A,@DPTR |
шир. ВПД |
|
|||
|
|
|
|
|
||
MOVX @Ri,A |
Пересылка в ВПД из аккумулято- |
1 |
|
2 |
((Ri)) (А) |
|
ра |
|
|||||
|
|
|
|
|
|
|
MOVX A,@Ri |
Пересылка в аккумулятор байта |
1 |
|
2 |
(А) ((Ri)) |
|
из ВПД |
|
|||||
|
|
|
|
|
|
|
|
POP ad |
Извлечь из стека |
2 |
|
2 |
(ad) ((SP)) |
|
|
(SP) (SP)-1 |
||||
|
|
|
|
|
|
|
|
PUSH ad |
Загрузить в стек |
2 |
|
2 |
(SP) (SP)+1 |
|
|
((SP)) (ad) |
||||
|
|
|
|
|
|
|
|
XCH A,@Ri |
Обмен аккумулятора с байтом из |
1 |
|
1 |
(А) ((Ri)) |
|
РПД |
|
||||
|
|
|
|
|
|
|
|
XCH A,ad |
Обмен аккумулятора и байта с |
2 |
|
1 |
(А) (ad) |
|
адреса ad |
|
||||
|
|
|
|
|
|
|
|
XCH A,Rn |
Обмен аккумулятора с регистром |
1 |
|
1 |
(А) (Rn) |
|
|
Обменять младш. тетраду акку- |
|
|
|
|
XCHD A,@Ri |
мулятора с мл. тетрадой байта |
1 |
|
1 |
(А0-3) ((Ri)0-3) |
|
|
|
РПД |
|
|
|
|
|
SWAP A |
Обменять тетрады в аккумуляторе |
1 |
|
1 |
(А0-3) (А4-7) |
|
|
Группа арифметических операций |
|
|
||
|
ADD A,#d |
Сложить аккумулятор с констан- |
2 |
|
1 |
(А) (А)+#d |
|
той |
|
||||
|
|
|
|
|
|
|
|
ADD A,@Ri |
Сложить аккумулятор с байтом из |
1 |
|
1 |
(А) (А)+((Ri)) |
|
РПД |
|
||||
|
|
|
|
|
|
|
|
ADD A,ad |
Сложить аккумулятор с байтом по |
2 |
|
1 |
(А) (А)+(ad) |
|
адресу ad |
|
||||
|
|
|
|
|
|
|
|
ADD A,Rn |
Сложить аккумулятор с реги- |
1 |
|
1 |
(А) (А)+(Rn) |
|
стром |
|
||||
|
|
|
|
|
|
|
|
ADDC A,#d |
Сложить аккумулятор с констан- |
2 |
|
1 |
(А) (А)+#d+(C) |
|
той и переносом |
|
||||
|
|
|
|
|
|
|
ADDC A,@Ri |
Сложить аккумулятор с байтом из |
1 |
|
1 |
(А) (А)+((Ri))+ |
|
РПД (i=0,1) и переносом |
|
(C) |
||||
|
|
|
|
|
||
|
ADDC A,ad |
Сложить аккумулятор с байтом по |
2 |
|
1 |
(А) (А)+(ad)+( |
|
адресу ad и переносом |
|
C) |
|||
|
|
|
|
|
36
|
Мнемокод |
Название |
ай т |
и кл |
Операция |
|
|
ADDC A,Rn |
Сложить аккумулятор с реги- |
1 |
1 |
(А) (А)+(Rn)+( |
|
|
стром (n=07) и переносом |
C) |
||||
|
|
|
|
|||
|
DA A |
Десятичная коррекция аккумуля- |
1 |
1 |
|
|
|
тора |
|
|
|||
|
|
|
|
|
|
|
|
SUBB A,#d |
Вычесть из аккумулятора кон- |
2 |
1 |
(А) (А)-#d-(C) |
|
|
станту и заем |
|||||
|
|
|
|
|
|
|
|
SUBB A,@Ri |
Вычесть из аккумулятора байт из |
1 |
1 |
(А) (А)-((Ri))- |
|
|
РПД и заем |
(C) |
||||
|
|
|
|
|||
|
SUBB A,ad |
Вычесть из аккумулятора байт с |
2 |
1 |
(А) (А)-(ad)- |
|
|
адреса ad и заем |
(C) |
||||
|
|
|
|
|||
|
SUBB A,Rn |
Вычесть из аккумулятора регистр |
1 |
1 |
(А) (А)-(Rn)- |
|
|
и заем |
(C) |
||||
|
|
|
|
|||
|
INC @Ri |
Инкремент байта в РПД |
1 |
1 |
((Ri)) ((Ri))+1 |
|
|
INC A |
Инкремент аккумулятора |
1 |
1 |
(А) (А)+1 |
|
|
INC ad |
Инкремент байта по адр. ad |
2 |
1 |
(ad) (ad)+1 |
|
|
INC DPTR |
Инкремент указателя данных |
1 |
2 |
(DPTR) (DPTR |
|
|
)+1 |
|
||||
|
|
|
|
|
|
|
|
INC Rn |
Инкремент регистра |
1 |
1 |
(Rn) (Rn)+1 |
|
|
DEC @Ri |
Декремент байта в РПД |
1 |
1 |
((Ri)) ((Ri))-1 |
|
|
DEC A |
Декремент аккумулятора |
1 |
1 |
(А) (А)-1 |
|
|
DEC ad |
Декремент байта по адресу ad |
2 |
1 |
(ad) (ad)-1 |
|
|
DEC Rn |
Декремент регистра |
1 |
1 |
(Rn) (Rn)-1 |
|
|
MUL AB |
Умножение аккумулятора на ре- |
1 |
4 |
(B)(A) (A)·(B) |
|
|
гистр B |
|||||
|
|
|
|
|
|
|
|
DIV AB |
Деление аккумулятора на регистр |
1 |
4 |
(A).(B) (A)/(B) |
|
|
B |
|||||
|
|
|
|
|
|
|
|
|
Группа логических операций |
|
|
|
|
|
ANL A,#d |
Логическое И аккумулятора и |
2 |
1 |
(А) (А) #d |
|
|
константы |
|||||
|
|
|
|
|
|
|
|
ANL A,@Ri |
Логическое И аккумулятора с |
1 |
1 |
(А) (А) ((Ri)) |
|
|
байтом из РПД (i=0,1) |
|||||
|
|
|
|
|
|
|
|
ANL A,ad |
Логическое И аккумулятора с |
2 |
1 |
(А) (А) (ad) |
|
|
байтом по адресу ad |
|||||
|
|
|
|
|
|
|
|
ANL A,Rn |
Логическое И аккумулятора с |
1 |
1 |
(А) (А) (Rn) |
|
|
регистром (n=0 7) |
|||||
|
|
|
|
|
|
|
|
ANL ad,#d |
Логическое И байта по адресу ad с |
3 |
2 |
(ad) (ad) #d |
|
|
константой |
|||||
|
|
|
|
|
|
|
|
ANL ad,A |
Логическое И байта по адресу ad с |
2 |
1 |
(ad) (ad) (А) |
|
|
аккумулятором |
|||||
|
|
|
|
|
|
37
|
Мнемокод |
Название |
ай т |
и кл |
Операция |
||
|
ORL A,#d |
Логическое ИЛИ аккумулятора с |
2 |
1 |
(А) (А) #d |
||
|
константой |
||||||
|
|
|
|
|
|
|
|
|
ORL A,@Ri |
Логическое ИЛИ аккумулятора с |
1 |
1 |
(А) (А) ((Ri)) |
||
|
байтом из РПД (i=0,1) |
||||||
|
|
|
|
|
|
|
|
|
ORL A,ad |
Логическое ИЛИ аккумулятора с |
2 |
1 |
(А) (А) (ad) |
||
|
байтом по адресу ad |
||||||
|
|
|
|
|
|
|
|
|
ORL A,Rn |
Логическое ИЛИ аккумулятора с |
1 |
1 |
(А) (А) (Rn) |
||
|
регистром (n=0 7) |
||||||
|
|
|
|
|
|
|
|
|
ORL ad,#d |
Логическое ИЛИ байта по адресу |
3 |
2 |
(ad) (ad) #d |
||
|
ad с константой |
||||||
|
|
|
|
|
|
|
|
|
ORL ad,A |
Логическое ИЛИ байта по адресу |
2 |
1 |
(ad) (ad) (А) |
||
|
ad с аккумулятором |
||||||
|
|
|
|
|
|
|
|
|
XRL A,#d |
Исключ. ИЛИ аккумулятора с |
2 |
1 |
(А) (А) #d |
||
|
константой |
||||||
|
|
|
|
|
|
|
|
|
XRL A,@Ri |
Исключающее ИЛИ аккумулятора |
1 |
1 |
(А) (А) ((Ri)) |
||
|
с байтом из РПД (i=0,1) |
||||||
|
|
|
|
|
|
|
|
|
XRL A,ad |
Исключающее ИЛИ аккумулятора |
2 |
1 |
(А) (А) (ad) |
||
|
с байтом по адресу ad |
||||||
|
|
|
|
|
|
|
|
|
XRL A,Rn |
Исключающее ИЛИ аккумулятора |
1 |
1 |
(А) (А) (Rn) |
||
|
с регистром (n=0 7) |
||||||
|
|
|
|
|
|
|
|
|
XRL ad,#d |
Исключающее ИЛИ байта по |
3 |
2 |
(ad) (ad) #d |
||
|
адресу ad с константой |
||||||
|
|
|
|
|
|
|
|
|
XRL ad,A |
Исключающее ИЛИ байта по |
2 |
1 |
(ad) (ad) (А) |
||
|
адресу ad с аккумулятором |
||||||
|
|
|
|
|
|
|
|
|
CLR A |
Сброс аккумулятора |
1 |
1 |
(А) 0 |
||
|
CPL A |
Инверсия аккумулятора |
1 |
1 |
(А) ( |
|
) |
|
A |
||||||
|
RL A |
Сдвиг аккумулятора влево по |
1 |
1 |
(Аn+1) (Аn), |
||
|
циклу |
n=0 6 (А0) (А7) |
|||||
|
|
|
|
||||
|
RR A |
Сдвиг аккумулятора вправо по |
1 |
1 |
(Аn) (Аn+1), |
||
|
циклу |
n=0 6 (А7) (А0) |
|||||
|
|
|
|
||||
|
|
Сдвиг аккумулятора влево через |
|
|
(Аn+1) (Аn), |
||
|
RLC A |
1 |
1 |
n=0 6 (А0) (C) |
|||
|
перенос |
||||||
|
|
|
|
(C) (А7) |
|||
|
|
|
|
|
|||
|
|
Сдвиг аккумулятора вправо через |
|
|
(Аn) (Аn+1), |
||
|
RRC A |
1 |
1 |
n=0 6 (А7) (C) |
|||
|
перенос |
||||||
|
|
|
|
(C) (А0) |
|||
|
|
|
|
|
|||
|
|
Группа битовых операций |
|
|
|
|
|
|
MOV bit,C |
Пересылка разряда переноса в бит |
2 |
2 |
(b) (C) |
||
|
MOV C,bit |
Пересылка бита в разряд переноса |
2 |
1 |
(C) (b) |

Мнемокод
ANL C,bit
ANL C,/bit
ORL C,bit
ORL C,/bit
CLR bit
CLR C
SETB bit
SETB C
CPL bit
CPL C
LCALL ad16
ACALL ad11
LJMP ad16
AJMP ad11
SJMP rel
CJNE
A,ad,rel
CJNE @Ri,#d,rel
CJNE
A,#d,rel
38
Название |
ай т |
и кл |
|
Логическое И бита и переноса |
2 |
2 |
|
Логическое И инверсии бита и |
2 |
2 |
|
переноса |
|||
|
|
||
Логическое ИЛИ бита и переноса |
2 |
2 |
|
Логическое ИЛИ инверсии бита и |
2 |
2 |
|
переноса |
|||
|
|
||
Сброс бита |
2 |
1 |
|
Сброс переноса |
1 |
1 |
|
Установка бита |
2 |
1 |
|
Установка переноса |
1 |
1 |
|
Инверсия бита |
2 |
1 |
|
Инверсия переноса |
1 |
1 |
|
Группа команд передачи управления |
|||
Длинный вызов программы |
3 |
2 |
Абсолютный вызов подпрограм- |
2 |
2 |
|
мы в странице 2 Кбайта |
|||
|
|
||
Длинный переход |
3 |
2 |
|
Абсолютный переход в странице |
2 |
2 |
|
размером 2 Кбайт |
|||
|
|
||
Короткий относительный переход |
2 |
2 |
|
Сравнение аккумулятора с байтом |
|
|
|
по адресу ad и переход, если не рав- |
3 |
2 |
|
но |
|
|
|
Сравнение байта из РПД с констан- |
3 |
2 |
|
той и переход, если не равно |
|||
|
|
||
Сравнение аккумулятора с констан- |
3 |
2 |
|
той и переход, если не равно |
|||
|
|
Операция
(C) (C) (b)
(C) (C) ( b )
(C) (C) (b)
(C) (C) ( b )
(b) 0
(C) 0
(b) 1
(C) 1
(b) ( b )
(C) ( C )
(PC) (PC)+3, (SP) (SP)+2, (SP-1) (PC0-7),
(SP) (PC8-15), (PC) ad16
(PC) (PC)+2, (SP) (SP)+2, (SP-1) (PC0-7),
(SP) (PC8-15), (PC0-10) ad11
(PC) ad16
(PC0-10) ad11
(PC) (PC)+2+r el
(PC) (PC)+3,
если (А) (ad), то
(PC) (PC)+rel
(PC) (PC)+3, если ((Ri)) #d,
то
(PC) (PC)+rel
(PC) (PC)+3,
если (А) #d, то
(PC) (PC)+rel
39
Мнемокод |
Название |
ай т |
и кл |
Операция |
|
CJNE |
Сравнение регистра с константой |
|
|
(PC) (PC)+3, |
|
3 |
2 |
если (Rn) #d, то |
|||
Rn,#d,rel |
и переход, если не равно |
||||
|
|
(PC) (PC)+rel |
|||
|
|
|
|
||
|
|
|
|
(PC) (PC)+2, |
|
DJNZ ad,rel |
Декремент байта по адресу ad и |
3 |
2 |
(ad) (ad)-1, |
|
переход, если не нуль |
если (ad) 0, то |
||||
|
|
|
|||
|
|
|
|
(PC) (PC)+rel |
|
|
|
|
|
(PC) (PC)+2, |
|
DJNZ Rn,rel |
Декремент регистра и переход, |
2 |
2 |
(Rn) (Rn)-1, |
|
если не нуль |
если (Rn) 0, то |
||||
|
|
|
|||
|
|
|
|
(PC) (PC)+rel |
|
|
|
|
|
(PC) (PC)+3, |
|
JB bit,rel |
Переход, если бит равен единице |
3 |
2 |
если (b)=1, то |
|
|
|
|
|
(PC) (PC)+rel |
|
|
|
|
|
(PC) (PC)+3, |
|
JBC bit,rel |
Переход, если бит установлен, с |
3 |
2 |
если (b)=1, то |
|
последующим сбросом бита |
(b) 0, |
||||
|
|
|
|||
|
|
|
|
(PC) (PC)+rel |
|
|
Переход, если перенос равен еди- |
|
|
(PC) (PC)+2, |
|
JC rel |
2 |
2 |
если (C)=1, то |
||
нице |
|||||
|
|
|
(PC) (PC)+rel |
||
|
|
|
|
||
JMP |
Косвенный относительный пере- |
1 |
2 |
(PC) (А)+(DPT |
|
@A+DPTR |
ход |
R) |
|||
|
|
||||
|
|
|
|
(PC) (PC)+3, |
|
JNB bit,rel |
Переход, если бит равен нулю |
3 |
2 |
если (b)=0, то |
|
|
|
|
|
(PC) (PC)+rel |
|
|
Переход, если перенос равен ну- |
|
|
(PC) (PC)+2, |
|
JNC rel |
2 |
2 |
если (C)=0, то |
||
лю |
|||||
|
|
|
(PC) (PC)+rel |
||
|
|
|
|
||
|
Переход, если аккумулятор не равен |
|
|
(PC) (PC)+2, |
|
JNZ rel |
2 |
2 |
если (А) 0, то |
||
нулю |
|||||
|
|
|
(PC) (PC)+rel |
||
|
|
|
|
||
|
Переход, если аккумулятор равен |
|
|
(PC) (PC)+2, |
|
JZ rel |
2 |
2 |
если (А)=0, то |
||
нулю |
|||||
|
|
|
(PC) (PC)+rel |
||
|
|
|
|
||
|
|
|
|
(PC8-15) ((SP)) |
|
RET |
Возврат из подпрограммы |
1 |
2 |
(PC0-7) ((SP)-1) |
|
|
|
|
|
(SP) (SP)-2 |
40
Мнемокод |
Название |
ай т |
и кл |
Операция |
|
|
Возврат из подпрограммы обра- |
|
|
(PC8-15) ((SP)) |
|
RETI |
1 |
2 |
(PC0-7) ((SP)-1) |
||
ботки прерывания |
|||||
|
|
|
(SP) (SP)-2 |
||
|
|
|
|
||
NOP |
Нет операции |
1 |
1 |
(PC) (PC)+1 |