Министерство общего и профессионального образованияРФ.
Сибирский Государственный Индустриальный Университет.
Кафедра АЭП и ПЭ.
Расчётно-пояснительная записка к курсовой работе поОМПТ.
Номер зачётной книжки: 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Аh16 бит
Начало
выбирается 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