OBJETIVOS Diseñar y construir una tarjeta basada en microcontroladores, capaz de ser reprogramada sin utilizar un grabador especial de los varios que hay.

Slides:



Advertisements
Presentaciones similares
PIC 16F873 CONVERSIÓN A/D Y TRANSMISIÓN POR PUERTO SERIE
Advertisements

CURSO BASICO INTERMEDIO
Puerto Serie: La norma RS-232C
Alumno: Roy R. Mercado Núñez
FAMILIA DE LÓGICA PROGRAMABLE EMBEBIDA ALTERA FLEX 10K.
SISTEMA DE ADQUISICIÓN DE DATOS CON UN COMPUTADOR IBM-PC
ARQUITECTURA DE COMPUTADORAS
Diseñar un sistema que permita al usuario desde un teléfono móvil acceder a su computador personal (o servidor) a través de WAP para administrar algunos.
Trabajo de programas de simulación de redes
Instalación, Manipulación y uso.
INICIALIZACION Y APAGADO
RESUMEN: Softmicro de 8 bits Xilinx
Diagrama de Bloques del Sistema de Adquisición.
COMUNICACIÓN SERIAL Javier Garcia Ramos.
Programación básica de la interfase RS232 C
Introducción a los MCU´s de Motorola
Entrada / salida digital con ccs
Introducción al Software
Microcontroladores PIC
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Semana 4 - periferico.
Microcontroladores PIC16F84A.
Operación de Micros e Interfaces
DISEÑO E IMPLEMENTACION DE UN ROBOT SEGUIDOR DE LINEA CARGUERO
Función Estructura y composición Tipos
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
TIMER 1 El módulo TIMER1 así como el TIMER0 es un temporizador/contador con las siguientes características. Trabaja con 16 bits (con 2 registros de 8 bits:TMR1H.
AUTORES: Casa Douglas Coque Danilo
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Integrantes: Christian Blanco Raúl Bejarano
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Integrantes: David Miguel Martínez Rodríguez Diego David Bósquez Granja.
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Lenguaje Ensamblador Pic 16F84A.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
M.C. Luis Ricardo Salgado Garza Depto. Ciencias Computacionales, ITESM-MTY Marzo 2004.

Pure Valve Tone Guitar Amp
MICROCONTROLADORES COMPATIBLES CON 8XC51
EL CONTROL INDUSTRIAL:
 En computación es un conjunto de líneas de señal que el microprocesador o CPU utilizan para intercambiar datos con otros componentes como teclados,
“Organización y Arquitectura de Computadores” William Stallings
MICROCONTROLADORES TATIANA HURTADO RIVAS LILIANA PORTELA NOREÑA
Sesión 11: - Comparador, Captura y PWM. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
Estructura de los Sistemas Operativos
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
Tema 4: El microcontrolador PIC16F876
Real Colegio San José S.A.S Programación - BASIC.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Tendencias Generales Dotación física Software lógica Más pequeño
SANTIAGO MORA BERMÚDEZ
NOCIONES BÁSICAS COMPUTO II
Estructura Microcontrolador
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
PICOBLAZE RESUMEN.
RESUMEN: Softmicro de 8 bits Xilinx
INTRODUCCIÒN MICROCONTROLADORES
¿Qué es un Microcontrolador?
REPUBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD ALONSO DE OJEDA FACULTAD DE INGENIERÍA ESCUELA DE COMPUTACIÓN ING. PROF. LEONEL SEQUERA MEMORIAS.
José Alvarado – Cristian Anzola
TECNOLOGÍA Y ARQUITECTURA COMPUTADORES
Unidad de transferencia de memoria
ARQUITECTURA DEL ORDENADOR
Programación de microcontroladores PIC16f877a en linux
Módulo Serial Asicrónico SCI (Serial Communications Interface Module)
GS3  Conceptos Básicos de Hardware. Tipos de computadoras Computadora Personal (PC) Laptop Macintosh.
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
TEMA III. CONTENIDO: Lenguajes de Programación. Operandos. Operaciones. Programación lineal ó estructurada. Estructura de datos. Planificación de un automatismo.
CONIMEIRA XVI Bootloaders para microcontroladores PIC de Microchip Presentan: Ing. Ricardo Guadrón Tec. Juan José Guevara Escuela Especializada en Ingeniería.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Transcripción de la presentación:

OBJETIVOS Diseñar y construir una tarjeta basada en microcontroladores, capaz de ser reprogramada sin utilizar un grabador especial de los varios que hay en el mercado Que sirva para elaborar pequeñas aplicaciones de automatización caseras Sirva de apoyo para los diseñadores de proyectos con microcontroladores Enseñe lo fácil que puede ser comunicar un software con una tarjeta de control

DESCRIPCIÓN DEL SISTEMA

DIAGRAMA DE BLOQUES SOFTWARE HARDWARE MUNDO REAL SOFTWARE Cualquier programa que pueda interactuar con la tarjeta HARDWARE Tarjeta de Control con cuatro entradas digitales, ocho salidas con relés, comunicación serial RS232, Temporizador y modulo de auto programación. MUNDO REAL Todo aquello que pueda interactuar con las entradas, salidas y módulo de comunicación serial de la tarjeta.

CARACTERISTICAS DEL SOFTWARE TESIS_RAPI Ambiente agradable y fácil de manejar Entorno de desarrollo IDE Crear, Editar y Compilar código fuente con las aplicaciones de usuario, programar al PIC. Capacidad para comunicarse con el Hardware Manejar protocolo para sincronizar tareas Software – Hardware

CARACTERISTICAS DEL HARDWARE Control en base a microcontrolador. Firmware con funciones básicas para comunicación serial, temporización y escritura en la memoria de programa. Entradas Digitales TON. Salidas con relés. Circuito acoplador de niveles RS232 con los del microcontrolador Circuito para manejar cada relé. Alimentación con 12VDC

CRITERIOS PARA LA SELECCIÓN DEL PIC Se necesitan 12 pines de E/S, 4 para entradas y 8 para salidas Requerimos 2 pines para comunicación serial con el PC, uno para transmisión y el otro para recepción. Se debe tener la capacidad para generar temporización de un segundo manejada con interrupciones. Es indispensable que el dispositivo tenga memoria de programa tipo FLASH o EEPROM, para poder grabar y borrar desde el software. Debe poseer suficiente memoria para programa y datos Accequibilidad en el mercado local

DIAGRAMA DE BLOQUES DE LA TARJETA Controlador PIC16F877 Acoplador de Señales Drivers para Relés Comunicación con PC Banco de Relés

DIAGRAMA ESQUEMATICO

Circuito Equivalente de una puerta de E/S banksel PORTA clrf PORTA banksel ADCON1 movlw 0x06 movwf ADCON1 movlw 0x3F movwf TRISA bsf TRISC,7 bsf TRISC,6

Diagrama de bloques del Transmisor

Pasos a seguir al preparar una Transmisión Asíncrona Inicialice el registro SPBRG con la tasa de baudio apropiada. Si es deseada una tasa de baudios de alta velocidad , ponga a uno el bit BRGH. 2. Habilite el puerto serie asíncrono limpiando el bit SYNC y poniendo a uno el bit SPEN. 3. Si se desean interrupciones, entonces ponga a uno los bits TXIE, GIE y PEIE. 4. Si se desea transmisión de 9-bits, entonces ponga a uno el bit TX9. 5. Habilite la transmisión poniendo a uno el bit TXEN que también pondrá a uno el bit TXIF. 6. Si se selecciona transmisión de 9-bits, el noveno bit debe cargarse en el bit TX9D . 7. Cargar los datos en el registro TXREG (inicia la transmisión).

Diagrama de Bloques del Receptor

Pasos a seguir para preparar una Recepción Asíncrona 1. Inicialice el registro SPBRG con la tasa de baudios apropiada. Si se desea una tasa de baudios de alta velocidad, ponga a uno el bit BRGH. 2. Habilite el puerto serial asíncrono limpiando el bit SYNC, y poniendo a uno el bit SPEN. 3. Si se desean interrupciones, entonces ponga a uno los bits RCIE, GIE y PEIE. 4. Si se desea recepción de 9-bits, ponga a uno el bit RX9. 5. Habilite la recepción poniendo a uno el bit CREN. 6. La bandera RCIF se pondrá a uno cuando la recepción esté completa y una interrupción se generará si el bit RCIE fue puesto a uno. 7. Lea el regisro RCSTA para obtener el noveno bit (si lo habilitó) y determine si ocurrió algún error durante la recepción. 8. Obtenga los 8-bits de datos recibidos leyendo el registro RCREG. 9. Si cualquier error ocurriera, borre el error limpiando el bit CREN.

DISEÑO DEL FIRMWARE DEL PIC

DIAGRAMA DE FLUJO GENERAL RESET Limpiar Variables Configurar USART Configurar TIMER2 Configurar Puertos de E/S Aplicación del Usuario FIN

RUTINAS DE SERVICIO DE INTERRUPCIÓN SALIR Guarda Contenido de Registros Tipo Interrupción Rutina de Recepción Rutina Completar Segundo Rx Timer2 Restaura

RUTINA DE COMUNICACIÓN SERIAL Borrar bandera Rutina de Autoprogramación Rutina Recibir Comandos Tarea? Autop Cmd SALIR INICIO

RUTINA DE TEMPORIZACIÓN INICIO Cont = 25 Incremento Contador Segundos SALIR NO SI

RUTINA DE AUTOPROGRAMACIÓN DE LA MEMORIA DE PROGRAMA INICIO Es 1er Dato? Guardar en Dato_H Es 2do Es 3er Fin de Programación? Es 4to Dato_L ADD_H ADD_L Escribir en Memoria Limpiar bandera SALIR RESET SI NO

ÁREA DE MEMORIA PARA EL USUARIO Vector de Reset 0000h Vector de Interrupciones 0005h Memoria para Usuario 1000h Subrutinas del Firmware 0032h 1FFFh

DISEÑO DEL SOFTWARE

DIAGRAMA DE FLUJO GENERAL INICIO Mostrar Pantalla Principal Opción Menú B A D C E Archivo Configuración Opciones Ventanas Ayuda

MENÚ ARCHIVO A Mostrar Hoja en Blanco Menú Archivo Mostrar Cuadro Selección Abrir Nuevo Abrir Guardar en Archivo Abierto Archivo Elegido Guardar Guardar como Terminar Aplicación Cerrar

MENÚ CONFIGURAR B Mostrar Cuadro Elegir COM1 o COM2

MENÚ OPCIONES C Compilar Archivo Abierto Menú Opciones Mostrar Cuadro Programar Compilar Prog. Aplicación

MENÚ VENTANA D Mostrar Lista de Archivos Hay Archivos Abiertos Mostrar Vacío SI NO

MENÚ AYUDA E Menú Ayuda Mostrar Cuadro Mostrar Datos Del Autor De Características Menú Ayuda Mostrar Datos Del Autor Acerca de TESIS_RAPI Acerca del Autor Mostrar Archivo de Ayuda Contenido

ELECCIÓN DEL PAQUETE DE PROGRAMACIÓN PLATAFORMA Visual C++ Windows Visual Basic C++ Java Varias Visual C++ , Potente pero muy Complejo. No existe mucha información sobre como acceder a los recursos de la MFC Visual Basic, Muy fácil de aprender. Posee una gran cantidad de Controles Active X listos para ser usados. C++, existen muchos ejemplos y tutoriales sobre este lenguaje pero en cambio hay que diseñar las clases necesarias para crear cada objeto que se necesite. Java, tiene una ventaja enorme frente a los otros lenguajes que es poder correr en varia plataformas o sistemas operativos, pero en cambio tiene su grado de complejidad a la hora de manejar los puertos de comunicaciones

RESULTADOS DE LA COMPILACIÓN

PROGRAMACIÓN DE TAREAS DE USUARIO

ENSAMBLADO DEL CODIGO FUENTE

ESQUEMA DE DIRECTORIOS

COMPILACIÓN Y ENLACE CON MPLINK

TEMAS DE AYUDA

ACERCA DEL PROGRAMA

IMPLEMENTACION DEL SISTEMA

PRUEBAS REALIZADAS

ESTIMULOS PARA LAS ENTRADAS

VISTA DE LA PILA CUANDO HAY UNA LLAMADA A SUBRUTINA

FORMATO HEXADECIMAL VARIEDAD INTEL DE 8 BITS FORMATO INTEL INHX8M Ejemplos

FORMATO INTEL INHX8M :BBAAAATTHHHHHH....HHHHCC Donde: : Es el caracter dos puntos, y representa el comienzo de un registro. BB Es un byte de dos dígitos hexadecimales que representan el doble de la cantidad de bytes de datos que contiene la línea. AAAA Es una dirección de cuatro dígitos hexadecimales que representan la dirección de comienzo del registro de datos (multiplicada por dos). TT Es un byte de dos dígitos hexadecimales que siempre es '00', excepto en el registro de final de archivo, en donde es '01'. HH..HH Son pares de bytes de dos dígitos hexadecimales, de la forma byte bajo - byte alto, y representan los datos a grabar en el PIC. CC Es un byte de dos dígitos hexadecimales que representan el checksum de verificación de errores del registro de datos. Se calcula como el complemento a dos de la suma de todos los bytes anteriores en el registro.

Revisemos ahora el siguiente fragmento de archivo .HEX EJEMPLOS Revisemos ahora el siguiente fragmento de archivo .HEX :02 400E 00 F13F 80 --> Una sola instrucción en la posición 2007h :080008 00 00008A0117088207BD --> 4 instrucciones a partir de la dirección 0004h :00000001FF --> Indicador de fin de archivo HEX

CARACTERISTICAS DEL PIC 16F877 Características del núcleo del Microcontrolador: Características de Periféricos:

Características del núcleo del Microcontrolador CPU RISC de alto desempeño Sólo 35 instrucciones de una palabra para aprender Todas las instrucciones son de un ciclo excepto las de bifurcación que son de dos ciclos Velocidad de Operación : DC - 20 MHz entrada de reloj DC - 200 ns ciclo de instrucción 8K x 14 palabras de Memoria FLASH de Programa, 368 x 8 bytes de Memoria de Datos (RAM) 256 x 8 bytes de Memoria de Datos EEPROM Diagrama de Pines compatible con PIC16C73B/74B/76/77 Capacidad de Interrupciones (hasta 14 fuentes) Ocho niveles de pila en hardware Modos de direccionamiento directo, indirecto y relativo Reset en el Encendido (POR) Temporizador de estabilización de la energía (PWRT) y Temporizador de estabilización del Oscilador (OST)

Temporizador Perro Guardián (WDT) con su propio oscilador RC integrado Protección de Código programable Modo SLEEP para ahorro de energía Opciones para elegir el oscilador Memoria de Programa FLASH/EEPROM con tecnología CMOS de bajo consumo y alta velocidad Diseño completamente estático Programación serial en circuito (ICSP) por medio de dos pines Capacidad de programación en circuito con fuente de 5V Depuración en circuito a través de dos pines Procesador con acceso a leer/escribir memoria de programa Amplio rango de voltaje de operación: 2.0V to 5.5V Gran manejo de corriente: 25 mA Rangos de temperatura Comercial e Industrial Bajo cosumo de energía: -< 2 mA tipico @ 5V, 4 MHz -20 mA típico @ 3V, 32 kHz -< 1 mA típico en reposo

CARACTERISTICAS PRINCIPALES PIC16F877 Frecuencia de operación DC - 20 MHz Resets (y Retardos) POR, BOR (PWRT, OST) Memoria FLASH de Programa (Palabras de14-bits ) 8K Memoria de Datos (bytes) 368 Memoria de Datos EEPROM 256 Interrupciones 14 Puertas de E/S Puertas A,B,C,D,E Temporizadores 3 Módulos de Captura/Comparación/PWM 2 Comunicación Serial MSSP, USART Comunicación Paralela PSP Módulo Convertidor A/D de 10-bits 8 canales Conjunto de Instrucciones 35 Instrucciones