Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Practica 2 Display

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 2

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN 1

Practica 2 Contador con display 7 segmentos.


Autor A: Avila Nolasco Hannia Lizeth Autor B: Silva Buendía Kevin David

Resumen – El siguiente desarrollo de la práctica será para la


realización de un código y simulación de un contador de 00 a 99 void main(){
en dos displays 7 segmentos, los cuales contaran con
interruptores para hacer el conteo de manera manual y evitar
rebotes.
OSCCON=0b01100011;
TRISB=0xff;
LATB=0x00;
TRISD=0x00;
LATD=0x00;
I. INTRODUCCION TRISE=0X00;
LATE=0X00;
E n esta práctica hacemos la unión de dos display 7 INTCONbits.GIE=1;
segmentos, para crear un contador de 00 a 99, a esto se le INTCONbits.INT0IE = 1; //Declaracion de Interrupcion
agregaran interruptores para evitar el rebote. Puerto RB0
INTCON3bits.INT1E = 1; //declaracion de interrupcion
Puerto RB1
¿ Que es un display 7 segmentos? INTCON2bits.INTEDG0 = 0; //Flanco descendente para
Puerto RB0
El display 7 Segmentos es un dispositivo electrónico que INTCON2bits.INTEDG1 = 0;//Flanco descendente para
permite visualizar números del 0 al 9. Existen dos tipos de Puerto RB1
display, de cátodo común y de ánodo común.
Se le conoce como 7 segmentos ya que están construidos con while(1){
diodos LED, que requieren una corriente máxima. En otras LATD=Conversion[cUnidades];
palabras, se requiere colocar una resistencia para limitar la LATE=0x2;
corriente. Dicha resistencia depende de la corriente que se __delay_ms(40);
quiera suministrar al LED así como de la caída de voltaje. y
LED extra para representar un punto. Cuenta y 10 terminales: LATD=Conversion[cDecenas];
2 son de alimentación (2 de Vcc o 2 de Gnd), 1 es para LATE=0x1;
visualizar un punto y 7 son para representar cada uno de los __delay_ms(40);
números según la combinación que se le ponga }
}
void __interrupt() rebote(){

Para realizar esta práctica desarrollaremos un código en if(PORTBbits.RB0==0){


leguaje C, que nos permita hacer el conteo con los displays, cUnidades=cUnidades++;
esto se realizara en el programa MPLAB. if(cUnidades>9){
cDecenas=cDecenas++;
Código realizando. if(cDecenas>9){
cDecenas=0;
#include <xc.h> }
#include "registros.h" cUnidades=0;
#define _XTAL_FREQ 4000000 }
}
int if(PORTBbits.RB1==0){
Conversion[10]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x cUnidades=cUnidades--;
7f,0x67}; if(cUnidades<0){
int cUnidades=0; cDecenas=cDecenas--;
int cDecenas=0; if(cDecenas<0){
void __interrupt() rebote(); cDecenas=0;
 cUnidades=0;
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD CULHUACAN 2

}
else{
cUnidades=9;
}
}
}
INTCONbits.INT0IF=0; //Apagado de bandera de
Puerto RB0
INTCON3bits.INT1IF=0; //Apagado de bandera de
Puerto RB1
}

Una vez escrito el código en el MPLAB pasaremos a compilar


nuestro programa y se creara un archivo. hex que será el que
introduciremos dentro del programa proteus, donde
realizaremos el circuito que se muestra a continuación, en el En esta práctica aprendimos el uso y funcionamiento de los
circuito integrado PIC18F4550 introduciremos el archivo. hex displays 7 segmentos, para realizar un contador y como evitar
para procesar el código y ver si este funciona de la manera rebote con ayuda de interruptores.
correcta. También aprendimos como desarrollar un programa poder
realizar lo antes mencionado, y fue de mucha ayuda los
conocimientos adquiridos previamente.

Circuito para el deslarrollo de la practica de conteo con


display 7 segmentos.

Material.

 PIC158F4550
 2 displays 7segmentos
 2 transistores BJT NPN
 3 push botón
 Resistencias

II. CONCLUSIÓN

Circuito reazlizado.

También podría gustarte