MICROCONTROLADORES PIC

Slides:



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

CURSO BASICO INTERMEDIO
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
MICROCONTROLADORES NOCIONES BÁSICAS.
MICROCONTROLADOR PIC 16F877.
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS CONTROL DE BARRERA DE PARKING
Programación en C para electrónica
Datapath para las instrucciones aritméticas y lógicas
Arquitecturas de Computadoras Capítulo I. Abstracciones
MICROCONTROLADORES.
TEMPORIZADORES.
Rommel Chang Suárez Jefferson Moreno Briones
Comparador de iluminación Sensor de puerta Potencia Iluminación Generador Alarma.
INFORMATICA I Funciones CLASE 13.
Sistemas Digitales Curso 2007/2008 Departamento de Tecnología E l e c t r ó n i c a Periféricos E/S. VIA 65C22 Sistemas Digitales 2º curso Ingeniero Técnico.
Entrada / salida digital con ccs
PROGRAMACION 2 MICROCONTROLADORES BASIC STAMP.
El Sistema de Memoria. Contenido Arquitectura del sistema Arquitectura del DIMM Descripción del reloj Arquitectura del chip RAM Latencia de Memoria Detección.
Entradas FF Sincrónicas y Asincrónicas
Microcontroladores PIC16F84A.
INTERRUPCIONES Y TEMPORIZADORES Programación en C para electrónica.
Diseño de un Controlador de Luces de un Semáforo
INTRODUCCIÓN AL DISEÑO SECUENCIAL: CONTADORES Y REGISTROS
SISTEMAS DIGITALES SECUENCIALES
EXAMEN CORTO SOBRE FLIP-FLOPS
José Estay A / jea I semestre académico 2014 Computadores (TU Sistemas Computacionales) Elementos de estructura de computadores.
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.
APPLICATION PROJECT DIGITAL ELECTRONICS Q1 1BT4.
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
MICROCONTROLADORES NOCIONES BÁSICAS. ¿QUÉ ES UN MICROCONTROLADOR? MICROCONTROLADOR = MICROPROCESADOR + MEMORIA + PERIFERICOS.
Integrantes: Christian Blanco Raúl Bejarano
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES
Funcionamiento de la CPU
Timer 3 Presentan: Fernando piñal moctezuma Tecilli tapia Tlatelpa BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA ELECTRÓNICA SISTEMAS.
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.

MICROCONTROLADORES COMPATIBLES CON 8XC51
Datapath para las instrucciones de carga y almacenamiento (load/store)
PIC16F877 Timers.
Universidad Técnica Federico Santa María Departamento de Electrónica Seminario II1 Timers A - B. Usos y programación. Paola Rojas Pablo Naveas Carlos Silva.
“Organización y Arquitectura de Computadores” William Stallings
Microcontrolador MPS430F149
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.
Sesión 09: TIMER como base de tiempo.
INTERMITENCIA VAMOS A APRENDER A ESPERAR. En este programa vamos a presentar una instrucción que nos sirve para esperar antes de ejecutar la instrucción.
INTRODUCCIÓN A ARDUINO
Microprocesadores II PIC16C5X Ing. Nelwi Báez.
Tema 4: El microcontrolador PIC16F876
Real Colegio San José S.A.S Programación - BASIC.
Sistemas Secuenciales Electrónica Digital
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.
FUNCIÓN OR Una O otra, para que funcione. Función suma OR abS Es aquella función que es cierta (1), si una o las dos entradas son ciertas.
FUNCIÓN AND Para hacer que funcione, debo accionar un pulsador Y el otro.
NOCIONES BÁSICAS COMPUTO II
FUNCIÓN NOR Una Opuesto a una OR. Función suma NOR abS Equivale a la asociación de la función OR, con la función NOT. Por tanto estamos.
Principio unidad 1.
RESUMEN: Softmicro de 8 bits Xilinx
PICmicro GAMA MEDIA: PIC16F84 [I]
Introducción al lenguaje PROCESSING para ARDUINO
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.
Programando puertos en C freescale
Programación de microcontroladores PIC16f877a en linux
Máquinas de estado con VHDL
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Parte I Pines de E/S Interrupciones
El Hardware El Software La Comunidad  Software Libre  Hardware Libre  Puerto USB  Fácil de usar  Precio reducido  Completamente independiente 
Introducción a los microcontroladores Octubre 2013 Arduino Uno Convertidor A/D.
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.
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias.
Transcripción de la presentación:

MICROCONTROLADORES PIC TIMER0

MODULO TIMER0 Es un modulo contador/temporizador de 8 BITs, que cuenta con un preescalador programable de 8 BITs Puede funcionar como temporizador o como contador En modo temporizador el modulo Timer0 se incrementa con cada ciclo de instrucción. En el modo contador el modulo timer0 se incrementa en cada flanco (ascendente o descendente) del pin RA4/TOCKI. En ambos casos al desbordarse (pasar de FF A 00) el modulo timer0 genera una interrupción.

MODULO TIMER0 EL REGISTRO OPTION. El registro OPTION (o registro de opciones) se emplea para programar las opciones del temporizador TMR0, el tipo de flanco con el que se detecta una interrupción y la activación de las resistencias de polarización del puerto B. Ocupa la posición 81h de la página 1 del banco de registros. Debe escribirse usando la instrucción especial OPTION. Esta instrucción carga el contenido de W en el registro OPTION. si el BIT TOCS del registro OPTION es cero entonces se trabaja en modo temporizador. si el BIT TOCS del registro OPTION es uno entonces se trabaja en modo contador. En el modo contador se puede seleccionar si el incremento se producirá en un flanco de subida o en un flanco de bajada, mediante el BIT TOSE del registro OPTION. El Preescaler es compartido por el TIMER0 y por el WATCHDOG, se asigna a un modulo o a otro mediante el BIT PSA del registro OPTION. El valor del preescaler se selecciona con los BITS PS0:PS2.

MODULO TIMER0

Modulo TIMER0

MODULO TIMER0 El tiempo de desbordamiento del TIMER0, se halla de acuerdo a la siguiente formula. T=TCM*PRESCALER*(256-carga TIMER0) TCM=4/FOSC=CICLO DE MAQUINA.

TIMER0 EN CCS SETUP_TIMER_0(MODO).- establece la fuente de reloj, el preescaler, etc. para el TIMER0; donde MODO esta definido en el fichero de cabecera, estos afectan a los BITs 0:5 del registro OPTION.

TIMER0 EN CCS SETUP_TIMER_0(MODO) OPTION_REG() RTCC_INTERNAL 00H RTCC_EXT_L_TO_H 20H RTCC_EXT_H_TO_L 30H RTCC_DIV_1 08H RTCC_DIV_2 01H RTCC_DIV_4 02H RTCC_DIV_8 03H RTCC_DIV_16 04H RTCC_DIV_32 05H RTCC_DIV_64 RTCC_DIV_128 06H RTCC_DIV_256 07H

TIMER0 EN CCS Estos distintos modos se puede agrupar usando el símbolo | Setup_timer_0(RTCC_DIV_2|RTCC_INTERNAL|RTCC_8_BIT); SET_TIMER0() Fija el valor inicial del TIMER0 para que empiece la cuenta. SET_TIMER0(15); VALUE=GET_TIMER0(); Lee el valor actual del Timer0;

Uso del TIMER0 como temporizador Generar una señal cuadrada de 62.5Hz utilizando la interrupción del TIMER0 Se necesita un semiperiodo de 8mS, por lo tanto, utilizando la siguiente formula: T=TCM*PRESCALER*(256-carga TIMER0) 8ms=4/(4MHZ)*2*(256-X) X=?

ESQUEMATICO

USO DEL TIMER0 COMO CONTADOR Hacer parpadear un LED conectado al PIN_B0 cada 500mS y ademas hacer cambiar de estado a un led conectado al PIN_B1 cada tres pulsos que ingresan por RA4. Solucion: El timer0 es un registro de 8 bit que puede contar hasta 256, para que se desborde con tres pulsos se le cargara con 253.

ESQUEMATICO

CODIGO #include<16f628a.h> #fuses xt,nowdt,protect #use delay(clock=4Mhz) #INT_TIMER0 void isr_timer0(){ //rutina de atencion a la interrupcion del timer0 output_toggle(PIN_B1); //invirtiendo el estado del pin b1 set_timer0(253); //cargando el timer0 con 253 } void main(){ setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1); //timer0 como contador enable_interrupts(INT_TIMER0); //habilitacion de la interrupcion timer0 enable_interrupts(GLOBAL); //habilitacion global de interrupcion set_timer0(253); //se carga el registro timer0 con 253 while(true){ output_toggle(PIN_B0); //parpadeo de led delay_ms(500);