Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Соловьеву (Восстановлен).docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.13 Mб
Скачать

Контрольные вопросы к лабораторной работе № 4

  1. Способы вычисления номера нажатой клавиши.

  2. Способы подавления дребезга кнопок.

  3. Требования к временным интервалам динамического сканирования клавиатуры и дисплея.

  4. Использование табличного вычисления функций при работе с клавиатурой и семисегментным дисплеем.

  5. Различные способы преобразования BIN->BCD.

  6. Вывод на индикаторы вещественных чисел.

  7. Программная регулировка яркости семисегментных индикаторов.

Приложение А. Системакоманд CIP-51

Мнемоника команды

Описание

Байты

Циклы

АРИФМЕТИЧЕСКИЕОПЕРАЦИИ

ADDA,Rn

Сложениеаккумуляторас регистром(n=0…7)

1

1

ADDA,direct

Сложениеаккумуляторас прямо-адресуемымбайтом

2

2

ADDA,@Ri

Сложениеаккумуляторас косвенно-адресуемымбайтомОЗУ

1

2

ADDA,#data

Сложениеаккумуляторас константой

2

2

ADDCA,Rn

Сложениеаккумуляторас регистроми переносом

1

1

ADDCA,direct

Сложениеаккумуляторас прямо-адресуемымбайтоми переносом

2

2

ADDC A,@Ri

Сложениеаккумулятораскосвенно-адресуемымбайтомОЗУипереносом

1

2

ADDCA,#data

Сложениеаккумуляторас константой и переносом

2

2

SUBB A,Rn

Вычитаниеиз аккумуляторарегистраи заема

1

1

SUBB A,direct

Вычитаниеиз аккумуляторапрямо-адресуемогобайтаи заема

2

2

SUBB A,@Ri

Вычитаниеизаккумуляторакосвенно-адресуемогобайтаОЗУизаема

1

2

SUBB A,#data

Вычитаниеиз аккумулятораконстантыи заема

2

2

INCA

Инкрементаккумулятора

1

1

INC Rn

Инкрементрегистра

1

1

INC direct

Инкрементпрямо-адресуемогобайта

2

2

INC @Ri

Инкременткосвенно-адресуемогобайтаОЗУ

1

2

DEC A

Декрементаккумулятора

1

1

DEC Rn

Декрементрегистра

1

1

DEC direct

Декрементпрямо-адресуемогобайта

2

2

DEC @Ri

Декременткосвенно-адресуемогобайтаОЗУ

1

2

INC DPTR

Инкрементуказателяданных

1

1

MUL AB

Умножениеаккумуляторана регистрВ

1

4

DIVAB

Делениеаккумуляторана регистрВ

1

8

DAA

Десятичнаякоррекцияаккумулятора

1

1

ЛОГИЧЕСКИЕОПЕРАЦИИ

ANLA,Rn

ЛогическоеИаккумулятораи регистра

1

1

ANLA,direct

ЛогическоеИаккумулятораи прямо-адресуемогобайта

2

2

ANL A,@Ri

ЛогическоеИаккумулятораи косвенно-адресуемогобайтаОЗУ

1

2

ANLA,#data

ЛогическоеИаккумулятораи константы

2

2

ANLdirect,A

ЛогическоеИпрямо-адресуемогобайтаи аккумулятора

2

2

ANLdirect,#data

ЛогическоеИпрямо-адресуемогобайтаи константы

3

3

ORLA,Rn

ЛогическоеИЛИаккумулятораи регистра

1

1

ORL A,direct

ЛогическоеИЛИаккумулятораи прямо-адресуемогобайта

2

2

ORL A,@Ri

ЛогическоеИЛИаккумулятораи косвенно-адресуемогобайтаОЗУ

1

2

ORLA,#data

ЛогическоеИЛИаккумулятораи константы

2

2

ORL direct,A

ЛогическоеИЛИпрямо-адресуемогобайтаи аккумулятора

2

2

ORLdirect,#data

ЛогическоеИЛИпрямо-адресуемогобайтаи константы

3

3

XRLA,Rn

ИсключающееИЛИаккумулятораи регистра

1

1

XRL A,direct

ИсключающееИЛИаккумулятораи прямо-адресуемогобайта

2

2

XRL A,@Ri

ИсключающееИЛИаккумулятораикосвенно-адресуемогобайтаОЗУ

1

2

XRLA,#data

ИсключающееИЛИаккумулятораи константы

2

2

XRL direct,A

ИсключающееИЛИпрямо-адресуемогобайтаи аккумулятора

2

2

XRLdirect,#data

ИсключающееИЛИпрямо-адресуемогобайтаи константы

3

3

CLR A

Сбросаккумулятора

1

1

CPLA

Инверсияаккумулятора

1

1

RLA

Сдвиг аккумуляторавлевоциклический

1

1

RLC A

Сдвиг аккумуляторавлевочерезперенос

1

1

Мнемоника команды

Описание

Байты

Циклы

RR A

Сдвиг аккумуляторавправоциклический

1

1

RRC A

Сдвиг аккумуляторавправочерезперенос

1

1

SWAPA

Обмен местамитетрадваккумуляторе

1

1

КОМАНДЫПЕРЕДАЧИДАННЫХ

MOVA,Rn

Пересылкаваккумуляториз регистра(n=0…7)

1

1

MOVA,direct

Пересылкаваккумуляторпрямо-адресуемогобайта

2

2

MOVA,@Ri

Пересылкаваккумуляторкосвенно-адресуемогобайтаОЗУ

1

2

MOVA,#data

Загрузкаваккумуляторконстанты

2

2

MOVRn,A

Пересылкаврегистриз аккумулятора

1

1

MOVRn,direct

Пересылкаврегистрпрямо-адресуемогобайта

2

2

MOVRn,#data

Загрузка врегистрконстанты

2

2

MOVdirect,A

Пересылкапопрямомуадресуаккумулятора

2

2

MOVdirect,Rn

Пересылкапопрямомуадресурегистра

2

2

MOV direct,direct

Пересылкапрямо-адресуемогобайтапопрямомуадресу

3

3

MOVdirect,@Ri

Пересылкакосвенно-адресуемогобайтаОЗУ попрямомуадресу

2

2

MOVdirect,#data

Пересылкапопрямомуадресуконстанты

3

3

MOV@Ri,A

Пересылкавкосвенно-адресуемуюячейкуОЗУ аккумулятора

1

2

MOV @Ri,direct

Пересылкавкосвенно-адресуемуюячейкуОЗУ прямо-адресуемого

Байта

2

2

MOV @Ri,#data

Пересылкавкосвенно-адресуемуюячейкуОЗУ константы

2

2

MOVDPTR,#data16

Загрузкауказателяданных

3

3

MOVCA,@A+DPTR

Пересылкаваккумуляторбайтаиз памяти программ

1

3

MOVCA,@A+PC

Пересылкаваккумуляторбайтаиз памяти программ

1

3

MOVXA,@Ri

Пересылкаваккумуляторбайтаиз внешней памяти данных

1

3

MOVX@Ri,A

Пересылкабайтаиз аккумуляторавовнешнююпамятьданных

1

3

MOVXA,@DPTR

Пересылкаваккумуляториз расширеннойвнешней памяти данных

1

3

MOVX@DPTR,A

Пересылкаизаккумулятораврасширеннуювнешнююпамятьданных

1

3

PUSHdirect

Загрузкавстек

2

2

POP direct

Извлечениеиз стека

2

2

XCHA,Rn

Обмен аккумуляторас регистром

1

1

XCHA,direct

Обмен аккумуляторас прямо-адресуемымбайтом

2

2

XCH A,@Ri

Обмен аккумуляторас косвенно-адресуемымбайтомОЗУ

1

2

XCHDA,@Ri

Обмен младшейтетрадыаккумуляторас младшейтетрадой

косвенно-адресуемогобайтаОЗУ

1

2

ОПЕРАЦИИСБИТАМИ

CLR C

Сброспереноса

1

1

CLR bit

Сбросбита

2

2

SETB C

Установкапереноса

1

1

SETB bit

Установкабита

2

2

CPL C

Инверсияпереноса

1

1

CPL bit

Инверсиябита

2

2

ANL C,bit

ЛогическоеИбитаи переноса

2

2

ANL C,/bit

ЛогическоеИинверсии битаи переноса

2

2

ORL C,bit

ЛогическоеИЛИбитаи переноса

2

2

ORL C,/bit

ЛогическоеИЛИинверсии битаи переноса

2

2

MOV C,bit

Пересылкабитавперенос

2

2

MOV bit,C

Пересылкапереносавбит

2

2

JC rel

Переход,если переносравен единице

2

2/3

Мнемоника команды

Описание

Байты

Циклы

JNC rel

Переход,если переносравен нулю

2

2/3

JB bit,rel

Переход,если битравен единице

3

3/4

JNB bit,rel

Переход,если битравен нулю

3

3/4

JBC bit,rel

Переход,если битустановлен,с последующимсбросомбита

3

3/4

ПРОГРАММНЫЕПЕРЕХОДЫ

ACALLaddr11

Абсолютныйвызовподпрограммывпределахстраницыв2Кбайта

2

3

LCALLaddr16

Длинный вызовподпрограммы

3

4

RET

Возвратиз подпрограммы

1

5

RETI

Возвратиз подпрограммыобработкипрерывания

1

5

AJMPaddr11

Абсолютныйпереходвнутристраницыв2Кбайта

2

3

LJMPaddr16

Длинный переходвполномобъемепамяти программ

3

4

SJMP rel

Короткий относительныйпереходвнутристраницыв 256байт

2

3

JMP @A+DPTR

Косвенный относительныйпереход

1

3

JZ rel

Переход,если аккумуляторравен нулю

2

2/3

JNZ rel

Переход,если аккумуляторне равен нулю

2

2/3

CJNE A,direct,rel

Сравнениеаккумуляторас прямо-адресуемымбайтоми переход,

если не равно

3

3/4

CJNEA,#data,rel

Сравнениеаккумуляторас константой и переход,если не равно

3

3/4

CJNE Rn,#data,rel

Сравнениерегистрас константой и переход,если не равно

3

3/4

CJNE

@Ri,#data,rel

Сравнениекосвенно-адресуемогобайтаОЗУ с константой и

переход,если не равно

3

4/5

DJNZRn,rel

Декрементрегистраи переход,если не нуль

2

2/3

DJNZ direct,rel

Декрементпрямо-адресуемогобайтаи переход,если не нуль

3

3/4

NOP

Холостаякоманда

1

1

Условныеобозначения:

Rn - РегистрR0-R7 выбранногобанкарегистров.

@Ri–ЯчейкаОЗУданных,адресуемаякосвенночерезрегистрыR0-R1

rel-8-битноесмещениесознаком(вдополнительномкоде)относительнопервогобайтаследующей команды.ИспользуетсякомандойSJMP и всемикомандамиусловныхпереходов.

direct-8-битныйадресячейкивнутреннегоОЗУданных.Этоможетбыть ячейкаОЗУданныхпрямого доступа(0x00-0x7F) или регистрспециальногоназначенияSFR(0x80-0xFF).

#data- 8-битнаяконстанта

#data16-16-битнаяконстанта

bit–Прямо-адресуемыйбитячейкиОЗУданныхили регистраспециальногоназначенияSFR.

addr11- 11-битный адресперехода,используемыйкомандамиACALL и AJMP.Переходдолжен осуществлятьсявпределахтой 2-Kбайтнойстраницыпамяти программ,вкоторойрасположен первыйбайтследующейкоманды.

addr16- 16-битный адресперехода,используемыйкомандамиLCALL и LJMP.Переходможет осуществлятьсявпределахвсего64-Kбайтногопространствапамяти программ.

Существуетодин неиспользуемыйкодоперации(0xA5),который исполняетсяаналогично командеNOP.

На всюмнемонику распространяетсяавторскоеправо©IntelCorporation1980.