Está en la página 1de 12

UNIVERSIDAD POLITECNICNICA DE QUERETARO

M503

MICROCONTROLADORES REPORTE PRACTICA 3

Integrantes:
Christian Daniel Garca Garca. Ramiro Rivera Serrano.

Profesor: Ubaldo G. Villaseor.

INTRODUCCION.

-La materia de microcontroladores y este tipo de prcticas de la materia tienen como objetivos ensearnos como y para qu sirve un microcontrolador. Un microcontrolador es un circuito integrado programable, capaz de ejecutar las rdenes grabadas en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea especfica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y perifricos de entrada/salida .Tambin se aprende a simular y rutear algn circuito para proyecto con un programa llamado PROTEUS, que este software obviamente permite montar el circuito con pistas y elementos los cuales se pueden observar y para rutearlo con un programa que lo har funcionar, a la hora de la simulacin. La programacin mencionada anteriormente se realiza en un compilador llamado PIC C COMPILER. Una vez realizado esto tenemos que observar el funcionamiento del programa a travs de un sistema mnimo y placas realizadas para las prcticas. En esto es una visin a groso modo de lo que se ve en este reporte de prctica de microcontroladores.

MARCO TEORICO: CCS C COMPILER: CCS ofrece una suite completa de herramientas integradas para desarrollar y depurar aplicaciones embebidas que se ejecutan en Microchip PIC y dsPIC MCU DSC. El corazn de este desarrollo es la suite de herramientas de CCS cdigo inteligente optimizacin de compilador de C que libera a los desarrolladores concentrarse en la funcionalidad de diseo en lugar de tener que convertirse en un experto en arquitectura MCU.

Sistema mnimo: Un sistema mnimo, en general, es un circuito montado en placa que contiene los mnimos componentes necesarios para observar el funcionamiento de un microcontolador con un programa previamente cargado.

Tarjeta de desarrollo

Circuito Minimo ya funcionando.

Proteus: es una compilacin de programas de diseo y simulacin electrnica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los mdulos VSM y Electra. -El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas Inteligente) permite disear el plano elctrico del circuito que se desea realizar con componentes muy variados, desde simples resistencias, hasta alguno que otro microprocesador o microcontrolador, incluyendo fuentes de

alimentacin, generadores de seales y muchos otros componentes con prestaciones diferentes. -ARES, o Advanced Routing and Editing Software (Software de Edicin y Ruteo Avanzado); es la herramienta de enrutado, ubicacin y edicin de componentes, se utiliza para la fabricacin de placas de circuito impreso, permitiendo editar generalmente, las capas superficial (Top Copper), y de soldadura (Bottom Copper).

PIC16F873A: Los PIC16F87X son una familia de microcontroladores PIC es la versin mejorada del caballo de batalla PIC16F84. Consta de los siguientes modelos que varan de acuerdo a prestaciones, cantidad de terminales y encapsulados:

PIC16F873 PIC16F874 PIC16F876 PIC16F877

Esta familia es de las que tienen memoria tipo Flash, lo que nos permite reprogramarlos las veces que sea necesario sin necesidad de usar ningn otro dispositivo ms que el propio programador. Este aspecto es muy importante a la hora del diseo de un dispositivo para evitar prdida de tiempo en borrar los C y volver a programarlos. Las caractersticas principales que hacen de esta familia un poco ms potente que otras son:

Conversor Analgico/Digital de 10 bits Set de 35 instrucciones 3 Temporizadores + Watchdog Timer o Perro Guardin 2 mdulos PWM Protocolos de Comunicaciones USART, PSP e IC

Todos los C de la firma Microchip cuentan con registros internos (la mayora de estos son de escritura-lectura) los cuales nos permiten configurar cada bloque para que funcione de acuerdo a nuestras necesidades. Para las familia 16F87X estos registros son de 8 bits y podemos acceder a cada uno de ellos, o bien a todo el registro. Tambin existen algunos registros particulares de 16 bits pero fsicamente son dos registros de 8 unidos. Para cada C existen tres bloques bien diferenciados de memoria. Estos son:

Memoria de programa: Lugar fsico donde se guarda el programa. Memoria de datos: Lugar fsico donde se guardan datos, EEPROM Memoria de registros: Lugar fsico de los registros que controlan cada mdulo.

La Memoria de registros es la parte de la memoria se encuentran los registros que manejan a cada mdulo del C y tambin existen registros no definidos o bien a definirse por el programador para cualquier uso (variables, constantes, acumuladores auxiliares, etc.) estos registros de propsito general tambin son de 8 bits y se definen asignndoles un nombre y una direccin.

Datasheet pic 16F873A

OBJETIVO

En esta prctica el alumno debe comprender las limitaciones que se imponen sobre el lenguaje c con el que se programan las aplicaciones, para tratar de ajustarse a los recursos que tiene un microcontrolador. As mismo se profundiza en el conocimiento de los puertos de entrada/salida Reafirmar los conceptos de microcontrolador y funcionamiento.

Programar el PIC 16F873A Aprender a usar herramientas y software necesario para el control de PIC y sistemas.

Familiarizarse con la programacin (Lenguaje C).

Simulacin de sistemas electrnicos en PROTEUS.

Uso de programador picnano para PIC.

Programador picnano

METODOLOGIA Y DESARROLLO.

Antes que nada se nos fue proporcionada una lista con una serie de conceptos acerca de lo que es un microcontrolador y las diferencias que existen con un microprocesador, posteriormente para realizar las practicas propuestas por el profesor, nos dispusimos a planchar y soldar el sistema mnimo, esto parar colocar el pic y unirlo con las dems placas. Posteriormente nos dispusimos a programar en el lenguaje c con la ayuda del software ccs c compiler esto para pasar el programa a los que es el pic. Para la simulacin del programa y la elaboracin de las placas del sistema mnimo, display, LEDs y botones pull up/pull down se us Proteus con los diferentes softwares integrados para simulacin y elaboracin de PCBs. En la parte de la programacin del microcontrolador se utiliz un PIC16f873A que es uno de los microcontroladores ms populares del mercado actual Para la programacin de PICs se debe tomar en cuenta la arquitectura de ste y para conocerla debe consultarse el Data sheet o hoja de datos del PIC programar. El objetivo del programa es que al momento de conectar el pic al sistema mnimo y de este a las placas de push buttons y a la de los display de 7 segmentos, este programa consta de 3 botones y bsicamente el programa debe de realizar una cuenta de 0 a 50 con el primer boto de manera ascendente, este primer botn es automtico, el segundo botn debe hacer lo mismo un contador de 0 a 50 pero este de manera manual, el tercer botn har bsicamente lo mismo de manera manual pero este ser de forma descendente. Una vez terminado el programa en ccs c compiler, debe compilarse y depurarse y revisar que no contenga ningn error, una vez hecho esto se crear un archivo con extensin (.HEX) el cul utilizaremos para simular en ISIS y para grabarlo en el microcontrolador. Bsicamente se puede decir que para compilar el programa y crear el archivo se debe guardar como la extensin .ASM Y l .HEX nos sirve para grabar en el micro.

Programa realizado en CCS C COMPILER:


//Cabecera del programa. #include <16f876a.h> #use delay (clock = 20000000) #fuses HS, NOWDT //Mapa de memoria. #byte trisa = 0x85 //proponer puertos como entrada/salida #byte trisb = 0x86 #byte trisc = 0x87 #byte porta = 0x05 #byte portb = 0x06 #byte portc = 0x07

//Programa Principal. void main (void) //para que no regrese ningun valor de variable { char b=0,c=0; int tab7seg[10]={0xC0,0xF9,0x24,0xB0,0x99,0x92,0x82,0xF8,0x80,0x98}; trisa = 0xff; trisb = 0x00; trisc = 0x00; portb = 0xC0; portc = 0xC0; for(;;) { //delay_ms(20); if(bit_test (porta,0)==1) //se ha pulsado el boton? { delay_ms(10); //SI -> retardo para evitar los rebotes portc = tab7seg[c]; portb = tab7seg[b]; b++; delay_ms(1000); if(b>9) { c++; b=0; } if (c==5 && b==1) { c=0;}

} else { if(bit_test (porta,2)==1) { delay_ms(200); //SI -> retardo para evitar los rebotes if(bit_test (porta,2)==0) b++; if(b>9) { c++; b=0; } if (c>=5 && b==1) { c=0;} portb = tab7seg[b]; portc = tab7seg[c]; delay_ms(5); } if(bit_test (porta,1)==1) { delay_ms(200); //SI -> retardo para evitar los rebotes if(bit_test (porta,1)==0) { if(b==0) { b=10; c=c-1; } b=b-1; if(c==-1) { c=5; } if(c==5 && b==9) { b=0; } } portb = tab7seg[b]; portc = tab7seg[c]; delay_ms(5);

} } } }

A continuacin se muestran las dos prcticas realizadas, donde se muestra los respectivos programas y circuitos realizados: PRACTICA 3 Componentes: Sistema mnimo Programador de pics PICNANO 2 Displays 7 segmentos 8 resistencias de 330 Ohms Pines hembra troquelados Pic 16F873A Alambre de protoboard

Programa: Simulacin:

Placa display

Placa push button

CONCLUSION Podemos concluir que estas prcticas realizadas con el PIC16F873A , el compilador CCS C COMPILER y el software PROTEUS los cuales ayudaron realizar y simular las prcticas de contador de 0 a 50 con un botn automtico, si lo dejabas apretado el contador iba corriendo hasta el 50, otro botn su funcionalidad era decrementar los dgitos y el otro botn era incrementar estos dos ltimos botones no eran automticos.

Hay una infinidad de aplicaciones que se pueden realizar con la ayuda de los pic. Pero debido a su costo y tamao, son muy tiles para manejar un conjunto reducido de funciones. Por ejemplo: A pesar de que muchos de los aparatos de hoy estn controlados por una computadora, casi nadie se imaginara un servidor X Serve de Apple conectado al horno de microondas o al tostador de pan para controlarlos.

En general nos gust mucho abrir nuestro panorama acerca de los microcontroladores y en esta prctica aprendimos a usar el pic 16F783A, empezar a conocer los puerto A y B del Pic, a ver la forma en como ejecuta su funcin el pic una vez que ha sido programado y que para resolverlo no es necesario seguir una sola direccin, ya que se puede resolver el circuito de diferentes maneras. Sabemos tambin, que es ms aplicable y sutil el manejo de PIC o microcontroladores, pues facilita la aplicacin y manipulacin a diversos proyectos. Es claro que en el medio que vivimos, la informacin es uno de los pilares fundamentales en el desempeo de nuestras vidas, y tambin que, en el rea de ingeniera, la informacin es una de las claves del xito de nuestras invenciones. Pero esta informacin no tendra significado ni aplicacin si no pudiramos controlarla y manipularla. Por tal motivo el software nos brinda una gran herramienta, a la hora de actuar con dicha informacin. .