Sunteți pe pagina 1din 22

INDICE

CAPITULO I

Planteamiento del problema


Solucin al problema
Objetivos: general y especifico
Justificacin

CAPITULO II

Antecedentes
Fundamentos tericos
Variantes principales
Programacin del pic16f877
Diagrama de bloque

CAPITULO III

Clculos realizados
Programas
Circuitos
Circuito general

CAPITULO IV

Conclusiones
Analisis de resultados
Bibliografa
CAPITULO I

PLANTEAMIENTO DEL PROBLEMA

Para la elaboracin del proyecto tiene como fin disear un modulo entrenador
para el aprendizaje y diseo de aplicaciones con microcontrolador pic16f877, el cual es
necesario integrar varios circuitos en el modulo, cada uno de estos circuitos tendr
elementos pasivos, activos, circuitos integrados y elementos de entrada y salida.
SOLUCION AL PROBLEMA

Se plantea como solucin el desarrollo de un entrenador que sea capaz de determinar el


correcto funcionamiento del PIC mediante la aplicacin de varias rutinas de prueba
individual, con la posibilidad de asegurar la calidad del resultado. Se ahorra tiempo y
esfuerzo al evitar conexiones en un protoboard, el cual puede generar demasiados
problemas como falsos contactos e incertidumbre en el funcionamiento y no saber
donde esta la falla

Para la salida en pantalla se basara con un circuito sencillo de conexin PIC16F877 y un


LCD, el PIC manejara la entrada correspondiente al LCD con un programa de prueba
ser mostrado a travs de la pantalla. Si el LCD esta fallando mostrara lnea en su
pantalla o en el peor de lo casos no encender.

Para el PIC se quemaran varios programas para verificar su estado, se encender los
leds para su respectivo puerto, si es para display s encender el, si es para los
optotransitores o rels se activaran un elemento o componentes, si es para RS232 la
respuesta es comunicacin con el ordenador, si alguno falla se reconoce el PIC no esta
funcionando.
OBJETIVOS

OBJETIVO GENERAL

* Diseo de un modulo entrenador PIC16F877

OBJETIVO ESPECIFICO

* Diseo de un circuito esquemtico con el programa proteus


* Diseo de un circuito impreso con el programan proteus
* Realizar varios programas PIC16F877 para la comprobacin del funcionamiento del
modulo entrenador
JUSTIFICACION

Se construyo un modulo entrenador pic16f877 de varios componentes pasivos activos


pantalla LCD, teclado hexadecimal 4x4, RSD232, varios leds, optotransitores, rels,
fuente de alimentacin. Que permita su correcto funcionamiento en el momento de
trabajo

Elaborar un programa, luego quemarlo en el PIC, ingresar valores en su elementos de


entrada optotransitores, teclado ver su respuesta en la LCD, leds, salida a rels y
comunicacin serial.

Con este modulo entrenador PIC16F877 se pueden realizar varias practicas en el


laboratorio de microprocesadores II ya que el alumno vaya prendiendo a elaborar
programas y aplicaciones con el microcontrolador PIC16F877.
CAPITULO II

ANTECEDENTES

Proyecto realizado en el I.U.T por los bachilleres Gabriela Rodrguez y sheera porras
diciembre 2007 probadores de ISD, LCD, PIC16F84 y PIC 16F877. este diseo se basa
en un grabador y reproductor de ISD, probador de PIC16F84 desplegando atravs de
sus puertos el encendido del Led del mismo para el PIC16F84

En la revista saber electrnica Nro 210 en la seccin de montajes tarjeta entrenadora


PIC16F877 para estudiantes y aficionados a la electrnica donde se basa en el manejo
de un display LCD adems de un teclado matricial.
FUNDAMENTOS TEORICOS

MICROCONTROLADOR

Un microcontrolador es un circuito integrado chip que incluye en su interior las tres


unidades funcionales de una computadora: unidad central de procesamiento y y
unidades E/S (entrada y salida)

Caractersticas:

Son diseados para reducir el costo econmico y el consumo de energa de un sistema


en particular. Por eso el tamao de la unidad central de control, la cantidad de memoria
y los perifricos incluidos dependern de la aplicacin. El control de un
electrodomstico sencillo como una batidora, utilizar un procesador muy pequeo (4 u
8 BIT) por que sustituir a un autmata finito. En cambio un reproductor de msica y/o
vdeo digital mp3 o mp4) requerir de un procesador de 32 bit o de 64 bit y de uno o
ms Copec de seal digital (audio y/o vdeo). El control de un sistema de frenos ABS
(Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al
igual que el sistema de control electrnico del motor en un automvil

Esquema de un microcontrolador.
Los microcontroladores representan la inmensa mayora de los chips de computadoras
vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs
ms especializados. Mientras se pueden tener uno o dos microprocesadores de propsito
general en casa (vd. est usando uno para esto), usted tiene distribuidos seguramente
entre los electrodomsticos de su hogar una o dos docenas de microcontroladores.
Pueden encontrarse en casi cualquier dispositivo electrnico como automviles etc.
Un microcontrolador difiere de una CPU normal, debido a que es ms fcil convertirla
en una computadora en funcionamiento, con un mnimo de chips externos de apoyo La
idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energa y de
informacin que necesite, y eso es todo. Un microprocesador tradicional no le permitir
hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que
agregarle los mdulos de entrada/salida (puertos) y la memoria para almacenamiento de
informacin.
Por ejemplo, un microcontrolador tpico tendr un generador de reloj integrado y una
pequea cantidad de memoria RAM y ROM EProm. /flash significando que para
hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un
cristal de sincronizacin. Los microcontroladores disponen generalmente tambin de
una gran variedad de dispositivos de entrada y salida como convertidores de analgico a
digital temporizadores, y buses de interfaz serie especializados, como IC2
Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones
de procesadores especializados. Los modernos microcontroladores frecuentemente
incluyen un lenguaje de programacin integrado, como el BASIC que se utiliza
bastante con este propsito.
Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso.
Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los
dispositivos de entrada y salida o la memoria que incluye el microcontrolador, se ha de
prescindir de cualquier otra circuitera.

Estructura bsica de un microcontrolador

En esta figura, vemos al microcontrolador metido dentro de un encapsulado de circuito


integrado, con su procesador (CPU), buses, memoria, perifricos del encapsulado se
ubican otros circuitos para completar perifricos internos y dispositivos que pueden
conectarse a los pines de entrada/salida. Tambin se conectarn a los pines del
encapsulado la alimentacin, masa, circuito de completamiento del oscilador y otros
circuitos necesarios para que el microcontrolador pueda trabajar.

Ncleo de un microcontrolador

An cuando el microcontrolador es una computadora embebida dentro de un circuito


integrado, se compone de un ncleo y un conjunto de circuitos adicionales. Dentro del
ncleo se encuentran el procesador y la memoria, todo ello estructurado de forma tal
que conforme una arquitectura de computadora.

Proceso de desarrollo

Desarrollo del software. Una ves determinada la funcionalidad del microcontrolador


(UC) En un circuito, se debe escribir el programa que regir su funcionamiento.
Generalmente, los ucSe programan en lenguaje de ensamblador, sin embargo, existen
compiladores para los lenguajes de alto nivel, como c y c++, que pueden resultar de
utilidad cuando se desea minimizar el tiempo de desarrollo. Es importante considerar
que el cdigo assembler (.AMS o .s) generado por los compiladores es generalmente
mas largo e ineficiente que aquel concebido originalmente en assembler.
Caractersticas generales del pic 16f877

Familia del pic


PIC16F873
PIC16F874
PIC16F876
PIC16F877

CPU
* Tecnologa RISC
* Solo 35 instrucciones que aprender
* Todas las instrucciones se ejecutan en ciclo de reloj, excepto los saltos que requieren
dos
* Frecuencia de operacin de 0 a 20 Mhz ( 200 Ns de ciclo de instruccin)
* Opciones de seleccin del oscilador

MEMORIA

* Hasta 8k x 14 bits de memoria flash de programa


* Hasta 368 bytes de memoria de datos (RAM)
* Hasta 256 bytes de memoria de datos ( EEPROM)
* Lectura / escritura del la CPU ala memoria flash de programan
* stack de harware de 8 niveles

RESET E INTERRUPCIONES:
* Hasta 14 fuentes de interrupcion
* Reset encendido (POR)
* Timer d encendido (PWRT)
* Timer de arranque (ost)
* Sistema de vigilancia de watchdog timer

OTROS

Modo sleep de bajo consumo de energa


Programacin y depuracin serie in-circuit (ICSP) atravs de dos patas
* rango de voltaje de operacin de 2.0 a 5.5 volts
Alta disipacin de corriente de la fuente
Rangos de temperatura: comercial, industrial y extendido bajo consumo de
potencia :
menos de 0.6 mA a 3 V, 4 Mhz
20 ua a 3 v, 32khz
Menos de 1uA corriente de standby (modo SLEEP)
PROGRAMACION DEL PIC

Este proceso corresponde a utilizar un programa en el PC que toma el cdigo


ensamblado (.HEX) para el micro especifico, y lo enva mediante algn puerto serial
serie paralelo, usb etc. A un dispositivo que lo escribe en la memoria del micro. Se
acostumbra denominar programador tanto al software como al hardware
involucrado de este propsito, por separado, lo que puede llevar a confusin.

Prueba real y correccin de errores

Una ves programando el micro, se puede instalar en el circuito final para comprobar
su adecuado funcionamiento. Existen herramientas de software que perimiten
simular el comportamiento en un micro, muy tiles cuando el programa alcanza
cierta complejidad. Para resolver problemas en un circuito real, El instrumento mas
utilizado es el analizador lgico

PIC 16F877

El microcontrolador PIC16F877 de microchip pertenece a una gran familia de


microcontroladores de 8 bits (bus de datos) que tienen las siguientes caractersticas
generales que los distinguen de otras familias:
*Arquitectura de hardware
* Tecnologa de RISC
* Tecnologa CMOS

Estas caracteirsiticas se conjugan para lograr un dispositivo altamente eficiente en el


uso de la memoria de datos y programa y por lo tanteen la velocidad de el uso de la
memoria de datos y programan y por lo tanto en la velocidad de ejecucin
Microchip ha dividido sus microcontroladores en tres grandes subfamilias de
acuerdo al nmero de bits de bus de instrucciones:

Tabla de subfamila del PIC

Nomenclatura

Adems de lo mostrado en la tabla anterior, en el nombre especfico del


microcontrolador pueden aparecer algunas siglas que dependen del rango de voltaje
manejado y del tipo memoria ROM incluida, cmo se muestra en la tabla

Variantes principales

Los microcontroladores que produce microchip cubren un amplio rango de


dispositivos cuyas caractersticas pueden varias
1. empaquetado ( desde 8 patitas hasta 68 patitas)
2. tecnologa de la memoria incluida ( EPROM, ROM, flash)
3. voltajes de operacin ( desde 2.5 hasta 6v)
4. frecuencia de operacin hasta 20 Mhz
CAPITULOIII

Clculos realizados:

Calculo de la fuente de alimentacin

Asumo: Icarga= 1 Amp


VRizo (p-p): 90m v (p-p)
Clculos de las resistencias conectadas al puerto
Si los leds rojos = 1.88v y 9.27mA
Entonces
{R = 5v 1.88)7 9.27= 336 ) = 330 )

Calculo de las resistencias conectadas a los optotransitores

R = 1.2 / 10mA = 620


Todas R iguales
Programas

Optotransitores

LIST P=16F877
__CONFIG 3F31
INCLUDE <P16F877.INC>

ORG 00
;variables usadas
;*******************
STATUS equ 03
PORTB equ 06
PORTC equ 07
;
;
INICIO BCF STATUS, RP1

BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1

MOVLW 0xcf
MOVWF TRISA

CLRF PORTC

BCF STATUS, RP0

PRINCIPAL
MOVFPORTA,W
MOVWF PORTC
GOTO PRINCIPAL
END
Reles
list p=16f877, f=inhx32

;
**********************************************************************
*************************

#include<p16f877.inc>

;
**********************************************************************
************************

ORG 0X00
GOTO COMIENZO

;
**********************************************************************
***********************

ORG 0X05

COMIENZO
BCF STATUS,RP0
BCF STATUS,RP1
CLRF PORTA
BSF STATUS,RP0
MOVLW 0X06
MOVWF ADCON1
MOVLW 0XC7

CLRF PORTA
MOVWF TRISA
CLRF TRISE

BCF STATUS,RP0

;
**********************************************************************
**********************

INICIO COMF PORTA,W

MOVWF PORTE
GOTO INICIO
END
comunicacin RS232

by marco_recargado para foro.elhacker.net/


#include <16F877A.h>
#fuses HS, NOWDT, NOPROTECT
#use delay(clock=8000000)

#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7) /// libreria para el manejo del


/// puerto serie se establece
/// velocidad de 9600 baudios
#include <lcd.c> /// libreria para el manejo de la lcd
char dato_recibido[16]; /// aqui va a ir los datos recibidos por rs232

#byte porte=0x09

#int_rda //// interrupcion por escritura en buffer del puerto


void rda_isr()
{
gets(dato_recibido); //// esta instruccion almacena en la variable los
//// datos que se esten enviando hasta que llega
//// la tecla enter
}

void main()

{
enable_interrupts(int_rda); //// se habilita la interrupcion por
//// escritura del puerto serial
enable_interrupts(global);

set_tris_d(0b00000000);

lcd_init();
lcd_gotoxy(1,1);
lcd_putc(" com RS232 ");

while(true)
{
lcd_gotoxy(1,2);
printf(lcd_putc,"%s",dato_recibido); /// se manda a lcd lo que se recibio

}
}
Teclado

Programa para PIC 16F877.


;Velocidad del Reloj:4 MHz.
;Reloj instruccin: 1 MHz = 1 uS.
;Perro Guardin deshabilitado.
;Tipo de Reloj XT.
;Proteccin de Cdigo: OFF.

;************************************** Elegimos PIC


********************************************************************

list p=16f877, f=inhx32

;********************* Asignacin de nombres de Registros de Funciones


especiales a direcciones *************

#include <p16f877.inc> ;Este fichero contiene los nombres y direcciones de los


; registros de funciones especiales.
; Este fichero esta localizado en el directorio
; con el nombre MPASM.

;************************************** Igualdades
**********************************************************************
*

;************************************** Registros
**********************************************************************
**

CBLOCK 0x20
ENDC

;************************************* Seccin Cdigo de Reset


*******************************************************

ORG 0x00 ;Direccin del Vector Reset


GOTO COMIENZO ;Comienzo del Programa

;*************************************** Seccin de Configuracin


*****************************************************

ORG 5 ; Inicio de Programa


COMIENZO BCF STATUS,RP1 ; Ir al Banco 1
BSF STATUS,RP0
CLRF TRISC ; Poner el PORTC como salida de datos.
BCF STATUS,RP0 ; Ir al Banco 0
CLRF PORTC ; Limpiar el PORTC
CALL Teclado_Inicializa ; Configura las lneas del teclado.

;************************************* Principal
**********************************************************************
****

;SEG1 CALL Teclado_LeeOrdenTecla ; Obtiene el orden de la tecla pulsada.


SEG1 CALL Teclado_LeeHex ; Obtiene el valor hexadecimal de la tecla
pulsada.
BTFSS STATUS,C ; Preguntamos si se ha pulsado una tecla.
GOTO SEG1
MOVWF PORTC ; Llevar el dato a el Puerto C.
CALL Teclado_EsperaDejePulsar ; Para que no se repita el mismo
carcter
GOTO SEG1

;*********************************************** Libreras
****************************************************************

INCLUDE <TECLADO.INC>
INCLUDE <RETARDOS.INC>
END

Termometro
include "16f877.h"

#device adc=10 //Usa resolucin de 10 bits


#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect

#include "lcd.c"
#use standard_io (D)

void main (void)


{
float temper,medicion;

lcd_init(); //Inicia LCD


lcd_putc(" Termometro\n"); //Saca texto
lcd_putc(" con LM35"); //Saca texto
delay_ms(2000);
lcd_putc("\f"); //Limpia pantalla
lcd_putc("Temperatura\n"); //Saca texto
lcd_putc("actual"); //Saca texto
delay_ms(1000);
lcd_gotoxy(14,2); //Acomoda cursor LCD
lcd_putc("oC");

while (1)
{

lcd_gotoxy(8,2); //Acomoda cursor LCD


lcd_putc(" "); //Limpia ese sector de pantalla
lcd_gotoxy(8,2); //Acomoda cursor LCD

setup_adc (adc_clock_internal);

setup_adc_ports (all_analog);

set_adc_channel (0); //Elige canal a medir RA0


delay_us (20);
medicion=read_adc (); //Hace conversin AD
setup_adc (adc_off); //Apaga ADC

temper=medicion*(0.48875); //Pasa binario a C

//////////////////////////////////////////////////////////////////////////////////
// el "0.48875" sale de dividir 5/1023 y el resultado de eso multiplicarlo por 100
// el 5 sale de los 5 voltios aplicado a el voltage de referencia, los 1023 salen
// de los 10 bit de resolucion del conversor analogico digital que seleccionamos.
// Si utlizaramos la resolucion de 8 bist del conversor analogico digital, la
// formula fuera (5/255)*100 ya que con 8 bits el numero maximo posible es de 0-255
//////////////////////////////////////////////////////////////////////////////////

printf(lcd_putc,"%02.1f",temper); //xxx.x C
delay_ms (1000);
}
}
Circuitos
CAPITULO IV
CONCLUSIONES

Para disear un entrenador se requiere:

1. disear l esquema elctrico correspondiente ala aplicacin


2. realizar un programa sencillo para demostrar la fiabilidad del diseo
3. conocer las caractersticas de los componentes sus dimensiones
4. el ancho de las pistas corresponde al caudal de corriente absorbido por el
componente
5. las dimensiones de los pad tiene que ser tomada en cuenta en el momento de
realizar el diseo
6. tener pendiente el dimetro de cada componente

El entrenado permite realizar diferentes aplicaciones sencillas y complejas


dependiendo del nivel de programa
BIBLIOGRAFIA

Microcontroladores PIC, la clave del diseo. Edicin parafino

Microcontroladores PIC. Diseo practico de aplicaciones 1ra parte.


Edicin Mc Graw-Hill

Diseo practico con microcontroladores. Edicin Thompson

Curso practico de diseo con PIC 1ra parte. Ingeniera de microsistemas


programados

Direcciones de Internet

www.microcontroladores.com

www.microchip.com

www.ccinfo.com

www.cc-prog.com
ANALISIS DE RESULTADOS

Fue mejor subdividir el circuito general en circuitos parciales para poder realizar
aplicaciones sencillas y demostrar la funcionalidad del entrenador.

Por precaucin se quiso colocar switch para deshabilitar la fuente d alimentacin del
circuito general

Se probaron los programas del PIC para el funcionamiento del entrenador esto
indica que el esquema elctrico esta bien diseado.

S-ar putea să vă placă și