#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar a[]="hello world";
void delayms(uint j)
{
uchar i;
for(;j>0;j--)
{
i=250;
while(--i);
i=249;
while(--i);
}
}
void UART_init(void)
{
SCON = 0x50;
TMOD = 0x20;
PCON = 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
TR1 = 1;
ES=1;
EA=1;
}
void UART_send_byte(uchar dat)
{
SBUF = dat;
while (TI == 0);
TI = 0;
}
void UART_send_string(uchar *p)
{
while (*p!='\0')
{
UART_send_byte(*p++);
}
}
void main(void)
{
UART_init();
while (1)
{
UART_send_string(a);
delayms(2000);
}
}
先看看波特率是否正确正确,另外,你开了串口中断却没中断服务函数,会跑飞吧。