![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Последовательность программирования обмена и сигналы управления
В ПСА имеются вспомогательные управляющие выводы. Сигналы на этих выводах можно использовать для организации взаимодействия адаптера с ЦП и с ПУ. Рассмотрим основные сигналы этой группы. На выводе 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: …………… …; подпрограмма обработки принимаемой ………………..; информации
|