Bueno, faltan detalles de como estaras conectando, pero.... como dice mariano_pic, si declaras un cristal de 4Mhz y no lo pones pues no funcionara, a no ser que.... hagas un cambio en los fuses, para usar el oscilador interno, algo asi:
#include<16f628A.h>
#fuses intrc_io,nomclr,nowdt,noput
#use delay(clock= 4000000)
#define SW1 PIN_A0 //PORTA RA0
#define LED1 PIN_B0 //PORTB RB0
void main()
{
set_tris_A(0b1111111);
set_tris_B(0b0000000);
while(true)
{
if(input(SW1)==0)
output_toggle(LED1);
delay_ms(200);
}
}
Como veras, agregue, "intrc_io" y quite "xt", con ello usas el oscilador interno y tambien puse el fuse del NO master clear reset, porque como que me suena a que no has colocado la resistencia de master clear reset, pero pues eso lo sabriamos con mas detalles de tus conexiones en el protoboard.
Tambien he quitado las declaraciones de registros que tenias porque pues....no veo que las uses, estan de mas para mi opinion, prueba asi y nos cuentas