Módulo system Aquí se ecnuentran algunas funciones de configuración #include <system.h> sleep Pone a dormir el microcontrolador void sleep(void); ASM Función que incrusta código ASSEMBLER void ASM(char comando[]); Ejemplo System Para compilar necesitas los siguientes comandos Ejemplo de compilacion : ./compila.sh ej_system 16f877a ej_system.c #include <pic/p16f877a.h> #include <system.h> #include <pinio.h> int main(void) { unsigned char dato=0xF0; unsigned char res; //Puerto B como salida ASM("BANKSEL TRISB"); ASM("MOVLW 0x00"); ASM("MOVWF TRISB"); //0xF0 --> PORTB ASM("BANKSEL F_REG");//dato se encuentra en el banco de F_REG ASM("MOVF %0,W"::"r" (dato)); ASM("BANKSEL PORTB"); ASM("MOVWF PORTB"); //PORTB --> res ASM("BANKSEL PORTB"); ASM("MOVF PORTB,W"); ASM("BANKSEL F_REG");//res se encuentra en el banco de F_REG ASM("MOVWF %0":"=v" (res)); //cuando termines de escribir en asembler //siempre debes dejarlo en el banco de F_REG, //de lo contrario el programa falla. //Pongo a dormir al micro sleep(); return 0; }