W erze programów pod DOSa takie sterowanie było banalnie proste.
Przykładowo w Pascalu:
Powyższe polecenie powoduje wysłanie wartości 64(czyli ustawienie szóstego bitu na logiczne 1 - pozostałe bity mają wartości 0) w porcie szeregowym COM o adresie 2F8+3hex(jest tam linia TxD - czyli fizycznie 3 pin w gnieździe).
Jak najbardziej da się zasilać diody LED z portów, tylko obowiązkowo trzeba dać rezystor - w końcu taki port daje -12/+12V z tego co pamiętam(dlatego do współpracy np. z telefonem GSM potrzeba kabli zawierających układy typu MAX232, konwertujące poziomy napięć).
W EdW był kiedyś artykuł na temat wykorzystania portów komputera PC. Była nawet taka zabawka zrobiona z diod LED i przełączników, właśnie do celu testowania poszczególnych PINów gniazd(wejść i wyjść).
Port szeregowy, to przestrzeń 8x8(oczywiście większość tej przestrzeni jest niewykorzystana).
Czyli osiem adresów(począwszy od bazowego np. 2F8 hex), po osiem bitów w każdym.
Poszczególne bity, to linie wejścia/wyjścia. Można je odczytywać/ustawiać.