Autor Tema: Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos  (Leído 2153 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos
« en: 30 de Agosto de 2010, 16:17:40 »
Bueno estube probando los pic 32 poco a poco y bueno programe para manejar los leds ahora para el manejo de los display ni el simulador lo hace bien no se si tenga algo mal =S

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
[*]Re: Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos
« Respuesta #1 en: 30 de Agosto de 2010, 16:50:34 »
Yo creo que sí debes tener algo mal, porque si estuviera bien funcionaría ¿no? O a lo mejor no. No sé. Quizás.

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos
« Respuesta #2 en: 30 de Agosto de 2010, 18:31:09 »
Yo creo que sí debes tener algo mal, porque si estuviera bien funcionaría ¿no? O a lo mejor no. No sé. Quizás.

:D :D :D q pena no pude evitarlo,
 si pones tu codigo o algun esquema creo que encontraras mas ayuda
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos
« Respuesta #3 en: 30 de Agosto de 2010, 19:02:25 »
Bueno estube probando los pic 32 poco a poco y bueno programe para manejar los leds ahora para el manejo de los display ni el simulador lo hace bien no se si tenga algo mal =S

Yo creo que sí debes tener algo mal, porque si estuviera bien funcionaría ¿no? O a lo mejor no. No sé. Quizás.

:D :D :D q pena no pude evitarlo,
 si pones tu codigo o algun esquema creo que encontraras mas ayuda

Alex, si quieres evitar que se burlen de ti y ayudar a que se te ayude por favor sigue estos lineamientos.

http://www.todopic.com.ar/foros/index.php?action=globalAnnouncements;id=1

Gracias.

Desconectado alex_angeluz01

  • PIC10
  • *
  • Mensajes: 14
Re: Tengo Problema en PIc 32 para Manejo de 4 display 7 segementos
« Respuesta #4 en: 06 de Septiembre de 2010, 13:42:11 »
Bueno ya lo solucione ahora coloco MI Codigo ^^ un simple Codigo de Conteo para 4 Display 7 segmentos

Código: [Seleccionar]
/
#include <plib.h>
#include <Stdio.h>

// Configuration Bits
#pragma config FNOSC    = PRIPLL        // Oscillator Selection
#pragma config FPLLIDIV = DIV_2         // PLL Input Divider (PIC32 Starter Kit: use divide by 2 only)
#pragma config FPLLMUL  = MUL_20        // PLL Multiplier
#pragma config FPLLODIV = DIV_1         // PLL Output Divider
#pragma config FPBDIV   = DIV_1         // Peripheral Clock divisor
#pragma config FWDTEN   = OFF           // Watchdog Timer
#pragma config WDTPS    = PS1           // Watchdog Timer Postscale
#pragma config FCKSM    = CSDCMD        // Clock Switching & Fail Safe Clock Monitor
#pragma config OSCIOFNC = OFF           // CLKO Enable
#pragma config POSCMOD  = XT            // Primary Oscillator
#pragma config IESO     = OFF           // Internal/External Switch-over
#pragma config FSOSCEN  = OFF           // Secondary Oscillator Enable
#pragma config CP       = OFF           // Code Protect
#pragma config BWP      = OFF           // Boot Flash Write Protect
#pragma config PWP      = OFF           // Program Flash Write Protect
#pragma config ICESEL   = ICS_PGx2      // ICE/ICD Comm Channel Select
#pragma config DEBUG    = OFF           // Debugger Disabled for Starter Kit

// application defines
#define SYS_FREQ (80000000)
#define Unidad  PORTGbits.RG0  //Disply 1
#define Decena  PORTGbits.RG1  //Display 2
#define Centena PORTFbits.RF0  //Display 3
#define Umil    PORTFbits.RF1  //Display 4

   unsigned char  unidad, decena, centena, umil; //caracteres
   unsigned char Display7seg[10]={
            0b00111111,//0
            0b00000110,//1
            0b01011011,//2
            0b01001111,//3
            0b01100110,//4
            0b01101101,//5
            0b01111101,//6
            0b00000111,//7
            0b01111111,//8
            0b01100111,//9
   };
   

// prototype
void DelayMs(unsigned int);

//  application code
int main(void)
{


/* Set RD0, RD1 and RD2 as outputs */
mPORTFSetPinsDigitalOut(BIT_0 | BIT_1 ); // same as TRISDCLR = 0x0007
mPORTGSetPinsDigitalOut(BIT_0 | BIT_1 );
mPORTESetPinsDigitalOut(BIT_0 | BIT_1 | BIT_2 | BIT_3 | BIT_4 | BIT_5 | BIT_6 | BIT_7);
[tt][/tt]
 
unidad=0;
decena=0;
centena=0;
umil=0;

while(umil<=9)
      { 
         for (unidad=0;unidad<=9;unidad++){

         PORTE= (Display7seg[unidad]);
         Unidad=1;
      DelayMs(5);
         Unidad=0;
      DelayMs(5);;

         PORTE=(Display7seg[decena]);
         Decena=1;
         DelayMs(5);
         Decena=0;;
        DelayMs(5);

         PORTE=(Display7seg[centena]);
         Centena=1;
         DelayMs(5);
         Centena=0;
         DelayMs(5);

         PORTE=(Display7seg[umil]);
         Umil=1;
         DelayMs(5);
         Umil=0;
         
     
   
       

if(unidad==9){
unidad=0;
++decena;
if(decena==9){
decena=0;
++centena;
            if(centena==9){
centena=0;
++umil;
}
  }
     }
   };
 
 }
}
/******************************************************************************
* DelayMs()
*
* This functions provides a software millisecond delay
******************************************************************************/
void DelayMs(unsigned int msec)
{
unsigned int tWait, tStart;

    tWait=(SYS_FREQ/2000)*msec;
    tStart=ReadCoreTimer();
    while((ReadCoreTimer()-tStart)<tWait); // wait for the time to pass

}