同一个单片机程序,烧在STC89c52里串口通信正常。烧在STC15F2K60S2里就没反应

同样的设置 为什么15的就不行呢???????难道是因为我15的用的内部晶振所以串口通信不正常?

#include "stc15f2k60s2.h"
#include "intrins.h"
unsigned int DATA;
sbit led1=P0^0;
void DelayBase1second(unsigned char sec)
{
unsigned int i,j;
while(sec--)
{
for(i=0;i<250;i++)
{
for(j=0;j<100;j++);
}

}
}
void main(void)//功能:串口初始化,波特率,方式1
{
TMOD=0x20;//定时器工作方式2
TH1=0xfa;//晶振11.0592,波特率4800
TL1=0xfa;
REN=1;
SCON=0x50;//串行口工作在方式1,允许接收,波特率由定时器控制
PCON=0x00;//串行口加倍位为0
ES=1;
TR1=1;
EA = 1;
while(1)
{
if(DATA && (DATA==2||DATA==1||DATA==4||DATA==8))
{
led1=1;
DelayBase1second(3) ;
while(DATA!=0);

}
led1=0;
}//开总中断
}
void Com_Int(void) interrupt 4 //串口接收中断函数
{
EA=0;
if(RI == 1) //当硬件接收到一个数据时,RI会置位
{
DATA=SBUF; //保存接收到的数据
RI = 0; //接收到一位数据后就让RI为零,关闭中断
}
EA = 1;
}
给15的单片机接上外部晶振 还有电容 还是不行。烧录器里已选外部晶振

串口是要配置的,既然你用STC单片机在烧录软件里不是有串口配置助手吗?还有范例代码。。。。。这些怎么不参考呢?还有跟单片机的1T,12T模式等都有关,跟晶振的频率也有关,还有STC15F2K60S2是双串口的。这个也要注意是配置到哪个串口上了。。。。。。。追问

双串口怎么配制?能给说一下么

追答

这个也在烧录软件的范例里有的,你要先看STC15F2K60S2资料。。。。

追问

我烧过了 还是不行啊

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答