programa PIC16F876A

Hola, resulta que tengo que programar el PIC para que encienda 2 leds (no necesaariamente a la vez) a partir de unos comandos enviados por otro programa hecho en C#, la idea es si envio 'r' me encienda un led rojo conectado a una salida del PIC, sin envio 'v' encienda otro led verde conectado a la patilla, sin envio'n' encienda los dos, y si envio 'a' ambos se apaguen. Pero no tengo ni idea de como hacerlo.

¿Alguien puede ayudarme?

En primer lugar, no veo claro por qué posteas aquí una consulta sobre PIC.... creo que no es el foro correcto. Aunque todos sabemos mas o menos como debe ser con un PIC, este foro es ... para otra cosa distinta.
En segundo lugar, cuando dices 'tengo que' y está tan claro que los comandos son enviados desde un programa en C# y la aplicación es tan poco útil como didáctica, haciendo un poco de Señor Monk, yo diría que te han mandado ese trabajo en alguna escuela o instituto y no tienes idea de por dónde hincarle el diente... ¿Me equivoco?

Hola siento si no iba aquí, donde debo postearlo?

En efecto se trata de un trabajo, y el caso es que es solo nua parte del mismo ya que el programa consiste en algo más. Pero es ahí donde me he atrancado,en el control de interrupciones, ya que no se hacer para que el PIC detecte lo que le envio por el programa en C#.

El PIC lo programo en C y he utilizado la interrupción #INT_RDA pero no me funciona del todo bien, ya que sin pulsar nada de teclado entra siempre. Por otro lado tampoco consigo leer con el getc(). También lo intenté con kbhit(), y lo mismo.

Por eso he puesto si alguien sabe como hacerlo porque aunque lo he intentado de varias formas, no consigo hacerlo rular, y no se si estos son los métodos a utilizar.

Muchas gracias.

Siento no poderte ayudar. En este foro se trata de Arduino, que, si bien se trata de un microcontrolador similar al PIC, se basa en una circuiteria muy concreta, y en un entorno de desarrollo que nada tienen que ver con lo que estás preguntando.
Por otra parte, y echando imaginación, me supongo que desde el PC, tu programa en C# se comunicará con el PIC a través del puerto serie. Si es así, no creo que vayas encaminado con funciones como getch() o kbit(), que son funciones que toman entrada desde STDIN y desde teclado respectivamente. Probablemente tengas una interrupción asociada al puerto serie del PIC, y debe ser esa la que tengas que usar.
En cualquier caso, te recomiendo vivamente que busques un foro de gente que trabaja con PIC, que sin duda te resultarán de más utilidad.

OK muchas gracais