dingdan258 发表于 2013-4-22 16:29:00

STC串口问题 重新上电后不工作

IAP15F2K61S2,支持在线仿真等,写的程序如下:

#include<STC15F2K.H>
#define uchar unsigned char
#define uint unsigned int
uchar i=0;
void UartInit(void)                //9600bps@11.0592MHz
{
        SCON = 0x50;                //8位数据,可变波特率
        AUXR |= 0x40;                //定时器1时钟为Fosc,即1T
        AUXR &= 0xFE;                //串口1选择定时器1为波特率发生器
        TMOD &= 0x0F;                //设定定时器1为16位自动重装方式
        TL1 = 0xE0;                //设定定时初值
        TH1 = 0xFE;                //设定定时初值
        ET1 = 0;                //禁止定时器1中断
        TR1 = 1;                //启动定时器1
        EA=1;
        ES=1;
}
uchar code table[]={0x01,0x06,0x00,0x03,0x00,0x30,0x79,0xDE};
void delayms(uint z)
{
    uint x,y;
        for(x=z;x>0;x--)
          for(y=110;y>0;y--);
}
void uart_send(uchar dat)
{
   ES=0;
   SBUF=dat;
   while(!TI);
   TI=0;
   ES=1;
}
void main()
{
   delayms(60000);
   UartInit();
   while(1)
   {
   for(i=0;i<8;i++)
       {
          uart_send(table);
                delayms(4000);
       }
   }
}

目的就是上电发送那几个数,刚下载后,运行正常,断电重新上电,就不工作了,不知道为何啊?哪位熟悉的朋友指点一下啊。

dingdan258 发表于 2013-4-22 16:36:13

应该是程序问题,更改一下设置,放在STC89C52上就一点问题没有,呵呵,还得研究下这个新片子的用法。。。。。。。

龙凤紫罗兰 发表于 2013-4-23 05:59:34

烧写时,最后第二项,有个串口切换的勾去掉。

dingdan258 发表于 2013-4-23 08:19:58

恩,是这样子的,呵呵,硬件选项中不选择倒数第三项第二项就可以了,一直以为是新片子硬件结构我不熟悉导致的,呵呵,谢谢楼上兄弟了。
页: [1]
查看完整版本: STC串口问题 重新上电后不工作