Вся работа с конкретным портом и битом должна быть упихана в один маленький файл. Который содержит функции на уровне "выполнить такое-то действие" относительно некого внешнего устройства (что может затрагивать более одного бита). Принципиально, http://caxapa.ru/610685.html что этот файл не хранит состояния -- логика вынесена должна быть на более верхний уровень. Действием может быть как управление отдельными битами, так и параллельными портами, таймерами, последовательными портами, записью-чтением массивов данных во внешнюю память и т.п.