Разработка микропроцессорной системы. Разработка интерфейсных устройств ввода - вывода. Расчёт электрического сопряжения адресных цепей., страница 14

Разраб.    Гринберг                                       СХЕМА ЭЛЕКТРИЧЕСКАЯ              Лист  Листов

                                                                               ПРИНЦИПИАЛЬНАЯ

Пров.      Иванов                                                                                                                  1           3

 


       DO1

       DO2

  DO3, DO4

           Микросхемы  аналоговые

   КР572ПВ4

   КР572ПА1А

   КР140УД8 

   1

   1

   2

 HG1 - HG3

VD8H-VD11H

            Устройства  индикации

   АЛ  305А

   АЛ  102Б

   3

   5

Светодиоды

 


 Разраб.     Гринберг                                   СХЕМА ЭЛЕКТРИЧЕСКАЯ            Лист Листов

                                                                                   ПРИНЦИПИАЛЬНАЯ

  Пров.        Иванов                                                                                                                  2          3


Приложение  2.  Программные  модули  на  языке  Ассемблера.

0000                         .model Tiny

0000                         .code

org 8000H

8000                         Start:

;Главная программа

;Начальные установки системы

8000  E8 001A                        call Init

8003                         Begin:

;Ввод информации с цифровых датчиков и выдача Y1

8003  E8 007A                        call Input_X1_4

;Ввод информации с аналоговых датчиков, выдача Y2,Y3 и Y4

8006  E8 00CA                      call Input_X5_6

8009  E8 0115                        call Input_X7

;Задержка на 0,5 с - обеспечивается 1-ым каналом таймера

800C  B0 24                          mov AL,00100100B

800E  E6 51                          out 51H,AL

8010  B0 F4                          mov AL,11110100B

8012  E6 51                          out 51H,AL

;включение таймера

8014  E4 02                          in AL,02H

8016  0C 02                          or AL,00000010B

8018  E6 02                          out 02H,AL

;ожидание

801A  9B                             wait

;Повтор

801B  EB E6                          jmp Begin

;Модуль инициализации

801D                         Init    Proc          Near

801D  FA                             cli           ;запрет  прерываний

;программирование параллельного интерфейса

801E  B0 90                          mov AL,10010000B

8020  E6 03                          out 03H,AL    ;загрузка РУС

;другой интерфейс

8022  B0 90                          mov AL,10010000B

8024  E6 33                          out 33H,AL    ;загрузка РУС

8026  B0 00                          mov AL,0      ;загрузка 0-го кода на канал С

8028  E6 02                          out 02H,AL

802A  B8 0000                       mov AX,0

802D  8E C0                          mov ES,AX

802F  26: C6 06 0400 00       mov byte ptr ES:[0400H],0 ;загрузка 0 в уставку

;обнуление счетчика шестнадцатиричных символов

8035  26: C6 06 0401 00       mov byte ptr ES:[0401H],0

803B  B0 FF                          mov AL,0FFH

803D  E6 31                          out 31H,AL    ;загрузка кода, состоящего  из "1", на порт строк

;клавиатуры

;задание режимов работы таймера-счетчика

803F  B0 36                          mov AL,00110110B ;режим работы канала 0

8041  E6 53                          out 53H,AL

8043  B0 78                          mov AL,01111000B ;режим работы канала 1

8045  E6 53                          out 53H,AL

;модуль пересчета канала 0

8047  B0 24                          mov AL,00100100B

8049  E6 50                          out 50H,AL