PROYECTO MICROCONTROLADORES
ESCUELA POLITÉCNICA DEL EJÉRCITO
INGENIERÍA ELECTRÓNICA
MICROCONTROLADORES
PROYECTO
APLICACIÓN PARA TRANSMITIR Y RECIBIR DATOS ENTRE EL PIC16F877 Y LA PC
GAIBOR DENNIS
MARTINEZ CARINA
SEXTO NIVEL
Jueves, 16 de mayo de 2013
1. TEMA:
APLICACIÓN PARA TRANSMITIR Y RECIBIR DATOS ENTRE EL PIC16F877 Y LA PC
2. PLANTEAMIENTO DEL PROBLEMA
En el presente trabajo serealizará una aplicación en lenguaje ensamblador, en el cual se realizará una aplicación que genere ondas cuadradas, en diferentes frecuencias, estas frecuencias serán determinadas por un valor enviado desde el computador por medio del puerto serie, o se las puede seleccionar a partir del de 3 interruptores.
3. OBJETIVOS
3.1. Objetivo General
Diseñar una aplicación en Mplab, la cual servirá paragenerar ondas cuadradas, utilizando el TMR1 del pic 16f877A con la posibilidad de cambiar su frecuencia al utilizar un computador para ello, además implementar en un circuito electrónico que permita la revisión de estas ondas con el uso de un osciloscopio o un diodo Led.
3.2. Objetivos Específicos
4. MARCO TEÓRICO
4.1. Introducción
En el mundo actual, los microcontroladores PIC tienen unsin número de aplicaciones en cualquier campo, los cuales se los puede programar con ayuda de diferentes lenguajes de programación, tal como es ‘Assembler’, el cual permitirá crear distintas aplicaciones para los microcontroladores PIC, además posee la ventaja de que los microcontroladores se pueden grabar varias veces, con diferentes códigos de programa
4.2. Puerto Serie USART
USART significa"Universal Synchronous/Asynchronous Receiver-Transmitter. Es un dispositivo que sirve para transmitir o recibir datos secuenciales de manera síncrona o asíncrona.
4.3. El Módulo Temporizador
Un temporizador, en general, es un dispositivo que marca o indica el transcurso de un tiempo determinado. Los PIC16F87X tienen 3 módulos temporizadores denominados TIMER0 (TMR0), TIMER1 (TMR1) y TIMER2(TMR2).
Los módulos temporizadores en los microcontroladores PIC se emplean para contabilizar intervalos de tiempo o para contar flancos que aparecen en pines externos del micro, esto último lo pueden hacer TMR0 y TMR1 pero no TMR2
Cuando trabajan como temporizadores, utilizan como patrón de cuenta un reloj que se genera a partir del oscilador del microcontrolador Cada módulo puede generar unainterrupción para indicar que algún evento ha ocurrido (que se ha sobrepasado el valor máximo de cuenta de un temporizador –overflow- o que se ha alcanzado un valor dado).
Comunicación serie
Puerto db9
5. DISEÑO DEL SOFTWARE
6. DISEÑO DEL HARDWARE
7. CÁLCULOS MATEMÁTICOS
Calculo para la frecuencia
En donde TH es el tiempo de encendidoy TL es el tiempo de apagado del LED. T=TH=TL
Para calcular T con una frecuencia de reloj Fosc dada y un valor del preescalador 1/M, para un ciclo de N incrementos del registro TMR1 tendremos que la duración (Tciclo) del ciclo será:
Para un reloj de 4MHZ tenemos:
Por lo tanto
Ejemplo:
Cálculo del período y semiperiodo de 500us teniendo encuenta que el periodo es el doble.
Semiperiodo de 500useg.
1) Se calcula el Tciclo máximo con los siguientes valores: N = 65536; es el máximo valor que alcanza con FFFF.
2) M = 8; es el valor máximo del preescalador en el timer1 de 1/8
Fosc = 4MHz
T = Tciclo = N*M*(4 / Fosc) Tciclomax = 65536*8* (4 / 4MHz) Tciclomax = 0.524288 seg
3) Luego se debe calcular el número de cruces por ceroMz, porque no alcanza Tciclomax = 524,288 mseg a los 500us, mediante la siguiente ecuación:
Tiempo = Tciclo * Mz
Mz = tiempo / Tciclo
Mz = 500us/ 0.524288 seg
Mz=0.000954
Pero Mz no es entero, por lo que se debe hacer un nuevo cálculo con un nuevo Tciclo, en donde tiempo = 500us.
Tciclo = 12 mseg (se escoge cualquier valor entero múltiplo de M*N y mucho menor a
Tciclomax = 0.524288...
Regístrate para leer el documento completo.