#include <STC32G.H>

typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long int u32;

#define MAIN_Fosc 35000000UL // main frequency

void delayms(u16 ms);

u8 SEG_Code[13] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40,0xFF};//0~9, dark, --, bright
	
void main()
{
	u8 i;
	EAXFR = 1;
	CKCON = 0x00;
	WTST = 0x00;
	
	P2M1 = 0x00;P2M0 = 0x00;
	
	while(1)
	{
		P2 = SEG_Code[0];
		P2 = SEG_Code[1];
		P2 = SEG_Code[9];
		
		for(i = 0;i<10;i++)
		{
			P2 = SEG_Code[i];
			delayms(500);
		}
		P2 = 0x00;
		delayms(500);
		for(i = 0;i<10;i++)
		{
			P2 = SEG_Code[9-i];
			delayms(500);
		}
		P2 = 0x00;
		delayms(500);
	}
	
}

void delayms(u16 ms)
{
	u16 i;
	do
	{
		i = MAIN_Fosc / 6000;
		while(--i);
	}
	while(--ms);
}