Последовательность программирования обмена и сигналы управления

 

Операции программирования ПСА   Входные сигналы  
        RESET  
1 .Установка схемы в исходное состояние: либо аппаратный сброс; либо запись команды IR(в слове CI D6=1), если ранее обмен уже был запрограммирован; 2. Запись инструкции режима (слова MI). 3. Запись одного или двух синхрослов (только в синхронном режиме). 4. Запись инструкций команд (слова CI). 5. Чтение слова состояния (слова SW). 6. Запись данных. 7. Чтение данных. 8. Отключение ПСА от шины данных.     ´ ´ ´ ´ 1 1 0 1 0 0   1 0 1 0 0 1 0 1 0 0   1 0 1 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 0 ´ ´ ´ 1 0
             

 

В ПСА имеются вспомогательные управляющие выводы. Сигналы на этих выводах можно использовать для организации взаимодействия адаптера с ЦП и с ПУ. Рассмотрим основные сигналы этой группы.

На выводе T´RDY формируется сигнал готовности передатчика ПСА принять данные от МП для передачи их в последовательный канал. Этот сигнал применяется в МС при аппаратно - управляемом обмене, например, может использоваться в качестве сигнала запроса на прерывание МП, либо сигнала включения режима МП “Ожидание”. Сигнал T´RDY сбрасывается по срезу сигнала шины при записи данных.

На выводе R´RDY формируется сигнал готовности приемника ПСА передать в МП принятые из последовательного канала данные. Этот сигнал применяется в МС при аппаратно - управляемом обмене, например, может использоваться в качестве сигнала запроса на прерывание МП, либо сигнала включения режима МП “Ожидание”. Сигнал RxRDY сбрасывается по срезу при чтении данных.

На выводе T´END (в слове состояния SW бит T´E) формируется сигнал конец передачи. Сигнал передается из ПСА в МС и сигнализирует об отсутствии процесса передачи данных в последовательный канал.

Рассмотрим примеры программ передачи и приема информации с помощью ПСА.

Пример 1.Составить программу, обеспечивающую асинхронную передачу информации из ПСА со скоростью 1/16 от тактовой частоты синхронизации, длиной кода данных 8 бит, контролем на четность и длительностью стопового сигнала 2 бита. Информация для передачи представляет собой блок из 16 байт, хранящийся памяти ОЗУ МС, начиная с ячейки ADR1. Базовый адрес ПСА – 60H.

 

;Программа OUT_USART асинхронной передачи из ПСА

MVI A,40H ;загрузка в аккумулятор инструкции команды

;программного сброса ПСА

OUT 61H ;засылка инструкции команды сброса в ПСА

MVI A,0FEH ;непосредственная загрузка в аккумулятор ;инструкции режима асинхронного приема или ;передачи

OUT 61H ;засылка инструкции режима в ПСА

MVI A, 21H ;загрузка в аккумулятор инструкции команды ;передачи (D0=1; D5=1)

OUT 61H ;засылка инструкции команды передачи в ПСА

LXI H, ADR1 ;загрузка в регистровую пару HL начального

;адреса блока данных

MVI B, 10H ;начальная установка счетчика байтов, ;организованного в регистре В

L1: IN 61H ;чтение слова состояния ПСА

ANI 01H ;выделение бита D0 слова состояния ПСА –

;сигнала готовности передатчика к передаче ;очередного байта данных

JZ L1 ;возврат к L1 при D0= 0 (передатчик не готов)

MOV A, M ;пересылка в аккумулятор из косвенно

;адресуемой ячейки памяти очередного байта ;данных

OUT 60H ;вывод байта данных в ПСА

INX H ;вычисление адреса следующей ячейки памяти

DCR B ;декремент счетчика передаваемых байтов

JNZ L1 ;возврат к L1, если передан не весь блок данных

MVI A, 08H ;загрузка в аккумулятор инструкции команды

;конца передачи (D3=1)

OUT 61H ;засылка инструкции команды в ПСА

HLT ;конец программы

Пример 2.Составить программу, обеспечивающую асинхронный прием из ПСА с характеристиками, указанными в примере 1, и обработку блока информации из 16 байт. Каждый принятый байт необходимо обработать в МС программой PROG, записанной в ПЗУ, после чего результат, имеющий формат одного байта, записать в ОЗУ, начиная с ячейки ADR1. Базовый адрес ПСА – 70H.

 

;Программа IN_USART асинхронного приема из ПСА

MVI A,40H ;загрузка в аккумулятор инструкции команды

;программного сброса ПСА

OUT 71H ;засылка инструкции команды сброса в ПСА

MVI A, 0FEH ;непосредственная загрузка в аккумулятор ;инструкции режима асинхронного приема или ;передачи

OUT 71H ;засылка инструкции режима в ПСА

MVI A, 06 ;непосредственная загрузка в аккумулятор ;инструкции команды приема (D2=1, D1=1)

OUT 71H ;засылка инструкции команды приема в ПСА

LXI H, ADR1 ;загрузка в регистровую память HL начального ;адреса ADR1 ячейки памяти

MVI B, 10H ;начальная установка счетчика принимаемых ;байтов, организованного в регистре В

К1: IN 71H ;чтение слова состояния ПСА

ANI 02 ;выделение бита D1 слова состояния ПСА –

;сигнала готовности приемника ПСА - очередной ;байт данных принят и может быть считан из ;буферного регистра ПСА в аккумулятор МП

JZ K1 ;возврат к К1 при D1=0 (приемник не готов – байт ;еще полностью не принят из линии связи)

IN 70H ;ввод байта данных из ПСА в аккумулятор МП

CALL PROG ;обработка принятого слова подпрограммой ;PROG

MOV M, A ;пересылка результата обработки в косвенно – ;адресуемую ячейку памяти

INX H ;вычисление адреса следующей ячейки памяти

DCR B ;декремент счетчика байтов

JNZ K1 ;возврат к К1, если принят не весь блок

;информации

MVI A, 08H ;непосредственная загрузка в аккумулятор ;инструкции команды конца приема

OUT 71H ;засылка инструкции команды в ПСА

HLT ;конец программы

PROG: …………… …;подпрограмма обработки принимаемой

………………..;информации








Дата добавления: 2016-06-13; просмотров: 565;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.