unsigned char Delay,flag=0,a,i;
unsigned char code table[]="I GET" ;
void SYSInitial(void);
void EUARTInit(void); //串口通信
void main(void)
{
SYSInitial();
EUARTInit();
EA = 1; //总中断
ES=1; //串口中断
ADCDS=0X00; //P2.0G输出高
P2CR=0XFF;
P2=0XFF;
//SBUF=0X11;
while(1)
{
RI=0;
a=SBUF;
flag=1;
if(flag==1)
{
ES=0;
P2=0XFF;
for(i=0;i<6;i++)
{
// SBUF=table[i];
SBUF=0x47;
while(!TI);
TI=0;
}
P2=0X00;
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;
}
}
}
void SYSInitial(void) //系统时钟位12M
{
CLKCON=0x00;
Delay=0xff;
while(--Delay);
_nop_( ) ;
}
void EUARTInit(void)
{
REN=1; //允许串口接收
SM0_FE=0; //选择方式1
SM1_RXOV=1; //选择方式1
SM2_TXCOL=0;
SBRTH=0X7f; //波特率高位寄存器 9600
SBRTL=0Xb2; //波特率低位寄存器
SFINE=0x02; //微调波特率
SBRTH|=0X80; //开启波特率
}
void uart() interrupt 4 //串口中断函数
{
RI=0;
a=SBUF;
flag=1;
} |