弄出来了。波特率算错了。初值是ffdc。谢谢ningling_21的提示。#include <stc89c5xRC.h>
unsigned char dat[] = {"hello"};
unsigned char i;
void Init();
void SendData(unsigned char i);
void main()
{
//初始化
//死循环
Init();
for(i=0; i<5; i++)
{
SendData(i);
}
}
void Init()
{
//全部设定完再开启中断
//定时器2设定
RCAP2L=0xdc; //载入初值9600
RCAP2H=0xff;
T2CON=0x34; //定时器2设定
PCON = 0x0;
SCON=0x40;//SM01=01;REN=0
RI=0x00;
TI=0x00;
IE=0x90;
}
void SendData(unsigned char i)
{
//ES=0;//关闭串口中断
//TI = 0;
SBUF=dat[i];
while (!TI);
TI = 0;
//ES=1;//开启串口中断
|