Reporte2-3_HMJ

download Reporte2-3_HMJ

of 14

description

Programación y simulaciones de CCS

Transcript of Reporte2-3_HMJ

PRACTICA 2. CONTADOR ASCENDENTE Y DESCENDENTE BCDOBJETIVO: Comprender la programacin bsica para el microcontrolador 16F877A as como su interpretacin,para posteriormente simularla y poder comprobar su funcionamiento de forma fsica.MARCO TEORICO.Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y perifricos. Estas partes estn interconectadas dentro del microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora. Se puede decir con toda propiedad que un microcontrolador es una microcomputadora completa encapsulada en un circuito integrado.Toda microcomputadora requiere de un programa para que realice una funcin especfica. Este se almacena normalmente en la memoria ROM. No est de ms mencionar que sin un programa, los microcontroladores carecen de utilidad.El propsito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario le escribe, es por esto que la programacin es una actividad bsica e indispensable cuando se disean circuitos y sistemas que los incluyan. El carcter programable de los microcontroladores simplifica el diseo de circuitos electrnicos. Permiten modularidad y flexibilidad, ya que un mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador.Las aplicaciones de los microcontroladores son vastas, se puede decir que solo estn limitadas por la imaginacin del usuario. Es comn encontrar microcontroladores en campos como la robtica y el automatismo, en la industria del entretenimiento, en las telecomunicaciones, en la instrumentacin, en el hogar, en la industria automotriz, etc.

MATERIAL Y EQUIPO. PIC 16F877A.

PROTOBOARD

DISPLAY DE 7 SEGMENTOS CATODO COMN.

RESISTENCIAS.

FUENTE DE 5V.

SIMULADOR PROTEUS

CCS COMPILER

DESARROLLO.Se comienza con la programacin en ccs compiler, en donde en principio se selecciona el tipo de pic, para el caso del ccs, y posteriormente se declaran velocidad del cristal oscilador as como las los pines que usaremos de salida, que para nuestro caso usamos todos los pines b como salidas, luego de esto los introducimos en un cilo infinito el cual es while, el cual hara repeticiones infinitas o se precione el boton reiniciar, si se requiera se podria agregar otra secuenca para detener y comenzar, para ambos se asigna tiempo con delay, este tiempo viene dado en milisegundos, para nuestro caso usaremos una combinacion binaria para el encendido y apagado de leds del display basado en la tabla de verdad del mismo:

PROGRMACIN EN CCS INICIO CONTINUACIN #include #use delay(clock=4000000)#fuses NOWDT,XT#USE standard_io(b)void main(){output_b(0b00000000);//Todas las saldas del puerto B inician en cerowhile (true)//Ciclo while infinito.{//0.- CEROoutput_b(0b00111111);//Con la tabla de verdad de display indicamos cuales ONdelay_ms(1000);// 1.- UNOoutput_b(0b00000110);delay_ms(1000);// 2.- DOSoutput_b(0b01011011);delay_ms(1000);// 3.- TRES output_b(0b01001111);delay_ms(1000);//4.- CUATROoutput_b(0b01100110);delay_ms(1000);//5.- CINCOoutput_b(0b01101101);delay_ms(1000);//6.- SEISoutput_b(0b01111101);delay_ms(1000);//7.-SIETEoutput_b(0b00000111);delay_ms(1000);//8.-OCHOoutput_b(0b01111111);delay_ms(1000);//9.-NUEVEoutput_b(0b01100111);delay_ms(800);//----A-----//output_b(0b01110111);delay_ms(800);//9.-NUEVEoutput_b(0b01100111);delay_ms(800);//8.-OCHOoutput_b(0b01111111);delay_ms(1000);//7.-SIETEoutput_b(0b00000111);delay_ms(1000);//6.- SEISoutput_b(0b01111101);delay_ms(1000);//5.- CINCOoutput_b(0b01101101);delay_ms(1000);//4.- CUATROoutput_b(0b01100110);delay_ms(1000);// 3.- TRES output_b(0b01001111);delay_ms(1000);// 2.- DOSoutput_b(0b01011011);delay_ms(1000);// 1.- UNOoutput_b(0b00000110);delay_ms(1000);}}

Una vez teniendo la programacin se realiza una compilacin, esta compilacin nos sirve para detectar errores en la programacin, en caso de haberlos el mismo software muestra estos errores, pero una vez que estn correctos nos genera un archivo con extensin .HEX el cual ocuparemos para cargar en nuestra simulacin que es en Proteus.A continuacin se muestran las simulaciones en Proteus, una con el PIC 16F877ASimulacin con 16F877A.

Se verifica el datasheet antes de realizar la conexin fsica.

Ya que las simulaciones fueron comprobadas se puede proceder con grabar los PICs con la programacin realizada anteriormente, as tambin se realiza la conexin de forma fsica en una tablilla de pruebas.

El conteo se realiza de forma correcta en ascendente y descendente.

Conclusiones.La aplicacin de estos dispositivos puede ser muy amplia debido a que dependen de la programacin que el instalador quiera usar, se podra decir que estn limitados a lo que el programador requiera para su utilizacin, otra de las limitantes podra ser la cantidad de entradas y salidas, pero al final se pueden usar otros elementos para ampliar esto. Este microcontrolador tiene muchos alcances debido a que se puede utilizar con muchos tipos de dispositivos de entrada y salida. En esta ocasin solo se ocuparon algunos de sus puertos de salida, quedando disponibles algunos ms para entradas o salidas.La programacin puede ser muy variada y depender del programador, se puede legar al mismo resultado pero posiblemente con diferentes tipos de instrucciones en la programacin.PRACTICA 3. SENSADO DE TEMPERATURA OBJETIVO: Conocer programacion bsica para sistemas de entrada analogica para su posterior conversion y uso en sistemas digitales, y su posterior aplicacin en sistemas de enfriamiento o medicines de temperatura.MARCO TEORICO.Un microcontrolador es un circuito integrado que en su interior contiene una unidad central de procesamiento (CPU), unidades de memoria (RAM y ROM), puertos de entrada y salida y perifricos. Estas partes estn interconectadas dentro del microcontrolador, y en conjunto forman lo que se le conoce como microcomputadora. Se puede decir con toda propiedad que un microcontrolador es una microcomputadora completa encapsulada en un circuito integrado.Toda microcomputadora requiere de un programa para que realice una funcin especfica. Este se almacena normalmente en la memoria ROM. No est de ms mencionar que sin un programa, los microcontroladores carecen de utilidad.El propsito fundamental de los microcontroladores es el de leer y ejecutar los programas que el usuario le escribe, es por esto que la programacin es una actividad bsica e indispensable cuando se disean circuitos y sistemas que los incluyan. El carcter programable de los microcontroladores simplifica el diseo de circuitos electrnicos. Permiten modularidad y flexibilidad, ya que un mismo circuito se puede utilizar para que realice diferentes funciones con solo cambiar el programa del microcontrolador.Las aplicaciones de los microcontroladores son vastas, se puede decir que solo estn limitadas por la imaginacin del usuario. Es comn encontrar microcontroladores en campos como la robtica y el automatismo, en la industria del entretenimiento, en las telecomunicaciones, en la instrumentacin, en el hogar, en la industria automotriz, etc.

MATERIAL Y EQUIPO. PIC 16F877A.

PROTOBOARD

LCD 16X2.

RESISTENCIAS.

FUENTE DE 5V.

POTENCIOMETRO DE 10K

SIMULADOR PROTEUS

CCS COMPILER

DESARROLLO.

Para el desarrollo de esta prctica se usa el programa ccs compiler en el cual dicatremos las serie de instrucciones que nuestro PIC va a ejecutar.Para esta prctica se incluye una nueva librera para que el PIC la reconosca y puede realizar los pasos correspondientes, esta es la lcd.c, la cual incluye las librerias necesarias para el manejo y control de un LCD de 16X2 el cual sera un sistema de salida.Como entrada se manejara un sensor de temperatura (LM35), el cual al ser un sistema que varia en el tiempo (entrada analogica) requiere de una conversin para que nuestro PIC pueda identificar de manera dgital y posteriormente seguir las instrucciones que le siguen para el dispositivo.

Iniciamos con nuestra programacin.#include#device adc=10 //Definimos un Conversor Analogo/Digital con resolucion de 10 bits#Fuses XT, NOWDT#Use delay(clock=4000000) #include //Incluimos libreria para manejo del modulo LCD

void main(){ int16 valorDigital; //Declaramos una variable de 16 bits que contendra el valor del conversor A/D float Celcius; //Declaramos una variable tipo float que contendra el valor de temperatura float Fahrenheit; float Kelvin; float Rankine; int16 i; //Declaramos este valor para que el texto vaya moviendose, i se ira incrementando lcd_init(); //Inicializamos el LCD

lcd_gotoxy(1,1);printf(lcd_putc,"CARGANDO"); for(i=1;i