| Загрузить архив: | |
| Файл: 014-0009.zip (32kb [zip], Скачиваний: 33) скачать | 
Министерство общего и профессионального образования РФ.
Сибирский ГосударственныйИндустриальный Университет.
Кафедра АЭП и ПЭ.
Расчётно-пояснительная записка к курсовой работе по ОМПТ.
Номер зачётной книжки: 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  | 
  
   
  | 
  
   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–флаг переноса; сдвиг вправо  | 
 ||
| 
   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–флаг переноса; сдвиг вправо  | 
 ||
| 
   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–флаг переноса; сдвиг вправо  | 
 
| 
   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–флаг переноса; сдвиг вправо  | 
 
| 
   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г.