Microcontroladores PIC16F84A.

Slides:



Advertisements
Presentaciones similares
Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Advertisements

LOS PUERTOS DE E/S PUERTO A
Integrantes: Moyolehuani Tatéi Temai
MICROCONTROLADORES PIC
RESUMEN: Softmicro de 8 bits Xilinx
MICROCONTROLADORES.
Ejecución de Programas
Programación básica de la interfase RS232 C
Practico PIC Programa Sumador.
PROGRAMACION 2 MICROCONTROLADORES BASIC STAMP.
En una computadora puedes distinguir por lo regular los siguientes componentes: El monitor es similar al de una televisión, solamente que en el puedes.
Circuitos Combinacionales Comunes
Composición Interna de un Procesador
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
TRADUCTOR DE UN PROGRAMA
La memoria de acceso aleatorio (en inglés:random- access memory, cuyo acrónimo es RAM) es la memoria desde donde el procesador recibe las instrucciones.
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
INTERRUPCIONES Y TEMPORIZADORES Programación en C para electrónica.
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Elementos de estructura de computadores.
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Elementos de estructura de computadores.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Conceptos Arquitectónicos del computador
PROGRAMACION DEL MICROCONTROLODADOR PIC16F877 Ing. Carlos Guerra Cordero.
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Integrantes: Christian Blanco Raúl Bejarano
Material de apoyo Unidad 4 Estructura de datos
MICROCONTROLADORES NOCIONES BÁSICAS COMPUTO II. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Lenguaje Ensamblador Pic 16F84A.
M.C. Juan Carlos Olivares Rojas

 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
Campus Chapultepec Arquitectura de Computadoras Diferencia entre microprocesador y microcontrolador Sánchez Manjarrez Silvana Ing. Daniel Domínguez C.
Módulo LCD Controlador HD44780.
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.
MANEJO Y USO DEL ENSAMBLADOR Y SIMULADOR MPLAB Ver. 7
Sesión 08: Interrupciones - IRQ. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
Real Colegio San José S.A.S Programación - BASIC.
Sesión 07: Interrupciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales II Universidad.
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.
Cisco Networking 1.4.4Identificación de los nombres, los propósitos y las características de la memoria ROM y RAM.
NOCIONES BÁSICAS COMPUTO II
Capítulo 8 Segmentación de Instrucciones.
ALMACENAMIENTO DE DATOS. Son componentes que leen o escriben datos en medios o soportes de almacenamiento, y juntos conforman lamemoria o almacenamiento.
     Jerarquía de memoria.
Tema 11 Bases de Datos y el Lenguaje SQL
RESUMEN: Softmicro de 8 bits Xilinx
INTRODUCCIÒN MICROCONTROLADORES
PICmicro GAMA MEDIA: PIC16F84 [I]
Tipos y Componentes de un Sistema Informático Por: Agustín Arias e Ignacio Roca.
ADMINISTRACIÓN DE REDES SIZING de Servidores.
ESTADO Registro de ESTADO más utilizado  Es el registro más utilizado.  Ocupa la dirección 03 H tanto del Banco 0 como el Banco 1 de la Memoria de Datos.
SIMULACIÓN Y ROBÓTICA. Juan Carlos González-Calero Labián.
¿Cómo programar un Botón para agregar registros a una base de datos?
Curso: Fundamentos de Computación
Programación de microcontroladores PIC16f877a en linux
MANEJO DE SISTEMAS OPERATIVOS INSTALACION DE UBUNTU.
Memoria Virtual Conceptos Paginación Bajo Demanda Creación de Procesos
CONIMEIRA XVI Bootloaders para microcontroladores PIC de Microchip Presentan: Ing. Ricardo Guadrón Tec. Juan José Guevara Escuela Especializada en Ingeniería.
Arquitectura de Computadores Clase 17 Tecnologías de Memorias IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de.
ORIGEN: La Memoria RAM se descubre hace 65 años en un laboratorio de Manchester, Inglaterra. Es ahí donde tres científicos Frederic Williams, Tom Kilburn.
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
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.
Estructura y funcionamiento de un sistema de cómputo
Transcripción de la presentación:

Microcontroladores PIC16F84A

Conociendo al PIC16F84A Posee 18 pines, de los cuales 13 son de I/O Memoria para guardar programas Timer/Contador interno 4 fuentes de interrupciones a la CPU Memoria EEPROM

Diagrama del PIC16F84A

Memoria

Registros Para configurar al PIC, debemos modificar algunos registros especiales: STATUS, OPTION_REG, INTCON, TRISA, TRISB Para manejar el I/O están los registros PORTA, PORTB Todo registro es de 8 bits (1 Byte)

Timer Qué cuenta el Timer? El timer puede ser configurado de distintas maneras para que vaya más rápido o más lento, pero con ciertos límites. Un segundo para el timer es mucho tiempo, aún cuando esté configurado para ir lo más lento posible.

Componentes del Timer Prescaler: Acá podemos seleccionar que el tiempo se vaya incrementando a la misma velocidad que se leen las instrucciones (si tiene el valor 1) o si queremos configurarlo a nuestra medida (si tiene el valor 0). Prescaler Rate Select (P.R.S.): Si el prescaler queda configurado con valor 0, acá podemos seleccionar la velocidad a la cual queremos que se mueva el timer. El “prescaler” y el “prescaler rate select” se configuran en el registro OPTION_REG

¿Cómo contar 1 segundo? La frecuencia original que le llega al timer es de 1Mhz. 1Mz = 1000000 Hz Si elegimos un P.R.S de 64, entonces la frecuencia que le estaría llegando al timer será de: F = 1000000 / 64 = 15625 Hz Como F = 1 / T, entonces T = 0.000064 segundos Cada 0.000064 segundos se aumenta en uno el timer. Entonces si queremos saber cuántas veces tiene que aumentar para que demore 1 segundo tenemos: 0.000064 * x = 1 segundo x = 15625 Se necesita que el timer aumente 15625 veces…

¿Cómo contar 1 segundo? ¿Qué se puede hacer? Pero este timer es un registro igual que todos los otros, por lo tanto tiene sólo 8 bits… con lo que solamente puede contar hasta 255. ¿Qué se puede hacer?

¿Cómo contar 1 segundo? Contar 15625 es lo mismo que contar 125 veces 125, con la diferencia de que el número 125 sí cabe en el registro del timer. Entonces la idea es contar hasta 125 en el timer y ocupar un registro extra para ir contando las veces que hacemos eso. Cuando lleguemos a 125 en el registro extra, ha pasado exactamente un segundo.

¿Cómo contar 1 segundo? Para que el timer sólo cuente 125, tenemos que hacer que su valor inicial sea 130 (de 130 a 255 hay 125) Asimismo, al registro extra lo tenemos que inicializar con 125, para ir restándole 1 cada vez y cuando el registro llegue a 0, sabemos que ya pasó un segundo. Pero… ¿Cómo sabemos que el timer dio una vuelta?

Interrupciones Para reconocer que algo ha pasado, se usan las interrupciones, por ejemplo para cuando el timer se da la vuelta. - Interrupción de Timer - Interrupción de RB0/int - Interrupción de RB4->RB7 - Interrupción de EE Write Complete

Un ejemplo… Interrupción de Timer Hay que activarla con el bit 5 del registro INTCON (poner un 1) El bit 2 del registro INTCON nos dice si hay (se lee un 1) o no hay (se lee un 0) interrupción de timer. Después de que se leyó un 1 (hay interrupción de timer), se debe escribir un cero con el programa

Funcionamiento Un PIC nuevo viene vacío, no hace nada Para decirle al microcontrolador lo que queremos que haga, necesitamos escribir un programa en el computador y grabárselo en la memoria Se puede grabar y volver a grabar muchas veces distintos programas en el mismo PIC16F84A

Pasos para grabar un programa Ir a un PC y escribir el código en ASSEMBLER Compilar el archivo Conectar el PIC a un programador de PIC’s que se conecta al PC Grabar el archivo compilado al PIC

Funcionamiento Ahora que ya tenemos el programa en el PIC, podemos sacarlo y ponerlo en el circuito Al alimentar con corriente al PIC, veremos cómo ejecuta las acciones que le dijimos que hiciera en el programa Con esto se ahorra mucho trabajo

Instrucciones en ASSEMBLER BCF f,b Coloca en Cero un determinado Bit. Este comando pone en Cero el Bit "b" del registro "f". BSF f,b Coloca en uno determinado Bit. Este comando Pone en 1 el Bit "b" del registro "f".

Instrucciones en ASSEMBLER BTFSC f,b Prueba el Bit b del registro f . Este comando prueba el Bit "b" del registro "f" y salta una linea si f,b está en 0. BTFSS f,b Prueba el Bit b del registro f. Este comando prueba el Bit "b" del registro "f" y salta una linea si está en 1.

Instrucciones en ASSEMBLER GOTO k El programa salta a una dirección con el nombre "k". (etiqueta) CALL k Llamada de una Subrutina con el nombre k. (requiere un RETURN al final de la subrutina)

Instrucciones en ASSEMBLER RETFIE Retorno de llamado a interrupción. RETURN Retorno desde una subrutina

Instrucciones en ASSEMBLER MOVLW k Se carga el registro "W" con el contenido del literal "k“ MOVWF f Copia el contenido del registro "W" al registro “f”

Instrucciones en ASSEMBLER CLRF f Borra el registro f. Esta instrucción borra un registro especifico. CLRW Borra el registro W. Esta instrucción borra el registro "W" solamente.

Instrucciones en ASSEMBLER DECFSZ f,d Esta instrucción decrementa en una sola unidad el registro "f" en la cual si el registro "f" queda igual a cero entonces salta una línea INCFSZ f,d Esta instrucción incrementa en una sola unidad el registro "f" en la cual si el registro "f" queda igual a cero entonces salta a una línea

STATUS OPTION_REG INTCON TRISA TRISB PORTA PORTB TIMER0 Registros STATUS OPTION_REG INTCON TRISA TRISB PORTA PORTB TIMER0

Registros Por ejemplo, si queremos tener interrupciones de timer debemos configurar el registro INTCON de la siguiente manera: 1 0 1 0 0 0 0 0 Eso se consigue con el siguiente código: MOVLW 10100000 MOVWF INTCON

Registros Extra Se pueden crear registros adicionales que pueden ser usados libremente por el usuario. Éstos son de 8 bits al igual que todos los que hemos visto hasta ahora. Se tienen que definir en la parte inicial del programa de la siguiente forma: REGA equ h’0C’ ;registro extra A REGB equ h’0D’ ;registro extra B REGC equ h’0E’ ;registro extra C REGD equ h’0F’ ;registro extra D REGE equ h’10’ ;registro extra E ... ... ... ...