Mas que mejorar... es hacer el codigo completo.
Primero que compilador usas?, eso es del compilador CCS, pero puede que estes usando MikroC o el de Microchip XC8.
Voy a responder tus dudas del codigo, vuelvo a repetirte, esto es de CCS, si fuera XC8 algunas cosas no harian falta.
#byte PORTB = 0x06 //Definimos PORTB con la dirección del registro PORTB. (como se puede configurar esto en el micro 12F675)
Como bien dice el comentario, ahi se define la direccion de memoria del PORTB, para eso te vas al datasheet del PIC12F675
http://ww1.microchip.com/downloads/en/devicedoc/41190c.pdfEn la pagina 8 comienzas a mostrarte todos los registros especiales.
En ese PIC como es un solo puerto, no lo define como PORTA , sino que directamente esta como GPIO ( General Porpuse I/O ) Y corresponde a la direccion de memoria 0x05
set_tris_b(0x00); //0b0000000// Configuramos el puerto B como salida. (cuales son los puertos del micro 12F675)
Esa linea no tiene sentido en tu micro, por que no tiene PuertoB, tal ves funcione set_tris_a() , Sino vas a tener que definir como lo de arriba el registro TRISIO ( 0x85 ). De todas formas CCS viene por defecto con la directiva
#use Standard_io
Esto hace que si al pin lo usas de entrada el compilador solo le agregue el codigo cambiando el TRISIO , igual si escribis ocurre lo mismo. Si queres definirlo como salida/entrada directamente usas
#use fast_io
set_adc_channel(0); //elegimos el canal que vamos a leer. (mirando en el datasheet los canales del pic12F675 son 4 y se enumeran 00,01,02,03)
Si... esta bien, pero aqui lo importante es configurar bien el ADC y las demas cosas, es decir esto:
////Configuración///
setup_adc_ports(AN0_AN1_AN3);
setup_adc(ADC_CLOCK_INTERNAL);
//setup_pp(PMP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
Lo que va dentro depende exclusivamente del micro, por ejemplo el PIC que tenes tiene solo 2 timers ( 0 y 1 ) asi que la linea de timer 2 no va. El tema de los puertos ADC ( AN0,AN1,AN2,AN3 ) eso vas a tener que ver en el archivo
pic12F675.h
Que deberias tener en el include
deberias quitar lo del SPI
Deberias modificar todo la parte del PORTB, ya que como dijiste tenes: 1 entrada, 1 entrada analogica y te quedan solo 4 pines para salida. Y tu programa usa 8 ( un puerto completo)
Lamento no poder ser de mas ayuda pero odio CCS, y alguno te va a tener que ayudar con eso.
En mi opinion no hay nada mejor que modificar los registros y no tener que adivinar que usar en CCS.