Pièce jointe « capitulo1l.sgml »
Téléchargement<sect1 id="system" xreflabel="system"> <title>Módulo system</title> <para> Aquí se ecnuentran algunas funciones de configuración </para> <para> <screen> #include <system.h> </screen> </para> <sect2 id="sleep" xreflabel="sleep"> <title>sleep</title> <para> Pone a dormir el microcontrolador </para> <screen> void sleep(void); </screen> </sect2> <sect2 id="asm" xreflabel="asm"> <title>ASM</title> <para> Función que incrusta código ASSEMBLER </para> <screen> void ASM(char comando[]); </screen> </sect2> <sect2 id="ejemplosystem" xreflabel="Ejemplo System"> <title>Ejemplo System</title> <para> Para compilar necesitas los siguientes comandos </para> <para> <screen> Ejemplo de compilacion : ./compila.sh ej_system 16f877a </screen> </para> <para> ej_system.c </para> <screen> #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; } </screen> </sect2> </sect1>
Fichiers joints
Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.Vous n'êtes pas autorisé à joindre un fichier à cette page.