1 / 31

Entrada / salida digital con ccs

Entrada / salida digital con ccs. Programación en C para electrónica. Indice. Microcontrolador PIC16F876 Entrada/Salida digital. Ejemplos. Microcontrolador PIC16F876. Programación en C para Electrónica. Características. μ C RISC. Reloj de hasta 20Mhz.(CM=1/4fosc)

ivie
Download Presentation

Entrada / salida digital con ccs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entrada / salida digital con ccs Programación en C para electrónica

  2. Indice • Microcontrolador PIC16F876 • Entrada/Salida digital. • Ejemplos. Programación con CCS-Programación en C para electrónica

  3. Microcontrolador PIC16F876. Programación en C para Electrónica. Programación con CCS-Programación en C para electrónica

  4. Características • μC RISC. • Reloj de hasta 20Mhz.(CM=1/4fosc) • 35 instrucciones de 14 bit. • Instrucciones de 1 CM (excepto saltos) • PowerOnReset (POR) • 8Kx14 bits en memoria flash. • 368 bytes de RAM. • 256 bytes de EEPROM. • 22 E/S digital. • 14 interrupciones. • Programación serie LVP. Programación con CCS-Programación en C para electrónica

  5. Características Programación con CCS-Programación en C para electrónica

  6. Periféricos. • 3 temporizador /contador • T0 = 8bits • T1 y T2 = 16 bits • 2 módulos de comparación y captura / PWM. • Puerto serie síncrono (SSP) con SPI y I2C. • USART / SCI. • 5 entradas A/D de 10 bits. • Hasta 22 E/S digital. • Comparador analógico. • Perro guardian (WDT) Programación con CCS-Programación en C para electrónica

  7. Encapsulado. Programación con CCS-Programación en C para electrónica

  8. Diagrama de bloques: Programación con CCS-Programación en C para electrónica

  9. Características de los puertos • Son bidireccionales. • Acceso como byte o bit. • Lectura del valor del pin. • Corriente máxima del pin 25mA. • Corriente máxima del puerto 200mA. • Después de un reset todas son entradas. Programación con CCS-Programación en C para electrónica

  10. Organización de la memoria Programación con CCS-Programación en C para electrónica

  11. Entrada/Salida digital. Programación en C para Electrónica. Programación con CCS-Programación en C para electrónica

  12. Entrada salida digital • El PIC 16F876A dispone de 22 lineas de E/S digital configurables repartidas en 3 puertos. • Puerto A = 6 lineas (RA0..RA5) • Puerto B = 8 lineas (RB0..RB7) • Puerto C = 8 lineas (RC0..RC7) • Los puertos son independientes y se puede programar cada terminal para que se comporte como entrada o como salida. Programación con CCS-Programación en C para electrónica

  13. Entrada salida digital • La configuración como entrada o salida se hace a través del registro TRISx correspondiente del banco 1 de la memoria. • TRISA=85h (Puerto A) • TRISB=86h (Puerto B) • TRISC=87h (Puerto C) • Un valor 0 en los bits de estos registros configuran el pin correspondiente del puerto como salida y un 1 como entrada. Programación con CCS-Programación en C para electrónica

  14. Entrada salida digital • Para configurar los puertos se utiliza la función set_tris_X(valor) • Se puede leer la configuración de los puertos con la función get_tris_X(valor) • Ejemplos: set_tris_A (0x3F) /* Puerto A como entradas.*/ set_tris_B (0x00) /* Puerto B como salidas.*/ set_tris_C (0b00001111) /*Pines RB0..RB3 salidas y RB4..RB7 entradas*/ Programación con CCS-Programación en C para electrónica

  15. Entrada salida digital • La lectura o escritura de datos en los puertos se hace mediante la lectura o escritura en el registro del banco 0 asociado a cada puerto. • PORTA=05h (Puerto A) • PORTB=06h (Puerto B) • PORTC=07h (Puerto C) • La lectura y/o escritura se realiza directamente sobre los pines del puerto. Programación con CCS-Programación en C para electrónica

  16. Entrada salida digital • CCS tiene funciones predefinidas para el uso de los puertos de E/S digital. • Las funciones pueden tratar el puerto completo o un bit del mismo. • Los parámetros de estas funciones están definidos en un fichero include (p.ej:16F876A.h) con un formato PIN_Xn donde X es el puerto y n el bit. Programación con CCS-Programación en C para electrónica

  17. Funciones de Salida (bit) • output_low(PIN_Xn) //pone a 0. • output_high(PIN_Xn) //pone a 1. • output_bit(PIN_Xn,valor) //pone el pin Xn a valor (0 ó 1). • output_toggle (PIN_Xn) //complementa el valor del pin • output_float (PIN_Xn) //Pin como entrada (simula d. ab.) Programación con CCS-Programación en C para electrónica

  18. Funciones de Entrada (bit) • input_state(PIN_Xn) //Lee el valor del pin sin cambiar //el sentido del terminal. • input(PIN_Xn) //Lee el valor del pin. Programación con CCS-Programación en C para electrónica

  19. Funciones de E/S (bit) • Ejemplos: output_low(PIN_A0); output_high(PIN_B1); output_bit(PIN_B3,0); output_toggle (PIN_C6); output_float (PIN_A2); valor=input_state (PIN_B7); valor=input(PIN_C3); Programación con CCS-Programación en C para electrónica

  20. Funciones de E/S (byte) • output_X(valor): • X= puerto (A,B o C) • Valor= byte a escribir en el puerto. • Escribe valor en X. Ejemplo: output_B(0xA5); //PORTB=10100101 • input_X(): • X= puerto (A,B o C) • Lee el valor del puerto X. Ejemplo: valor=input_B(); /*guarda en valor el contenido del puerto B*/ Programación con CCS-Programación en C para electrónica

  21. Entrada salida digital • CCS provee directivas y funciones predefinidas para el uso de los puertos de E/S digital. • Las funciones output_X() e input_X() dependen de la directiva de configuración que usemos. • Directivas: • #use fast_io (puerto) • #use standar_io (puerto) • #use fixed_io (puerto) Programación con CCS-Programación en C para electrónica

  22. Directivas del preprocesador Programación con CCS-Programación en C para electrónica

  23. Directivas de gestión de puertos • #use fast_io (puerto) • No modifica el registro TRIS en lecturas y escrituras. • Hay que asegurarse de que los pines está configurados correctamente. • #use standar_io (puerto) • Modifica el registro TRIS correspondiente en lecturas y escrituras. (Modo por defecto) • #use fixed_io (puerto) • Configura el puerto y no modifica el registro TRIS en lecturas y escrituras. Programación con CCS-Programación en C para electrónica

  24. Ejemplos Programación en C para Electrónica. Programación con CCS-Programación en C para electrónica

  25. Led intermitente Programación con CCS-Programación en C para electrónica

  26. Led intermitente Programación con CCS-Programación en C para electrónica

  27. Led intermitente (con funciones) Programación con CCS-Programación en C para electrónica

  28. Pulsador Programación con CCS-Programación en C para electrónica

  29. Pulsador (con funciones) Programación con CCS-Programación en C para electrónica

  30. Cruce semáforos Programación con CCS-Programación en C para electrónica

  31. Cruce semáforos Programación con CCS-Programación en C para electrónica

More Related