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