📄 earkey.lst
字号:
if(RI)
{
if(!fim10mode)
{
ET0 = 0;
ch = SBUF;
if(ch == '[')
{
index = 0;
}
else if(ch == ']')
{
_data[index] = 0;
processdata();
}
else
{
_data[index] = ch;
index++;
}
RI = 0;
inittimer0();
}
}
} */
347
348 /*void inittimer0()
{
TMOD = (TMOD & 0xF0) | 0x01;
ET0 = 1;
TR0 = 1;
EA = 1;
}
void __transmit(char *str)
{
while(*str)
{
SBUF = *str;
while(!TI);
TI = 0;
str++;
}
}
C51 COMPILER V3.20, SN-50202956 EARKEY 12/27/05 23:10:13 PAGE 7
void transmit(char *str)
{
while(*str)
{
SBUF = *str;
while(!TI);
TI = 0;
str++;
}
}
//For FIM10 module
void transmitpacket( char port,
char command,
char param1,
char param2,
char data_size,
char error,
char header_checksum,
char *packet_data,
char data_checksum)
{
char i;
long d_cksm = 0;
if(port == 1) //FIM10 module
{
fim10mode = 1;
COM_SELECT = 0;
}
SBUF = 0x7E;while(!TI);TI = 0;
//Command
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = command;while(!TI);TI = 0;
//Parameter1
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = param1;while(!TI);TI = 0;
//Parameter2
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = param2;while(!TI);TI = 0;
//Data size
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = data_size;while(!TI);TI = 0;
//Error
SBUF = 0x00;while(!TI);TI = 0;
C51 COMPILER V3.20, SN-50202956 EARKEY 12/27/05 23:10:13 PAGE 8
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
//Header Checksum
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = 0x00;while(!TI);TI = 0;
SBUF = command + param1 + param2 + data_size + error;
while(!TI);TI = 0;
//Data
if(data_size > 0)
{
for(i = 0; packet_data[i] != '\0'; i++)
{
SBUF = packet_data[i];
while(!TI);
TI = 0;
d_cksm += packet_data[i];
}
for(; i < data_size; i++)
{
SBUF = 0x00;
while(!TI);
TI = 0;
}
//Data Checksum
SBUF = (d_cksm & 0xFF000000) >> 24;while(!TI);TI = 0;
SBUF = (d_cksm & 0x00FF0000) >> 16;while(!TI);TI = 0;
SBUF = (d_cksm & 0x0000FF00) >> 8;while(!TI);TI = 0;
SBUF = (d_cksm & 0x000000FF) >> 0;while(!TI);TI = 0;
}
if(port == 1)
{
COM_SELECT = 1;
fim10mode = 0;
}
}
char getserch()
{
char ch;
while(!RI);
ch = SBUF;
RI = 0;
return ch;
}
void receivepacket( char port,
char *command,
char *param1,
char *param2,
char *data_size,
char *error,
C51 COMPILER V3.20, SN-50202956 EARKEY 12/27/05 23:10:13 PAGE 9
char *header_checksum,
char *packet_data,
char *data_checksum)
{
char ch;
char i = 0;
if(port == 1)
{
fim10mode = 1;
COM_SELECT = 0;
}
while(1)
{
ch = getserch();
if(ch == 0x7E)break;
}
//Command
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*command = ch;
//Parameter1
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*param1 = ch;
//Parameter2
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*param2 = ch;
//Data size
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*data_size = ch;
//Error
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*error = ch;
//Header checksum
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*header_checksum = ch;
C51 COMPILER V3.20, SN-50202956 EARKEY 12/27/05 23:10:13 PAGE 10
if(*data_size > 0)
{
*data_checksum = 0;
for(i = 0; i < *data_size; i++)
{
packet_data[i] = getserch();
}
for(i = 0; i < 4; i++)
{
ch = getserch();
}
*data_checksum = ch;
}
if(port == 1)
{
COM_SELECT = 1;
fim10mode = 0;
}
} */
575
576 void main()
577 {
578 1 //char j;
579 1 int x = 0;
580 1 //char i;
581 1 int y = 3;
582 1 char text[15];
583 1 init89c51rd2(BAUD_RATE_9600);
584 1
585 1 ENABLE_ONCHIP_XRAM();
586 1
587 1 initlcd();
588 1
589 1 delay(25000);
590 1
591 1 clearlcd();
592 1
593 1 lcddisplaybmp(0, 0, JBB, JBB_BMP_COLS, JBB_BMP_ROWS, INVERTED_MODE);
594 1 delay(25000);
595 1 delay(25000);
596 1 delay(25000);
597 1 delay(25000);
598 1 delay(25000);
599 1
600 1 clearlcd();
601 1
602 1 lcddisplaystr(2 * 8, 2, "HELLO WORLD", NORMAL_MODE);
603 1 delay(25000);
604 1 delay(25000);
605 1 delay(25000);
606 1 delay(25000);
607 1 delay(25000);
608 1 lcddisplaystr(2 * 8, 2, "KEYBOARD TEST", NORMAL_MODE);
609 1
610 1 delay(25000);
611 1 delay(25000);
612 1 delay(25000);
613 1 delay(25000);
C51 COMPILER V3.20, SN-50202956 EARKEY 12/27/05 23:10:13 PAGE 11
614 1
615 1 while(1)
616 1 {
617 2 text[x] = getkey();
618 2 text[x + 1] = '\0';
619 2 clearlcd();
620 2 lcddisplaystr(0 * 8, 1, "Char received", NORMAL_MODE);
621 2 lcddisplaystr(0 * 8, 3, text, NORMAL_MODE);
622 2 x++;
623 2 if(x >= 15)x = 0;
624 2 }
625 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2109 ----
CONSTANT SIZE = 2154 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 87
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -