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

Slides:



Advertisements
Presentaciones similares
Sesión 09: TIMER como base de tiempo.
Advertisements

Programación de microcontroladores PIC16f877a en linux
Organización del Computador Entradas / Salidas. Modelo de I/O.
La tarjeta madre.
FUNDAMENTOS DE MICROCONTROLADORES PIC 16F887 EXPONENTES: NOLBERTO LUNA GARCÍA JOSÉ GUADALUPE GARCÍA MACHADO.
MICROCONTROLADORES Proyecto segundo parcial: Chat SPI DANIEL FRAGA MELISA PILLA DIANA PAREDES VANESAA RIVILLA GRUPO 6 Y 11 NRC:2576.
Programmable System-on-Chip 3. Familia PSoC3 Evolución de la familia PSoC1 incluye internamente un procesador de 8 bits M3 de rendimiento optimizado.
I2C INTER-INTEGRATED CIRCUIT. Introducción de las especificaciones I2C Esta orientado a las aplicaciones de 8-bit controladas por un microprocesador y.
PLACA MADRE DE UNA COMPUTADORA IPCC - INFORMATICA APLICADA- -Baolini María Belén -Camargo Facundo.
ARDUINO INTRODUCCIÓN Y PROGRAMACIÓN. Podemos tener Señales analógicas y digitales. INTRODUCCIÓN.
ARDUINO El proyecto Arduino: Recordando… - Pines de entrada
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Utilizando la serie de productos TECNO 21 , podrá monitorear y controlar en forma remota, Sensores, Transductores o dispositivos inteligentes, por medio.
Areas de memoria del CJ.
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA INTERRUPCIONES Autores:
UNIDAD EDUCATIVA “RUMIPAMABA”
Estructuras de interconexión de un computador
Tecnologías avanzadas para la enseñanza de la Física
SENSOR ULTRASONIDOS O módulo ultrasónico modelo HC-SR04.
PROYECTO CON EL MICROCONTROLADOR PIC 16F84A
Capitulo I Introducción
ROBOT SIGUE LÍNEAS EVITA OBSTÁCULOS PARA ENSEÑANZA DOCENTE
INFORMATICA.
HARDWARE POR: JOEL CASTAÑEDA 1ºA.
Comunicación Serial: Conceptos Generales
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Los Autómatas Programables
BUS I2C Ing. Mecatronica. Para simplificar la interconexión de dispositivos al microprocesador, Philips desarrolló un sencillo bus bidireccional basado.
CABLEADO ESTRUCTURADO INTRODUCCION A LAS REDES DE DATOS Y NORMAS
Direccionamiento de puerto E/S mapeado en memoria
CLASE IV.
Computación Curso 2017.
Unidad 3 Isai Galvan Alaniz
Hardware, software, y periféricos
Trabajo técnico en instalación y reparación de equipo de computo
MULTIMETRO.
Explicación 2 Interrupciones.
Instrumentación electrónica
Conceptos básicos.
Teleinformática. Elaborado por: Daniela Sánchez Téllez presentado a: Jesús Emiro Vega Universidad Nacional Abierta y a Distancia. Cead Acacias 2016.
Organización de la memoria
Switches, routers, hubs & “patch panels”
COMUNICACIONES ELECTRÓNICAS

INNOVACION TECNOLOGICA ELECTRONICA ESTUDIANTIL EN CIENCIAS

Puertos de E/S y recursos especiales Alumno: Llerena Quenaya Gabriel.
.La Computadora. La computadora es una maquina capaz de realizar y controla a gran velocidad cálculos y procesos complicados que requieren una toma.
Manejo de video y teclado
Display de cristal liquido 2x16
Dispositivos Semiconductores
PUERTOS SERIALES Un puerto serial es una interfaz física de comunicación en serie a través de la cual se transfiere información mandando o recibiendo un.
Luis Brito Nelson Quizhpe
El conector PS/2 o puerto PS/2 toma su nombre de la serie de computadoras IBM Personal System/2 que es creada por IBM en 1987, y empleada para conectar teclados y ratones.
Dispositivos de Entrada y Salida
30/11/
MC Beatriz Beltrán Martínez Otoño 2017
Capitulo I Introducción
PUERTOS SERIALES Un puerto serial es una interfaz física de comunicación en serie a través de la cual se transfiere información mandando o recibiendo un.
CIRCUITOS CONVERTIDORES DE SEÑAL DISPOSITIVOS ANALÓGICOS. OCTUBRE/2016.
Memoria Principal. Memoria primaria (MP), memoria principal, memoria central o memoria interna es la memoria de la computadora donde se almacenan temporalmente.
MODULACION.
Componentes de una computadora
 Valiéndose de transductores, utilizan circuitos electrónicos para convertir en números las pequeñas variaciones de tensión obtenidas, mostrando finalmente.
TEMPORIZADOR DIGITAL PIC 16F84 Alberto Simón González
Interfaz SPI.
ARDUINO ARDUINO El proyecto Arduino: Recordando… - Pines de entrada - Pines de salida - Microcontrolador - Conexión USB - IDE de arduino.
LOS PERIFERICOS.
¿Qué es Arduino?  Plataforma de electrónica abierta.
Transcripción de la presentación:

Introducción a microcontroladores PIC

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

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

DIFERENCIAS ENTRE UN MICROCONTROLADOR Y MICROPROCESADOR  Ambos son dispositivos programables

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

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

+ -

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.

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.

Sintaxis de CCS compiler (PIC C Compiler)

 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.

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).

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

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.

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.

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

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

 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

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

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

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.

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

 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).

 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)

 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

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

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:

 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();

GRACIAS :V