Bueno ya lo solucione ahora coloco MI Codigo ^^ un simple Codigo de Conteo para 4 Display 7 segmentos
/
#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
}