La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a microcontroladores PIC. Temas a tratar  Explicación sobre microcontroladores PIC de la familia de microchip  Explicación sobre el uso.

Presentaciones similares


Presentación del tema: "Introducción a microcontroladores PIC. Temas a tratar  Explicación sobre microcontroladores PIC de la familia de microchip  Explicación sobre el uso."— Transcripción de la presentación:

1 Introducción a microcontroladores PIC

2 Temas a tratar  Explicación sobre microcontroladores PIC de la familia de microchip  Explicación sobre el uso del software CCS y PROTEUS  Explicación y uso de salidas y entradas digitales  Explicación y uso de lectura analógica-digital  Explicación y uso de salida PWM  Explicación y uso de interrupciones  COMUNICACIÓN SERIAL

3 Microcontroladores PIC  Son dispositivos electrónicos de tipo circuito integrado y son programables. Hay distintas familias como 12Fxx; 16Fxx; 18Fxx; etc.

4 DIFERENCIAS ENTRE UN MICROCONTROLADOR Y MICROPROCESADOR  Ambos son dispositivos programables

5 Características de un microcontrolador pic  Las características de cada microcontrolador varia dependiendo de la familia y las capacidades del microcontrolador seleccionado (características que pueden ser vistas en el datasheet)  Estos microcontroladores nos facilitan mucho la comunicación con muchos dispositivos electrónicos  Ayudan a simplificar circuitos electrónicos ya que muchas veces solo hace falta programarlos y conectar envés de crear toda una circuitería  Funcionan a frecuencias especificas es decir recorren todo el contenido del código a la velocidad de un oscilador interno o externo (depende de nuestro criterio)  Soportan corrientes de hasta 25mA pero se recomienda siempre usar transistores para no sobrecargar el microcontrolador

6 PIC 18F4550  Algunas características de este pic (mas información datasheet)  Microcontrolador con módulo USB 2.0. Soporta hasta velocidades de 12Mb/s.  35 pines I/O disponibles  Memoria de programa flash de 32 kB  RAM de 2048 Bytes  Oscilador externo de dos modos hasta 48 MHz  ADC de 10 bits y 13 canales  4 Timer(desde Timer0 a Timer3). Uno de 8 bits y 3 de 16 bits  2 módulos de captura/comparación/PWM  Soporta 100,000 ciclos de borrado/escritura en memoria flash y 1,000,000 ciclos de borrado/escritura en memoria EEPROM  Retención de datos mayor a 40 años  Resistencias de pull-ups en el puerto B programables

7

8 + -

9 Cantidad total de pines (patas): 8 incluyendo los dos pines de alimentación. Los pines GP0 a GP5 se pueden configurar como entrada o salida excepto el pin GP3 que solamente se puede utilizar como entrada. Conversor analógico-digital: posee 1 conversor A/D de 10 bits que, mediante multiplexación, puede convertir el voltaje conectado a cualquiera de los 4 pines GP0,GP1,GP2 o GP4. Oscilador interno: de 4MHz. Memoria de programa: De tipo FLASH con 1024 espacios de 14 bits cada uno.

10 OSCILADOR  Dispositivo que le indica al PIC cual es la velocidad del trabajo. No tiene polaridad. Conocido como cristal de cuarzo también puede funcionar con uno de forma RC pero no es tan preciso como el cristal.

11 Sintaxis de CCS compiler (PIC C Compiler)

12

13

14  Lo primero que debemos de hacer es incluir el PIC con el que trabajaremos, en este caso será el 16F84a, lo siguiente que haremos es escribir con velocidad de cristal trabajará nuestro PIC, en este caso será de 4MHz; y también mencionar los fusibles, en este caso será el XT. Si usted usará un cristal mayor a 4MHz, deberá colocar #fuses HS, que se usa para cristales de alta velocidad.  El nowdt, deshabilita el watchdog timer(perro guardian).  Luego será crear nuestra función principal, que es el void main.  Luego agregamos un bucle infinito para que nuestro programa se repite indefinidamente y dentro de este bucle infinito escribiremos las instrucciones que ejecutara nuestro PIC.

15 Salidas y entradas digitales  El objetivo será aprender a utilizar la función que tiene los pic al tener pines que pueden ser programados como entrada o salida digital (estados lógicos 1 o 0).

16

17 Contador táctil  Crear un contador de personas  Con cada persona que toque un panel táctil el pic sumara su asistencia  Si la persona queda tocando el panel táctil el contador no seguirá sumando  Implementar un indicador led para saber q ya fue sumada su asistencia

18

19 Conversor analógico-digital  Dependiendo del pic puede tener internamente un conversor analógico- digital  Un ADC se encarga de transformar señales analógicas provenientes de algún sensor (tensión) en señales digitales para poder ser procesadas.

20 Pantalla LCD El LCD(Liquid Crystal Dysplay) o pantalla de cristal líquido es un dispositivo empleado para la visualización de contenidos, mediante carácteres, símbolos o pequeños dibujos dependiendo del modelo.

21

22 Lectura de sensores de temperatura y distancia  Leer los valores de los sensores:  Temperatura lm35  Distancia cny70  De las medidas obtenidas mostrarlas en una pantalla lcd  Dar alguna utilidad a las medidas obtenidas  Alarma por alta temperatura  Mostrar si hay un objeto cerca en la pantalla

23

24 Uso de salida PWM  Al margen de usar dispositivos externos (convertidor digital analógico o DAC) muchos microcontroladores cuentan con un módulo PWM (Pulse Width Modulation) que puede usarse (con ciertas limitaciones) para mandar "ordenes" analógicas.  El módulo PWM del micro genera una onda cuadrada con una frecuencia dada (típicamente bastante alta, por ejemplo 10 KHz). Luego nosotros podemos ir cambiando el ciclo de trabajo (% del periodo en ON) de la señal

25  Para calcular el periodo T PWM de la señal PWM generada con el módulo CCP PIC modo PWM, se utiliza la siguiente fórmula: T PWM = (PR2+1)*(4/Fosc)*prescalerTMR2  Donde PR2 es el valor cargado en el registro PR2, Fosc es la frecuencia del reloj o cristal utilizado para el funcionamiento del PIC y prescalerTMR2 es alguno de los posibles prescaler del TMR2 que se pueden utilizar.  El valor máximo que puede tomar el registro PR2 es 255 ya que es de 8 bits, y el prescaler máximo es de 16, luego el máximo valor para el T PWM dependerá del oscilador o cristal utilizado, por lo que si se usa un cristal de 4Mhz el valor máximo para el periodo del T PWM será: T PWMmax =(255+1)*(4/4Mhz)*16=4,096ms  Por lo que el máximo periodo de la señal PWM obtenida con el módulo CCP PIC modo PWM cuando se utiliza un cristal o un oscilador de 4Mhz será de 4,096ms; por supuesto que esto puede variar si se utilizan cristales de mayor frecuencia de oscilación.  Como la frecuencia es la inversa del periodo se tendrá que en este caso la frecuencia mas baja para la señal PWM será FPWMmin=(1/4,096ms)=244,1Hz

26

27 Control de motores de corriente continua  Realizar el control de la velocidad de los motores usando pwm  Controlar el cambio de dirección de los motores usando el driver l293d  Mostrar la velocidad a que van los motores  Botón de parada absoluta

28

29 Uso de interrupciones  Las interrupciones permiten a cualquier suceso interior o exterior interrumpir la ejecución del programa principal en cualquier momento. En el momento de producirse la interrupción, el pic ejecuta un salto, a la rutina de atención a la interrupción, previamente definida por el programador, donde se atenderá a la demanda de la interrupción

30 El microcontrolador pic 16f877a posee las siguientes fuentes de interrupción:  Interrupción por cambio de nivel lógico en RB4 - RB7.  Interrupción externa por RB0/INT.  Interrupción por desborde del timer 0.  Interrupción del transmisor del modulo USART.  Interrupción del receptor del modulo USART.  Interrupción del modulo CPP.  Interrupción del EEPROM. INTERRUPCION EXTERNA POR RB0 directiva #INT_EXT EXT_INT_EDGE(H_TO_L); ----- Cambio de estado de alto a bajo EXT_INT_EDGE(L_TO_H); ----- Cambio de estado de bajo a alto ENABLE_INTERRUPTS (INT_EXT); ------ Habilita la interrupción RB0 ENABLE_INTERRUPTS (GLOBAL); ------ Habilita la interrupción de forma global. INTERRUPCION EXTERNA POR CAMBIO DE ESTADO DE RB4-RB7 directiva #INT_RB EXT_INT_EDGE(H_TO_L); ----- Cambio de estado de alto a bajo EXT_INT_EDGE(L_TO_H); ----- Cambio de estado de bajo a alto ENABLE_INTERRUPTS (INT_RB); ------ Habilita la interrupción ENABLE_INTERRUPTS (GLOBAL); ------ Habilita la interrupción de forma global.

31

32 COMUNICACIÓN SERIAL  Los microcontroladores PIC usan dos formas para poder comunicarse de forma serial. los cuales son:

33  USART LA función del USART es la de transmitir y recibir datos en serie TRANSMISIÓN SINCRONA: Los datos se transfiere de forma continua, no existe límite de tamaño  Características: Modo semi-duplex La comunicación serie se transmite en una sola línea, en ambos sentidos. No se pueden enviar información en ambos sentidos de forma simultánea La transmisión puede ser maestro o esclavo TRANSMISIÓN ASÍNCRONA: En este modo se emplean relojes tanto en el emisor como el receptor  Características: La frecuencia del reloj se acuerda antes de la transmisión La sincronización se realiza durante la transmisión Transmisión es full-duplex (se utilizan dos lineas, una de transmisión (Tx) y otra de recepción(Rx)) Cada trama de datos tiene un tamaño fijo y posee un bit de arranque(inicio) y un bit de parada(final).

34  FUNCIÓN PARA CONFIGURAR EL MODULO USART EN C #USE RS232(opciones) Nos permite configurar las características del modulo USART  ejemplo: #use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, parity=N, bits=8)

35  Crear una comunicación entre pic  El envió solo debe darse por un solo cable  Se puede enviar cualquier dato  El pic esclavo interpretara lo que el maestro halla enviado

36

37 Comunicación pic con pc  Uso del puerto serial para comunicarnos con la pc  Uso de software de comunicación hyperterminal

38

39 TIMER 0  Este timer es un contador (registro) de 8 bits, se incrementado por hadware y es programable.  Su cuenta máxima es de 255(incremento constante e independiente) Temporizador: Cuenta los pulsos internos del reloj. Contador: Cuenta los eventos externos, a través del pin A4/T0CKI  Se puede insertar un preescaler, es decir un divisor de frecuencia programable que puede dividir por 2, 4, 8, 16, 32, 64, 128 o 256. El tiempo de desbordamiento del timer 0 se calcula según la siguiente ecuación:

40  TIMER 0 EN C La función para configurar el timer 0 es: setup_timer_0(modo); donde modo:  Los distintos modos lo podemos agrupar de la siguiente manera: ejm.: setup_timer_0(rtcc_div_2 | rtcc_ext_l_to_h);  Para escribir un valor en el registro: set_timer0(valor); //valor: int de 8 bits  Para leer un valor actual del registro: get_timer0();

41

42 GRACIAS :V


Descargar ppt "Introducción a microcontroladores PIC. Temas a tratar  Explicación sobre microcontroladores PIC de la familia de microchip  Explicación sobre el uso."

Presentaciones similares


Anuncios Google