这个当单片机程序怎么会不停的通过串口发数据,设置波特率为9600,但是串口软件接受数据不对(初学者,请高手指教)

#include <STC12C5A60S2.h>
sbit SEC1
=P3^7;
sbit SEC2
=P3^6;
sbit SEC3
=P2^0;
sbit MIN1
=P2^3;
sbit MIN2
=P2^1;
sbit MIN3
=P2^2;
sbit HOU1
=P5^0;
sbit HOU2
=P2^4;
int num=0,shm=0;
#define FOSC 11059200L
#define BAUD  9600
void delay(int);

char code aa[]={"aaaa\r\n"};
char*p=aa;
void main()
       
{

         TMOD=0X20;                           

          SCON=0x50;
         PCON
=0X80;
         
TH1=TL1=-(FOSC/12/32/BAUD);
 
         ES=1;
 
         TR1=1;
           EA
=1;       
         SBUF
=*p;
        
 while(1)
               
{
                 
};
            }
void SERI1_Routone(void) interrupt 4
       
{      
               
char i;
                ES
=0;
                TI
=0;
                          do
                       
{
                        SBUF=*(p++);          

                        }
                       
while((*p)!='\0');
             
};
     
        ES=1;
       
}

原文地址:https://www.cnblogs.com/baldermurphy/p/2617541.html