В добавок к предыдущему посту вариант реализации интерфейса RS-232 (порт COM1, v.2) на микросхеме КР580ВВ51А (или MSM82C51A-2):
альтернативная ссылка на схему
Подробно описывать не буду, ибо, что называется, действующие лица в общем-то те же. Для упрощения схемотехники из оригинальной схемы выкинут таймер КР580ВИ53, вместо него тактирование протокола выполняет синтезатор частот на интегральном генераторе и счётчике-делителе. Схема позволяет устанавливать либо отечественный УСАПП - КР580ВВ51А (скорость обмена 38400 Бод, перемычки J1 и J2 в нижнем положении), либо быструю КМОП-версию UART от OKI - MSM82C51A-2 (скорость обмена 115200 Бод, перемычки J1 и J2 в верхнем положении).
Программно данный порт полностью совместим с оригинальным (из ж. РАДИО), всё ранее написанное ПО (LINK$, VDISK) с ним совместимо (скорость обмена аппаратно зафиксирована, программная настройка игнорируется).
Информация по программированию порта COM1:
Код:; BIOS (2/2) для DSDOS v3.81 (Орион-128.2) ; (C) 1998-2016 Соловьев Д.Н. /Санкт-Петербург/ ; 18.06.2016 ; Порт COM1 (ВВ51А) PT_TM0:EQU 0F730H PT_CTM:EQU 0F733H PT_SP0:EQU 0F740H PT_SP1:EQU 0F741H IniCOM: ; Инициализация порта COM1 ; Настройка таймера ВИ53 MVI A,36H STA PT_CTM LXI H,PT_TM0 MVI A,9; 14400 Бод MOV M,A XRA A MOV M,A ; Настройка УСАПП ВВ51А LXI H,PT_SP1 MVI A,1 MOV M,A MOV M,A MVI A,40H MOV M,A MVI A,4EH; настройка протокола (8,N,1) MOV M,A MVI A,27H MOV M,A DCX H; [HL]=PT_SP0 MOV A,M; очистка порта ввода RET SvbCOM: ; Запись байта в порт COM1 ; I: [C]-записываемый байт ; O: <C>=0 - [A]=записанный байт, ; <C>=1 - порт не готов MVI B,0; time-out const = 256 SVB1: ; ожидание готовности DCR B JZ LDB1_4 LDA PT_SP1 RRC JNC SVB1 MOV A,C STA PT_SP0 CMC RET LdbCOM: ; Чтение байта из порта COM1 ; O: C=0 - [A]-считанный байт ; C=1 - ошибка (тайм-аут) ; проверка на преждевременную готовность LDA PT_SP1 ANI 2 JNZ LDB1_2 ; ожидание поступления данных PUSH B LXI B,33000; time-out const LDB1_1: DCX B MOV A,B ORA C JZ LDB1_3 LDA PT_SP1 ANI 2 JZ LDB1_1 POP B LDB1_2: LDA PT_SP0 RET LDB1_3: POP B LDB1_4: STC RET






Ответить с цитированием