≪
≫

Программирование микропроцессорных устройств

Основным применением микропроцессоров КР580ВМ80А является автоматизация измерительных приборов. На их основе построены цифровые вольтметры, измерительные приборы и другие автоматизированные устройства.

Подробно вопросы программирования микропроцессорных устройств рассмотрены в [16]. Чтобы ознакомиться с основами программирования таких устройств, рассмотрим два простейших примера.

Пример 1. Пусть заданные десятичные числа Xt = 13, Х2 = 15 и Лз = 21 хранятся в соседних ячейках памяти (ЯП) с адресами 0051 |б, 0052|б и 005316 соответственно. Требуется найти выражение F, = (Х + Х2)/2 + Х32 и разместить результат в ЯП с адресом 005416- Программа вычислений, размещенная в ячейках памяти, начиная с адреса 001016, показана в табл. 2.5, где адреса ячеек памяти и коды команд приведены в 76-ричном коде. Заметим, что метки в программах (как и метка F) используются для указания начала конкретной программы или отдельных часто повторяющихся ее подпрограмм.

Таблица 2.5

Адрес ЯП

Код команды

Метка/ кол-во МТ в команде

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

Выполняемые операции

1

2

3

4

5

0010

ООН 0012

ЗА 51 00

F,/13

LDA al6

  • (А) <—((0051|6)), т. е.
  • (А)<— Х или
  • (А) ^13

0013

47

/5

MOV В,А

  • (В)<— (А) или
  • (В) 13
  • 0014
  • 0015
  • 0016

ЗА 53 00

/13

LDA а16

  • (А) <-((0053,6)), т.е.
  • (А) <— Х3 или
  • (А) ^21

0017

4F

/4

MOV С,А

  • (С) <- (А), т. е.
  • (С) <— Х3 или
  • (С) <-21
  • 0018
  • 0019
  • 001А

ЗА 52 00

/ 13

LDA а16

  • (А) ((005216)). т. е.
  • (А) <— Х2 или
  • (А) <-15

001В

80

/4

ADD В

(А) <- (А) + (В), т. е. (А) <— (Х2 + Х|) или (X) <— (15 + 13)

001С

1F

/4

RAR

(А) <- (Х2 + Х,)/2 или (А) <- (15 + 13)/2

Окончание табл. 2.5

I

2

3

4

5

001D

57

/5

MOV D,А

(D)«- (X, + Х,)/2 или (?>)<-(15+ 13)72

001Е

79

/5

MOV А,С

  • (Л) (С), т. е.
  • (А) <- (X.,) или (А)«— 21

001F

17

/4

RAL

  • (А)«— (Хз‘2) или
  • (А) <—21-2

0020

82

/4

ADD D

  • (А) (Ху2) + (Х2 +Xi)/2;
  • (А) <—21-2 + (15+ 13)72 = 56
  • 0021
  • 0022
  • 0023
  • 32
  • 54
  • 00

/13

STA а!6

((0054|6)) <- (Х3-2) + + (Х2 + Х|)/2 или ((0054|6)) <- 56

Итак, суммарное количество МТ в программе 88, а время выполнения -44 мкс

Следует отметить, что система команд МП позволяет решать одну и ту же задачу с помощью разных команд и, следовательно, за разнос время. При использовании машинных языков или языка Ассемблер это позволяет минимизировать время выполнения программ.

Пример 2. Программа с меткой для решения задачи примера 1 путем замены некоторых команд LDA а!6 на команду LHLD а16 приведена в табл. 2.6 и размещена в ячейках памяти начиная с адреса 0110|б.

Из табл. 2.6 видно, что данная программа выполняется за 68 МТ, то сеть 68 0,5 = 34 мкс. Иначе говоря, время решения поставленной задачи уменьшилось на 10 мкс по сравнению с примером I.

Таблица 2.6

Адрес ЯП

Код команды

Метка / кол-во МТ в команде

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

Выполняемые операции

ОНО

  • 0111
  • 0112
  • 2А
  • 51
  • 00

Р2/16

LHLD а16

(й)^(х,), (L)<-(X2),t. e. (//)«— ((005116)), (L)<-((005216)) или (//)<- 13, (L)<- 15

0113

7С

/5

MOV А,И

(A) <— (X|) или (A) <— 13

0114

85

/4

ADD L

  • (A)<- (X, + X2) или
  • (A) <-(13 + 15)

0115

1F

/4

RAR

  • (A)<- (X, + X2)/2;
  • (A) <—(13+ 15)/2

0116

57

/5

MOV D.A

  • (P) <- (X, + X2)/2;
  • (P) <— (13 + 15)/2
  • 0117
  • 0118
  • 0119

ЗА

  • 53
  • 00

/13

LDA al 6

(A) <—X3 или (A) <—21

011А

17

/4

RAL

(A) <—X3’2 или (A) <—2Г2

011В

82

/4

ADD D

  • (A) <- X3‘2 + (X, + X2)/2 или (A) <—21-2 + (13+ 15)/2;
  • (A) <- 56

011С

ОПР

011Е

  • 32
  • 54
  • 00

/ 13

STA al6

((0054l6)) <- 2Г2 + (13 + 15)/2 или ((0054,6)) <- 56

Контрольные вопросы по разделу

  • 2
  • 1. Перечислите причины необходимости автоматизации?
  • 2. Поясните четыре этапа автоматизации.
  • 3. Определение качества системы и виды обеспечений.
  • 4. Определение и классификация датчиков в строительстве.
  • 5. Определение и архитектура микропроцессора (МП).
  • 6. Назначение основных блоков МП типа КР580ВМ80А.
  • 7. Назначение сигналов шины управления МП.
  • 8. Краткое описание принципа действия МП.
  • 9. Работа МП при выполнении команды SHLD а 16.
  • 10. Определение и состав МПН серии КР580.
  • 11. Определение и структура CPU.
  • 12. Понятие и структура микропроцессорной системы (МПС).
  • 13. Классификация команд CPU серии КР580.
  • 14. Поясните команды пересылки данных.
  • 15. Поясните команды арифметических, логических и сдвиговых операций.
  • 16. Поясните команды передачи управления.
  • 17. Примеры программирования на языке МП.
  • 18. Где используется автоматизация на базе МП?
 
Посмотреть оригинал