programas en lenguaje c para el microcontrolador pic16f877

2
Programas en Lenguaje C para el PIC16F877 - Compilador CCS 1. Encender y apagar un LED en el puerto B #if defined(__PCM__) //Compilador para micros con instrucción de 14 bits #include <16F877.h> //Archivo que incluye encabezados y definiciones #use delay (clock = 4000000) #use standard_io(B) void main() { set_tris_A(255); set_tris_C(255); set_tris_D(255); set_tris_E(255); // Configuro los puertos A,C,D,E como entradas digitales set_tris_B(254); // Configuro el puerto B como entradas digitales exepto el pin 1 do { output_low(PIN_B0); delay_ms(100); output_high(PIN_B0); delay_ms(100); } while(true); // Bucle infinito } 2. Rotar un uno hacia la izquierda como un secuenciador en el puerto B #if defined(__PCM__) //Compilador para micros con instrucción de 14 bits #include <16F877.h> #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT #use delay (clock = 4000000) // a trabajar con 4MHz #use standard_io(B) #byte puerto_b=06 void main() { int sqcia; set_tris_A(255); set_tris_C(255); set_tris_D(255); set_tris_E(255); // Puertos A,C,D,E como entradas digitales set_tris_B(0); // Puerto B como salidas digitales puerto_b = 255; // Puerto B en 0 do { for (sqcia = 0; sqcia < 8; sqcia++) { delay_ms(1000); puerto_b = puerto_b / 2; // divido entre 2 para rotar hacia la izquirda } puerto_b = 255; // vuelvo y inicio el ciclo } while(true); // bucle }

Upload: danny-fer

Post on 25-Nov-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

  • Programas en Lenguaje C para el PIC16F877 - Compilador CCS

    1. Encender y apagar un LED en el puerto B

    #if defined(__PCM__) //Compilador para micros con instruccin de 14 bits #include //Archivo que incluye encabezados y definiciones #use delay (clock = 4000000) #use standard_io(B) void main() { set_tris_A(255); set_tris_C(255); set_tris_D(255); set_tris_E(255); // Configuro los puertos A,C,D,E como entradas digitales set_tris_B(254); // Configuro el puerto B como entradas digitales exepto el pin 1 do { output_low(PIN_B0); delay_ms(100); output_high(PIN_B0); delay_ms(100); } while(true); // Bucle infinito }

    2. Rotar un uno hacia la izquierda como un secuenciador en el puerto B

    #if defined(__PCM__) //Compilador para micros con instruccin de 14 bits #include #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT #use delay (clock = 4000000) // a trabajar con 4MHz #use standard_io(B) #byte puerto_b=06 void main() { int sqcia; set_tris_A(255); set_tris_C(255); set_tris_D(255); set_tris_E(255); // Puertos A,C,D,E como entradas digitales set_tris_B(0); // Puerto B como salidas digitales puerto_b = 255; // Puerto B en 0 do { for (sqcia = 0; sqcia < 8; sqcia++) { delay_ms(1000); puerto_b = puerto_b / 2; // divido entre 2 para rotar hacia la izquirda } puerto_b = 255; // vuelvo y inicio el ciclo } while(true); // bucle }

  • 3. Conversin A/D de 8 bits y se muestra el nmero binario en LEDS de puerto B

    #if defined(__PCM__) #include #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT // configuracin del micro para quemarlo #use delay (clock = 4000000) // 4MHz #use standard_io(B) // Indica que usar el puerto B #byte puerto_b = 06 // Define una variable llamada puerto_b void main() { int conversion; set_tris_A(255); set_tris_C(255); set_tris_D(255); set_tris_E(255); // Puerto A,C,D,E como entradas digitales set_tris_B(0); // Puerto B como salida digitales puerto_b = 0; // inicializo el puertoB setup_adc_ports(RA0_RA1_ANALOG_RA3_REF); // configuro los pines de la conversion setup_adc(adc_clock_div_32); // configuro el conversor anlogo digital conversion = 0; do { set_adc_channel(0); // escojo el canal a convertir delay_ms(1); // esperar mientras se inicializa el mdulo A/D conversion = read_adc(); // leer el valor delay_ms(1); puerto_b = conversion; // visualizo por el puerto_ B } while(true); // bucle }

    4. Escribir un mensaje en una pantalla LCD a 4 bits, RS = pin RB1, E=pin RB0, R/W=pin RB2 Pines RB4 a RB7 corresponden al bus de datos D4 a D7 de la pantalla

    #if defined(__PCM__) #include #use delay(clock = 4000000) #define use_portb_lcd TRUE #include void main() { do { lcd_init(); // se imicializa la lcd lcd_gotoxy(5,1); printf(lcd_putc,"MICROCHIP"); delay_ms(1000); } while(true); }