Программирование микропроцессорных устройств
Основным применением микропроцессоров КР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 |
|
|
0013 |
47 |
/5 |
MOV В,А |
|
|
ЗА 53 00 |
/13 |
LDA а16 |
|
|
0017 |
4F |
/4 |
MOV С,А |
|
|
ЗА 52 00 |
/ 13 |
LDA а16 |
|
|
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 А,С |
|
|
001F |
17 |
/4 |
RAL |
|
|
0020 |
82 |
/4 |
ADD D |
|
|
|
/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
|
Адрес ЯП |
Код команды |
Метка / кол-во МТ в команде |
Мнемоника команды |
Выполняемые операции |
|
ОНО
|
|
Р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 |
|
|
0115 |
1F |
/4 |
RAR |
|
|
0116 |
57 |
/5 |
MOV D.A |
|
|
ЗА
|
/13 |
LDA al 6 |
(A) <—X3 или (A) <—21 |
|
011А |
17 |
/4 |
RAL |
(A) <—X3’2 или (A) <—2Г2 |
|
011В |
82 |
/4 |
ADD D |
|
|
011С ОПР 011Е |
|
/ 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. Где используется автоматизация на базе МП?