Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вычислительная техника

..pdf
Скачиваний:
7
Добавлен:
05.02.2023
Размер:
2.28 Mб
Скачать

131

мера нажатой клавиши. Устранение дребезга происходит при повторных запусках АЦП. Достаточно несколько раз подряд определить нажатие одной и той же клавиши и можно считать ее нажатой. Отсутствие нажатых клавиш определяется очень легко по значению кода АЦП.

+U

ОЭВМ

 

R

0

 

In_ADC

 

R

1

 

R

 

R

Y

 

R

Z

R

Рисунок 5.24 – Клавиатура с делителями напряжения

В такой клавиатуре просто решается вопрос обработки нескольких, одновременно нажатых, клавиш. В этом случае будет определен код наиболее близкой ко входу АЦП клавиши.

5.4Контрольные вопросы

1.Что такое ВЛИ? Объясните принцип их работы.

2.Какие физические эффекты используются при работе ЖКИ?

3.Почему для питания ЖКИ необходимо использовать двухфазное питание?

4.Расшифруйте аббревиатуру ППЗСИ. Объясните принцип работы.

5.Какой ресурс работы у ВЛИ, ЖКИ и ППЗСИ?

6.Как работает электронная бумага и где ее применяют?

7.Какие достоинства и недостатки у электронной бумаги?

8.Что такое матричная клавиатура?

9.Опишите принцип работы и достоинства клавиатуры с использованием АЦП.

132

6CПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1.Гребешков А.Ю. Вычислительная техника, сети и телекоммуникации: Учебное пособие. — Москва : Горячая линия-Телеком,

2015. — 190 с.

2.Магда Ю.С. Микроконтроллеры серии 8051: практический подход. — Москва : ДМК Пресс, 2010. — 228 с.

3.Грошева Л.С. Архитектура микроконтроллеров MCS-51. — Нижний Новгород : ВГУВТ, 2014. — 68 с.

4.Лошаков С. Периферийные устройства вычислительной техники: учебное пособие / С. Лошаков. — Москва : , 2016. — 435 с.

5.Электронные вычислительные машины : практическое пособие для вузов в 8 кн. / ред. А. Я. Савельев. - М. : Высшая школа, 1987

-. Кн. 1 : Введение в ЭВМ : учебное пособие / А. Я. Савельев [и др.]. - М. : Высшая школа, 1987. - 159 с.

6.Максимов Н.В. Архитектура ЭВМ и вычислительных систем: учебник / Н. В. Максимов, Т. Л. Партыка, И. И. Попов. - 4-е изд., перераб. и доп. - М. : ФОРУМ, 2012. - 511 с.

7.Фрунзе А.В. Микроконтроллеры? Это же просто! Т. 1. — Москва : ДМК Пресс, 2010. — 311 с.

8.Матюшин А.О. Программирование микроконтроллеров: стратегия и тактика. — Москва : ДМК Пресс, 2017. — 356 с.

9.Хартов В.Я. Микропроцессорные системы : учебное пособие для вузов / В. Я. Хартов. - М. : Академия, 2010. - 352 с.

10.Бикташев Р.А. Введение в вычислительную технику: учебное пособие / Р.А. Бикташев, Л.И. Федосеева. — Пенза : ПензГТУ,

2012. — 116 с.

11.Чернышов А.В. Инструментальные средства программирования и их применение в современной вычислительной технике. — Москва : МГТУ им. Н.Э. Баумана, 2010. — 192 с.

12.Белов А.В. Создаем устройства на микроконтроллерах. — Санкт-Петербург : Наука и Техника, 2007. — 304 с.

13.Кузяков О.Н. Проектирование систем на микропроцессорах. — Тюмень : ТюмГНГУ, 2014. — 104 с.

14.Однокристальный микроконтроллер семейства MCS-51

фирмы INTEL 8XC51GB.– Томск: ТОО «SDD», 1995.– 126 с.

133

ПРИЛОЖЕНИЕ А

(СПРАВОЧНОЕ)

СПИСОК КОМАНД ОЭВМ КМ1816ВЕ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 DPTR,#d16

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

3

2

(DPTR) #d16

словом

 

 

 

 

 

 

 

 

 

MOV Rn,#d

Загрузка в регистр (n=0 7)

2

1

(Rn) #d

константы

 

 

 

 

 

 

 

 

 

134

Мнемокод

Название

Байты

Циклы

Операция

 

 

 

 

 

 

 

 

Пересылка в регистр

 

 

 

MOV Rn,A

(n=0 7) байта из аккумуля-

1

1

(Rn) (А)

 

тора

 

 

 

 

 

 

 

 

MOV Rn,ad

Пересылка в регистр с пря-

2

2

(Rn) (ad)

мого адреса

 

 

 

 

 

 

 

 

 

MOVC A,@A+DPTR

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

1

2

(А) ((А)+(DPTR))

байта из ПП

 

 

 

 

 

 

 

 

 

MOVC A,@A+PC

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

1

2

(А) ((А)+(PC))

байта из ПП

 

 

 

 

 

 

 

 

 

MOVX @DPTR,A

Пересылка в расшир. ВПД

1

2

((DPTR)) (А)

из аккумулятора

 

 

 

 

 

 

 

 

 

MOVX A,@DPTR

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

1

2

(А) ((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)

муляторе

 

 

 

 

 

 

 

 

 

135

 

Мнемокод

Название

Байты

Циклы

Операция

 

 

 

 

 

 

 

 

 

 

 

Группа арифметических операций

 

 

 

 

 

 

 

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

том из РПД (i=0,1) и пере-

1

1

(А) (А)+((Ri))+(C)

 

 

носом

 

 

 

 

 

 

 

 

 

 

 

Сложить аккумулятор с бай-

 

 

 

ADDC A,ad

том по адресу ad и перено-

2

1

(А) (А)+(ad)+(C)

 

 

сом

 

 

 

 

 

 

 

 

 

 

 

Сложить аккумулятор с ре-

 

 

 

ADDC A,Rn

гистром (n=0 7) и перено-

1

1

(А) (А)+(Rn)+(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)-(C)

байт с адреса ad и заем

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

136

 

Мнемокод

Название

Байты

 

Циклы

Операция

 

 

 

 

 

 

 

 

 

 

 

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

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

2

 

1

(ad) (ad)-1

ad

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

Логическое И байта по ад-

3

 

2

(ad) (ad) #d

ресу ad с константой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANL ad,A

Логическое И байта по ад-

2

 

1

(ad) (ad) (А)

ресу ad с аккумулятором

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

137

 

Мнемокод

Название

Байты

Циклы

Операция

 

 

 

 

 

 

 

 

 

 

 

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

по адресу ad с аккумулято-

2

1

(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), n=0 6

RLC A

1

1

0) (C)

через перенос

 

 

 

 

(C) (А7)

 

 

 

 

 

 

 

 

 

 

 

RRC A

Сдвиг аккумулятора вправо

1

1

n) (Аn+1), n=0 6

через перенос

7) (C) (C) (А0)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Группа битовых операций

 

 

 

 

 

 

 

 

 

 

 

 

MOV bit,C

Пересылка разряда переноса

2

2

(b) (C)

в бит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Мнемокод

MOV C,bit

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

138

Название

Байты

Циклы

Операция

 

 

Пересылка бита в разряд пе-

2

1

(C) (b)

реноса

 

 

 

 

 

 

 

 

 

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

2

2

(C) (C) (b)

носа

 

 

 

 

 

 

 

 

 

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

2

2

(C) (C) (

 

)

и переноса

b

 

 

 

 

 

 

 

 

 

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

2

2

(C) (C) (b)

реноса

 

 

 

 

 

 

 

 

 

Логическое ИЛИ инверсии

2

2

(C) (C) (

 

)

бита и переноса

b

 

 

 

 

 

 

 

 

 

Сброс бита

2

1

(b) 0

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

1

1

(C) 0

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

2

1

(b) 1

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

1

1

(C) 1

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

2

1

(b) (

 

 

)

b

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

1

1

(C) (

 

)

C

 

 

 

 

 

 

 

 

 

 

Группа команд передачи управления

 

 

 

(PC) (PC)+3,

 

 

 

(SP) (SP)+2,

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

3

2

 

 

 

 

(SP-1) (PC0-7),

 

 

 

(SP) (PC8-15),

 

 

 

(PC) ad16

 

 

 

(PC) (PC)+2,

Абсолютный вызов подпро-

2

2

(SP) (SP)+2,

 

граммы в странице 2 Кбайта

 

 

(SP-1) (PC0-7),

 

 

(SP) (PC8-15),

 

 

 

 

 

 

(PC0-10) ad11

Длинный переход

3

2

(PC) ad16

Абсолютный переход в

2

2

(PC0-10) ad11

странице размером 2 Кбайт

 

 

 

Короткий относительный

2

2

(PC) (PC)+2+rel

переход

 

 

 

 

 

 

 

139

Мнемокод

Название

Байты

Циклы

Операция

 

 

 

 

 

 

 

 

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

 

 

(PC) (PC)+3,

CJNE A,ad,rel

байтом по адресу ad и пере-

3

2

если (А) (ad), то

 

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

 

 

(PC) (PC)+rel

 

 

 

 

 

 

Сравнение байта из РПД с

 

 

(PC) (PC)+3,

CJNE @Ri,#d,rel

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

3

2

если ((Ri)) #d, то

 

равно

 

 

(PC) (PC)+rel

 

 

 

 

 

 

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

 

 

(PC) (PC)+3,

CJNE A,#d,rel

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

3

2

если (А) #d, то

 

равно

 

 

(PC) (PC)+rel

 

 

 

 

 

 

Сравнение регистра с кон-

 

 

(PC) (PC)+3,

CJNE Rn,#d,rel

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

3

2

если (Rn) #d, то

 

равно

 

 

(PC) (PC)+rel

 

 

 

 

 

 

 

 

 

(PC) (PC)+2,

DJNZ ad,rel

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

3

2

(ad) (ad)-1,

ad и переход, если не нуль

если (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,

 

 

 

если (b)=1, то

JBC bit,rel

лен, с последующим сбросом

3

2

(b) 0,

 

бита

 

 

 

 

 

(PC) (PC)+rel

 

 

 

 

 

 

 

 

 

 

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

 

 

(PC) (PC)+2,

JC rel

2

2

если (C)=1, то

единице

 

 

 

(PC) (PC)+rel

 

 

 

 

 

 

 

 

 

JMP @A+DPTR

Косвенный относительный

1

2

(PC) (А)+(DPTR)

переход

 

 

 

 

 

 

 

 

 

 

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

 

 

(PC) (PC)+3,

JNB bit,rel

3

2

если (b)=0, то

лю

 

 

 

(PC) (PC)+rel

 

 

 

 

 

 

 

 

 

140

Мнемокод

Название

Байты

Циклы

Операция

 

 

 

 

 

 

 

 

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

 

 

(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

 

 

 

 

 

 

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

 

 

(PC8-15) ((SP))

RETI

1

2

(PC0-7) ((SP)-1)

обработки прерывания

 

 

 

(SP) (SP)-2

 

 

 

 

 

 

 

 

 

NOP

Нет операции

1

1

(PC) (PC)+1