当前位置: 代码迷 >> 单片机 >> STC10L08XE串口程序,让小弟我跪了
  详细解决方案

STC10L08XE串口程序,让小弟我跪了

热度:263   发布时间:2016-04-28 14:43:51.0
STC10L08XE串口程序,让我跪了
本帖最后由 libin55 于 2015-05-02 15:58:19 编辑

void main (void)         //串口测试
 {
        uint8 a = 0;
        SCON = 0x50;              
TMOD = 0x20;                                                                            
TH1  = 0xFD;     
     TL1  = 0xFD; 
        TR1  = 1;         
        ET0 = 0;                                             
    a=0;
while(1)
      { 
SBUF = a;                   
                while(!TI);
 TI = 0;
a++;
              delay(1000); 
    }
}





买的一块无线调试板。发现串口这块一直有问题,用ISP烧程序正常。晶振是11.0592   数据手册上说完全兼容8051的。我独立示波器发生器已试过,效果还是这样。

------解决思路----------------------
试试下面代码
void UartInit(void) [email protected]
{
PCON &= 0x7F; //波特率不倍速
SCON = 0xD0; //9位数据,可变波特率
AUXR &= 0xBF; //定时器1时钟为Fosc/12,即12T
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TMOD &= 0x0F; //清除定时器1模式位
TMOD 
------解决思路----------------------
= 0x20; //设定定时器1为8位自动重装方式
TL1 = 0xFD; //设定定时初值
TH1 = 0xFD; //设定定时器重装值
ET1 = 0; //禁止定时器1中断
TR1 = 1; //启动定时器1
}

------解决思路----------------------
看下PDF, 看里面是不是有分频设置
  相关解决方案