Sie sind auf Seite 1von 5

Chip type : ATmega16

Program type : Application


Clock frequency : 11.059200 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/

unsigned char start;


unsigned char x;
unsigned char i,j,a,b,mode;
unsigned char rmc[15][15],buffer[15][15];

#define mode0 PIND.4


#define mode1 PIND.5
#define mode2 PIND.6
…………………………
void xu_ly_RMC()
{
x = getchar();
switch(x)
{
case 'R':
start = 1;
i = 0;
j = 0;
break;
//------------------
case 13:
if(start)
{
start = 0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
buffer[i][j] = rmc[i][j];
}
}
}
break;
//------------------
case ',':
if(start)
{
j = 0;
i++;
}
break;
//-------------------
default:
if(start)
{
rmc[i][j] = x;
j++;
}
}
}
//-------- HAM HIEN THI TIME ----------
void hien_thi_TIME()
{
xu_ly_RMC();
lcd_gotoxy(0,0);
lcd_putsf("Time:");
lcd_gotoxy(6,0);
lcd_putchar(buffer[1][0]);
lcd_putchar(buffer[1][1]);
lcd_putchar(':');
lcd_putchar(buffer[1][2]);
lcd_putchar(buffer[1][3]);
lcd_putchar(':');
lcd_putchar(buffer[1][4]);
lcd_putchar(buffer[1][5]);
}

//-------- HAM HIEN THI DATE ----------


void hien_thi_DATE()
{
xu_ly_RMC();
lcd_gotoxy(0,1);
lcd_putsf("Date:");
lcd_gotoxy(6,1);
lcd_putchar(buffer[9][0]);
lcd_putchar(buffer[9][1]);
lcd_putchar('/');
lcd_putchar(buffer[9][2]);
lcd_putchar(buffer[9][3]);
lcd_putchar('/');
lcd_putchar(buffer[9][4]);
lcd_putchar(buffer[9][5]);
}
//-------- HAM HIEN THI KINH DO ----------
void hien_thi_KINHDO()
{
xu_ly_RMC();
lcd_gotoxy(0,0);
lcd_putsf("KD:");
lcd_gotoxy(3,0);
lcd_putchar(buffer[5][0]);
lcd_putchar(buffer[5][1]);
lcd_putchar(buffer[5][2]);
lcd_putchar(0xDF);
//----
for(a=3;a<10;a++)
{
lcd_putchar(buffer[5][a]);
}
lcd_putsf("'");
//----
lcd_putchar(buffer[6][0]);
}

//-------- HAM HIEN THI VIDO ----------


void hien_thi_VIDO()
{
xu_ly_RMC();
lcd_gotoxy(0,1);
lcd_putsf("VD:");
lcd_gotoxy(4,1);
lcd_putchar(buffer[3][0]);
lcd_putchar(buffer[3][1]);
lcd_putchar(0xDF);
//----
for(b=2;b<9;b++)
{
lcd_putchar(buffer[3][b]);
}
lcd_putsf("'");
//----
lcd_putchar(buffer[4][0]);
}

//-------- HAM HIEN THI TOC DO ----------


void hien_thi_TOCDO()
{
xu_ly_RMC();
lcd_gotoxy(0,0);
lcd_putsf("Toc do:");
lcd_gotoxy(7,0);
lcd_putchar(buffer[7][0]);
lcd_putchar(buffer[7][1]);
lcd_putchar(buffer[7][2]);
lcd_putsf(" Haily");
}

//-------- HAM HIEN THI GOC ----------


void hien_thi_GOC()
{
xu_ly_RMC();
lcd_gotoxy(0,1);
lcd_putsf("Goc:");
lcd_gotoxy(7,0);
lcd_putchar(buffer[8][0]);
lcd_putchar(buffer[8][1]);
lcd_putchar(buffer[8][2]);
lcd_putchar(buffer[8][3]);
lcd_putchar(buffer[8][4]);
lcd_putchar(0xDF);
}
//------------------------------------------------
void main(void)
{
while (1)
{
if (!mode0)
{
lcd_clear();
mode=0;
}
if (!mode1)
{
mode=1;
lcd_clear();
}
if (!mode2)
{
mode=2;
lcd_clear();
}
switch(mode)
{
case 0:
hien_thi_KINHDO();
hien_thi_VIDO();
break;
//------------------
case 1:
hien_thi_TIME();
hien_thi_DATE();
break;
//------------------
case 2:
hien_thi_TOCDO();
hien_thi_GOC();
break;
}
};
}

Das könnte Ihnen auch gefallen