Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Алгоритм передачи данных от МП к ВУ




 

1.5.1. Формирование битов для РУС

 

Настройка параллельного порта на прием и передачу данных осуществляется программным способом. Для этого в микропроцессорной системе имеются специальные команды обращения к внешним портам. Порядок программирования порта и его работы изучим на примере. Информация должна передаваться в двух направлениях: от микропроцессора (МП) к внешнему устройству (ВУ) и наоборот.

Рассмотрим пример. Запрограммируем порт для обмена информаций между микропроцессором (МП) и внешним устройством (ВУ) по следующей схеме:

· каналу "А" на передачу информации от МП к ВУ;

· канал "В" на передачу информации от МП к ВУ;

· канал "С": подканал Смл - на передачу от МП к ВУ, а подканал Сст - на прием ответной информации от ВУ к МП.

Таким образом, по каналам "A" и "В" будет передаваться "полезная" информация для ВУ, а канал "C" используется для управления процессом обмена данными, то есть будет выполнять роль арбитра в данном процессе. Считаем, что МП быстрый, а ВУ медленное, поэтому выбираем "режим 0".

С помощью схемы, приведенной на рис. 2, формируем биты управляющего слова для регистра РУС: D7=1; D6=0; D5=0; D4=0; D3=1; D2=0; D1=0; D0=0. Переведем двоичный код в десятичный, а затем - в шестнадцатиричный: (100010100)2=(276)10=(114)16. Таким образом, управляющее слово под нашу схему работы порта составляет 114H.

 

1.5.2. Назначение битов информационного канала

 

Для успешного осуществления процесса приема-передачи данных при использовании различных по быстродействию устройств диалог между МП и ВУ должен строиться в режиме запроса/подтверждения, то есть в алгоритм должны вводиться циклы запроса готовности МП и ВУ к работе и подтверждения о завершении работы. Закрепление сигналов о готовности и подтверждении за битами канала "С" приведено в табл.3.

Таблица 3

Назначение битов канала "C"

 

Номера битов "С"

7 6 5 4 3 2 1 0

Старший подканал "С" (передача от МП к ВУ):

 
МП готов к работе с ВУ +              
МП готов к передаче данных   +            
МП готов к приему данных     +          
Подтверждение МП о том, что ВУ может считать информацию       +        

Младший подканал "C" (прием от ВУ к МП):

ВУ готово к работе с МП         +      
ВУ готово к приему данных           +    
ВУ готово к передаче данных             +  
Подтверждение МП о завершении цикла приема/передачи данных               +

Примечание. Под знаком "+" подразумевается одно из двух значений бита: бит=1 - " ДА "; бит=0 - " НЕТ "

 

1.5.3. Алгоритм работы с информационным каналом

При настроенном режиме работы БИС алгоритм обмена информацией между МП и ВУ по информационному каналу (канал С) строится в несколько шагов с подтверждением каждого действия с целью исключения ошибок. Алгоритм передачи одной порции данных от МП к ВУ реализуется в виде подпрограммы по следующей схеме.

1. МП сообщает ВУ о готовности работы с ним. Для этого следует установить бит 7 канала "C" в единицу (C7=1).

2. МП проверяет, подключено ли внешнее устройство. С этой целью он должен определить значение бита C3 из регистра канала "C". Если бит C3=1, то все в порядке и можно продолжить работу. Иначе, при C3=0 следует прервать работу и выйти из подпрограммы.

3. МП указывает ВУ, что он готов передать для него байт информации. Для этого необходимо установить бит С6=1.

4. МП определяет значение бита "C2" (готовность ВУ к приему данных). Если C2=1, то выполнить следующий шаг, иначе повторить чтение бита "C2".

5. МП указывает ВУ на разрешение считать информацию из каналов "A" и "В". Для этого он должен установить бит "C4" в единицу (C4=1).

6. МП должен дождаться ответа от ВУ о завершении приема данных. Для этого он должен определить значение бита С0. Если С0=1, то закончить цикл приема передачи порции данных и выти из подпрограммы, иначе повторить цикл чтения и анализа бита С0.

Описанный выше алгоритм предназначен для передачи одной порции данных по каналам А и В для внешнего устройства.  

 

Пример программы организации управления

                 внешним устройством

 

Постановка задачи

 

Рассмотрим пример составления программы, управляющей процессом перемещения исполнительного органа технологического оборудования. Пусть требуется организовать перемещение, например инструмента, по некоторой замкнутой траектории (рис. 3), где точка 1 является одновременно исходной и конечной точкой пути. В скобках на рис.3 указаны координаты "X" и "Y"точек. На участке 2-3 движение осуществляется по двум координатам. На остальных участках - по одной координате. Дискретность перемещений по координатам составляет 100 импульсов на 1 мм. Это значит, что для перемещения от т.1 к т.2 необходимо передать 5000 импульсов (5000 циклов передачи) для координаты "X". Закрепим за битами A0...A7 канала "A" следующие функции:

- A0: 1 - движение по координате "X", (0 - нет движения);

- A1: 1 - движение в направлении оси "X", (0 - против направления);

- A2: 1 - движение по координате "Y", (0 - нет движения);

- A3: 1 - движение в направлении оси "Y", (0 - против направления).

- A4...A7 - задание контурной скорости перемещения;

 

Установим единую величину контурной скорости на всем пути - дискретное значение ее кода в битах следующее: A7=0, A6=1, A5=1, A4=1. В подпрограмме содержимое байта для канала "A" договоримся хранить в регистре "BL" (в младшей половине регистра "BX"). Количество дискрет,

            Рис. 3                      на которое необходимо переместить исполнительный орган на данном участке траектории, будем хранить в регистре "CX". В табл. 4 приведены сведения об участках траектории и сформировано содержимое регистров "CX" и "BX" (CL и BL - младшие части регистров, а CH и BH - старшие половинки регистров).

Таблица 4

 

Таким образом, подготовлены данные для написания программы. В столбце "Длина" указаны величины перемещений на всех пяти участках (в дискретах), а ниже приведен перевод их в шестнадцатиричный вид. В столбце "Шестнадц" приведены коды, указывающие на то, по каким координатам необходимо осуществлять перемещение рабочего органа и с какой скоростью (старшая часть регистра BX выделена фоном и остается неизменной для всех вариантов задания).

 

       2.2. Операторы для работы с внешними устройствами

 

Программирование работы с внешними устройствами осуществляется на языке низкого уровня "Assembler". Для этой цели достаточно небольшого набора регистров: AX (младший AL и старший AH), BX (BL и BH), CX (CL и CH). Для работы с портом необходимы следующие операторы:

· mov AL,E2H: запись в регистр "AL" шестнадцатиричного числа "E2";

· mov AX,CX: запись содержимого регистра "CX" в регистр "AX";

· in AL,C2H   : запись содержимого порта с адресом "C2H" в восьмибитовый регистр"AL";

· out C3H,AL: запись (пересылка) содержимого регистра "AL" в порте адресом "C3H";

· jpe M5 : оператор ветвления программы по условию; если содержимое регистра"AL" четное (младший бит равен нулю), то выполняется переход на метку "M5" программы;

· j nc M2: переход на метку "M2", если флаг "CF" регистра "AL" равен единице; иначе выполняется переход к следующему оператору; оператор используется для организации ветвления программ;

· ror AL,04: вращение битов регистра "AL" от старшего разряда к младшему столько раз, сколько указано в последнем операнде (4 раза); флаг "CF" при каждом побитном вращении принимает значение младшего смещаемого бита; процедура смещения битов при вращении поясняется схемой, приведенной в табл. 5. результат - CF=1; смещаемый младший бит перемещается на место старшего бита (D15); оператор используется с целью определения значения битов при работе с процессором 1810;

· loop MM1: содержимое регистра "CX" уменьшается на 1 единицу; затем, если "CX=0", то осуществляется переход к следующему оператору; иначе выполняется переход на метку "MM1"; данный оператор используется для выполнения циклических операций;

· call MM: вызов подпрограммы с меткой "MM";

· ret       : завершение и выход из программы (подпрограммы).

 

 

Таблица 5

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...