Часто в конференциях от радиолюбителей можно услышать вопрос:"Я сделал (хочу сделать) какое-то внешнее устройство и имею желание подключить его к компьютеру по СОМ порту, чтобы им как-то управлять, но не знаю как". СОМ порт более предпочтителен для таких экспериментов, так как у него выше, чем у LPT нагрузочная способность, и поэтому меньше шансов спалить порт.
  Если у вас установлен Visual Basic  и  есть какие-то навыки программирования на нём, то наиболее простой, по-моему, путь- использовать  компонент управления (контрол) MSComm Control, который вызывается Project->Components->и поставить галочку на  MSComm Control. Далее необходимо поместить этот контрол на форме и написать код программы для него.
 Сложность заключается в том, что приём-передача через СОМ порт требуют строгого соблюдения протокола RS-232, и не всем радиолюбителям под силу разработка  контроллера, который бы этот протокол поддерживал. Между тем этот контрол  MSComm  позволяет считывать и управлять отдельными выводами СОМ порта и тем самым напрямую управлять какими-то внешними устройствами без формирования временных последовательностей RS-232 протокола. 
   В качестве примера такого внешнего устройства можно привести популярный программатор PonyProg (правда он написан не на VB, но принцип одинаковый). Если внимательно посмотреть на его схему, то видно, что в некоторых случаях (например, при программировании микросхем 24хх),  главные информационные сигналы СОМ порта Rx (2) и Tx (3) не используются вообще. Весь обмен идет через вспомогательные выводы  CTS(8), DSR (6), DTR (4), RTS (7) (хотя кое-где используется 3-й вывод Tx, об этом мы тоже поговорим).
  Для  того чтобы считать состояние вывода, достаточно   на вход  порта компьютера подать   однополярные положительные сигналы  и обойтись без преобразователей уровня TTL-RS232. Вообще-то  это не соответствует стандарту RS-232, однако большинство портов с такими уровнями замечательно работают. 
  Итак, три вывода СОМ порта - CD, CTS, DSR можно опросить. Команда, которая позволяет считать состояние например вывода CTS (8), выглядит примерно так:
If MSComm1.CTSHolding = False Then   (1)
или
If MSComm1.CTSHolding = True   Then  (2).
  То есть этой командой мы опрашиваем 0 или 1 присутствует на выводе CTS.
  На два вывода  СОМ порта - DTR и RTS можно вывести (+12В) или (-12В), и тем самым зажечь светодиод, включить реле или какой-то другой исполнительный механизм. Например, для вывода RTS, это команды:
MSComm1.RTSEnable = False   (3)   выводит на 7 ножку +12Вольт.
MSComm1.RTSEnable = True    (4)   выводит на 7 ножку  -12Вольт.
http://www.schemz.narod.ru/COMdevice.htmДаже программа для дрыганья есть
http://www.schemz.narod.ru/images/shift.rar