100分 printf串口发送 我用的时候电脑显示全是乱码///


#include <at89x52.h>
#include <stdio.h>

void delay(unsigned char t)  //延时
{
        unsigned char i,j;
        for(i=0;i<t;i++)
        {
                for(j=0;j<255;j++);
        }
}

void main(void)
{
        SCON = 0x50; //串口方式1,允许接收
        TMOD = 0x20; //定时器1定时方式2
        TCON = 0x40; //设定时器1开始计数
        TH1 = 0xe6;  //11.0592MHz 1200波特率
        TL1 = 0xe6;
        TI = 1;
        TR1 = 1;     //启动定时器
        while(1)
        {
//                printf ("蓝极风电子欢迎您!\n"); //串口调试软件窗口显示
//                delay(255);delay(255);
                printf (" -www.bluepw.com- \n"); //串口调试软件窗口显示
                delay(255);delay(255);
                printf (" -www.bluepw.cn - \n"); //串口调试软件窗口显示
                delay(255);delay(255);
        }
}

[ 本帖最后由 tssing 于 2008-7-29 16:53 编辑 ]


aaa.gif


我也来说两句 查看全部回复

最新回复

  • panhearii (2008-7-29 12:33:08)

    1200波特率???????????????????????????????????????????
    是故意的还是忘记了?
    把程序和仿真发出来啊 不然只能猜
  • hgjinwei (2008-7-29 14:36:23)

    传说中的虚拟串口大多是COM4的
  • tssing (2008-7-29 16:53:13)

    #include <at89x52.h>
    #include <stdio.h>

    void delay(unsigned char t)  //延时
    {
            unsigned char i,j;
            for(i=0;i<t;i++)
            {
                    for(j=0;j<255;j++);
            }
    }

    void main(void)
    {
            SCON = 0x50; //串口方式1,允许接收
            TMOD = 0x20; //定时器1定时方式2
            TCON = 0x40; //设定时器1开始计数
            TH1 = 0xe6;  //11.0592MHz 1200波特率
            TL1 = 0xe6;
            TI = 1;
            TR1 = 1;     //启动定时器
            while(1)
            {
    //                printf ("蓝极风电子欢迎您!\n"); //串口调试软件窗口显示
    //                delay(255);delay(255);
                    printf (" -www.bluepw.com- \n"); //串口调试软件窗口显示
                    delay(255);delay(255);
                    printf (" -www.bluepw.cn - \n"); //串口调试软件窗口显示
                    delay(255);delay(255);
            }
    }
  • tssing (2008-7-29 16:54:34)

    这个是我网上抄的例子,,如果我自己写的情况也一样