我也是这样做的后来发现在上位机显示时,数据要处理才行后再能按我的意思显示,比如我发 电脑发 0123456789, 让电脑在显示 I get 0123456789 程序附上
#include<reg52.h>
#define uchar unsigned char
uchar flag,a,i;
uchar code table[]="I get ";
uchar table1[10];
int j=0;
void init()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
ES=1;
}
void ser()interrupt 4
{
RI=0;
if(j==10)
{
j=0;
flag=1;
}
table1[j]=SBUF;
j++;
}
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
for(i=0;i<10;i++)
{
SBUF=table1[i+1];
if(i<9)
{
SBUF=table1[i+1];
}
else if(i==9)
{
SBUF=table1[0]; // ????很是费解
}
while(!TI);
TI=0;
}
ES=1;
flag=0;
}
}
}
|