Hola mira te dejo este codigo de ejemplo en Proton para encender LED's es basicamente el principio para encender lo que quieras.
El comando a usar es
SERIN este es un arreglo por soft para implementar la comunicacion serie, en este caso -y generalmente yo la uso- porque es un PIC16F84A y no tiene Hardware serie.
La sintaxis de este comando es
serin pin de entrada, velocidad de recepcion y variable donde se guarda. Asi que en este ejemplo queda asi:
serin, porta.0, 84, [Wait("y"), in]Serin hace automaticamente entrada el pin a usar aunque en el program ya ha sido declarado. El pin a usar es el RA0, la velocidad es 9600, el 84 equivale a eso -verifica la ayuda del proton para que veas las tablas-. Como veras uso la palabra reservada WAIT que sirve para esperar una cadena o caracter especifico antes de guardar un dato en la variable que en este caso es
in. Puedes usar caracteres como lo hice aqui o puedes usar numeros lo que te convenga.
'****************************************************************
'* Name : serin.BAS *
'* Author : Navaismo *
'* Notice : Copyright (c) 2008 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 22/07/2008 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device = 16F84A
XTAL 4
Dim in As Byte
TRISA=31
TRISB=0
PORTA=0
PORTB=0
main:
SerIn PORTA.0,84,[Wait("y"), in]
Select Case in
Case "a": PORTB.0 = 1
Case "b": PORTB.0 = 0
Case "c": PORTB.1 = 1
Case "d": PORTB.1 = 0
EndSelect
GoTo main
Para implementar mediante VB la comunicacion basta con que añades el control mscom y en las propiedades lo configures a modo N9600, y para enviar los datos usa un boton que envie lo que quieras. Te pondria un ejemplo pero desintale el VB

Saludos... ah te subo
un video de simulacion, recuerda que en la realidad hay que poner todo crystal max232 etc etc.