Vous êtes sur la page 1sur 7

OBJETIVOS: General: 1.

Disear un contador ascendente del 0 al 99 mediante la programacin en PIC C Compilador guiada por el curso de videos del compilador C CCS y Simulador PROTEUS para ser visualizado en 2 displays de 7 segmentos de nodo comn. Especficos: 1. Describir las caractersticas del pic 16f877A con sus pines de polarizacin 2. Definir el display de 7 segmentos y sus diferencias entre nodo y ctodo comn 3. Analizar el funcionamiento de la sentencia FOR y la forma en la que est trabajando en esta practica MARCO TEORICO: [1] El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran
facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con anterioridad.

El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tecnologa CMOS, su consumo de potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden. El encapsulado ms comn para este microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo en experimentacin. La referencia completa es PIC16F877-04 para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, PIC16F877-20 para el dispositivo que utiliza cristal oscilador de hasta 20 MHz o PIC16F877A-I para el dispositivo tipo industrial que puede trabajar hasta a 20 MHz. Sin embargo, hay otros tipos de encapsulado que se pueden utilizar segn el diseo y la aplicacin que se quiere realizar. Por ejemplo, el encapsulado tipo surface mount (montaje superficial) tiene un reducido tamao y bajo costo, que lo hace propio para producciones en serie o para utilizarlo en lugares de espacio muy reducido.

Configuracin de pines

Figura 1. Distribucin de pines del PIC16F877.

Los pines de entrada/salida de este microcontrolador estn organizados en cinco puertos, el puerto A con 6 lneas, el puerto B con 8 lneas, el puerto C con 8 lneas, el puerto D con 8 lneas y el puerto E con 3 lneas. Cada pin de esos puertos se puede configurar como entrada o como salida independiente programando un par de registros diseados para tal fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y un bit en "1" lo configura como entrada. Dichos pines del microcontrolador tambin pueden cumplir otras funciones especiales, siempre y cuando se configuren para ello, segn se ver ms adelante.

Figura 2. Distribucin de los puertos del PIC16F877 Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor Anlogo a Digital interno, es decir, all se podra conectar una seal proveniente de un sensor o de un circuito analgico para que el microcontrolador la convierta en su equivalente digital y pueda realizar algn proceso de control o de instrumentacin digital. El pin RB0/INT se puede configurar por software para que funcione como interrupcin externa, para configurarlo se utilizan unos bits de los registros que controlan las interrupciones.
[2] Display de 7 segmentos

Es un componente que se utiliza para la representacin de nmeros en muchos dispositivos electrnicos. Cada vez es ms frecuente encontrar LCDs en estos equipos (debido a su bajsima demanda de energa), todava hay muchos que utilizan el display de 7 segmentos por su simplicidad. Este elemento se ensambla o arma de manera que se pueda activar cada segmento (diodo LED) por separado logrando de esta manera combinar los elementos y representar todos los nmeros en el display (del 0 al 9). El display de 7 segmentos ms comn es el de color rojo, por su facilidad de visualizacin. Cada elemento del display tiene asignado una letra que identifica su posicin en el arreglo del display. Ver el grfico arriba

- Si se activan todos los segmentos se forma el nmero "8" - Si se activan solo los segmentos: "a,b,c,d,f," se forma el nmero "0" - Si se activan solo los segmentos: "a,b,g,e,d," se forma el nmero "2" - Si se activan solo los segmentos: "b,c,f,g," se forma el nmero "4" p.d. representa el punto decimal
El display nodo comn
Todos los nodos de los diodos LED unidos y conectados a la fuente de alimentacin. En este caso para activar cualquier elemento hay que poner el ctodo del elemento a tierra a travs de una resistencia para limitar la corriente que pasa por el elemento

Figura 3. Display nodo comn


MATERIALES: Protoboard Cable multipar PIC 16F877A Socalo para PIC 2 displays anodo o catodo comn Grabadora Resistencias valores varios Leds Pulsador Cristal de 4MHz 2 capacitores de 22pF fuente de 5v

DESARROLLO En el laboratorio de sistemas micrprocesados se tena propuesto realizar 1 ejercicio el cual se logr terminarlo con excito Ejercicio 1.- Realizar un contador de 0 a 99 conectando el a dos displays puerto B del microcontrolador

Imagen 2: Circuito simulado en Proteus 8

Cdigo Utilizado y realizado en PIC C Compiler #include <16F877A.h> #use delay(clock=4M) #fuses xt,nowdt,noprotect,noput #use fast_io (b) #use fast_io (a) int const display []= {0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X98}; void main(){ int ud=0,dec=0,i; set_tris_b(0x00); set_tris_a(0x00); output_b(0); for(;;){ for (dec=0;dec<10;dec++){ for (ud=0;ud<10;ud++){ for (i=0;i<4;i++){ output_a(0x01); output_b(display[ud]); delay_ms(50); if (dec==0) output_a(0x02); else output_a(0x02); output_b(display[dec]); delay_ms(50); } } } } }

Observaciones Para cambiar de la formacion de cada segmento del display de catodo comun por el de anodo comun requerido en el PIC Compilador solo basta cambiar de codigo hexadecimales generados como en el siguiente ejemplo: int const display []= {0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F}; Esta es la declaracin para la formacion de los segmentos del display en catodo comun realizado en la practica guia int const display []= {0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X98}; Esta es la declaracin para la formacion de los segmentos del display en anodo comun requerido por la practica

Imagen 3: Armado del circuito del contador visualizando el numero 52

Imagen 4: Armado del circuito del contador visualizando el numero 30

CONCLUSIONES: Se prudujo un problema en las conexiones de los displays presuntamente de catodo comun ya que la programacion del contador y la respectiva simulacion fueron hechos para catodo comun, analizando finalmente que se ha estado trabajando con displays de anodo comun, con lo cual no se pudo observar correctamente los numeros del cero al noventa y nueve. Se cambio en la programacion original los numeros del cero al nueve en anodo comun con la ayuda del Mikro C en codigo hexadecimal como se puede observar en las observaciones para que se pueda activar cada segmento formando cada uno de los numeros requeridos.

Se utilizo la sentencia for la misma que fue implementada por la razon del bucle interativo. Cuando el numero de interaciones es especifico. En el diseo del contador se programo esta sentencia (for;;) como infinita. La cual al energizar el circuito comenzo a contar del cero al noventa y nueve una y otra ves sin detenerse. En el programa guia que ayudo a la construccion del contador se controlo la velocidad de visualizacion de los numeros en los displays mediante una sentencia for (i=0;i<4;i++) al disminuir del valor 20 por el valor 4 los nmeros se visualizaron casi en un tiempo real

RECOMENDACIONES: Cersiorarse que los materiales a ser utilizados estesen en buen estado de funcionamiento Utilizar un socalo de 40 pines para cuidar el PIC 16F877A Se puede usar la fuente de alimentacion continua de 5 v fijos; que proporciona el laboratorio en caso de ser necesario.

REFERENCIAS BIBLIOGRAFICAS: [1] http://www.google.com.ec/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&sqi=2&ved=0CE MQFjAE&url=http%3A%2F%2Fwww.inteligentecorp.com%2Fstore%2Findex.php%3Fcontroll er%3Dattachment%3Fid_attachment%3D147&ei=vhyUtfgG63G4AO42YGIDQ&usg=AFQjCNEvRWLNqkfc73cNuhSvGqoMaFHcbw&sig2=NHip1xj 4oKcJ2HmMXv1RIg&bvm=bv.55819444,d.dmg [2] http://www.unicrom.com/Tut_display-7-segmentos.asp

Vous aimerez peut-être aussi