Важная информация

User Tag List

Показано с 1 по 1 из 1

Тема: UART на минималках

  1. #1

    Регистрация
    30.07.2013
    Адрес
    г. Запорожье, Украина
    Сообщений
    966
    Спасибо Благодарностей отдано 
    86
    Спасибо Благодарностей получено 
    142
    Поблагодарили
    76 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию UART на минималках

    Не секрет, что для подключения последовательного порта к таким компьютерам как Специалист, Радио-86РК, Микро-80 и т.п. нужно лезть в схему (иногда даже менять ее), выдумывать новые порты и т.д... Но есть вариант проще, думаю, что, еще проще не получится.
    Итак. Практически в каждом компьютере есть порт на ВВ55 и им пользуются обычно только в одном режиме, так называемом Mode 0, когда порты настраиваются на запись или чтение, т.е. как регистры или буферы. Но есть еще два режима, которыми практически никто не пользуется - Mode 1 и Mode 2. Они очень похожи в работе, за исключением того, что в Mode 1 порты А и В используются отдельно на ввод или вывод, а порт С - управляющий, а в Mode 2 используется только порт А как двунаправленный, порт В - свободен, часть порта С занята управляющими сигналами. В кратце опишу работу в Mode 2.
    В Mode 2 порт А настраивается, как уже сказал, в режим двунаправленной передачи и его выходы находятся в Z-состоянии. Порт В свободен и его можно использовать по своему усмотрению, например в Mode 0 на вывод или ввод. Порт С делится на две части:
    РС0-2 - свободны для пользователя;
    РС3 - INTR A, прерывание, может быть настроено на запись как во входной так и выходной регистр или их комбинацию;
    РС4 - /STB, сигнал по которому происходит запись данных во входной регистр порта А внешним устройством, устанавливает флаг IBF в "1";
    РС5 - IBF, флаг наличия данных во входном регистре порта А, устанавливается в "1" в момент записи данных из внешнего устройства в порт А и сбрасывается в момент считывания данных процессором;
    РС6 - /ACK, сигнал по которому происходит считывание данных из выходного регистра порта А внешним устройством, сбрасывается флаг OBF в "1";
    РС7 - /OBF, флаг наличия данных в выходном регистре порта А, устанавливается в "0" в момент записи данных процессором и сбрасывается в момент чтения данных внешним устройством.
    Внешнее устройство контролирует состояние флагов непосредственно на выводах порта С, чтение же флагов и управление прерываниями процессором происходит из внутреннего регистра порта С, где D7- OBF, D6 - INTE1, D5 - /IBF, D4 - INTE2, D3 - INTR A.

    Т.о. есть порт, который флагами может показывать наличие или отсутствие новых данных в регистрах порта А. Остается записывать или считывать данные из этого порта и передавать их каким-либо способом на РС. В качестве преобразователя параллельных данных в последовательные использован микроконтроллер Mega8, можно использовать и поменьше - программа занимает около 400 байт. Схема подключения к ВВ55:


    Исходники для Меги:
    https://drive.google.com/file/d/1i91...usp=drive_link
    Фьюзы: L:0xE4, H:0xD9

    Ну и примеры работы (порты ВВ55 занимают адреса от 010Н до 013Н):
    Вывод слова "TEST"
    Код:
    ORG 0
    ;PORTA
    ;MODE 2
    ;PORTB
    ;MODE 0
    ;OUTPUT
    ;PC2-0
    ;OUTPUT
    MVI A,0C0H
    OUT 013H
    LXI H,STR
    LOOP:
    IN 012H
    ;CHECK OBF
    ANI 080H
    JZ LOOP
    MOV A,M
    ORA A
    RZ
    OUT 010H
    INX H
    JMP LOOP
    STR:
    DB 'TEST',0
    END
    Загрузка файла:
    Код:
    ORG 0
    ;HL=START ADDR
    ;DE=END ADDR
    
    ;PORTA
    ;MODE 2
    ;PORTB
    ;MODE 0
    ;OUTPUT
    ;PC2-0
    ;OUTPUT
    MVI A,0C0H
    OUT 013H
    LOOP:
    IN 012H
    ;CHECK IBF 
    ANI 020H
    JZ LOOP
    IN 010H
    MOV M,A
    INX H
    ;HL<>DE
    CALL 0C01BH
    JNZ LOOP
    RET
    END

    Эти 2 пользователя(ей) поблагодарили Alex_LG за это полезное сообщение:

    CityAceE(18.01.2026), cy6(18.01.2026)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)

Похожие темы

  1. UART через магнитофонный интерфейс
    от CityAceE в разделе Устройства ввода
    Ответов: 12
    Последнее: 06.09.2023, 00:19
  2. Освоение микросхемы UART 1002ХЛ1
    от radist108 в разделе Разработка электроники
    Ответов: 1
    Последнее: 17.02.2023, 08:32
  3. COM port на 16c550 Uart
    от max232cpe в разделе ДВК, УКНЦ
    Ответов: 29
    Последнее: 02.01.2023, 12:25
  4. Адаптер BK-UART-2-USB для порта УП БК0010/11М
    от TheGWBV в разделе БК-0010/0011
    Ответов: 5
    Последнее: 17.11.2016, 20:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •