dawid512 napisał: Dziękuje panowie ale to nie koniec... Sprawa wygląda tak że multiplexuje wyświetlacze 7-segmentowe LED. Problem tkwi w tym że zasilane one są napięciem 12V. Stanem niskim zapalam odpowiedni segment zaś stanem wysokim go wygaszam. Cała istota sprawy jest taka że występuje różnica potencjałów i uc nie jest w stanie wygasić segmentów(bo 1 logiczna to 5V).
Kombinuję jakby to ugryźć bez stosowania konwerterów napięć. Muszę więc jedynkę logiczną zastąpić stanem nie określonym ale jak to zrobić bo przecież kody dla segmentów są wpisywane w postaci binarnej.
Pozdrawiam Dawid.
To może być dość bolesne

. Podanie 12V przez segment wyświetlacza bezposrednio na port, nawet ustawiony jako wejście będzie skutkowało zamknięciem obwodu przez diody na wejściu portu do VCC. Segmenty nie tylko będą świecić, ale ich prąd może spalić port. Tak więc problem nie jest na poziomie programu, ale w sprzęcie. Zastosuj układy OC (ULN2803) i problem rozwiązany.
Jeśli chodzi o rozwiązania programowe, to o ile mi wiadomo, w BASCOMIE możesz w biegu przekonfigurować pin z wejścia na wyjście i viceversa. Gdyby kompilator się na to wypinał, zawsze możesz to zrobic wstawką asemblerową, ale tak jak wcześniej napisałem układ i tak nie zapracuje.