Hi guys,
i made a code that will display the valud of the rfid tag if it is placed on the rfid reader,
it is working fine for now, except for some bug.
i can't explain it will that why i made this,
please look at this:
the fig. 1 is working fine,
fig. 2 is a bug,
what i want is fig. 3 or fig. 4
i assume that fig. 4 will need a interrupt routine, but i don't know how.
this is my code:
i hope that you can help me guys,
thanks.
i made a code that will display the valud of the rfid tag if it is placed on the rfid reader,
it is working fine for now, except for some bug.
i can't explain it will that why i made this,
please look at this:
the fig. 1 is working fine,
fig. 2 is a bug,
what i want is fig. 3 or fig. 4
i assume that fig. 4 will need a interrupt routine, but i don't know how.
this is my code:
Code:
/*
RFID BASED DOOR LOCK
by Darvin Carillo ----- jeyes56@yahoo.com
January 27, 2012
this will wait for the rfid tag to placed in rfid reader,
search if the tag is registered on the list,
if it is registered,
get the coresponding registered name,
get the current time and save it on the eeprom together with the registered name,
display the time and registered name on LCD.
send a data high on the output pin to turn off the locking system. (we use electromagnetic lock)
else
get the time and display to lcd together with the tag number.
while idle, it will also wait for the button to be pressed,
if the button is pressed,
it will display the list of last log-in from the eeprom.
attached devices:
rfid reader
rtc ds1307
pcd8544 (N3310LCD)
mcu:
pic16f877a
*/
#include <pic.h>
#include "i2c.h"
#include "sci.h"
#include "string.h"
//DS1307 VARIABLES
unsigned char HOUR=12;
unsigned char MIN=35;
unsigned char DAY=25;
unsigned char MON=9;
unsigned char SEC=9;
unsigned char YEAR=9;
unsigned char list=0xFF;
unsigned char ads;
unsigned char sound=0;
unsigned char show=0;
//NOKIA N3310 LCD PINS
#define nok_sclk RB0
#define nok_sda RD5
#define nok_dc RD6
#define nok_cs RD7
#define nok_res RB1
#define number_of_user 6
const unsigned char NAME[][15] = {"",
"Pangalan ko",
"Name ko ito",
"Name number3",
"NAME Number4",
"RFID TAG # 5"
};
const long SERIAL_NUM[] = {
15477790,
15496921,
15477672,
15491755,
15485041
};
const char TABLE1[240]= { //
0x00,0x00,0x00,0x00,0x00, // 20 space ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes
0x00,0x00,0x5f,0x00,0x00, // 21 !
0x00,0x07,0x00,0x07,0x00, // 22 "
0x14,0x7f,0x14,0x7f,0x14, // 23 #
0x24,0x2a,0x7f,0x2a,0x12, // 24 $
0x23,0x13,0x08,0x64,0x62, // 25 %
0x36,0x49,0x55,0x22,0x50, // 26 &
0x00,0x05,0x03,0x00,0x00, // 27 '
0x00,0x1c,0x22,0x41,0x00, // 28 (
0x00,0x41,0x22,0x1c,0x00, // 29 )
0x14,0x08,0x3e,0x08,0x14, // 2a *
0x08,0x08,0x3e,0x08,0x08, // 2b +
0x00,0x50,0x30,0x00,0x00, // 2c ,
0x08,0x08,0x08,0x08,0x08, // 2d -
0x00,0x60,0x60,0x00,0x00, // 2e .
0x20,0x10,0x08,0x04,0x02, // 2f /
0x3e,0x51,0x49,0x45,0x3e, // 30 0
0x00,0x42,0x7f,0x40,0x00, // 31 1
0x42,0x61,0x51,0x49,0x46, // 32 2
0x21,0x41,0x45,0x4b,0x31, // 33 3
0x18,0x14,0x12,0x7f,0x10, // 34 4
0x27,0x45,0x45,0x45,0x39, // 35 5
0x3c,0x4a,0x49,0x49,0x30, // 36 6
0x01,0x71,0x09,0x05,0x03, // 37 7
0x36,0x49,0x49,0x49,0x36, // 38 8
0x06,0x49,0x49,0x29,0x1e, // 39 9
0x00,0x00,0x36,0x36,0x00, // 3a :
0x00,0x56,0x36,0x00,0x00, // 3b ;
0x08,0x14,0x22,0x41,0x00, // 3c <
0x14,0x14,0x14,0x14,0x14, // 3d =
0x00,0x41,0x22,0x14,0x08, // 3e >
0x02,0x01,0x51,0x09,0x06, // 3f ?
0x32,0x49,0x79,0x41,0x3e, // 40 @
0x7e,0x11,0x11,0x11,0x7e, // 41 A
0x7f,0x49,0x49,0x49,0x36, // 42 B
0x3e,0x41,0x41,0x41,0x22, // 43 C
0x7f,0x41,0x41,0x22,0x1c, // 44 D
0x7f,0x49,0x49,0x49,0x41, // 45 E
0x7f,0x09,0x09,0x09,0x01, // 46 F
0x3e,0x41,0x49,0x49,0x7a, // 47 G
0x7f,0x08,0x08,0x08,0x7f, // 48 H
0x00,0x41,0x7f,0x41,0x00, // 49 I
0x20,0x40,0x41,0x3f,0x01, // 4a J
0x7f,0x08,0x14,0x22,0x41, // 4b K
0x7f,0x40,0x40,0x40,0x40, // 4c L
0x7f,0x02,0x0c,0x02,0x7f, // 4d M
0x7f,0x04,0x08,0x10,0x7f, // 4e N
0x3e,0x41,0x41,0x41,0x3e // 4f O
};
const char TABLE2[246]= {
0x7f,0x09,0x09,0x09,0x06, // 50 P
0x3e,0x41,0x51,0x21,0x5e, // 51 Q
0x7f,0x09,0x19,0x29,0x46, // 52 R
0x46,0x49,0x49,0x49,0x31, // 53 S
0x01,0x01,0x7f,0x01,0x01, // 54 T
0x3f,0x40,0x40,0x40,0x3f, // 55 U
0x1f,0x20,0x40,0x20,0x1f, // 56 V
0x3f,0x40,0x38,0x40,0x3f, // 57 W
0x63,0x14,0x08,0x14,0x63, // 58 X
0x07,0x08,0x70,0x08,0x07, // 59 Y
0x61,0x51,0x49,0x45,0x43, // 5a Z
0x00,0x7f,0x41,0x41,0x00, // 5b [
0x02,0x04,0x08,0x10,0x20, // 5c
0x00,0x41,0x41,0x7f,0x00, // 5d
0x04,0x02,0x01,0x02,0x04, // 5e
0x40,0x40,0x40,0x40,0x40, // 5f
0x00,0x01,0x02,0x04,0x00, // 60
0x20,0x54,0x54,0x54,0x78, // 61 a
0x7f,0x48,0x44,0x44,0x38, // 62 b
0x38,0x44,0x44,0x44,0x20, // 63 c
0x38,0x44,0x44,0x48,0x7f, // 64 d
0x38,0x54,0x54,0x54,0x18, // 65 e
0x08,0x7e,0x09,0x01,0x02, // 66 f
0x0c,0x52,0x52,0x52,0x3e, // 67 g
0x7f,0x08,0x04,0x04,0x78, // 68 h
0x00,0x44,0x7d,0x40,0x00, // 69 i
0x20,0x40,0x44,0x3d,0x00, // 6a j
0x7f,0x10,0x28,0x44,0x00, // 6b k
0x00,0x41,0x7f,0x40,0x00, // 6c l
0x7c,0x04,0x18,0x04,0x78, // 6d m
0x7c,0x08,0x04,0x04,0x78, // 6e n
0x38,0x44,0x44,0x44,0x38, // 6f o
0x7c,0x14,0x14,0x14,0x08, // 70 p
0x08,0x14,0x14,0x18,0x7c, // 71 q
0x7c,0x08,0x04,0x04,0x08, // 72 r
0x48,0x54,0x54,0x54,0x20, // 73 s
0x04,0x3f,0x44,0x40,0x20, // 74 t
0x3c,0x40,0x40,0x20,0x7c, // 75 u
0x1c,0x20,0x40,0x20,0x1c, // 76 v
0x3c,0x40,0x30,0x40,0x3c, // 77 w
0x44,0x28,0x10,0x28,0x44, // 78 x
0x0c,0x50,0x50,0x50,0x3c, // 79 y
0x44,0x64,0x54,0x4c,0x44, // 7a z
0x00,0x08,0x36,0x41,0x00, // 7b
0x00,0x00,0x7f,0x00,0x00, // 7c
0x00,0x41,0x36,0x08,0x00, // 7d
0x10,0x08,0x08,0x10,0x08, // 7e
0x78,0x46,0x41,0x46,0x78, // 7f
0x7F,0x3E,0x1C,0x08,0x00 // 80
};
const char DIGITS_8x16[160]=
{
0xfc, 0xfe, 0xfe, 0x06, 0x06, 0xfe, 0xfe, 0xfc, 0x7f, 0xff, 0xff, 0xc0, 0xc0, 0xff, 0xff, 0x7f, //0
0x00, 0x18, 0x1c, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xc0, 0x00, //1
0x3c, 0x3e, 0x3e, 0x06, 0x86, 0xfe, 0xfe, 0x7c, 0xe0, 0xf0, 0xfc, 0xff, 0xcf, 0xc7, 0xc1, 0xc0, //2
0x1c, 0x1e, 0x9e, 0x86, 0x86, 0xfe, 0xfe, 0xfc, 0x78, 0xf8, 0xf9, 0xc1, 0xc1, 0xff, 0xff, 0x7e, //3
0x00, 0xf0, 0xfe, 0x7e, 0xfe, 0xfe, 0xfe, 0x00, 0x3f, 0x3f, 0x37, 0x30, 0xff, 0xff, 0xff, 0x30, //4
0xfe, 0xfe, 0xfe, 0xc6, 0xc6, 0xc6, 0xc6, 0x86, 0x71, 0xf1, 0xf1, 0xc0, 0xc0, 0xff, 0xff, 0x7f, //5
0xfc, 0xfe, 0xfe, 0xc6, 0xc6, 0xde, 0xde, 0x9c, 0x7f, 0xff, 0xff, 0xc0, 0xc0, 0xff, 0xff, 0x7f, //6
0x06, 0x06, 0x06, 0x86, 0xe6, 0xfe, 0x7e, 0x1e, 0x80, 0xf0, 0xfe, 0x3f, 0x07, 0x01, 0x00, 0x00, //7
0x7c, 0xfe, 0xfe, 0x86, 0x86, 0xfe, 0xfe, 0x7c, 0x7e, 0xff, 0xff, 0xc1, 0xc1, 0xff, 0xff, 0x7e, //8
0xfc, 0xfe, 0xfe, 0x86, 0x86, 0xfe, 0xfe, 0xfc, 0x78, 0xf9, 0xf9, 0xc1, 0xc1, 0xff, 0xff, 0x7f //9
};
void idle(void);
void init_nokia(void);
void nokia_command(unsigned char nokiacmd);
void nokia_data(unsigned char nokiadata);
void nokia_dorc(unsigned char nokiadorc);
void nokia_gotoxy(unsigned char xpos, unsigned char ypos);
void nokia_erase_y(unsigned char ydel);
void nokia_erase_x(unsigned char xdel);
void nokia_print(unsigned char print);
void nokia_clear_screen(void);
void nokia_string(unsigned char str[]);
unsigned char *receive(unsigned char id[]);
void write_eeprom(unsigned char adr, unsigned char d);
unsigned char read_eeprom(unsigned char adr);
void write_eeprom_string(unsigned char adr, unsigned char eeprom[]);
void read_eeprom_string(unsigned char adr);
void RFID_check();
void developer(void);
void showlist(unsigned char add);
void initialize(void);
void time_save(unsigned char add);
void idletime(void);
void time_get(void);
void time_read(unsigned char adr);
void time_show(void);
__CONFIG(XT & WDTDIS & PWRTDIS & UNPROTECT & LVPDIS); //-->> not working????
void init_PORTS(void)
{ TRISB =0b00011000; //Make PORTB<7:0> as output
PORTB &=~0xFF; //Send Logic 0 to PORTB<7:0>
TRISD &=0b00001100;//0b00001110;
}
void time_set()
{
i2c_Start();
i2c_WriteTo(0xd0);
i2c_PutByte(0x00);
i2c_PutByte(0x00); //sec
i2c_PutByte(0x40); //min
i2c_PutByte(0x20); //hr
i2c_PutByte(0x02); //date (monday-sunday)
i2c_PutByte(0x24); //day
i2c_PutByte(0x01); //month
i2c_PutByte(0x12); //year
i2c_Stop();
}
void main(void)
{ sci_Init(9600, SCI_NINE); // initialize serial data bus
init_PORTS(); // initialize ports
init_nokia(); // initialize nokia LCD
// time_set();
unsigned char data;
int y,x,z,w,ads;
initialize();
idle();
while(1)
{ if(ads==0xFFF)
{ RD0=0;
show^=1;
list=0xFF;
ads=0x00;
if(show==0){idle();}
else {developer(); ads=0xD00;}
}
if(RD2==1)
{ showlist(1); ads=0x500;}
else if(RD3==1)
{ showlist(2); ads=0x500;}
ads++;
for(y=0;y<=0xFF;y++)
{ if (RCIF)
{ ads=0xF00;
data=RCREG;
RFID_check();
data=RCREG;
}
}
// write_eeprom_string(0x00,data);
}
}
/*//////////////////////////////////// START OF FUNCTIONS ///////////////////////////*/
/////
///// FUNCTION FOR RFID READER
/////
void RFID_check()
{ int meron=number_of_user+1;
int var,val,y,x=0;
long tag;
unsigned char *temp;
unsigned char d,add;
unsigned char data[15];
d=sci_GetByte();
while(d!=0x03)
{ data[x]=d;
d=sci_GetByte();
x++;
}
tag=0;
for(x=2;x<=9;x++)
{ if(data[x]<0x3a)
{var=data[x]-0x30;}
if(data[x]>0x40)
{var=data[x]-0x37;}
tag=(tag<<4)+var;
RCIF=0;
}
for(y=0;y<=number_of_user;y++)
{ if(SERIAL_NUM[y]==tag)
{ meron=y;
y=number_of_user+1;
}
RCIF=0;
}
idletime();
if(meron<(number_of_user+1))
{ RD0=1;
nokia_erase_y(1);
nokia_gotoxy(0,2);
nokia_string(" WELCOME! ");
nokia_print(' ');
nokia_erase_y(3);
nokia_erase_y(4);
nokia_gotoxy(5,4);
temp=&NAME[meron][15];
nokia_string(temp);
add=(read_eeprom(0xFF)+0x10)&0xF0;
if (add==0xF0) add=0x00;
for(int x=0;x<13;x++) {write_eeprom((add+x),0xFF);} // delete row
write_eeprom_string(add,temp); /////-->> this makes error
write_eeprom(0xFF,add);
time_save(add);
}
else
{ RD0=0;
nokia_gotoxy(0,1);
nokia_string(data);
nokia_string(": ");
nokia_erase_y(2);
nokia_gotoxy(0,3);
nokia_string(" Invalid ");
nokia_print(' ');
nokia_gotoxy(0,4);
nokia_string(" RFID Tag ");
}
nokia_erase_y(5);
}
/////
///// END OF FUNCTION FOR RFID READER
/////
//////
////// Functions FOR NOKIA 3310 LCD DISPLAY
//////
void init_nokia(void)
{ nok_dc=1;
nok_cs=1;
nok_res=0;
for(int z=0;z<=0xFF;z++)
{
}
nok_res=1;
nokia_command(0x21);
nokia_command(0xc2);
nokia_command(0x13);
nokia_command(0x20);
nokia_command(0x09);
nokia_command(0x08);
nokia_command(0x0c);
nok_dc=1;
nokia_clear_screen();
}
void nokia_command(unsigned char nokiacmd)
{ nok_dc=0;
nok_cs=0;
nokia_dorc(nokiacmd);
nok_cs=1;
}
void nokia_data(unsigned char nokiadata)
{ nok_dc=1;
nok_cs=0;
nokia_dorc(nokiadata);
nok_cs=1;
RCIF=0;
}
void nokia_dorc(unsigned char nokiadorc) // write 1x8 matrix for serial connection
{ for(int cnt=8;cnt>0;cnt--)
{ for(int z=0x00;z<0x02;z++){continue;} // DelayMs(10); //-->> not working???
nok_sclk=0;
for(int z=0x00;z<0x02;z++){continue;} // DelayMs(10); //-->> not working???
if ((nokiadorc&0x80)==0)
nok_sda=0;
else
nok_sda=1;
nok_sclk=1;
nokiadorc=nokiadorc<<1;
}
}
void nokia_gotoxy(unsigned char xpos, unsigned char ypos)
{ if (ypos>5) ypos=5;
if (xpos>83) xpos=83;
nokia_command(0x40|(ypos&0x07));
nokia_command(0x80|(xpos&0x7f));
}
void nokia_erase_y(unsigned char ydel)
{ nokia_gotoxy(0,ydel);
nokia_string(" ");
nokia_print(' ');
}
void nokia_erase_x(unsigned char xdel)
{ for(int col=0;col<=6;col++)
{ nokia_gotoxy(xdel,col);
for(int r=0;r<6;r++)
nokia_data(0x00);
}
}
void nokia_print(unsigned char charsel) // 5x8 LCD matrix
{ int skip=0;
if (charsel<0x20) skip=1;
if (charsel>0x80) skip=1;
unsigned char chardata,charpos;
if (skip==1)
{ for (int char_row=0;char_row<5;char_row++) // 5 bytes
nokia_data(0x00);
}
else
{
for (int char_row=0;char_row<5;char_row++) // 5 bytes
{ if (charsel<0x50)
{ charpos=(((charsel&0xff)-0x20)*5);
chardata=TABLE1[(charpos+char_row)]; // use TABLE1
}
else if (charsel>0x4f)
{ charpos=(((charsel&0xff)-0x50)*5);
chardata=TABLE2[(charpos+char_row)]; // use TABLE2
}
nokia_data(chardata); // send data to nokia
}
}
nokia_data(0x00); // 1 byte (always blank)
}
void nokia_string(unsigned char str[]) //
{ int z=0;
while((str[z]!=0x00) & (z<13)) // z<14 will limit the character to 13 Char, not exceeding the 84 column of LCD
{ nokia_print(str[z]);
z++;
}
}
void nokia_clear_screen(void)
{ nokia_gotoxy(0,0);
for(int z=0;z<=6;z++)
{nokia_string(" ");
}
}
/////
///// END OF FUNCTION NOKIA 3310 LCD DISPLAY
/////
/////
///// START EEPROM FUNCTION
/////
unsigned char read_eeprom(unsigned char adr)
{ EEADR=adr;
RD=1; // set the read bit
return(EEDATA);
}
void read_eeprom_string(unsigned char adr)
{ adr=adr&0xF0;
for(int x=0;x<13;x++)
{
nokia_print(read_eeprom(adr+x));
}
}
void write_eeprom(unsigned char adr, unsigned char d)
{ EEADR = adr;
EEDATA = d;
WREN = 1; // write enable
EECON2 = 0x55; // protection sequence
EECON2 = 0xaa;
WR = 1; // begin programming sequnce
for(int x=0;x<0xFF;x++){;} // delay
WREN = 0; // disable write enable
}
void write_eeprom_string(unsigned char adr, unsigned char eeprom[])
{ if (adr>=0xF0) adr=0x00;
for(int x=0;x<13;x++)
{ if(eeprom[x]!=0)
{ write_eeprom(adr,eeprom[x]);
adr=adr+1;
}
else
x=15;
}
}
/////
///// END OF EEPROM FUNCTION
/////
/////
///// START OF DS1307 TIME FUNCTION
/////
void time_get(void)
{ i2c_Start();
i2c_WriteTo(0xd0);
i2c_PutByte(0x00); //address for seconds
i2c_ReadFrom(0xd0);
SEC=i2c_GetByte(1);
MIN=i2c_GetByte(1);
HOUR=i2c_GetByte(1);
DAY=i2c_GetByte(1);
DAY=i2c_GetByte(1);
MON=i2c_GetByte(1);
YEAR=i2c_GetByte(0);
i2c_Stop();
for(int y=0;y<=500;y++){continue;}
}
void time_save(unsigned char add)
{ add=(add&0xF0);
unsigned char ADDXD,ADDXE,ADDXF;
time_get();
ADDXD=(MON<<3)+((MIN>>4)&0b00000111); //bit-7 is ten's month, bit-6 to bit-3 is one's month, bit-2 to bit-0 is ten's of minute
ADDXE=(MIN<<4)+((DAY>>2)&0b00001100)+((HOUR>>4)&0b00000011); //bit-7 to bit-4 is one's minute, bit-3 to bit-2 is ten's day, bit-1 to bit-0 ten's hour
ADDXF=(DAY<<4)+(HOUR&0x0F); //bit-7 to bit-4 one's day, bit-3 to bit-0 one's of hour
write_eeprom((add+0x0D),ADDXD);
write_eeprom((add+0x0E),ADDXE);
write_eeprom((add+0x0F),ADDXF);
}
void time_read(unsigned char adr)
{ adr=adr&0xF0;
MIN=((read_eeprom(adr+0x0D)&0x07)<<4)+ (read_eeprom(adr+0x0E)>>4);
HOUR=((read_eeprom(adr+0x0E)&0x03)<<4)+(read_eeprom(adr+0x0F)&0x0F);
DAY=((read_eeprom(adr+0x0E)&0x0C)<<2)+((read_eeprom(adr+0x0F)&0xF0)>>4);
MON=(read_eeprom(adr+0x0D)>>3);
time_show();
}
void time_show(void)
{ nokia_gotoxy(12,0);
nokia_print((DAY>>4)+0x30);
nokia_print((DAY&0x0F)+0x30);
nokia_print('/');
nokia_print((MON>>4)+0x30);
nokia_print((MON&0x0F)+0x30);
// nokia_print('/');
// nokia_print((YEAR>>4)+0x30);
// nokia_print((YEAR&0x0F)+0x30);
nokia_print('-');
nokia_print((HOUR>>4)+0x30);
nokia_print((HOUR&0x0F)+0x30);
nokia_print(':');
nokia_print((MIN>>4)+0x30);
nokia_print((MIN&0x0F)+0x30);
// nokia_print(':');
// nokia_print((SEC>>4)+0x30);
// nokia_print((SEC&0x0F)+0x30);
}
void idletime(void)
{ time_get();
time_show();
}
/////
///// END OF DS1307 TIME FUNCTION
/////
/////
///// FUNCTION WHILE STANDBY
/////
void idle(void)
{ idletime();
nokia_gotoxy(0,1);
nokia_print(' ');
nokia_gotoxy(3,1);
nokia_string(" RFID BASED ");
nokia_print(' ');
nokia_gotoxy(0,2);
nokia_string(" DOOR LOCK ");
nokia_print(' ');
nokia_erase_y(3);
nokia_gotoxy(0,4);
nokia_string(" COE ++ ");
nokia_print(' ');
nokia_gotoxy(0,5);
nokia_string("S.Y. 2011-201");
nokia_print('2');
}
void developer(void)
{ nokia_gotoxy(0,0);
nokia_string(" DEVELOPERS ");
nokia_print(' ');
nokia_erase_y(1);
nokia_gotoxy(0,2);
nokia_string("D. Carillo ");
nokia_gotoxy(0,3);
nokia_string("E. Medrano ");
nokia_gotoxy(0,4);
nokia_string("R. Mapanao ");
nokia_gotoxy(0,5);
nokia_string("E. Sia ");
nokia_print(' ');
}
void showlist(unsigned char add)
{ int lst=0;
//nokia_clear_screen();
if (list==0xFF){list=read_eeprom(0xFF); nokia_clear_screen();}
else
{ if(add==1)
{ if (list==0x00)
list=0xE0;
else list=list-0x10;
}
if(add==2)
{ list=list+0x10;
if (list>=0xFF)
list=0x00;
}
}
time_read(list);
for(int x=0;x<5;x++)
{ lst=(list&0xF0)-(x<<4);
nokia_erase_y(x+1);
nokia_gotoxy(6,(x+1));
if((lst&0xF0)==0xF0) ;
else
{read_eeprom_string(lst);}
}
nokia_gotoxy(0,1);
nokia_print(0x80);
ads=0;
}
void initialize(void)
{ nokia_clear_screen();
idletime();
nokia_gotoxy(15,1);
nokia_string("RFID BASED");
nokia_gotoxy(18,2);
nokia_string("DOOR LOCK");
nokia_gotoxy(0,4);
nokia_string("Initializing.");
nokia_print('.');
nokia_print('.');
nokia_gotoxy(0,5);
nokia_string("Please Wait.");
nokia_print('.');
nokia_print('.');
nokia_gotoxy(0,0);
for(int x=0;x<=0xFF;x++){
for(int y=0;y<=0xFF;y++)
{continue;}
}
}
/////
///// END FUNCTION WHILE STANDBY
/////
i hope that you can help me guys,
thanks.