La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Entrada / salida digital con ccs

Presentaciones similares


Presentación del tema: "Entrada / salida digital con ccs"— Transcripción de la presentación:

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. 8Kx14 bits en memoria flash.
Reloj de hasta 20Mhz.(CM=1/4fosc) 35 instrucciones de 14 bit. Instrucciones de 1 CM (excepto saltos) Power On Reset (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 (0b ) /*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= 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


Descargar ppt "Entrada / salida digital con ccs"

Presentaciones similares


Anuncios Google