Министерство общего и профессионального образования РФ. Сибирский Государственный Индустриальный Университет. Кафедра АЭП и ПЭ. Расчётно-пояснительная записка к курсовой работе по ОМПТ. Номер зачётной книжки: 94051 Выполнил студент г. ЗЭПА-95 Лавриненко Д. В. Руководитель: Мурышкин А. П. Оглавление Условие задания ……………………………………………. 3 Блок-схема устройства …………………………………….... 4 Структурная схема программы ……………………………. 5 Программа в мнемокодах …………………...………………. 6 Список используемой литературы ……………………. …... 10
Имеется технологический процесс, управляемый с помощью МПС. Контролируемыми являются шесть координат, представленных в непрерывной (аналоговой) форме: X1, X2, X3, X4, X5, X6.
Алгоритм формирования управляющей функции DY состоит в определении отклонения каждой координаты DX, от предыдущего значения и вычисления выражения:
Если DY не превышает по абсолютной величине значение d, то вмешательство в технологический процесс не требуется. В противном случае DY преобразуется в аналоговую форму и подаётся на управляющий вход объекта технологического процесса, а значениеDY документируется. Требуется: составить блок-схему управляющего устройства; выбрать необходимые устройства;
составить структурную схему программы и написать текст программы в мнемокодах. Блок-схема устройства. Выбираем 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 бит Программа в мнемокодах адрес Мнемокод комментарий Примечание 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 80CD 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 80EA 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 перезапуск Список используемой литературы
Криницкий Н. А. , Миронов Г. А. , Программирование и алгоритмические языки – М, Наука 1979 Хилбурн Дж. , Джулич П. , Микро-ЭВМ и микропроцессоры, пер. с анг. С. Ш. Пашкеева, – М, Мир, 1979
Алексеенко А. Г. , Основы микросхемотехники: Элементы морфологии микроэлектронной аппаратуры. – М, Сов. Радио, 1978
Аналоговые и цифровые интегральные схемы. Под ред. Якубовского – М, Сов. Радио, 1980 Калабеков Б. А. Цифровые устройства и МПС. – М, Р. и С. 1987 Балашов Е. П. Григорьев В. Л. Мокро и мини ЭВМ – М, Энергия 84г.