Volgol_555 писал(а):А может тогда есть конкретное решение, разбить все по разным портам с использованием тех же библиотек подскажите, а?
Ну, с Вашими библиотеками я не знаком. Я писал свои библиотеки на ассемблере.
У меня запись данных (4 бита) делалась в выбранный порт, неиспользуемая "половинка" порта в зависимости от конкретной схемотехники изделия либо забивалась нулями или единицами, либо перед записью данных порт вначале читался во временный регистр, неиспользуемые разряды сохранялись без изменения, в нужную "половину" регистра я писал данные для отправки в LCD и после этого записывал этот модифицированный временный регистр обратно в порт.
Линии же управления у меня всегда были совершенно независимыми друг от друга и могли принадлежать любым разрядам любого порта.
Посмотрите Ваши библиотеки, как в них реализован вывод данных и коммутация управляющих сигналов.
Я не отношусь к своим библиотекам, как к "священной корове", и не проношу единожды написанные библиотеки потом через годы, трепетно сохраняя их неизменными и подстраивая под них все схемотехнические решения.
У меня есть библиотека работы с LCD в "базовом" виде, который и хранится в архиве. Библиотека в базовом виде присоединяется к новому проекту и уже там вносятся необходимые изменения под каждое конкретное схемотехническое решение.