Расчётно-пояснительная записка к курсовой работе по ОМПТ

Министерство общего и профессионального образования РФ.

Сибирский Государственный  Индустриальный Университет.

Кафедра АЭП и ПЭ.

Расчётно­­­-пояснительная записка к курсовой работе по ОМПТ.

Номер зачётной книжки: 94051

Выполнил студент г. ЗЭПА-95

Лавриненко Д.В.

Руководитель:

Мурышкин А.П.

Оглавление

Условие задания ……………………………………………. 3

Блок-схема устройства ……………………………………... 4

Структурная схема программы ……………………………. 5

Программа в мнемокодах …………………..………………. 6

Список используемой литературы …………………….….. 10

Имеется технологический процесс, управляемый с помощью МПС. Контролируемыми являются шесть координат, представленных в непрерывной (аналоговой) форме:

X1,  X2,  X3,  X4,  X5,  X6.

Алгоритм формирования управляющей функции DY состоит в определении отклонения каждой координаты DX, от предыдущего значения и вычисления выражения:

         

Если DY не превышает по абсолютной величине значение d, то вмешательство в технологический процесс не требуется. В противном случае DY преобразуется в аналоговую форму и подаётся на управляющий вход объекта технологического процесса, а значение DY документируется.

Требуется:

n составить блок-схему управляющего устройства;

n выбрать необходимые устройства;

n составить структурную схему программы и написать текст программы в мнемокодах.

Блок-схема устройства.

D7

D6

D5

D4

D3

D2

D1

D0

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

«

D7

D6

D5

D4

D3

D2

D1

D0

D5

D4

D3

D2

D1

D0

A2

A1

A0

MX

D/A

X6

X5

X4

X3

X2

X1

 «

BA3

BA2

BA1

BA0

 «

DC3

BС2

BС1

BС0

 «

BB7

BB6

BB5

BB4

BB3

BB2

BB1

BB0

A/D

DY

     .

RD

WR

CS

МПС

     .

RD

CS

Q

IOP

WR

Выбираем X1,  X2,  X3,  X4,  X5,  X6. :  8 бит;

                 DX1, DX2, DX3, DX4, DX5, DX6  :  8+1 бит;

                  DY :  15+1 бит.

В качестве порта ввода/вывода используем БИС КР580ВВ55А

В качестве АЦП ВИС КР572ПВ3

В качестве ЦАП ВИС КР572ПА2

d –  находится в ячейке памяти 8А6Аh 16 бит

Начало

выбирается n-й аналоговый сигнал Xn

ввод из порта n-й координаты Xn

Запись координаты Xn в ОЗУ

Xn Þ M

n = n + 1

n = 7

нет

да

выбирается n-й аналоговый сигнал Xn

ввод из порта n-й координаты Xn

DXn = Xn - Xm

вычисление DX, где Xm – данные из ОЗУ

DXn Þ ОЗУ

запись DXn в ОЗУ

заём

нет

да

DXn =DXn+100H

n = n + 1

n = 7

нет

да

DY £ d

да

нет

вывод DY – управляющий сигнал

вывод DY – документирование на внешнем УВВ

кодирование отрицательного числа в дополнительном коде (Xn – 8+1бит)

n Þ порт3

Xn = порт4

n Þ порт3

Xn = порт4

DXn Þ ОЗУ

запись DXn в ОЗУ

кодирование отрицательных чисел в дополнительном коде (DXn – 8+1бит)

Программа в мнемокодах

адрес

Мнемокод

комментарий

Примечание

8051

SUB A

A = 0

8052

LXI D,518A

518Ah Þ DE

Занесение 518Ah

8055

MVI H,01

01h Þ H

Счётчик цикла

8057

MOV A,B

B Þ A

Пересылка

8058

OUT FC

A Þ (FC)

Вывод в порт

8059

IN FD

A Þ (FD)

Ввод из порта

805A

STAX D

A Þ (Loc.(DE))

По адресу (DE)

805B

INR H

H = H + 1

805C

MOV A,H

H Þ A

Пересылка

805D

SUI 07

A = A – 07h

805F

INZ 5780

 Если A ¹ 0 то (8057h)

Условный переход по флагу нуля

8062

MVI H,01

01h Þ H

Счётчик цикла

8064

LXI D,518A

8A51h Þ DE

Начало массива данных X

8067

LXI B,588A

8A58h Þ BC

Начало массива данных DX

806A

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

806B

MOV L,A

A Þ L

Пересылка

806C

MOV A,H

H Þ A

Выбор логического сигнала по счётчику циклов

806D

OUT FC

A Þ (FC)

Выбор логического сигнала

806E

IN FD

A Þ (FD)

Чтение преобразованного логического сигнала

806F

SUB L

A = A – L

Нахождение DX

8070

STAX B

A Þ (Loc.(BC))

По адресу (BC)

8071

JNC 7C80

если C = 0 то (807Ch)

Условный переход по флагу переноса

8072

CMA

Кодирование DX в дополнительный код

8073

INRA

A = A + 1

8074

STAX B

A Þ (Loc.(BC))

По адресу (BC)

8075

DCR C

C = C – 1

8076

SUB A

A = 0

8077

INR A

A = A + 1

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

8078

STAX B

A Þ (Loc.(BC))

По адресу (BC)

8079

INR C

C = C + 1

Выставление следующего адреса

807A

INR C

C = C + 1

807B

INR E

E = E + 1

807C

INR H

H = H + 1

Определение следующего DX

807D

MOV A,H

H Þ A

807E

SUI 07

A = A – 07h

8080

INZ 6A80

если A ¹ 0 то (806Ah)

Условный переход по флагу нуля

Кодирование DX2 в дополнительном коде

8083

LXI D,5A8A

8A5Ah Þ DE

Занесение DX2 в регистр DE

8086

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

8087

CMA

8088

INR A

A = A + 1

8089

STAX D

A Þ (Loc.(DE))

По адресу (DE)

808A

DCR E

E = E – 1

Выбор знакового бита

808B

SUB A

A = 0

808C

RAR

флаг C = 0

Обнуление флага C

808F

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

8090

RAR

; С Þ A7; A0 Þ C

C  –  флаг переноса; сдвиг вправо

8093

JNC 9880

если C = 0 то (8098h)

Условный переход по флагу переноса

8096

SUB A

A = 0

       Замена на противоположный знак

8097

STAX D

A Þ (Loc.(DE))

8098

MVI A,01

01h Þ A

809A

STAX D

A Þ (Loc.(DE))

Кодирование DX4 в дополнительном коде

809B

LXI D,5E8A

8A5Eh Þ DE

Занесение DX4 в регистр DE

809E

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

809F

CMA

80A0

INR A

A = A + 1

80A1

STAX D

A Þ (Loc.(DE))

По адресу (DE)

80A2

DCR E

E = E – 1

Выбор знакового бита

80A3

SUB A

A = 0

80A4

RAR

Флаг C = 0

Обнуление флага C

80A7

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

80A8

RAR

; C Þ A7; A0 Þ C

C  –  флаг переноса; сдвиг вправо

80AB

JNC AE80

Если C = 0 то (80AEh)

Условный переход по флагу переноса

80AV

SUB A

A = 0

      Замена на противоположный знак

80AD

STAX D

A Þ (Loc.(DE))

80AE

MVI A,01

01h Þ A

80B0

STAX D

A Þ (Loc.(DE))

Кодирование DX5 в дополнительном коде

80B1

LXI D,608A

8A60h Þ DE

Занесение DX4 в регистр DE

80B4

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

80B5

CMA

80B6

INR A

A = A + 1

80B7

STAX D

A Þ (Loc.(DE))

По адресу (DE)

80B8

DCR E

E = E – 1

Выбор знакового бита

80B9

SUB A

A = 0

80BA

RAR

Флаг C = 0

Обнуление флага C

80BD

LDAX D

(Loc.(DE)) Þ A

По адресу (DE)

80BE

RAR

; C Þ A7; A0 Þ C

C  –  флаг переноса; сдвиг вправо

80C1

JNC C580

Если C = 0 то (80C5h)

Условный переход по флагу переноса

80C4

SUB A

A = 0

       Замена на противоположный знак

80C5

STAX D

A Þ (Loc.(DE))

80C6

MVI A,01

01h Þ A

80C7

STAX D

A Þ (Loc.(DE))

Вычисление DY

80C8

LXI D,578A

8A57h Þ DE

Адрес знакового бита первого DX

80CB

LDAX D

(Loc.(DE)) Þ A

ADD 598A

A = A + (Loc.(8A59h))

       Сложение знаковых битов для    

          DY

80D0

ADD 5B8A

A = A + (Loc.(8A5Bh))

80D3

ADD 5D8A

A = A + (Loc.(8A5Dh))

80D6

ADD 5F8A

A = A + (Loc.(8A5Fh))

80D9

ADD 618A

A = A + (Loc.(8A61h))

80DC

RAR

  C Þ A7; A0 Þ C

C  –  флаг переноса; сдвиг вправо

80E0

JNC E880

Если C = 0 то (80E8h)

Условный переход по флагу переноса; если знак +

80E3

MVI B,01

01h Þ B

Создание знакового + бита в рег. B

80E5

JMP EA80

Goto 80EAh

80E8

MVI B,00

00h Þ B

Создание знакового – бита в рег. B

MVI 00,578A

00h Þ 8A57

    Сброс  

      Знакового

     вита для  DX

80EF

MVI 00,598A

00h Þ 8A59

80F4

MVI 00,5B8A

00h Þ 8A5B

80F8

MVI 00,5D8A

00h Þ 8A5D

80FC

MVI 00,5F8A

00h Þ 8A5F

8100

MVI 00,618A

00h Þ 8A61

8104

LHLD 578A

HL = (Loc.(8A57h))

Занесение в HL первого DX

8107

XCHG

H Û D, L Û E

Пересылка первого DX в DE

8108

LHLD 598A

HL = (Loc.(8A59h))

810B

DAD D

HL = HL + DE

Сложение со вторым DX

810C

XCHG

H Û D, L Û E

810D

LHLD 5B8A

HL = (Loc.(8A5Bh))

8110

DAD D

HL = HL + DE

Сложение с третьим DX

8111

XCHG

H Û D, L Û E

8112

LHLD 5D8A

HL = (Loc.(8A5Dh))

8115

DAD D

HL = HL + DE

Сложение с четвёртым DX

8116

XCHG

H Û D, L Û E

8116

LHLD 5F8A

HL = (Loc.(8A5Fh))

811A

DAD D

HL = HL + DE

Сложение с пятым DX

811B

XCHG

H Û D, L Û E

811C

LHLD 618A

HL = (Loc.(8A561))

811F

DAD D

HL = HL + DE

Сложение с шестым DX;  HL = |DY|

8121

SUB A

A = 0

8122

RAR

C = 0

Зануление флага переноса

8125

MOV A,H

H Þ A

Занесение старшего бита DY в А

8126

SUB 6A8A

A = A – (Loc.(8A6A))

Сравнение со старшим битом d

8129

JZ 3281

Если Z = 1 то (8132h)

Если равны, то сравнение младших

812C

CNC 3E81

Если C = 0 то (813Eh)

Если DY > d, то переход по флагу переноса

812F

JMP 6A80

Goto 806Ah

Запуск сначала программы

8132

MOV A,L

L Þ A

Занесение младшего бита DY в А

8133

SUB 6B8A

A = A – (Loc.(8A6B))

Сравнение с младшим битом d

8136

JZ 3B81

Если Z = 1 то (812Fh)

Если равны, то запуск сначала

8138

CNC 3E81

Если C = 0 то (813Eh)

Если DY > d, то переход по флагу переноса

813B

MOV A,B

B Þ A

Знаковый бит DY

813C

RAR

;  C Þ A7; A0 Þ C

C  –  флаг переноса; сдвиг вправо

813F

JNC 4981

Если C = 0 то (8149h)

Условный переход по флагу переноса; если знак +

8143

MOV A,L

H Þ A

Занесение старшего бита DY в А

8144

CMA

Рас кодирование дополнительного кода

8145

INR A

A = A + 1

8146

MOV A,L

L Þ A

Занесение младшего бита DY в А

8147

CMA

Рас кодирование дополнительного кода

8148

INR A

A = A + 1

8149

OUT FB

A Þ FB

Вывод в порт FB младшего бита DY

814B

OUT FE

A Þ FE

Документирование младшего бита DY на внешнем носителе порт FE

814D

MOV A,H

H Þ A

814E

OUT FA

Вывод в порта FA

Вывод в порт FA старшего бита DY

8150

OUT FE

A Þ FE

Документирование старшего бита DY на внешнем носителе порт FE

8152

MVI A,07

07h Þ A

Управляющее слово для порта В/В КР580ВВ55А

8154

OUT F0

вит 4 канала С порта В/В выставлен  в 1, DY преобразован в аналоговую форму

8156

JMP 6A80

Goto 806Ah

перезапуск

Список используемой литературы

1.     Криницкий Н.А., Миронов Г.А., Программирование и алгоритмические языки – М, Наука 1979

2.     Хилбурн Дж., Джулич П., Микро-ЭВМ и микропроцессоры, пер. с анг. С.Ш. Пашкеева, – М, Мир, 1979

3.     Алексеенко А.Г., Основы микросхемотехники: Элементы морфологии микроэлектронной аппаратуры. – М, Сов. Радио, 1978

4.     Аналоговые и цифровые интегральные схемы. Под ред. Якубовского – М, Сов. Радио, 1980

5.     Калабеков Б.А. Цифровые устройства и МПС. –  М, Р. и С. 1987

6.     Балашов Е.П. Григорьев В.Л. Мокро и мини ЭВМ – М, Энергия 84г.