14.6. Програмування пристроїв автоматики

Мета: освоїти основні етапи синтезу пристроїв автоматики на базі мікро­процесорів , що включають розробку блок - схеми алгоритму і написання про­грами.

Приклад: Класична схема комплекту пристрою автоматики складається з (рис .14.6): ПЕ, перетворювача контрольованої величини (ПКВ) в нормований сигнал, пристрою обробки початкової інформації (МП), формувача керуючого сигналу (ФКС) і ВЕ.

X і

М ПЕ


Рис .14.7 - Концептуальна схема алгоритму

Допустимо (умова задається): формати вхідного сигналу (слова) - 0 0 0 0 0 1 0 0 (порт введення), а вихідного - 0 0 1 0 0 0 0 0 (порт висновку). Задаємо: порт введення - "27D" - > 1BH (27-16=16+11=1 ВН) і порт виводу - "42D" - > 2AH (42-16-16 = 32+10= 2АН).

- Підготуємо функціональну схему алгоритму (рис.14.8).

Подпись:
Рис .14.8 - Функціональна схема алгоритму

- Підготуємо лістинг програми

(табл.14.5).

на асемблері в прийнятому форматі

Для підготовки тексту програми слід скористатися документацією для МП КР580 (всі МП мають таку довідкову інформацію), в якій є перелік всіх ко­

манд ( табл. Д2). Коментарії в лістингу пояснюють операції, що плануються для реалізації управління ВЕ за допомогою МПП.

Завдання: набрати текст програми, виконати компіляцію. Виправити ви­явлені помилки. Внести в програму зміни, ілюструючи своє індивідуальне ви­рішення відомої задачі. Проглянути код програми в пам'яті МПП за допомогою спеціальної програми для редагування текстів.


Для вивчення готових програмних продуктів користуються кодами про­грам, які легко проглянути за допомогою програм - переглядачів пам'яті МПП. Фрагмент програми у двійкових машинних кодах (об'єктна програма) ілюструє табл.14.6.

0410 0420

IF CD 09 F8 C9 1B 39 2C 34 20 2B 77 79 62 63 72 23 21 FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Завдання: користуючись табл.Д2, відновити лістинг фрагмента програми відповідно до індивідуального завдання. Оформити лістинг, використовуючи приклад (табл.14.7) фрагменту з адреси ХХХХ до ХХХХ.

Таблиця 14.7 - Фрагмент відновленого лістингу програми (1103 - 120В)

«адреса»   «код»      «мнемокод»        «коментар»

4f         mov c,a            ; переслати з А в С

d630    sui 30h ;

1106    fe0d     cpi 0dh            ;

1108    D20611           JNC 1106        ;

1111    CD09FB         CALL FB09   ;

80        add в   ;

47        mov b,a           ;

1116

Примітка: Для написання програм і різних експериментів з готовими програмами доцільно використовувати редактори й переглядачі програм, що входять в комплект Windows - додатку "SinSys" v.1.07 і вище або інших вільно поширюваних навчальних програм, але при цьому слід враховувати їх призна­чення тільки для конкретних мікропроцесорів.

ДОДАТКИ

Таблиця Д1 - Варіанти завдання

Подпись:

1

2

3

4

5

 

MOV D, D

52

1

4

P)<-(D)

 

MOV D, E

53

1

4

(D)*-(E)

 

MOV D, H

54

t

4

CP) <- (И)

 

MOVD.L

55

J

4

(D)<-(1)

 

MOV D, M

56

2

7

<P)<~(M<H,L))

 

MOVE, A

5F

1

4

(E)*- (A)

 

MOV E, В

58

1

4

(E)«-(B)

 

MOV E, С

59

I

4

<E)*-(C)

 

MOV E, D

5A

1

4

(E)<~(D)

 

MOV E, E

5B

t

4

(E)<ME)

 

MOV E, H

5C

1

4

CB) <- (H)

 

MOV E, L

5D

і

4

(E)<-(L)

 

MOV E, M

5E

2

7

(E) <- (M(H, L))

 

MOV H, A

67

1

4

(H)<-(A)

 

MOV H, В

60

і

4

<?i> <- (B)

 

MOV H, С

61

1

4

(H) < (Q

 

MOV H, D

62

J

4

(H)<-(D)

 

MOV H, E

63

1

4

(H)<-(E)

 

MOV H, H

64

1

4

(H)<- (П)

 

MOV H, L

65

1

4

(H)<-(L)

 

MOV H, M

66

2

7

(H)4-(M(H,L»

 

MOV L, A

6F

1

4

(L)<-(A)

 

MOV L, В

68

1

4

<L)<-(B)

 

MOV L, С

69

1

4

(L)<-(C)

 

MOV L, D

6A

1

4

(L)<~(D)

 

MOV L, E

6B

1

4

(L)<-(E)

 

MOV L, H

6C

1

4

(L)4-(H)

 

MOV L, L

6D

1

4

CL)+-(L)

 

MOV L, M

6E

2

7

(L)^CMCH,L))

 

MOV M, A

77

2

7

*(M(H,L))*-(A)

 

MOV M, В

70

2

7

(М<Н,Ю)<-<В>

 

MOV M. С

71

2

7

(M(H. L)) <-• (Q

 

MOV M, D

72

2

7

(M(H,L))^-P)

 

MOV M, E

73

2

7

(М(Н* Ь» <- (E)

 

1

2

3

4

5

MOV м, н

74

2

7

(M(H, L)) <- (H)

MOV М, L

75

2

7

(M(H,L))<-(L)

MVI A, Ba(data)

3E

2

7

(A) <- B2

MVI В, B2 (data)

06

2

7

(В) *- B2

MVI С, B2 (data)

OE

2

7

(С) <- B2

MVI D, B2 (data)

16

2

7

(D) < B2

MVI E. Bi (data)

IE

2

7

(E)<- B2

MVI H,B2(data)

26

2

7

(H)<-B2

MVI L, B2 (data)

2E

2

7

(L)<-B2

MVI M, Bi (data)

36

3

10

(M(Ht L)) B2

LXI В, Вг Вз (data)

01

3

10

(Д Q    ВЗ B2

LXI D, Вз Вз (data)

11

3

10

(D, E)<-B3B2

LXI H, Вг Вз (data)

21

3

10

(H, L) 4- ВЗ B2

LXI SP, B2 Вз (data)

31

3

10

(SP) <~ ВЗ B2

LDAX В

OA

2

7

(A)<-(M(B,C))

LDAX D

1A

2

7

CA)*"(M(D,E))

LHLD Вз Bj (addr)

2A

5

16

(H,L) <- (M(B3 B2))

LDA B2 Bj (addr)

ЗА

4

13

(A) <- (M(B3 B2))

STA Вг Вэ (addr)

62

3

13

M(B3 B2) <- (A)

STAXB

02

1

7

M(B, C) <- (A)

STAXD

12

1

Г7_

M(D, E) <- (A)

 

 

 

 

Арифмсппнс складання;

ADDA

87

1

4

(A) <- (Л)+(Л)

ADD В

80

1

4

(A)<-(A)+(B)

ADD С

31

1

4

(A)<-(A)+(C)

ADD D

82

1

4

(A)*-(A)+(D)

ADDE

83

J

4

<A)<-(A)+(E)

ADDH

84

1

4

(A)<-(A)+(H)

ADD L

85

1

4

(A)*-(A)+(L)

ADD M

86

2

7

■(A)<-(A)+(M<H,L»

ADC A

8F

1

4

(A) <- (A)+(A)+C

ADC В

88

1

4

(A) <- (A)+(B)+C

ADC С

89

1

4

(A)<-(A)+(Q+C

aIX' D

8A

1

4

(A)+-(A)+(D)+C

1

2

3

■1

 

 

ADCE

 

I

 

(А}4--(Л}+(К>+С

 

ADCH

sc

1

 

(л) <- tA>+CH)+C

 

ADCL

3D

1

 

CA)<-(A>+(U+C

 

ADCM

BE

 

 

 

 

 

 

 

 

 

 

sub А

9?

1

 

(Л) *- (А) (Л)

 

sub в

»

1

 

(л) <- (л> - (в)

 

SUB С

 

1

 

 

 

SUBD

92

1

 

(А)    (Л) - <D>

 

SUBE

»

]

 

(A}<-(A}-Q

 

SUBH

94

]

 

t\}*-(A)-№

 

subl

95

*

 

(A),-(A>-{L)

 

subm

96

 

 

 

 

SB13A

9f

1

 

(A)*-CA)-(A)^C

 

sub В

9b

1

 

 

 

sbbc

99

I

 

(ЛМ £A> (Q С

 

sbbl>

9A

i

 

{А)<-(Л)-(Т»-С

 

sbbe

9b

I

 

(Л) ^ (Л) - (J!) С

 

sbbh

9C

L

 

 

 

sbbl

Ю

1

 

(A>*-<A>-(LJ-C

 

SBBM

9e

1

 

(л><-(лі-оип.ц>-с

 

 

 

 

 

JJiunuircc скришиш

 

DAD в

09

3

10

 

 

dad D

19

 

10

 

 

dm) H

29

3

LU

(HXb-fli.lJ+ftU.)

 

DADSP

39

3

10

tfUjK-<H,L>+$P)

 

 

 

 

 

Чї'-'і.и r;ji:inLi| 11-і ■ -_            ід;-'

 

JNK.A

\

 

(Л)<- (.л)+1

 

inrb

OJ

l

 

<вї«~<в)+і

 

1nkc

ОС

\

 

 

 

inrd

14

1

 

 

 

їм* з-:

I

 

(е)^-(е>+1

 

ink H

24

1

 

 

 

 

1

 

 

 

 

2

3

4

5

 

INRM

34

3

10

<M(H,L))*-(M(HtL))+l

 

INXB

03

1

6

(B.O <- (B,C) + 1

 

INXD

13

1

6

(D,E) <- (D,E) + 1

 

INXH

23

I

6

(H,L)<~(H,L) + 1

 

1NXSP

33

1

6

(SP) «- (SP) + 1

 

 

 

 

 

Зменшення на одиницю:

 

DCRA

3D

1

4

(A)<-(A)-1

 

DCRB

05

1

4

<B)«-<B)-1

 

DCRC

0D

1

4

(C)*-(C)-1

 

DCRD

15

1

4

<P)«-<P)-1

 

DCRE

ID

1

4

(E)*-(E)-1

 

DCRH

25

1

4

(H)<-(H)-1

 

DCRL

2D

1

4

<L)«- (L)-l

 

DCRM

35

3

10

(M(HJL))<- (M(H,L)-1

 

DCXB

OB

1

6

(BtQ<-(B,C)-l

 

DCXD

IB

1

6

(D,E)*-(D(E)-1

 

DCXH

2B

1

6

(HtL)+-(H,L)-l

 

DCXSP

3B

1

6

(SP) <- (SP) - 1

 

DAA

27

1

4

Десяткова корекція аку­мулятора

 

 

 

 

 

Інвертування акумулятора

 

С MA

2F

1

4

(А)^(А)

 

 

 

 

 

Встановїпті біт переносу;

 

STC

37

1

4

С v !

 

 

 

 

 

Інвертування переносу:

 

CMC

3F

1

4

с<^ С

 

 

 

 

 

Зсув:

 

RLC

07

1

4

вліво з переносом

 

RRC

OF

1

4

вправо з переносом

 

RAL

17

1

4

циклічний уліво

 

RAR

IF

1

4

циклічний управо

 

 

 

 

 

Логічне множення:

 

ANA A

A7

1

4

(А)<-(А)Л(Л)

 

ANA В

AO

1

4

(А) <- (А) л (В)

 

ANA С

Al

1

4

(A) <- (A) a (Q

 

ANA D

A2

1

4

(A) <- (А) a (D)

 

ANA E

A3

1

4

(A) *- (A) A (E)

 

ANAH

A4

1

4

(A) <- (А) л (H)

 

ANAL

A5

1

4

(A) 4- (A) a (L)

 

ANA M

A6

2

7

(A)<-(A) a(M(H,L))

 

 

 

 

 

Виключне АБО:

 

XRAA

AF

1

4

(А)    (A) V {A)

 

XRAB

A8

1

4

(A)+-(A) V (B)

 

XRAC

A9

1

4

(A)*-(A) V (Q

 

XRAD

AA

}

4

(A)<-(A) V (D)

 

XRAE

AB

1

4

(A) +- (A) V (E)

 

XRAH

AC

1

4

(A)*--(A) V (II)

 

XRAL

AD

1

4

(A)<-(A)V(L) '

 

XRAM

AE

2

7

(A)<-(A) V (M<H,L»

 

 

 

 

 

Логічне АБО:

 

ORAA

B7

1

4

(A) <- (A) V (A)

 

ORAB

BO

1

4

(A)<-(A)V(B)

 

ORAC

Bl

1

4

(A)f-(A)V(Q

 

ORAD

B2

1

4

(A)<-(A) V (D)

 

ORAE

B3

1

4

(A)+-(A)v(E)

 

ORAH

B4

1

4

(A) 4-(A) v (I I)

 

ORAL

B5

1

4

(A)<-(A)v(L)

 

ORAM

B6

2

7

(A) 4- (A) v (M(H,L))

 

 

 

 

 

Порівняти :

 

CMPA

BF

1

4

(A) -(A)

 

CMP В

B8

1

4

(A)~(B)

 

CMP с

B9

1

4

(A)-(C)

 

CMPD

BA

1

4

(A)-(D)

 

CMP E

BB

1

4

(A)-(E)

 

CMPH

ВС

1

4

(A)-(H)

 

CMPL

BD

1

4

(A)-(L)

 

CMPM

BE

2

7

(A)-(M(H,L))

 

 

 

 

 

Безпосередні ДІЇ:

 

ADI Bi (data)

C6

2

7

(A) <- (A) + B2

 

1

2

3

4

5

АСІ В2 (data)

CE

2

7

(A) <- (A) + B2 + С

SUI B:(dala)

D6

2

7

(A) <r~ (A) - B2

SBI B7 (data)

DE

2

7

(A)<- (A)-B2-C

AN I B2 (data)

E6

2

7

(A) <- (А) л в 2

XRI B2 (data)

EE

2

7

(A) <- (A) V B2

ORI B: (data)

F6

2

7

(A) < - (A) v В 2

CPI B: (data)

FE

2

7

(A) — B2

JMP B2B3 (addr)

C3

3

10

Перехід за адресою B3B2

 

 

 

 

Перехід якщо:

JNZ B:Bj(addr)

C2

2/3

7/10

не нуль (2=0)

JZ B2B3 (addr)

CA

2/3

7/10

нуль (Z=l)

JNC B2B3 (addr)

D2

2/3

7/10

немає переносу (С=0)

JC B2B3 (addr)

DA

2/3

7/10

е перенос (С= 1)

JPO B2B3 (addr)

E2

2/3

7/10

ненарність (Р-0)

JPE ВгВз (addr)

EA

2/3

7/10

парність (Р^І)

JP ВШз (addr)

F2

2/3

7/10

додатні сть (S=0)

JM B2B3 (addr)

FA

2/3

7/10

від'ємність (S=l)

PCHL

E9

1

6

(PQ <~ (H,L)

CALL B2B3 (addr)

CD

5

17

Виклик підпрограми

 

 

 

 

Виклик підпрограми якщо:

CNZ B2B3 (addr)

C4

2/5

9/18

не нуль (Z=0)

CZ ВгВз (addr)

CC

2/5

9/18

нуль (Z=l)

CNC B2B3 (addr)

D4

2/5

9/18

немає переносу (С=0)

CC B2B3 (addr)

DC

2/5

9/18

є перенос (С=1)

CPO B2B3 (addr)

E4

2/5

9/18

ненарність (Р=0)

CPE B2B3 (addr)

EC

2/5

9/18

парність (Р~1)

CP B5Bj (addr)

F4

2/5

9/18

додатнісп. (S=0)

CM В:Вз (addr)

FC

2/5

9/18

від'ємність (S=l)

RET

C9

3

10

Повернення з підпрогра-.ми

 

 

 

 

Повернення з підпрогра­ми якщо:

RNZ

CO

1/3

6/12

не нуль (Z=0)

RZ

C8

1/3

6/12

нуль (Z=l)

RNC

DO

1/3

6/12

немає переносу (С=0)


Авторы: 239 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

Книги: 268 А Б В Г Д Е З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я