КР1878ВЕ1

Другие микроконтроллеры и микропроцессоры, не попавшие в предыдущие разделы

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16858
Joined: 21 Oct 2009 08:08
Location: Россия

Re: КР1878ВЕ1

Post by Lavr »

Lavr wrote: 11 Jul 2022 21:48Давно я хотел вот этот проект "пошевелить": Схема для RS232 (КР1878ВЕ1)

Image

Но поскольку проект этот не более чем демонстрация возможностей КР1878ВЕ1 в качестве приёмника
и передатчика UART
, я решил смоделировать устройство в PROTEUS и добавить необходимый мне функционал.
...
Вот тут-то и всплыли "подарки" от модели! Воистину - бесплатного сыра не бывает! :lol:
И я решил-таки вернуться к этому проекту, поскольку, похоже, что для двух устройств
http://www.nedopc.org/forum/viewtopic.php?p=137107#p137107
http://www.nedopc.org/forum/viewtopic.php?p=181327#p181327
мне понадобится аппаратный загрузчик вот такого типа: RS232 - в параллельный код,
чтобы записывать прошивки в ОЗУ этих устройств.

Я не могу сказать, что стал большой специалист по КР1878ВЕ1, с последнего проекта в этой ветке
так больше их и не трогал...
Но надо же куда-то применять их 20 штук! :wink: А то с 15 May 2015 уж 10 лет прошло! :roll:

В оригинальной программе мне не понравились две вещи: в настройке линии порта А4 указана
возможность прерывания как по фронту, так и по спаду, но прерывания не разрешены...
Нет и вектора прерывания от изменения на линии порта А4.
А второе - таймер настроен на один "тик" от внешнего устройства - так определяется "старт-бит" последовательной посылки. Оригинально весьма... но я бы так делать не стал, тем более, что у меня и задача несколько иная: реализовать устройство, по принципу упрощенного LPT-порта с протоколом Centronics.

Приём и выдача байта параллельно + strob и "послушать" busy, но отдать его на усмотрение передающего компьютера.

Так что опрос сигналов я сделал по polling-y, а последовательный сигнал принимал по прерываниям таймера, используя уже оригинальный, но слегка адаптированный алгоритм.
В общем-то всё получилось!
KP1878BE1_UART.png
Единственное, что заметил, таймер модели КР1878ВЕ1 работает вдвое отличаясь от оригинала, так что может случиться, что заработает это не на 9600, как рассчитано, а на 4800... :D
Хотя... возможно, и я чего-то недопонял, хотя пересчитал несколько раз. :-?

Архив с проектом, оригиналом, моим кодом и компилятором прилагаю:
KP1878BE1_UART.zip
Сразу хотел прошить, ибо уже 2 дня как закончил этот проект... но в упор не могу найти свой программатор... :-?

Image

Не сработала народная пословица:"Подальше положишь - поближе возьмёшь..." :(
Так что, видимо, займусь всем этим уже после Нового Года.

С НАСТУПАЮЩИМ НОВЫМ ГОДОМ ВАС ВСЕХ, КОЛЛЕГИ! :obye:
You do not have the required permissions to view the files attached to this post.
iLavr